Сервер обновлений¶
Описание¶
Сервер обновлений состоит из двух процессов:- uconf-server Вещает анонсы обновлений, позволяя выбрать клиенту какой мультикаст с обновлениями слушать
- uget-server Вещает собственно обновления
Оба процесса получают опции через параметры командной строки при запуске, а так же самостоятельно обрабатывают файл со списком обновлений
Установка¶
Для компиляции перейдите в директорию с исходным кодом сервера и наберите
make
Для установки наберите
make install
При возникновении проблем при сборке из-за наличия бинарных файлов в архиве с исходными кодами, можно сделать
make clean
После чего повторить процедуру компиляции и установки
Конфигурация¶
Перед запуском сервера необходимо его настроить.
Файл конфигурации userver.conf¶
Перейдите в папку /etc/userver
cd /etc/userver
Затем переименуйте файл userver.conf.example в userver.conf
mv userver.conf.example userver.conf
и отредактируйте в соответсвие с вашими задачами
Опции имеют слудующее значение:- TTL TTL пакетов
- UC_ADDRESS Адрес назначения процесса uconf-server
- UC_PORT Порт вещания uconf-server
- UC_BITRATE Битрейт анонсов обновлений (бит/сек)
- UC_RETRY Количество повторений анонсов
- UG_BITRATE Битрейт рздачи обновлений (бит/сек)
- UG_PSIZE Размер пакета раздачи обновлений
- UG_RETRY Количество повторений раздачи
- UPDATE_LIST Адрес до файла со списком обновлений (update.list)
Список обновлений update.list¶
Каждая строка описывает отдельное обновление и имеет формат:
version path ip port
- version
Для версия до 1.0075 включительно, это версия прошивки, для которой предназначено это обновление (приставки только этой версии будут обновляться)
Для версий начиная с 1.0075u это поле имеет вид oldversion-newversion, где oldversion это версия приставки с которой происходит обновление, newversion - это версия до которой происходит обновление.
Приставка, которая несмогла прочитать файловую систему, но успешно запустила ядро имеет версию 0 - path путь к файлу обновления (update-enc.tgz)
- ip адрес вещания обновления
- port соответственно порт вещания
В качестве разделителей используются символы табуляции
Пример:
1.004 /etc/userver/update-1.004-1.0075u-enc.tgz 239.98.3.8 1301 1.0075u-1.0080c /etc/userver/update-1.0080с.tgz 239.98.3.9 1301 1.0080b-1.0080c /etc/userver/update-1.0080с.tgz 239.98.3.10 1301 0-1.0080c /etc/userver/update-1.0080с.tgz 239.98.3.11 1301
Первая строка необходима для обновления с версии 1.004 до 1.0075u, вторая и третья строки - для прямого обновления до 1.0080c с версий 1.0075u и 1.0080b. Последняя строка необходима для прошивки приставки, находящейся в режиме восстановления.
Использование¶
для запуска сервера введите
/etc/init.d/userver start
для остановки сервера соответственно введите
/etc/init.d/userver stop
Опции командной строки¶
uconf-server¶
-b bitrate битрейт с которым идет раздача анонса обновлений
-d dest_ip ip-адрес назначения (в том числе, поддерживаются мультикасты)
-p port Номер порта назначения
-r retry_count Количество попыток. 0 - бесконечно попыток
-c cmd команда. Используйте update для запуска обновлений
-u update_list файл со списком обновлений
-t TTL TTL исхоодящих пакетов
uget-server¶
-r retry_count количество попыток. 0 - бесконечно
-b bitrate Максимальный битрейт для всех раздач
-s package_size Размер пакета
-u update_list Файл со списком обновлений
-t TTL TTL исхоодящих пакетов