Инструкция для инженера технической поддержки¶
- Table of contents
- Инструкция для инженера технической поддержки
Установка и обновление fmtapper’а¶
ПО для FM-мониторинга можно установить на ОС Ubuntu Server 14.04 LTS или выше.
Установка производится с помощью менеджера пакетов apt-get из специального репозитория.
Для обновления версии, просто выполните установку ПО поверх имеющейся версии.
Убедитесь в наличии файла "/etc/apt/sources.list.d/repo.fmtapper.list" с следующим содержимым:
- Для Ubuntu 14.04
deb [trusted=yes] http://repo:repo@repo.fmtapper.ru/archive/ trusty/ - Для Ubuntu 16.04
deb [trusted=yes] http://repo:repo@repo.fmtapper.ru/archive/ trusty/ deb [trusted=yes] http://repo:repo@repo.fmtapper.ru/archive/ xenial/ - Для Ubuntu 18.04
deb [trusted=yes] http://repo:repo@repo.fmtapper.ru/archive/ xenial/ deb [trusted=yes] http://repo:repo@repo.fmtapper.ru/archive/ trusty/ deb http://us.archive.ubuntu.com/ubuntu/ xenial main universe
Дистрибутивы:
- fmtapper - программа для захвата и записи аудиопотока (полная версия, работает с ключом защиты)
- fmtapper-lite - lite-версия, которая работает только с устройствами ТР-705
- tapperui - web-интерфейс для настройки тюнеров (работает без ключа защиты)
На armhf-архитектуру1 (в частности, на устройства ТР-707) устанавливается только lite-версия ПО.
Установка полной версии:
- apt-get update
- apt-get install fmtapper tapperui
Установка lite-версии:
- apt-get update
- apt-get install fmtapper-lite tapperui —no-install-recommends
Установка lite-версии на Ubuntu 18.04:
- sudo apt update
- sudo apt install python-flask=0.10.1-2build2
- sudo apt install tapperui --no-install-recommends
- suod apt install fmtapper-lite
- sudo systemctl restart uwsgi
Посмотреть версию установленного ПО можно с помощью команды dpkg -l | grep fmtapper
пример:
# dpkg -l | grep fmtapper
ii fmtapper-lite 1.4.2.41.gab7d39e.lite.trusty armhf Utility that records audio stream to files
ii tapperui 1.1.46.gc08d6b4.master all Web interface for fmtapper
В результате вывода команды можно определить, что установлена lite-версия fmtapper’а, версии 1.4.2.41.gab7d39e.lite.trusty, а так же установлен веб-интерфейс приложения tapperui версии 1.1.46.gc08d6b4.master
Какая версия ПО доступна в репозитории, можно с помощью команды apt-cache madison %package% (предварительно необходимо выполнить обновление индексов пакетов)
пример:
# apt-get update
# apt-cache madison fmtapper-lite tapperui
fmtapper-lite | 1.4.2.48.g58f1db7.lite.trusty | http://repo.fmtapper.ru/archive/ trusty/ Packages
tapperui | 1.1.105.g083d438.master.trusty | http://repo.fmtapper.ru/archive/ trusty/ Packages
Примечание к Ubuntu 16.04¶
Перед установкой ПО, необходимо выполнить следующие команды (временное решение проблемы):
- sudo apt-get install upstart-sysv
- sudo update-initramfs -u
- sudo apt-get purge systemd
- sudo reboot
Если на шаге 3 возникла ошибка, повторить шаги 3 и 4.
Обновление пакетов и установленной ОС¶
Рекомендуется поддерживать актуальную версию установленных пакетов и периодически выполнять их обновление.
- apt-get update - обновление индексов пакетов
- apt-get upgrade - обновить установленные пакеты в том же самом дистрибутиве (обычно этого достаточно для профилактического обслуживания)
-
apt-get dist-upgrade - обновление дистрибутива до последней версии
например, если необходимо обновить ОС 16.04.1 до 16.04.3 -
do-release-upgrade - обновляет ОС до нового LTS-релиза (решение об установке этого обновления должно быть осознанным и обоснованным)
например, если необходимо обновить ОС с 14.04 до 16.04
Работа с образом¶
1. Монтирование разделов образа из IMG файла¶
Прежде всего необходимо узнать смещения в IMG файле, по которым находятся начала разделов. Это производится с помощью команды fdisk -lu disk.img Пример выполнения на абстрактном образе:
$ /sbin/fdisk -lu disk.img
You must set cylinders.
You can do this from the extra functions menu.
Disk disk.img: 0 MB, 0 bytes
255 heads, 63 sectors/track, 0 cylinders, total 0 sectors
Units = sectors of 1 * 512 = 512 bytes
Device Boot Start End Blocks Id System
disk.imgp1 * 63 96389 48163+ 83 Linux
disk.imgp2 96390 2056319 979965 82 Linux swap / Solaris
disk.imgp3 2056320 78140159 38041920 5 Extended
disk.imgp5 2056383 3052349 497983+ 83 Linux
disk.imgp6 3052413 10859939 3903763+ 83 Linux
disk.imgp7 10860003 68372639 28756318+ 83 Linux
disk.imgp8 68372703 76180229 3903763+ 83 Linux
disk.imgp9 76180293 78140159 979933+ 83 Linux
Убеждаемся, что сектора в образе имеют размер 512 байт (строчка Units) и выясняем начальный сектор интересующего нас раздела, например, 7-го : 10860003
С учетом размера сектора 512 байт, смещение в файле будет 10860003 * 512 = 5560321536 байт.
Полученное значение параметра необходимо передать команде losetup, которая создаст в системе loopback устройство для последующего монтирования в качестве диска (из-под рута):
# losetup /dev/loop0 disk.img -o $((10860003 * 512))
В случае, если loop0 уже задействован, указать loop1 и тд.
Далее, смонтировать устройство:
# mount /dev/loop0 /mnt
Возможен также вариант монтирования одной командой (работает не со всеми версиями команды mount):
# mount -o loop,offset=$((10860003 * 512)) disk.img /mnt
Дальнейшая работа и демонтирование аналогичны работе с обычным диском. Удаление loop устройства осуществляется с помощью losetup -d /dev/loopN
2. Создание образа с носителя¶
Носитель с которого создается образ НЕ ДОЛЖЕН БЫТЬ СМОНТИРОВАН
С помощью команды fdisk или аналогичной узнаем общий объем, который занимают разделы на носителе (округлим в большую сторону), для примера возьмем 2ГБ
С помощью команды dd указав ей источник, приемник, размер блока и количество блоков создадим IMG образ, пример(из-под рута):
# dd if=/dev/sda of=/home/support/image.img bs=1M count=2048
Данная команда скопирует с УСТРОЙСТВА /dev/sda в ФАЙЛ /home/support/image.img 2048 блоков, каждый из которых размером 1 Мегабайт, таким образом, после ее выполнения, в файле будет 2 ГБ информации перенесенной с самого начала носителя sda. Это и есть желаемый образ.
Следует отметить, что копируемый объем лучше брать с небольшим запасом, чтобы случайно не обрезать последний раздел (это приведет к повреждению его ФС)
Диагностика проблем и неисправностей¶
Важная информация¶
Команды, которые нужно вписать в консоль, начинаются с символов "#" или "$", строчки без этих символов - пример вывода, их вставлять в командную строку не надо!
"#" - команда выполняется от супер-пользователя. Необходимо либо перед командой указать ключевое слово "sudo", либо повысить права своей учетной записи до супер-пользователя командой "sudo su"
"$" - команда выполняется от обычного пользователя, использовать "sudo" не обязательно.
1. Закончилось место на диске¶
Симптомы:
На всех тюнерах, включая интернет источники, остановлена запись. Такое может возникнуть, если на диске лежат лишние данные, которые не отслеживаются системой очистки.
Не открывается веб-интерфейс или открывается частично.
Что необходимо сделать:
- Посмотрите статистику использования дискового пространства
пример:# df -h | grep -E "(/dev/)" /dev/mmcblk0p2 15G 14G 0 100% / /dev/mmcblk0p1 64M 11M 54M 17% /media/boot /dev/sda1 450G 185G 242G 44% /home
В зависимости от раздела, где закончилось место, могут возникнуть разные проблемы. Если закончилось в "/home" - невозможна будет запись с тюнера. Если в "/" - общие и массовые проблемы. - Ищем каталог, который занимает больше всего места и пробуем его почистить. (Если закончилось место в "/home" - вычищаем оттуда лишнее, проверяем работу сервиса очистки от ПО fmtapper)
На примере закончившегося места в корневом разделе, чистка лог-файлов# du -h --max-depth=10 / | sort -h | grep -v /home | tail -n 10 124M /var/lib/apt 124M /var/lib/apt/lists 128M /opt 146M /var/lib 218M /usr/lib 376M /var/log/nginx 413M /usr 571M /var/log 773M /var 186G / - Удалить лишние каталоги, которые не относятся к настроенным тюнерам с помощью команды rm -rf /home/support/media/%badDir%
ВНИМАНИЕ!
Будьте осторожны с данной командой, неправильно указанный путь к директории может привести к полной очистке всех дисков. Пример правильной команды: rm -rf /home/support/media/trash
2. Перегрузка CPU из-за процесса kswapd0¶
Симптомы:
Общая повышенная нагрузка на CPU (более 90%).
В системе мониторинга процесс kswapd0 потребляет более 1% CPU.
Что необходимо сделать
Проблема временная, до перехода на новую ОС.
Для корректного сброса процесса, необходимо ввести команду от root-пользователя:
# echo 1 > /proc/sys/vm/drop_caches
3. Перегрузка CPU¶
ВНИМАНИЕ: ни в коем случае не запускать ядра вручную, если температура на CPU выше нормы (см. нотификацию в системе мониторинга)%
Симптомы:
LoadAverage больше 0.8 на одно ядро (можно обнаружить по нотификации в системе мониторинга).
Что необходимо сделать
- Убедиться, что в системе не запущено процессов, нагружающих CPU сверх нормы
например:# top PID USER PR NI VIRT RES SHR S %CPU %MEM TIME+ COMMAND 538 root 20 0 180488 46040 3048 S 60.0 2.2 11955:05 fmtapper 530 root 20 0 180056 45436 3044 R 58.7 2.2 11740:53 fmtapper 18045 root 20 0 172376 45804 3044 S 58.7 2.2 5082:25 fmtapper 540 root 20 0 180000 45372 3044 R 57.1 2.2 11399:20 fmtapper 14683 root 20 0 76468 30772 2164 S 5.3 1.5 498:37.54 uwsgi - Проверить количество активных ядер на CPU
# lscpu Architecture: armv7l Byte Order: Little Endian CPU(s): 4 On-line CPU(s) list: 0-2 Off-line CPU(s) list: 3 Thread(s) per core: 1 Core(s) per socket: 3 Socket(s): 1 - Включить ядра, которые находятся в off-line режиме
# echo 1 > /sys/devices/system/cpu/cpu3/online
4. Автоматическое назначение некорректного udp-порта при добавлении тюнера¶
Симптомы:
Тюнер не прослушать, трансляция и запись не запускаются, отладочный лог заканчивается следующей записью:
2022-Nov-15 17:19:37.404540 CRITICAL Main Exception occured: bind: Address already in use
Что необходимо сделать
1. Открыть конфигурационные файлы всех доступных тюнеров, необходимо для каждого выполнить команду:
cat /etc/fmtapper/profiles/tuner_name/fmtapper.conf
Где tuner_name - ID тюнера
2. Убедиться, что у проблемного тюнера значение в поле udp-port совпадает с одним из других тюнеров
3. Остановить проблемный тюнер
4. Заменить значение в поле udp-port на следующий свободный (5100,5101,5102 и т.д.) и сохранить.
Открыть конфигурационный файл на редактирование можно командой:
sudo nano /etc/fmtapper/profiles/tuner_name/fmtapper.conf
Где tuner_name - ID проблемного тюнера
5. Запустить тюнер
Внимание! Если выполнение всех пунктов не помогло, то необходимо их выполнить повторно, но после выполнения пункта 4 перезапустить FM tapper, это можно сделать следующей командой:
sudo reboot now
-
Узнать архитектуру устройства можно с помощью команды lscpu | grep Architecture↩