10 заметок с тегом

linux

Установка Serviio

На домашнем сервере установлен Alt Linux, у которого свое видение в отношении сторонних программ. Того serviio в репозитории нет, а попытка установить его с сайта провалилась. Скорее всего, тут сыграло роль недостаточное знание мной линукса. Поэтому, в итоге, был выбран путь попроще, который я с начала не заметил. Речь идет об установке serviio в виде docker.
Для начала скачиваем образ на компьютер:

# docker pull lsiocommunity/serviio

Затем, в соответствии с документацией, запускаем, немного изменив параметры запуска под себя:

docker run -d --restart=always --name=serviio -v /mnt/sda/serviio/config:/config -v /mnt/sda/serviio/media:/media -v /mnt/sda/serviio/transcode:/transcode --net=host lsiocommunity/serviio

По пути /mnt/sda у меня находится второй жесткий диск, на котором располагается всякое «барахло».
Поначалу ни одно из устройств в сети не смогло увидеть serviio. Немного поэкспериментировав, понял, что все дело в том, не был открыт один из портов на сервере. В итоге, пришлось открыть порты 8895, 23423, 23424, 23523, 23524 и 1900. Serviio не видели именно из-за порта 8895.
Ну а дальше все было просто: заходим по адресу http://192.168.1.254:23423/console (где 192.168.1.254 — адрес моего сервера) и настраиваем сервер под свои нужды уже в графическом интерфейсе. Тестировал его работу на трех устройствах: ТВ Samsung UE43M5500AU, телефоне на базе Android и компьютере с установленными Alt Linux и VLC. Все три успешно подключились и смогли проиграть фильм с разрешением FullHD. Тормоза оказались только на телефоне, но с него, как говорится, «взятки гладки».

2 февраля   dlna   docker   linux   serviio   настройка   сервер

Эксперименты с охраной

Опишу предыдущее состояние системы.

  1. Есть не один десяток охранно-пожарных систем (ОПС) типа «Гранит», которые при открытии дверей на объекте шлют смс оператору на центральном пульте. Тот, в свою очередь, либо вызывает ГБР (группа быстрого реагирования), либо «пропускает» событие. В целях резервирования сообщения с «Гранитов» рассылаются не на один номер телефона, а на несколько: охрана и руководство. По моим прикидкам это, минимум, три номера. Скорее всего, их больше. По расходам это выходит более 8 тысяч в месяц. Сумма небольшая, но, если есть возможность, то почему бы ее не уменьшить? «Плюсом» будет то, что получатели смогут отключить оповещения, что в случае с смс почти невозможно. Из текущих «минусов» — постоянные глюки то с телефоном, то с программой синхронизации смс на компьютере. Раз в несколько дней приходится или перезапускать программу, или перезагружать телефон.
  2. Также существует сервер видеонаблюдения, который в постоянном режиме пишет порядка полусотни камер, расположенных на территории завода и не только. Старый сервер, несмотря на свою мощность, потихоньку выходит из строя. БОльшая часть дисков уже была заменена на более специализированные под данную функцию, но периодические выходы из строя начинают утомлять. Особенно это стало заметно, когда человек, занимающийся видеонаблюдением на заводе, уехал на несколько месяцев в отпуск — накопил за несколько лет работы. Он, конечно, оставил вместо себя человека, но он, во-первых, не всегда находится на территории, а во-вторых, делает всё «на отьебись». Что лично меня, например, не устраивает.

Пару месяцев назад был куплен новый сервер под видеонаблюдение. По тестам он несколько превосходит текущий, но последний построен на базе i7-3770, новый же — на базе Xeon (не помню сейчас какой именно). Новый установил параллельно существующему, был установлен Linux с графической оболочкой и тестовая версия сервера видеонаблюдения. Не обошлось, конечно, без бубна и небольших танцев, но, в итоге, все заработало как нужно. В таком состоянии он и был оставлен до конца недели на тестирование. Лично мне Linux больше импонирует, как более устойчивая и быстрая система, по сравнению с Windows. Конечно, у меня свои требования — по ним он полностью выигрывает.
Я не зря упомянул в начале «Граниты». Перед новым годом у меня, в порядке не совсем трезвых размышлений возникла мысль несколько сократить расходы на смс, путем установки какого-то компьютера, на который они и будут приходить. То есть, на данном шаге мы сокращаем количество сообщений, которые рассылают «Граниты» до одного за раз. Затем компьютер уже посредством интернета дублирует эти сообщения на другие телефоны в любой мессенджер: Telegram, Whatsapp и т. п. Благо, что практически каждый человек нынче пользуется хотя бы одним из них.
Но, увы, так как я был не совсем трезв, то поутру вся выстроенная мной схема «убежала» из головы, остался только принцип построения. Благо, что я в порыве воодушевления позвонил товарищу, который занимается установкой и обслуживанием этих «Гранитов» и примерно рассказал, что я хочу получить. Через день он мне напомнил об этом, заодно и прояснили некоторые моменты.
Суть заключается в том, что на какой-то компьютер устанавливается Asterisk, который и занимается приемом и пересылкой сообщений в мессенджеры. Тем более, что знакомый попросил меня разобраться с этой системой, чтобы в дальнейшем внедрить ее на своем предприятии.
Если сервер видеонаблюдения на Linux покажет свою «состоятельность», то почему бы на него не возложить и функции обработки сообщений от ОПС?
В то же время у себя дома вернулся к старой схеме, только немного ее изменив. Как писал ранее, перед новым годом был куплен регистратор, к которому была подключена камера более высокого качества. Регистратор может рассылать оповещения только на почту и, к тому же, только в текстовом виде, что меня не устраивало. Сообщений на одно событие могло быть несколько, по какой причине он разделял одно событие на несколько — неизвестно. Пришлось снова запустить motion, установленный на сервере, брать поток с регистратора и тогда я смог получить и картинку события и текст. Считаю огромным «плюсом» motion то, что он позволяет при возникновении какого-либо события (обнаружено движение, завершена запись видеофайла, завершено сохранение скриншота и т. п.) запустить на выполнение любой внешний скрипт, в котором уже можно делать все, что угодно. Как бонус, можно будет провести кабель от регистратора на телевизор и в прямом эфире просматривать что творится в коридоре.

Изучаем Asterisk

Товарищ попросил разобраться с Asterisk, чтобы в будущем использовать в своей сети. Ну а мне что, все равно скучно, а тут вроде есть чем заняться...
Поставил на свой сервер 11-ю версию и начал экспериментировать с параметрами. Многое было непонятно. Первое, с чего решил начать — позвонить на номер, услышать какой-то ответ и положить трубку. Так сказать, аналог «hello, world!» Но сходу разобраться не получалось — какие-то не совсем непонятные конструкции. Что, куда, зачем? Решил все-таки поискать хоть какую-то документацию. Нашел книжку от издательства, которое, на мой взгляд, всегда выпускало очень качественные пособия и начал читать. Нетерпение заставило пропустить первые несколько частей книги — все равно там были какие-то благодарности, объяснения зачем ставить Asterisk и для чего он нужен, выбор подходящего оборудования и прочее. При все этом утверждалось, что работать он может даже на «железе» роутера. В ссылках, кстати, попадалась инструкция как установить его на роутеры Keenetic.
Читаю дальше. Все очень хорошо разжевано, все становится понятно. Через несколько минут сделал свой первый «hello world», практически буквально: звоню, слышу ответ по русски «Привет, мир!» и в логах вижу, что звонок завершается. Но телефон, с которого я звонил, никаких сигналов завершения разговора не подает и трубку не ложит. Плюс сыпятся непонятные ошибки. Погуглив, понял, что такие ошибки относятся только к тем системам, которые находятся за NAT и источник ошибок надо искать в этом направлении. Перепроверил настройки своего роутера — все нужные порты проброшены, все должно работать. Ладно, отложил это пока в сторону.
Следующим шагом стала настройка разговора между двумя внутренними абонентами. Завел две учетных записи в системе с разными номерами, переделал диалплан, поставил программу на компьютер и настроил свой телефон на работу с SIP-звонками. Звонки проходят нормально, а вот разговор не завершается у вызывающего абонента. Пришлось все-таки разбираться, не нравится мне такой расклад. В общем и целом, пришлось указать Asterisk адреса внутренней и внешней сетей, а также сказать, что он работает за NAT, и все заработало. Звонки идут, разговор завершается нормально.
Сегодня продолжу чтение по мере возможности. Система оказалась достаточно легкой в освоении, чем-то похожей на Postfix по конфигурации.

15 декабря   asterisk   linux   изучение   начало   сервер

Поиск лекарств в мессенджерах

Возникла некоторое время назад у меня одна идея, которая заключается в том, чтобы создать робота, который мог бы отправлять пользователям в ответ на запрос информацию о том в какой аптеке, по какой цене есть искомое лекарство. Или предлагал его заказать в случае отсутствия. Рассказал об этой идее своему лучшему другу, который работает в этой сети аптек, получил устное согласие. На какое-то время эта идея «затухла». Изначально планировалось, что она будет работать в Telegram, где есть возможность создать бота, который бы отвечал на запросы. Чуть позже мысль перекинулась на обычную электронную почту, где несколько проще, на мой взгляд, отследить и отладить ошибки запросов.
Например, пользователь отправляет письмо с названием препарата, который ему необходим. Или использует для этого тот же Telegram. Спустя некоторое время, необходимое для выборки данных из базы, он получает ответ: либо на e-mail отправителя запроса, либо на ID пользователя Telegram. На мой взгляд, очень неплохая идея, реализация которой может принести достаточно хороший доход для меня. Тем более, если реализовать это не в одном мессенджере.
Пока что все, что требуется — понять, какой формат базы использовать. Так как основная база «весит» более 60 Гб в формате MS SQL, то это либо будут запросы к базе через DSN, либо база будет периодически копироваться в формат MySQL, потому что основной сервер работает на базе Linux, а запросы явно будут идти через него. К тому же, насколько я заметил, Linux намного быстрее работает с файлами, чем Windows.

Персональный менеджер

Есть такая замечательная программа как EssentialPIM. Она представляет собой почти аналог Microsoft Outlook, но с некоторыми особенностями. Например, она имеет portable-вариант, что позволяет ее хранить на флэшке и запускать в любом месте. Вторым «плюсом» я считаю модуль хранения паролей — это та фишка, которой мне зверски не хватало в Outlook, чтобы остаться с ним навсегда. Третьим серьезным «плюсом» можно считать более простой интерфейс. Я всегда ратовал за user-friendly. Много лет я использовал эту программу, был вполне ею доволен. Но, как обычно, всему приходит конец.
«Минусы» программы:

  1. Использование таблиц в заметках почти невозможно. Если вы хотите скопировать какую-то таблицу из интернета и добавить ее в заметки в программе, то будьте готовы к тому, что границы таблицы будут невидимыми. И это не изменить. Хоть убейтесь!
  2. Если вам нужно вставить текст без сохранения форматирования используйте комбинацию Ctrl+G. Это, казалось бы, безобидное отклонение вызовет некоторые неудобства. Например, попробуйте использовать ту же комбинацию для вставки текста в письмо через буфер обмена. Вы будете неприятно удивлены результатом.

Про остальное даже не хочется вспоминать и писать. Если есть желание, то почитайте форум программы. Согласен, баги есть у каждой программы. Согласен, что, если разработчик программы — это один человек, а не команда, то решение проблем может затянуться. Но должен сказать, что за много лет использования программы, проблем было решено не так уж и много. В оправдание можно написать, что:
а) написание портативной версии программы, работающей через firebird, требует определенного мастерства;
б) в своем роде программа все-таки является уникальной. Я перебрал много аналогов, но всегда оставался ими недоволен.
А теперь о том, что меня заставило написать этот пост. Сразу оговорюсь, что программу я использую далеко не один год и даже приобрел пожизненную лицензию.

  1. Я хочу полной мобильности и совместимости. Это значит, что я хочу в любой точке планеты получить доступ к своим данным, которые будут доступны только мне. На любом устройстве: компьютере, телефоне, SmartTV, RaspberryPi, ESP8266... Утрирую, конечно, чисто для примера. И защита этих данных стоит далеко не на последнем месте.
  2. Храниться данные должны в одном месте, но с автоматическим резервированием, которое не требует моего участия и ожидания, пока программа сделает копию базы. В Windows бэкап базы на флэшке сейчас занимает более 10 минут, тогда как в Linux — 2 минуты максимум.
  3. Совместимость приводит к тому, что требуется много сервисов, каждый из которых контролирует свой фронт работ. Например, если брать EPIM, то я не могу сделать в ней синхронизацию с каким-нибудь сервером LDAP или CardDAV, который я, например, могу использовать в качестве базы контактов почтового сервиса. Нет, с CardDAV я могу сделать синхронизацию, но сейчас это больше похоже на покупку оборудования компании D-Link — никогда не знаешь, что тебе попадется — или проработает много лет, или будет постоянно глючить. В общем, лотерея.
  4. Забудьте о том, чтобы хранить документы в их «первозданном» виде, который совместим с пакетом MS Office или, хотя бы, LibreOffice. Даже если у вас получится, то скопировать его «наружу» у вас не выйдет. Просто обломайтесь! Хрен вам! Но можете хранить их в качестве вложений в заметку. Тогда да, все будет хорошо. Но... Читайте следующий пункт.
  5. Если вы решите просмотреть файл, прикрепленный к заметке, или, не дай бог, вложенный в письмо, то вас снова ждет сюрприз — он, скорее всего, не откроется. Потому что будет удален ДО того как успеет запуститься программа, ассоциированная с этим типом файла. Единственным выходом здесь является повторная попытка открыть файл, не закрывая уже запущенного приложения.
  6. Исходя из предыдущих пунктов, в список сервисов добавляется еще «облако», которое будет позволять хранить и редактировать документы офисного формата: документы, таблицы, просто текстовые файлы. Например, тот же Nextcloud с подключенным модулем OnlyOffice. Должен сказать, очень неплохая замена стандартному пакету MS Office.

По сути, написать можно многое чего я хотел бы видеть в этой программе. В первую очередь, ей не хватает гибкости в настройках и синхронизации. Да, компания развернула свое облако, которое позволяет проводить синхронизацию с программой. Но платно, разумеется. И была бы цена адекватной...
В тоже время разработчики достаточно консервативны в плане добавления дополнительных функций. В начале использования программы мне было бы очень удобно, например, иметь в списке возможностей также RSS-ридер. Просто потому, что некоторые производители оборудования, с которым я тогда работал, публиковали новости на самом сайте и в формате rss. Но не будешь же каждый день заходить на сайт, чтобы проверить нет ли там чего нового? Работы и без того хватает.
По итогу размышлений, я пришел к выводу, что для удовлетворения всех моих пожеланий мне придется разворачивать свой сервер, подключая нужные службы по мере необходимости. Немного «спасает» меня тот факт, что на одной из предыдущих работ мне пришлось столкнуться с linux и разобраться с ним, чтобы иметь возможность корректно настраивать сервер. Вследствие этого пришлось полностью перейти на него дома. И, в конечном счете, дома появился свой сервер, на котором крутится этот сайт, почта, сервер jabber, Nextcloud, сервер baikal и еще много чего. Остается только одно маленькое «но» — объединить все эти службы :-) Половина работы, в принципе, проделана, остаются нюансы.

Windows станет модульной

Сама новость находится тут. Если честно, то после нескольких лет работы в Linux в качестве ОС на домашнем компьютере я перестаю понимать логику менеджеров Microsoft. Чего только стоит навязывание обновления до «десятки»? Буквально на днях была ситуация, когда время играло критическую роль, но потребовалось перезагрузить ноутбук. Как вы думаете, что он сделал? Он на два (!!!) часа парализовал работу отдела, ибо ему, видите ли, захотелось установить последние обновления. И да, сделать работу было нужно именно на этом ноутбуке! Последующие обновления системы в бухгалтерии ввели весь отдел в панику и снова парализовали работу, на этот раз на полдня. Потому что там компьютеры стояли не самые быстрые. Согласен, можно было бы переустановить систему на более приемлемую для «железа» конкретного компьютера. Но бухгалтерия всегда, на мой взгляд, являлась достаточно «узким» местом, трогать которое, без крайней необходимости, не стоит. Посему там все осталось как было, после моего появления на заводе. За исключением некоторых мелочей.
Впрочем, я ушел от темы. Итак, Windows становится модульной системой. Первой мыслью, которая возникает после прочтения новости — «Серьезно? Как?» Затем вспоминается опыт установки Windows на Mac. Тогда я обнаружил в файловой системе этакий симбиоз linux и «винды». Сейчас Microsoft хочет, не меняя версии ОС (насколько я понял), в корне ее изменить. К этому же стремится Android... Я верю, что в итоге останется только одна операционная система, которая будет результатом симбиоза linux и windows и в которой будут присутствовать все «плюсы» обеих систем. И конечно, отсутствовать «минусы».

Проблемы с журналами в linux

Давненько уже заметил, что перестали писаться некоторые журналы. Если быть точней, то, наверное, большинство. Поэтому правильней было бы сказать, что писались только некоторые. Потихоньку экспериментировал с journalctl, но результатов это не приносило. Да и другой работы было столько, что времени особо и не хватало. Сегодня в очередной раз вспомнил об этой проблеме, решил покопаться, пока рабочий день потихоньку подходил к концу — я ожидал окончания проверки диска.
В какой-то момент в голове мелькнула мысль, что виной всему, скорее всего, настройки syslogd. Но файл конфигурации я до этого просматривал, криминала никакого не заметил. Впрочем, моих познаний в linux могло и не хватить. Поэтому решил снести syslogd, почистить конфиги и запустить его заново. Для этого хватило одного команды:

apt-get install --purge --reinstall syslogd syslog-common

Проверяем статус службы, перезапускаем на всякий случай еще раз, идем смотреть логи почты — они более важны, чем другие. Файл all изменил свой размер, перестал быть «нулевым». Пробуем отправить самому себе письмо, запустив перед этим команду

tail -f /var/log/mail/all

И, о счастье, весь ход работы почты отображается, как и следует. Смотрим остальные логи — вроде все пишется. Пока что понаблюдаю еще, возможно, что некоторые все-таки будут «сопротивляться», хотя и маловероятно.

Апгрейд видеонаблюдения

На позапрошлой неделе начальником охраны был поднят вопрос о модернизации компьютера, на котором операторы наблюдают за территорией завода. Так как количество камер увеличилось, то картинка стала поступать с задержками, около 4 секунд. Запросил в «Техномаксе» счет с новыми комплектующими, который, к некоторому моему удивлению (не тот сейчас период), подписали без вопросов. В прошедшую субботу приехал менять комплектующие. К сожалению, систему пришлось переустанавливать, потому что старая не могла использовать весь объем оперативной памяти. Во время переустановки выяснилось, что половина диска имеет неправильный формат структуры, так что диск тоже пришлось переразбивать.
По итогу мощность компьютера возросла в несколько раз, но, как показали эксперименты, картинка все равно поступает с запозданием в 1-2 секунды. Впрочем, это уже не так критично, запись все равно идет нормально. Процессор занят почти все время на 80-100%, сеть также загружена на 70-85%. Немного подумав, поняли, что в такой загрузке сети виноват старенький хаб, стоящий на посту. Переключили ради интереса напрямую, минуя этот самый хаб, — нагрузка на сеть упала до 7-8%. Сделал вывод, что его нужно будет поменять на другой с пропускной способностью в 1 Гб. С процессором пока что будет думать.
Также появился вариант установить на видеонаблюдение еще один компьютер, снизив таким образом нагрузку на существующий компьютер. Так как при установке программ наблюдения был найден вариант для Linux, то решили попробовать его. Новый компьютер хочу собрать на базе старых комплектующих, которые были сняты этого же.

«Веселье» продолжается

Собранный вчера кабель питания для видеокарты работает, она завелась и проработала почти весь вечер в прерванной ранее игре. Субъективно компьютер стал работать быстрее, что неудивительно — новая видеокарта несколько мощнее и с целым гигабайтом памяти на «борту». Ради интереса включил программную композицию окон в Linux, посмотрим как будет работать. Раньше, на старой видюхе, периодически пропадали панели меню и задач. Но тут еще может повлиять на их работу тот момент, что в системе сейчас установлено более новое ядро.
Вот за что мне нравится Linux, так это за то, что замена, например, той же видеокарты не вызывает никаких проблем. Он просто переключается на другие драйверы (установка которых, кстати, не требуется) и просто работает дальше. Максимум, с чем я столкнулся из того, что потребовало каких-то телодвижений — заставить работать TV-тюнер AverMedia 307. И то пришлось найти строчки в интернете, которые нужно было прописать в файле конфигурации, после чего он спокойно заработал. Даже смена разрядности системы, которая в Windows просто невозможна без переустановки системы полностью (а также драйверов и программ, что займет достаточно большое количество времени) потребовала только несколько команд и перезагрузки компьютера.
А вот утро преподнесло достаточно неприятный сюрприз. Телефон у жены отказался включаться, индикатор заряда при подключении его к компьютеру или зарядному устройству тоже никак не реагировал. Зная, что за утро починить я его не успею, пришлось пока что дать Оле свой старый телефон. Надеюсь, он переживет этот день :-)
Пришел на работу, морально приготовился к разбору телефона — он, кстати, уже побывал «утопленником», но продолжает работать уже не первый месяц. Но для начала решил измерить напряжение на аккумуляторе. Оно оказалось меньше нижнего порога — примерно 3,1 вольта. Значит нужно его для начала «толкнуть», чтобы дальше он мог заряжаться в телефоне. Вот тут начинался второй квест. Дело в том, что у меня в кабинете нет розеток советского типа, все европейские — с контактом для заземления, глубокие и т. д. Розетки советского типа гораздо менее глубокие, поэтому в них можно воткнуть «лягушку». Вот такая розетка у меня есть, но располагается она над входной дверью. Судя по всему, она там для питания сигнализации, которая уже давно не используется. Закрепить «лягушку» так, чтобы она более-менее крепко держалась и не упала кому-нибудь на голову — еще та картина. В прошлый раз я обошелся изолентой (синей, адепты, синей, конечно! :-) ), в этот раз она явно бы не помогла. Пришлось использовать медицинские резинки. Пока что висит и заряжается, будем надеяться, что аккумулятор оживет.
Надо подумать над тем, чтобы найти лягушку, которую можно было бы воткнуть в «европейскую» розетку.

Пропажа звука

В какой-то момент, даже не заметил в какой, пропал звук на передней панели. Вроде ничего не делал, но не стало. Какое-то время жил без него, но потом надоело, пришлось доставать системный блок из угла и разбирать. Это само по себе дело непростое, потому что напихано в нем всего, на все случаи жизни. Причем буквально. Спереди подключены дисковод для компакт-дисков, всеядный карт-ридер и мобил-рэк для IDE винчестеров. Задняя панель тоже заполнена полностью: дополнительные COM-порты, планки FireWire LPT и COM портов, видеокарта, плата для подключения жестких дисков SATA, дополнительная сетевая карта. Внутри стоят два 12-сантиметровых вентилятора, которые все это дело обдувают. То есть внутри пустого места почти нет. На самом компьютере также стоит МФУ. Впрочем, я что-то отклонился от темы.
Итак, разобрал корпус. Для начала визуально проверил провода на передней панели — все нормально. Переткнул провод на материнской плате, подергав немного за сами проводки. Так как наушники нормально работают на ноутбуке жены, то их проверять не стал, хотя и пришлось в свое время их перепаивать — оторвал провод от штекера. Бывает, что забываю, что наушники находятся на голове и встаю вместе с ними.
Загружаю Linux — звука нет. В голову приходит «шальная» мысль, перезагружаюсь в Windows. Там звука тоже нет. Полез в интернет читать что есть на эту тему, хотя знаний и так хватает вроде. Так как ничего не нашлось, то скачал руководство пользователя на материнскую плату и начал его штудировать. Заинтересовал меня один разъем, пока «мать» рассматривал — вдруг какая-то перемычка слетела. Но оказалось, что это для сигнала об открытии корпуса. Ладно, шут с ним. Еще раз перепроверил все, что можно, вдруг чего пропустил. Загружаю Windows (просто забыл переключить на Linux) — звука нет. Поигрался с галочками в настройках системы — и о чудо! Звук появился. Интересно!
Снова перезагружаюсь в Linux — звука нет. Смотрим что есть у него подобного. Нахожу переключатель канала между линейным выходом и аналоговыми наушниками. Раньше его не было. Переключаю, естественно, на наушники и слышу в них звук. Побаловался с настройками — нет, больше ничего на вывод звука в наушники не влияет. Осталось только настроить, чтобы этот параметр был по умолчанию.