Я неоднократно получал рекомендацию посмотреть на децентрализованный мессенджер Jami, особенно в контексте моих заметок на тему selh-hosted серверов для организации собственного мессенджера для общения. Эти заметки можно почитать по тэгу #chat
Решил познакомиться с Jami и разобраться, что это такое и как работает. Если кратко, то это условный аналог Whatsapp, Telegram и т.д., только в котором не надо регистрироваться и оставлять свои персональные данные. Из особенностей - контакты хранит в общем блокчейне на основе Ethereum, его же использует для аутентификации. Поддерживают всё это хозяйство публичные ноды по аналогии с нодами крипты.
Можно поднять свою ноду, процесс описан в wiki. По дефолту клиент стучится на bootstrap.jami.net:4222, оттуда уже берёт список известных нод и дальше использует какую-то из них, не обязательно центральную. Но при первом запуске подключается именно к jami.net. Теоретически можно настроить в закрытом периметре свою ноду и замкнуть всех своих клиентов на неё. Из описания не понял, можно ли исключить её из общей сети, чтобы она была только твоя, с твоим блокчейном абонентов.
Jami позволяет совершать аудио и видео звонки, в том числе групповые, обмениваться файлами. То есть это может быть актуально для банального разговора с кем-то, когда не хочешь светить свои персональные данные в известных мессенджерах. Достаточно скачать Jami клиент, установить себе на комп, пройти быструю регистрацию, где не требуется даже почта и пароль. И дальше связываться с собеседником, который проделал всё то же самое. Как я понял, привязка к твоему аккаунту идёт по имени учётной записи, которую ты укажешь и идентификатору, который запоминается на устройстве. Потерять нельзя ни то, ни другое, иначе доступ к акккаунту пропадёт. Вся история хранится на твоих устройствах.
Связь между абонентами осуществляется по технологии p2p с использованием шифрования. Если оба за натом, то соединение устанавливается через какую-то публичную ноду. Как я понял, подобный мессенджер считается очень безопасным, потому что анонимен и всё шифруется.
В целом, интересный чат, так как сейчас практически нереально пообщаться, не оставив своих персональных данных. Везде идёт привязка к номеру телефона. С Jami можно обойтись без этого, так что неплохо было бы получить развитие этого мессенджера. Клиент есть под все популярные системы, в том числе на смартфонах.
Сайт - https://jami.net/
Исходники - https://git.jami.net/savoirfairelinux/jami-project
Обзор - https://www.youtube.com/watch?v=3MU2Kg7gwF8
#chat
Решил познакомиться с Jami и разобраться, что это такое и как работает. Если кратко, то это условный аналог Whatsapp, Telegram и т.д., только в котором не надо регистрироваться и оставлять свои персональные данные. Из особенностей - контакты хранит в общем блокчейне на основе Ethereum, его же использует для аутентификации. Поддерживают всё это хозяйство публичные ноды по аналогии с нодами крипты.
Можно поднять свою ноду, процесс описан в wiki. По дефолту клиент стучится на bootstrap.jami.net:4222, оттуда уже берёт список известных нод и дальше использует какую-то из них, не обязательно центральную. Но при первом запуске подключается именно к jami.net. Теоретически можно настроить в закрытом периметре свою ноду и замкнуть всех своих клиентов на неё. Из описания не понял, можно ли исключить её из общей сети, чтобы она была только твоя, с твоим блокчейном абонентов.
Jami позволяет совершать аудио и видео звонки, в том числе групповые, обмениваться файлами. То есть это может быть актуально для банального разговора с кем-то, когда не хочешь светить свои персональные данные в известных мессенджерах. Достаточно скачать Jami клиент, установить себе на комп, пройти быструю регистрацию, где не требуется даже почта и пароль. И дальше связываться с собеседником, который проделал всё то же самое. Как я понял, привязка к твоему аккаунту идёт по имени учётной записи, которую ты укажешь и идентификатору, который запоминается на устройстве. Потерять нельзя ни то, ни другое, иначе доступ к акккаунту пропадёт. Вся история хранится на твоих устройствах.
Связь между абонентами осуществляется по технологии p2p с использованием шифрования. Если оба за натом, то соединение устанавливается через какую-то публичную ноду. Как я понял, подобный мессенджер считается очень безопасным, потому что анонимен и всё шифруется.
В целом, интересный чат, так как сейчас практически нереально пообщаться, не оставив своих персональных данных. Везде идёт привязка к номеру телефона. С Jami можно обойтись без этого, так что неплохо было бы получить развитие этого мессенджера. Клиент есть под все популярные системы, в том числе на смартфонах.
Сайт - https://jami.net/
Исходники - https://git.jami.net/savoirfairelinux/jami-project
Обзор - https://www.youtube.com/watch?v=3MU2Kg7gwF8
#chat
Хочу познакомить вас с очередной российской разработкой. На этот раз это будет программа для удалённого управления компьютерами - АССИСТЕНТ. Я скачал и попробовал его, так что опишу своими словами, как он мне пришёлся.
В общем и целом у Ассистента функционал плюс-минус как у всех программ подобного рода - удалённое управление, передача файлов, чат, в том числе голосовой, настройка качества картинки и т.д. Каких-то минусов или принципиальных отличий от того же TeamViewer или AnyDesk я не нашёл. Картинка такая же плавная, сопоставимое качество.
Для физических лиц существует бесплатная лицензия на одно одновременное соединение. То есть вы спокойно можете поставить программу у себя и у всех своих родственников. И без проблем подключаться к ним без каких либо ограничений.
Программа работает примерно так же, как и все остальные. Можно на постоянку установить полноценную версию, а можно только запустить дистрибутив под названием "Ассистент «Быстрый старт»", чтобы к вам могли подключиться по ID и паролю, а потом просто закрыть программу и удалить.
Лично мне понравилась верхняя панель управления, где есть кнопки для быстрого запуска удалённого реестра, диспетчера задач, оборудования, терминала или информации о системе. Это удобнее, чем делать то же самое на удалённом компьютере. ❗️Помимо этого есть отдельная кнопка для переключения языка на удалённой машине. Вот за это 5 баллов. Очень удобно и нигде подобного функционала я не видел. Может и есть, но не на виду. Тут сразу заметил и оценил удобство.
Отдельно отмечу функционал с возможностью рисования прямо на экране. Это позволяет тому, к кому подключились, обратить внимание на какие-то моменты и выделить их карандашом и какой-то меткой. Доступно даже в бесплатной версии. Удобный функционал.
Лицензируется Ассистент по количеству разрешённых одновременных подключений. Платная версия начинается с 3-х таких подключений и стоит 72000р. Более дорогие лицензии существенно расширяют функционал: возможность вести инвентаризацию оборудования, поднимать свой локальный сервер соединений, полная интеграция с AD и многое другое. Всё описано на сайте.
⚠ Впечатления от программы сугубо положительные. Честно говоря, сейчас не понимаю, зачем использовать AnyDesk или TeamViewer. Надо переходить на Ассистент. У него дистрибутив маленький ~20 мб, ставится и запускается быстро. Он мне показался лучше упомянутых программ без каких-то компромиссов. Для персонального использования на текущий момент идеальный вариант, особенно с учётом рисков последних недель с использованием иностранного ПО.
Сайт - https://мойассистент.рф/
Реестр ПО - https://reestr.digital.gov.ru/reestr/304523/
#remote #отечественное
В общем и целом у Ассистента функционал плюс-минус как у всех программ подобного рода - удалённое управление, передача файлов, чат, в том числе голосовой, настройка качества картинки и т.д. Каких-то минусов или принципиальных отличий от того же TeamViewer или AnyDesk я не нашёл. Картинка такая же плавная, сопоставимое качество.
Для физических лиц существует бесплатная лицензия на одно одновременное соединение. То есть вы спокойно можете поставить программу у себя и у всех своих родственников. И без проблем подключаться к ним без каких либо ограничений.
Программа работает примерно так же, как и все остальные. Можно на постоянку установить полноценную версию, а можно только запустить дистрибутив под названием "Ассистент «Быстрый старт»", чтобы к вам могли подключиться по ID и паролю, а потом просто закрыть программу и удалить.
Лично мне понравилась верхняя панель управления, где есть кнопки для быстрого запуска удалённого реестра, диспетчера задач, оборудования, терминала или информации о системе. Это удобнее, чем делать то же самое на удалённом компьютере. ❗️Помимо этого есть отдельная кнопка для переключения языка на удалённой машине. Вот за это 5 баллов. Очень удобно и нигде подобного функционала я не видел. Может и есть, но не на виду. Тут сразу заметил и оценил удобство.
Отдельно отмечу функционал с возможностью рисования прямо на экране. Это позволяет тому, к кому подключились, обратить внимание на какие-то моменты и выделить их карандашом и какой-то меткой. Доступно даже в бесплатной версии. Удобный функционал.
Лицензируется Ассистент по количеству разрешённых одновременных подключений. Платная версия начинается с 3-х таких подключений и стоит 72000р. Более дорогие лицензии существенно расширяют функционал: возможность вести инвентаризацию оборудования, поднимать свой локальный сервер соединений, полная интеграция с AD и многое другое. Всё описано на сайте.
⚠ Впечатления от программы сугубо положительные. Честно говоря, сейчас не понимаю, зачем использовать AnyDesk или TeamViewer. Надо переходить на Ассистент. У него дистрибутив маленький ~20 мб, ставится и запускается быстро. Он мне показался лучше упомянутых программ без каких-то компромиссов. Для персонального использования на текущий момент идеальный вариант, особенно с учётом рисков последних недель с использованием иностранного ПО.
Сайт - https://мойассистент.рф/
Реестр ПО - https://reestr.digital.gov.ru/reestr/304523/
#remote #отечественное
Актуальность VPN растёт день ото дня. Сейчас столько всяких событий происходит с защитами, запретами, ограничениями и т.д., что голова кругом идёт. Доходит до того, что мой сайт serveradmin.ru, который хостится в Москве, у кого-то в России открывается только через VPN. Я даже не знаю, как расследовать такие инциденты. Явно есть проблемы у каких-то операторов.
Существует очень удобная и простая в плане установки и настройки панель для управления VPN на базе популярного и современного WireGuard под названием Firezone. Это бесплатный Open Source продукт. С её помощью можно управлять всеми настройками WireGuard через браузер.
Для Firezone подготовлен установщик, который автоматом всё развернёт на вашем сервере, в том числе и WireGuard. Достаточно только запустить готовый bash скрипт. Сейчас разумно предостеречься от подобных методов, так что можно установить всё вручную. Это описано в документации. Сам Firezone собран в rpm или deb пакет. Компоненты web-интерфейса выполняются под непривилегированным пользователем. Поддерживаются все современные Linux дистрибутивы.
Из дополнительных плюшек, помимо управления пользователями, Firezone умеет управлять nftables для ограничения доступа клиентов к каким-то хостам. Все настройки выполняются через веб интерфейс, который построен на базе Admin One Bulma Dashboard.
Проект претендует на нечто большее, чем уровень pet project и пилит коммерческую версию с разными способами аутентификации, а так же интеграцией с SAML и LDAP. Из всех панелей управления WireGuard эта показалась наиболее приятной и проработанной. Остальные можете посмотреть по метке в конце поста.
Сайт - https://www.firez.one/
Исходники - https://github.com/firezone/firezone
Документация - https://docs.firez.one/
Demo - https://demo.firez.one/
#vpn #wireguard
Существует очень удобная и простая в плане установки и настройки панель для управления VPN на базе популярного и современного WireGuard под названием Firezone. Это бесплатный Open Source продукт. С её помощью можно управлять всеми настройками WireGuard через браузер.
Для Firezone подготовлен установщик, который автоматом всё развернёт на вашем сервере, в том числе и WireGuard. Достаточно только запустить готовый bash скрипт. Сейчас разумно предостеречься от подобных методов, так что можно установить всё вручную. Это описано в документации. Сам Firezone собран в rpm или deb пакет. Компоненты web-интерфейса выполняются под непривилегированным пользователем. Поддерживаются все современные Linux дистрибутивы.
Из дополнительных плюшек, помимо управления пользователями, Firezone умеет управлять nftables для ограничения доступа клиентов к каким-то хостам. Все настройки выполняются через веб интерфейс, который построен на базе Admin One Bulma Dashboard.
Проект претендует на нечто большее, чем уровень pet project и пилит коммерческую версию с разными способами аутентификации, а так же интеграцией с SAML и LDAP. Из всех панелей управления WireGuard эта показалась наиболее приятной и проработанной. Остальные можете посмотреть по метке в конце поста.
Сайт - https://www.firez.one/
Исходники - https://github.com/firezone/firezone
Документация - https://docs.firez.one/
Demo - https://demo.firez.one/
#vpn #wireguard
FreeScout Help Desk - отличный вариант бесплатной Open Source системы для организации технической поддержки. Первое, что сразу же привлекает - скорость работы, простота и легкость веб интерфейса. Функциональный, лаконичный и ненагруженный веб интерфейс, с которым приятно работать. Причём за внешней простотой скрывается очень хороший для бесплатной версии функционал.
У FreeScout есть всё то же самое, что и у большинства программ подобного рода. А вот некоторые особенности:
◽ 100% совместимость с мобильными браузерами
◽ нормальный перевод на русский язык
◽ полная интеграция с почтовыми ящиками, по сути в FreeScout есть встроенный imap клиент
◽ контроль за коллизиями, когда с одной заявкой начинают работать 2 сотрудника
◽ удобный онлайн редактор написания ответов
◽ картинки можно просто перетаскивать в область ответа и просматривать, а не прикладывать как вложение
◽ push уведомления
◽ есть мобильное приложение
Расширить функционал бесплатной версии можно с помощью платных плагинов, цена которых очень демократична: 5-15$ в зависимости от плагина. За 100$ можно собрать хорошую сборку, которая будет в разы дешевле того же Zendesk. Причем эти 100$ нужно заплатить один раз. Все дополнения продаются навечно, а не по подписке. Разумный и перспективный подход к монетизации, как по мне.
Построено всё это на базе Laravel, так что ставится на обычный веб сервер с PHP. Можно быстро запустить и попробовать в докере.
Я уже много делал обзоров на различные HelpDesk системы, современные и не очень, с большим функционалом и очень простым. Были примеры с красивым и современным веб интерфейсом (uvdesk, zammad). Но лично мне интерфейс FreeScout понравился больше всего, хоть он и выглядит просто. Для данного типа систем это скорее плюс.
Demo - https://freescout.net/demo/
Сайт - https://freescout.net/
Исходники - https://github.com/freescout-helpdesk/freescout/
Документация - https://github.com/freescout-helpdesk/freescout/wiki
#helpdesk
У FreeScout есть всё то же самое, что и у большинства программ подобного рода. А вот некоторые особенности:
◽ 100% совместимость с мобильными браузерами
◽ нормальный перевод на русский язык
◽ полная интеграция с почтовыми ящиками, по сути в FreeScout есть встроенный imap клиент
◽ контроль за коллизиями, когда с одной заявкой начинают работать 2 сотрудника
◽ удобный онлайн редактор написания ответов
◽ картинки можно просто перетаскивать в область ответа и просматривать, а не прикладывать как вложение
◽ push уведомления
◽ есть мобильное приложение
Расширить функционал бесплатной версии можно с помощью платных плагинов, цена которых очень демократична: 5-15$ в зависимости от плагина. За 100$ можно собрать хорошую сборку, которая будет в разы дешевле того же Zendesk. Причем эти 100$ нужно заплатить один раз. Все дополнения продаются навечно, а не по подписке. Разумный и перспективный подход к монетизации, как по мне.
Построено всё это на базе Laravel, так что ставится на обычный веб сервер с PHP. Можно быстро запустить и попробовать в докере.
Я уже много делал обзоров на различные HelpDesk системы, современные и не очень, с большим функционалом и очень простым. Были примеры с красивым и современным веб интерфейсом (uvdesk, zammad). Но лично мне интерфейс FreeScout понравился больше всего, хоть он и выглядит просто. Для данного типа систем это скорее плюс.
Demo - https://freescout.net/demo/
Сайт - https://freescout.net/
Исходники - https://github.com/freescout-helpdesk/freescout/
Документация - https://github.com/freescout-helpdesk/freescout/wiki
#helpdesk
Познакомился с отечественным сервисом git, условным аналогом github - https://gitflic.ru. Зарегистрировался там и на всякий случай перенёс несколько своих основных личных репозиториев. Я их всегда хранил на gitlab, но последнее время стал регулярно копировать локально, опасаясь блокировки или ещё каких-нибудь диверсий.
Gitflic имеет бесплатный тарифный план, у которого одно ограничение - в приватном репозитории не может быть более 5-ти человек. Для одиночного использования считай что ограничений нет совсем.
Сразу видно, что проект очень молодой и ещё не факт, что взлетит, но пользоваться можно уже сейчас. Функционал небольшой, но лично мне кроме непосредственно git больше ничего не надо. Дизайн простой и лаконичный. Бонусом идёт хороший отклик и быстродействие в браузере. Думаю, это потому что нагрузки нет. Когда работаешь в браузере разница с gitlab огромная. Последний очень тормозной.
Надеюсь проект взлетит и наберёт популярность. Мне осталось придумать какой-нибудь наименее костыльный вариант для синхронизации трёх источников с кучей репозиториев - gitlab, gitflic, локальный ноут. У кого какие идеи, как это лучше организовать? Понятно, что можно просто скриптом забабахать, но может как-то по-другому можно?
#git #бесплатно #отечественное
Gitflic имеет бесплатный тарифный план, у которого одно ограничение - в приватном репозитории не может быть более 5-ти человек. Для одиночного использования считай что ограничений нет совсем.
Сразу видно, что проект очень молодой и ещё не факт, что взлетит, но пользоваться можно уже сейчас. Функционал небольшой, но лично мне кроме непосредственно git больше ничего не надо. Дизайн простой и лаконичный. Бонусом идёт хороший отклик и быстродействие в браузере. Думаю, это потому что нагрузки нет. Когда работаешь в браузере разница с gitlab огромная. Последний очень тормозной.
Надеюсь проект взлетит и наберёт популярность. Мне осталось придумать какой-нибудь наименее костыльный вариант для синхронизации трёх источников с кучей репозиториев - gitlab, gitflic, локальный ноут. У кого какие идеи, как это лучше организовать? Понятно, что можно просто скриптом забабахать, но может как-то по-другому можно?
#git #бесплатно #отечественное
Поступил интересный вопрос от подписчика, который заинтересовал и меня лично. К тому же самому мне нечего посоветовать по теме.
Хотелось бы услышать обратную связь по вариантам обучения детей (возраст 10-14 лет) в сферах:
1) Основы сетей и сетевого администрирования.
2) Основы установки и настройки Linux (Ubuntu/Debian), командная строка.
3) Введение pyton. Основы программирования.
4) Базы данных. Основы.
Рассматриваются как варианты курсов, так и частное индивидуальное обучение на постоянной основе в свободное время.
У меня у самого дети подрастают. Старшему 7 лет, ходит в первый класс. Потихоньку думаю, как его вовлекать в осмысленную деятельность на базе IT технологий. Поделитесь, у кого есть дети и положительный опыт обучения IT.
Первое, что приходит на ум, это кружки робототехники, которых сейчас очень много. В принципе, это должен быть нормальный вариант для детей. Игра и обучение одновременно. Правда тут у меня есть сомнения насчёт того, когда всё это начинать. Думаю как раз где-то к 10-ти годам, хотя вижу, что некоторые и в 7 водят. Но мне кажется, в таком возрасте надо делать упор на двигательную активность. Они и так в школе сидят, водить ещё на какие-то занятия, где снова будут сидеть, нельзя.
❗️ps Пожалуйста, не пишите мне частные вопросы по поводу решения каких-то проблем с настройкой и установкой чего-либо. Я рассматриваю только общие дискуссионные вопросы, которые будут интересны широкому кругу лиц. Разбираться в ваших проблемах и логах у меня нет времени и возможности. Каждый день получаю запросы с просьбой решить какую-то проблему. Я не занимаюсь этим.
#вопрос #обучение
Хотелось бы услышать обратную связь по вариантам обучения детей (возраст 10-14 лет) в сферах:
1) Основы сетей и сетевого администрирования.
2) Основы установки и настройки Linux (Ubuntu/Debian), командная строка.
3) Введение pyton. Основы программирования.
4) Базы данных. Основы.
Рассматриваются как варианты курсов, так и частное индивидуальное обучение на постоянной основе в свободное время.
У меня у самого дети подрастают. Старшему 7 лет, ходит в первый класс. Потихоньку думаю, как его вовлекать в осмысленную деятельность на базе IT технологий. Поделитесь, у кого есть дети и положительный опыт обучения IT.
Первое, что приходит на ум, это кружки робототехники, которых сейчас очень много. В принципе, это должен быть нормальный вариант для детей. Игра и обучение одновременно. Правда тут у меня есть сомнения насчёт того, когда всё это начинать. Думаю как раз где-то к 10-ти годам, хотя вижу, что некоторые и в 7 водят. Но мне кажется, в таком возрасте надо делать упор на двигательную активность. Они и так в школе сидят, водить ещё на какие-то занятия, где снова будут сидеть, нельзя.
❗️ps Пожалуйста, не пишите мне частные вопросы по поводу решения каких-то проблем с настройкой и установкой чего-либо. Я рассматриваю только общие дискуссионные вопросы, которые будут интересны широкому кругу лиц. Разбираться в ваших проблемах и логах у меня нет времени и возможности. Каждый день получаю запросы с просьбой решить какую-то проблему. Я не занимаюсь этим.
#вопрос #обучение
Расскажу небольшую историю, которая со мной случилась недавно. Решил основательно настроить Firewall на сервере с MSSQL и отключить вообще всё лишнее. Прям по ip перечислил всех, кому можно обращаться к серверу и его службам. И забыл туда добавить хост с Veeam Backup и Replication.
На заданиях стояли уведомления только в случае ошибок во время бэкапа. Где-то течении недели бэкапы не делались. Заметил проблемы я только когда вручную просматривал сервера с бэкапами. Я делаю это с определённой периодичностью.
После того, как я закрыл доступ к MSSQL серверу, служба Veeam просто остановилась. Мониторинга работы этой службы настроено не было. Бэкапы не делались, уведомления не слались. Со стороны казалось, что всё в порядке.
Увидел проблему, настроил мониторинг службы и уведомления об успешных бэкапах тоже. Теперь если нет ежедневных писем, которые я просматриваю утром всем скопом, сразу понимаю, что какие-то проблемы.
Знаю огромное количество ситуаций, когда о том, что не делались бэкапы, узнают только в момент аварии. Независимо от того, как у вас настроена автоматизация, проверяйте хотя бы иногда вручную то, что автоматизировано. Никогда не знаешь наверняка, где в очередной раз что-то сломается. Можно постараться везде подстелить соломку, но человеческий фактор и ошибку никто не отменяет. Можно просто забыть что-то включить.
#backup #veeam
На заданиях стояли уведомления только в случае ошибок во время бэкапа. Где-то течении недели бэкапы не делались. Заметил проблемы я только когда вручную просматривал сервера с бэкапами. Я делаю это с определённой периодичностью.
После того, как я закрыл доступ к MSSQL серверу, служба Veeam просто остановилась. Мониторинга работы этой службы настроено не было. Бэкапы не делались, уведомления не слались. Со стороны казалось, что всё в порядке.
Увидел проблему, настроил мониторинг службы и уведомления об успешных бэкапах тоже. Теперь если нет ежедневных писем, которые я просматриваю утром всем скопом, сразу понимаю, что какие-то проблемы.
Знаю огромное количество ситуаций, когда о том, что не делались бэкапы, узнают только в момент аварии. Независимо от того, как у вас настроена автоматизация, проверяйте хотя бы иногда вручную то, что автоматизировано. Никогда не знаешь наверняка, где в очередной раз что-то сломается. Можно постараться везде подстелить соломку, но человеческий фактор и ошибку никто не отменяет. Можно просто забыть что-то включить.
#backup #veeam
Наконец-то случилось то, чего мы так долго ждали. В ответ на всевозможные санкции, правительство РФ разрешило "пиратить" санкционный софт. Законопроект №80712-8 опубликован на государственном сайте:
https://sozd.duma.gov.ru/bill/80712-8
Читаем документ Текст внесенного законопроекта (Комитет Государственной Думы по экономической политике), статья 14, пункт 13:
13) перечень товаров (групп товаров), в отношении которых
не могут применяться положения Гражданского кодекса Российской Федерации о защите исключительных прав на результаты интеллектуальной деятельности, выраженные в таких товарах, и средства индивидуализации, которыми такие товары маркированы;
Ждём следующий шаг - снятие запретов с торрент трекеров. Чтобы не ущемлять права честных собственников интеллектуальной деятельности, весь санкционный софт планируется перенести на отдельные трекеры. По словам людей, близких к руководству Минцифры, уже отданы распоряжения профильным ведомствам подготовить рабочую группу и нормативную базу для реализации этих планов. Государственному трекеру быть!
В рамках реализации этих планов уже восстановили работу небезызвестного сайта и портала с софтом NoName - https://nnm.club (олды роняют слёзы 😭). В Роскомнадзоре обратились к администраторам сайта и извинились за годы преследования портала, которое вынудило его в итоге закрыть. Но теперь он снова в строю. Даже пользователей восстановили. Нашёл там свою учётку.
Представители организуемых трекеров и портала NoName теперь будут отвечать за лицензирование ОС Windows, пакета Office и других продуктов американских компаний.
#юмор
https://sozd.duma.gov.ru/bill/80712-8
Читаем документ Текст внесенного законопроекта (Комитет Государственной Думы по экономической политике), статья 14, пункт 13:
13) перечень товаров (групп товаров), в отношении которых
не могут применяться положения Гражданского кодекса Российской Федерации о защите исключительных прав на результаты интеллектуальной деятельности, выраженные в таких товарах, и средства индивидуализации, которыми такие товары маркированы;
Ждём следующий шаг - снятие запретов с торрент трекеров. Чтобы не ущемлять права честных собственников интеллектуальной деятельности, весь санкционный софт планируется перенести на отдельные трекеры. По словам людей, близких к руководству Минцифры, уже отданы распоряжения профильным ведомствам подготовить рабочую группу и нормативную базу для реализации этих планов. Государственному трекеру быть!
В рамках реализации этих планов уже восстановили работу небезызвестного сайта и портала с софтом NoName - https://nnm.club (олды роняют слёзы 😭). В Роскомнадзоре обратились к администраторам сайта и извинились за годы преследования портала, которое вынудило его в итоге закрыть. Но теперь он снова в строю. Даже пользователей восстановили. Нашёл там свою учётку.
Представители организуемых трекеров и портала NoName теперь будут отвечать за лицензирование ОС Windows, пакета Office и других продуктов американских компаний.
#юмор
Посмотрел очередное выступление с Asterconf 2021, которое мне показалось интересным и полезным для тех, кто работает с Asterisk:
Автоматизация разворачивания станций на Asterisk с использованием Docker контейнеров, https://www.youtube.com/watch?v=_IF7IzcDmRQ
До этого тоже смотрел все видео с конференции на канале, но показались больше теоретическими и не очень интересным. А тут прям конкретика с примерами, подходами, софтом и т. д. Интересно было послушать. Как-то вообще не видел, чтобы Asterisk запускали в Docker. Это такой софт, который один раз поставил и обновляешь очень не часто, только если прижмёт и надо будет по безопасности закрывать дыры. То есть вопросы с частым деплоем вообще не стоят.
Использование докера в данном случае упростит задачу переноса или обновления, так как можно будет всё протестировать на идентичном контейнере, а потом очень быстро заменить его на проде. С виртуалкой в любом случае все это больше времени займёт. Как само обновление, так и откат в случае проблем.
Содержание выступления с метками:
00:00 Начало выступления
00:09 Проблемы STANDALONE ASTERISK
01:37 WHAT's DOCKER.IO
02:02 Преимущества DOCKER
02:38 Подготовка образа
02:59 Dockerfile
03:25 Базовый образ и сборка Asterisk
03:45 Сборка дополнительных модулей
03:53 Подготовка финального образа
04:14 Установка Sox, Jboss, Webif
04:21 Supervisor, sngrep, crontab, fail2ban
04:33 Supervisor: A Process Control System
05:02 Конфигурация Supervisor
05:07 Стартовый скрипт
05:23 BUILD & PUBLISH
05:47 Размещение образа в Dockerhub
05:53 Deploy: docker-compose
06:23 Установка и запуск
06:42 Время развертывания - 2 минуты
07:12 Кастомизация образа
07:48 Обновление
08:04 Решение проблем
08:23 Ответы на вопросы
#asterisk #видео
Автоматизация разворачивания станций на Asterisk с использованием Docker контейнеров, https://www.youtube.com/watch?v=_IF7IzcDmRQ
До этого тоже смотрел все видео с конференции на канале, но показались больше теоретическими и не очень интересным. А тут прям конкретика с примерами, подходами, софтом и т. д. Интересно было послушать. Как-то вообще не видел, чтобы Asterisk запускали в Docker. Это такой софт, который один раз поставил и обновляешь очень не часто, только если прижмёт и надо будет по безопасности закрывать дыры. То есть вопросы с частым деплоем вообще не стоят.
Использование докера в данном случае упростит задачу переноса или обновления, так как можно будет всё протестировать на идентичном контейнере, а потом очень быстро заменить его на проде. С виртуалкой в любом случае все это больше времени займёт. Как само обновление, так и откат в случае проблем.
Содержание выступления с метками:
00:00 Начало выступления
00:09 Проблемы STANDALONE ASTERISK
01:37 WHAT's DOCKER.IO
02:02 Преимущества DOCKER
02:38 Подготовка образа
02:59 Dockerfile
03:25 Базовый образ и сборка Asterisk
03:45 Сборка дополнительных модулей
03:53 Подготовка финального образа
04:14 Установка Sox, Jboss, Webif
04:21 Supervisor, sngrep, crontab, fail2ban
04:33 Supervisor: A Process Control System
05:02 Конфигурация Supervisor
05:07 Стартовый скрипт
05:23 BUILD & PUBLISH
05:47 Размещение образа в Dockerhub
05:53 Deploy: docker-compose
06:23 Установка и запуск
06:42 Время развертывания - 2 минуты
07:12 Кастомизация образа
07:48 Обновление
08:04 Решение проблем
08:23 Ответы на вопросы
#asterisk #видео
Недавно был пост про вовлечение и обучение детей в IT. В комментариях было много полезных рекомендаций, так что решил их все собрать в одном месте.
▪ Начать с электронных конструкторов типа Микроник или Знаток. Последний у меня есть в большой комплектации. Реально интересная штука. Иногда собираем какие-то схемы с детьми, им нравится. Особенно запускать пропеллер и регулировать скорость его вращения. На этом конструкторе очень удобно объяснить, что такое электричество и ток.
▪ Есть так называемые ЛогоМиры на основе языка программирования Лого, который был создан в образовательных целях для обучения детей дошкольного и младшего школьного возраста основным концепциям программирования (рекурсии, расширяемости и пр.). ЛогоМир это программное обеспечение для MacOS.
▪ Существует визуально-блочная событийно-ориентированная среда программирования Scratch, созданная для детей и подростков. Она создана как продолжение идей языка Лого и конструктора Лего. По Scratch есть много книг и обучающих роликов на Youtube. Это больше для детей 12-14+
▪ Можно вовлекать с помощью игр. Причём все предложенные игры были ранее рассмотрены мной на канале. Правда не в контексте обучения детей. Я про них для взрослых рассказывал. Вот список от простого к сложному: Tomorrow Corporation (Human Resource Machine, 7 Billion Humans), игры от Zachtronics (SHENZHEN I/O, SpaceChem, TIS-100), более сложная Screeps.
▪ На портале uchi.ru есть курсы для обучения детей программированию. Вот пример для Python. Стоит совсем не дорого, не как взрослые курсы.
▪ Есть проект https://codecombat.com для обучения детей программированию в игровой форме. Я посмотрел его - там всё на английском, плюс стоит не мало. Не знаю, насколько это может быть актуально для русскоговорящих детей.
▪ На сайте Полякова Константина Юрьевича есть очень много материала различных школьных курсов по обучению детей информатике и программированию.
▪ У Lego есть серия программируемых роботов LEGO Mindstorms. Наборы LEGO Mindstorms комплектуются набором стандартных деталей LEGO (балки, оси, колеса, шестерни, сервомоторы) и набором, состоящим из сенсоров, двигателей и программируемого блока. Для этих роботов даже международные соревнования устраивают.
▪ Настроить свой сервер Minecraft. В 7 лет дал ребенку смартфон и выборочно поставил ему несколько игр, которые выбрал сам. В том числе и Minecraft. Игра его заинтересовала, так что думаю сам буду двигаться в этом направлении. Для начала сделаем локальный сервер и будет играть там вместе.
▪ Есть много кружков робототехники, в том числе с программированием Ардуино. Эффективность сильно зависит от преподавателя и его способностей заинтересовать детей. Такой кружок может стоить дорого, по сравнению с другими.
И не забываем про нестареющую классику - книгу: "А я был в компьютером городе". У меня была такая. Шлёпал по клавиатуре на развороте. Это был мой первый компьютер. Кто знает, может быть эта книга и положила начало моей карьеры.
#обучение #дети
▪ Начать с электронных конструкторов типа Микроник или Знаток. Последний у меня есть в большой комплектации. Реально интересная штука. Иногда собираем какие-то схемы с детьми, им нравится. Особенно запускать пропеллер и регулировать скорость его вращения. На этом конструкторе очень удобно объяснить, что такое электричество и ток.
▪ Есть так называемые ЛогоМиры на основе языка программирования Лого, который был создан в образовательных целях для обучения детей дошкольного и младшего школьного возраста основным концепциям программирования (рекурсии, расширяемости и пр.). ЛогоМир это программное обеспечение для MacOS.
▪ Существует визуально-блочная событийно-ориентированная среда программирования Scratch, созданная для детей и подростков. Она создана как продолжение идей языка Лого и конструктора Лего. По Scratch есть много книг и обучающих роликов на Youtube. Это больше для детей 12-14+
▪ Можно вовлекать с помощью игр. Причём все предложенные игры были ранее рассмотрены мной на канале. Правда не в контексте обучения детей. Я про них для взрослых рассказывал. Вот список от простого к сложному: Tomorrow Corporation (Human Resource Machine, 7 Billion Humans), игры от Zachtronics (SHENZHEN I/O, SpaceChem, TIS-100), более сложная Screeps.
▪ На портале uchi.ru есть курсы для обучения детей программированию. Вот пример для Python. Стоит совсем не дорого, не как взрослые курсы.
▪ Есть проект https://codecombat.com для обучения детей программированию в игровой форме. Я посмотрел его - там всё на английском, плюс стоит не мало. Не знаю, насколько это может быть актуально для русскоговорящих детей.
▪ На сайте Полякова Константина Юрьевича есть очень много материала различных школьных курсов по обучению детей информатике и программированию.
▪ У Lego есть серия программируемых роботов LEGO Mindstorms. Наборы LEGO Mindstorms комплектуются набором стандартных деталей LEGO (балки, оси, колеса, шестерни, сервомоторы) и набором, состоящим из сенсоров, двигателей и программируемого блока. Для этих роботов даже международные соревнования устраивают.
▪ Настроить свой сервер Minecraft. В 7 лет дал ребенку смартфон и выборочно поставил ему несколько игр, которые выбрал сам. В том числе и Minecraft. Игра его заинтересовала, так что думаю сам буду двигаться в этом направлении. Для начала сделаем локальный сервер и будет играть там вместе.
▪ Есть много кружков робототехники, в том числе с программированием Ардуино. Эффективность сильно зависит от преподавателя и его способностей заинтересовать детей. Такой кружок может стоить дорого, по сравнению с другими.
И не забываем про нестареющую классику - книгу: "А я был в компьютером городе". У меня была такая. Шлёпал по клавиатуре на развороте. Это был мой первый компьютер. Кто знает, может быть эта книга и положила начало моей карьеры.
#обучение #дети
В продолжение к предыдущей заметке, где я восстанавливал удалённый файл, который был открыт процессом. Ещё один практический пример на эту тему. Мы теперь знаем, что в Linux сначала удаляется имя файла. Сам же файл удаляется, только после того, как счётчик ссылок станет равен нулю и будут закрыты все файловые дескрипторы, ассоциированные с файлом. Давайте найдём файлы, количество ссылок которых равны нулю.
или так:
Вывод этой команды можно ограничить файлами конкретного раздела:
Приведу практический пример по этой теме. Создадим большой файл /tmp/tempfile размером в один гибибайт:
Находясь в директории /tmp запускаю команду в фоне, которая открывает файл на чтение. Удаляет его и засыпает. Используется оболочка Bash:
Если после запуска скрипта посмотреть размер раздела, на котором размещается директория /tmp и сумму всех файлов на этом разделе, то получится разница в этот самый гибибайт. В моём случае это корневой раздел:
Есть процесс, который удалил файл, но продолжает держать открытым файловый дескриптор, поэтому реально файл не удалён и всё ещё занимает место на диске. Если поднять процесс из фона и завершить, то файловый дескриптор будет закрыт и файл перестанет заниматься место на диске.
На практике я регулярно сталкиваюсь с подобной ситуацией. Чаще всего это касается лог файлов. Кто-то решает удалить распухший лог, но при этом забывает перезапустить сервис. Например некоторые разработчики любят урезать логи docker или nginx с помощью truncate.
В итоге лог вроде как удалён, но файловый дескриптор открыт и служба продолжает писать в него логи. Доходит до того, что всё место на диске занято и непонятно кем. Тут спасёт перезагрузка, или определение с помощью lsof какой файл открыт и какая служба его держит. Перезапускаем и всё становится в порядке с местом.
#terminal
# lsof +L1
или так:
# lsof | grep '(deleted)'
Вывод этой команды можно ограничить файлами конкретного раздела:
# lsof -s +L1 -a /dev/sda1
Приведу практический пример по этой теме. Создадим большой файл /tmp/tempfile размером в один гибибайт:
# dd if=/dev/zero of=/tmp/tempfile bs=1M count=1024
1073741824 bytes (1.1 GB, 1.0 GiB) copied, 2.22636 s, 482 MB/s
Находясь в директории /tmp запускаю команду в фоне, которая открывает файл на чтение. Удаляет его и засыпает. Используется оболочка Bash:
# ( : {fd}< ./tempfile && rm -f ./tempfile && sleep 30000 {fd}>&- ) 2> /dev/null &
Если после запуска скрипта посмотреть размер раздела, на котором размещается директория /tmp и сумму всех файлов на этом разделе, то получится разница в этот самый гибибайт. В моём случае это корневой раздел:
# df -h /
Filesystem Size Used Avail Use% Mounted on
/dev/mapper/debian11--vg-root 19G
2.1G
16G 12% /
# du -xhs /
1.1G
/
Есть процесс, который удалил файл, но продолжает держать открытым файловый дескриптор, поэтому реально файл не удалён и всё ещё занимает место на диске. Если поднять процесс из фона и завершить, то файловый дескриптор будет закрыт и файл перестанет заниматься место на диске.
# fg
CTRL+C
На практике я регулярно сталкиваюсь с подобной ситуацией. Чаще всего это касается лог файлов. Кто-то решает удалить распухший лог, но при этом забывает перезапустить сервис. Например некоторые разработчики любят урезать логи docker или nginx с помощью truncate.
В итоге лог вроде как удалён, но файловый дескриптор открыт и служба продолжает писать в него логи. Доходит до того, что всё место на диске занято и непонятно кем. Тут спасёт перезагрузка, или определение с помощью lsof какой файл открыт и какая служба его держит. Перезапускаем и всё становится в порядке с местом.
#terminal
25 марта в официальном блоге Zabbix вышла обзорная заметка с примером на тему вебхуков - Webhooks in Zabbix. Это очень функциональная возможность системы мониторинга, которая позволяет практически безгранично настраивать интеграции с другими системами.
Для тех, кто не знает, что такое вебхуки, поясню своими словами. С помощью вебхука можно отправить HTTP запрос с параметрами на какое-то событие. Например, сработал какой-то триггер в Zabbix, а в качестве вебхука к нему прописано действие по отправке POST запроса к https://api.telegram.org. Таким образом вы можете самостоятельно настроить оповещения в Telegram не прибегая вообще ни к каким сторонним скриптам или расширениям.
То есть с помощью webhook вы можете настроить интеграцию с любым продуктом, у которого есть API. Передавайте туда необходимые параметры, создавайте объекты, уведомления и т.д. На основе вебхуков созданы большинство встроенных интеграций с другими системами.
Для создания простых вебхуков не требуется каких-то особенных знаний. Можно использовать встроенные макросы Zabbix для передачи тех или иных значений. Если нужно что-то посложнее с модификацией передаваемой информации, то придётся использовать JavaScript, который поддерживается механизмом вебхуков в Zabbix Server.
Готовые примеры вебхуков для интеграции с различными системами можно посмотреть в официальном репозитории Zabbix на Github. Наиболее частое применение - оповещение с помощью различных мессенджеров и заведение заявок в системах HelpDesk.
#zabbix
Для тех, кто не знает, что такое вебхуки, поясню своими словами. С помощью вебхука можно отправить HTTP запрос с параметрами на какое-то событие. Например, сработал какой-то триггер в Zabbix, а в качестве вебхука к нему прописано действие по отправке POST запроса к https://api.telegram.org. Таким образом вы можете самостоятельно настроить оповещения в Telegram не прибегая вообще ни к каким сторонним скриптам или расширениям.
То есть с помощью webhook вы можете настроить интеграцию с любым продуктом, у которого есть API. Передавайте туда необходимые параметры, создавайте объекты, уведомления и т.д. На основе вебхуков созданы большинство встроенных интеграций с другими системами.
Для создания простых вебхуков не требуется каких-то особенных знаний. Можно использовать встроенные макросы Zabbix для передачи тех или иных значений. Если нужно что-то посложнее с модификацией передаваемой информации, то придётся использовать JavaScript, который поддерживается механизмом вебхуков в Zabbix Server.
Готовые примеры вебхуков для интеграции с различными системами можно посмотреть в официальном репозитории Zabbix на Github. Наиболее частое применение - оповещение с помощью различных мессенджеров и заведение заявок в системах HelpDesk.
#zabbix
Я давно принял решение, что следующий купленный ноутбук для работы будет на Linux. С Windows буду потихоньку прощаться по целому ряду причин, которые может быть перечислю как-нибудь отдельным постом. Сегодня хотел рассказать про программу-клиент для подключения к удалённому рабочему столу по различным протоколам Remmina.
Это один из немногих примеров программ, про которые спрашивают пользователи Linux, когда вынуждены использовать Windows: "Какой есть аналог Remmina под виндой?" Обычно под виндой полно всякого софта и подобные вопросы задают в обратную сторону, переползая на Linux.
Лично я знаю два подобных аналога: MobaXterm и Remote Desktop Manager. Но с одной существенной разницей - они коммерческие. Про обе эти программы я писал ранее. Есть ещё одна, но как по мне похуже этих двух - mRemoteNG. Надо будет сделать про неё отдельный пост. Remmina существует только под Linux и умеет примерно всё то же самое, только абсолютно бесплатно и без ограничений, так как это Open Source и распространяется под лицензией GPLv2+.
Как я уже сказал, Remmina работает под Linux и позволяет получить удаленный доступ к Windows, MacOS и Linux с помощью протоколов RDP, SSH, SPICE, VNC, X2Go, HTTP/HTTPS. Программа популярна и есть в стандартных репозиториях всех известных дистрибутивов, либо имеет свой отдельный репозиторий, который можно подключить.
Если есть большое желание использовать Remmina под Windows, то можно запустить её под WSL. Эта возможность упомянута и продемонстрирована отдельной статьёй на официальном сайте.
В свете того, что многим из нас в ближайшее время придётся переходить на "отечественные ОС", которые все на базе Linux, имеет смысл подбирать подходящий софт под это дело. Я не придумал тэг для программ этой категории. Как думаете, какой для них будет актуален? #remote уже занят для всяких энидексов и им подобным.
Сайт - https://remmina.org
Исходники - https://gitlab.com/Remmina/Remmina
#linux #менеджеры_подключений
Это один из немногих примеров программ, про которые спрашивают пользователи Linux, когда вынуждены использовать Windows: "Какой есть аналог Remmina под виндой?" Обычно под виндой полно всякого софта и подобные вопросы задают в обратную сторону, переползая на Linux.
Лично я знаю два подобных аналога: MobaXterm и Remote Desktop Manager. Но с одной существенной разницей - они коммерческие. Про обе эти программы я писал ранее. Есть ещё одна, но как по мне похуже этих двух - mRemoteNG. Надо будет сделать про неё отдельный пост. Remmina существует только под Linux и умеет примерно всё то же самое, только абсолютно бесплатно и без ограничений, так как это Open Source и распространяется под лицензией GPLv2+.
Как я уже сказал, Remmina работает под Linux и позволяет получить удаленный доступ к Windows, MacOS и Linux с помощью протоколов RDP, SSH, SPICE, VNC, X2Go, HTTP/HTTPS. Программа популярна и есть в стандартных репозиториях всех известных дистрибутивов, либо имеет свой отдельный репозиторий, который можно подключить.
Если есть большое желание использовать Remmina под Windows, то можно запустить её под WSL. Эта возможность упомянута и продемонстрирована отдельной статьёй на официальном сайте.
В свете того, что многим из нас в ближайшее время придётся переходить на "отечественные ОС", которые все на базе Linux, имеет смысл подбирать подходящий софт под это дело. Я не придумал тэг для программ этой категории. Как думаете, какой для них будет актуален? #remote уже занят для всяких энидексов и им подобным.
Сайт - https://remmina.org
Исходники - https://gitlab.com/Remmina/Remmina
#linux #менеджеры_подключений
🚑 Скорая помощь по Zabbix и Elastic Stack
Консультации через Zoom сертифицированными специалистами:
🔥 Оперативная помощь с траблшутингом проблем с Zabbix или Elastic Stack (все штатные компоненты)
🔥 Работы по миграции с версии на версию Zabbix/Elastic Stack
🔥 Разработка шаблонов мониторинга в Zabbix/правил обработки данных в Elastic Stack
🔥 Тюнинг производительности Zabbix/Elastic Stack
🔥 Услуги удаленного администрирования и удаленной поддержки на постоянной основе Zabbix/Elastic Stack
🔥 Семинары-инструктажи по Zabbix/Elastic Stack
Для оперативной связи @galssoftware. Подробнее о наших услугах на gals.software
#реклама
Консультации через Zoom сертифицированными специалистами:
🔥 Оперативная помощь с траблшутингом проблем с Zabbix или Elastic Stack (все штатные компоненты)
🔥 Работы по миграции с версии на версию Zabbix/Elastic Stack
🔥 Разработка шаблонов мониторинга в Zabbix/правил обработки данных в Elastic Stack
🔥 Тюнинг производительности Zabbix/Elastic Stack
🔥 Услуги удаленного администрирования и удаленной поддержки на постоянной основе Zabbix/Elastic Stack
🔥 Семинары-инструктажи по Zabbix/Elastic Stack
Для оперативной связи @galssoftware. Подробнее о наших услугах на gals.software
#реклама
Во вчерашней заметке вскользь упомянул про утилиту truncate. Решил рассказать про неё поподробнее, так как сам иногда использую. С её помощью можно усечь текстовый файл, либо полностью обнулить, не удаляя его. Это удобно, когда нужно очистить лог файл, но не хочется его удалять, создавать заново, выставлять права доступа и перезапускать сервис, который его использовал.
Утилита truncate чаще всего входит в базовый состав системных утилит, которые идут в комплекте с дистрибутивом Linux. Если её нет, то можно установить пакет coreutils, она скорее всего будет там.
Вообще, самый простой способ обнулить файл, это сделать вот так:
Это в оболочке bash. В каких-то других может не сработать и нужно будет какую-то команду типа echo -n или cat /dev/null добавить перед перенаправлением. С truncate очистка файла выглядит так:
Truncate позволяет не только полностью обнулить файл, но и сохранить какую-то его часть, что актуально для логов. Если у вас образовался огромный лог файл от веб сервера, который вам точно не нужен, но вы хотите что-то поискать в его начале, то просто обрежьте его до нужного размера:
Конец будет отсечён до нового размера файла в 10 мегабайт. Обращаю внимание, что обрезается хвост файла, а не начало. Это принципиальный момент, так как truncate не читает файл, а просто отсекает лишнее, поэтому работает очень быстро на любых объемах. Мне как-то нужно было удалить именно начало большого файла, оставив конец. С удивлением обнаружил, что это не так просто сделать. Так и не придумал простого и удобного решения. Использовал tail -n и перенаправление в новый файл.
Другой возможностью truncate является создание файлов заданного размера. На практике лично мне это никогда не было нужно и я не знаю, где может пригодиться. Только если в каких-то тестах. Тем не менее с truncate это сделать проще всего. Создаём файл:
Получили файл в 10 мегабайт, заполненный нулями.
Также с truncate удобно увеличивать размер файла порциями. Есть какой-то файл, его надо увеличить на 10 мегабайт:
Если использовать вместо плюса минус, файл будет уменьшен на 10 мегабайт. Это может быть полезно, когда тестируется какой-то триггер в мониторинге на контроль размера файла. Например, если дамп sql базы слишком маленький, нужно обратить на это внимание.
#terminal #bash
Утилита truncate чаще всего входит в базовый состав системных утилит, которые идут в комплекте с дистрибутивом Linux. Если её нет, то можно установить пакет coreutils, она скорее всего будет там.
Вообще, самый простой способ обнулить файл, это сделать вот так:
# > access.log
Это в оболочке bash. В каких-то других может не сработать и нужно будет какую-то команду типа echo -n или cat /dev/null добавить перед перенаправлением. С truncate очистка файла выглядит так:
# truncate -s 0 access.log
Truncate позволяет не только полностью обнулить файл, но и сохранить какую-то его часть, что актуально для логов. Если у вас образовался огромный лог файл от веб сервера, который вам точно не нужен, но вы хотите что-то поискать в его начале, то просто обрежьте его до нужного размера:
# truncate -s 10M access.log
Конец будет отсечён до нового размера файла в 10 мегабайт. Обращаю внимание, что обрезается хвост файла, а не начало. Это принципиальный момент, так как truncate не читает файл, а просто отсекает лишнее, поэтому работает очень быстро на любых объемах. Мне как-то нужно было удалить именно начало большого файла, оставив конец. С удивлением обнаружил, что это не так просто сделать. Так и не придумал простого и удобного решения. Использовал tail -n и перенаправление в новый файл.
Другой возможностью truncate является создание файлов заданного размера. На практике лично мне это никогда не было нужно и я не знаю, где может пригодиться. Только если в каких-то тестах. Тем не менее с truncate это сделать проще всего. Создаём файл:
# truncate -s 10M file.txt
Получили файл в 10 мегабайт, заполненный нулями.
Также с truncate удобно увеличивать размер файла порциями. Есть какой-то файл, его надо увеличить на 10 мегабайт:
# truncate -s +10M file.txt
Если использовать вместо плюса минус, файл будет уменьшен на 10 мегабайт. Это может быть полезно, когда тестируется какой-то триггер в мониторинге на контроль размера файла. Например, если дамп sql базы слишком маленький, нужно обратить на это внимание.
#terminal #bash
В закладочках нашёл любопытный сервис, который очень полезен линуксоидам - конструктор для консольной команды FIND. Это такая типичная линуксовая утилита, у которой 100500 параметров и возможностей, ключи которой невозможно запомнить раз и навсегда. У меня огромная шпаргалка по find на все случаи жизни, чтобы не приходилось заново вспоминать, как реализовать тот или иной поиск.
Кое-что необычное по find уже публиковал на канале:
- очистка старых файлов
- поиск дубликатов файлов
- утилита fd для упрощения поиска через find
Сервис называется find-command-generator. С его помощью узнал, что find очень просто может находить файлы, которые принадлежат несуществующему пользователю или группе, или обоим одновременно. Бывает нужно такие найти:
Программисты любят ставить 777 без разбора. Постоянно с этим сталкиваюсь. Когда у них что-то работает не так, они первым делом права доступа 777 ставят, а потом дальше разбираются.
#bash #terminal #find
Кое-что необычное по find уже публиковал на канале:
- очистка старых файлов
- поиск дубликатов файлов
- утилита fd для упрощения поиска через find
Сервис называется find-command-generator. С его помощью узнал, что find очень просто может находить файлы, которые принадлежат несуществующему пользователю или группе, или обоим одновременно. Бывает нужно такие найти:
# find . -nogroup -nouser
Сервис пригодится, когда нужно найти что-то с параметрами, типа ограничения по датам изменения или доступа, размеру, правам доступа и т.д. Типичная история, когда надо проверить директорию веб сервера и снять с файлов все права на исполнение:# find /web/site/www -type f -name "*" -perm u+x -exec chmod 664 {} \;
Программисты любят ставить 777 без разбора. Постоянно с этим сталкиваюсь. Когда у них что-то работает не так, они первым делом права доступа 777 ставят, а потом дальше разбираются.
#bash #terminal #find
В Zabbix 6.0 появились дашборды с географическими картами. Я посмотрел, как всё это работает и решил поделиться с вами информацией.
Реализовано всё достаточно просто и удобно. Для начала вам нужно в свойствах хоста, в инвентаризации, указать широту и долготу. Посмотреть их можно на любой публичной карте.
Затем надо добавить на Дашборд новый виджет - Геокарта. В настройках виджета указать узлы сети, которые будут помещены на карту. Вот и всё. Сохраняете виджет и наблюдаете узлы на карте. В свойствах виджета можно настроить начальный вид и приближение, чтобы каждый раз не скролить при поиске хостов.
В разделе Администрирование -> Общие -> Географические карты можно выбрать сервис, с помощью которого будет отображаться карта. Я видел отзывы, что не у всех все эти сервисы нормально работают. Сам попробовал несколько, всё нормально.
Наглядно посмотреть, как эти карты настраиваются и потом выглядят можно в ролике на официальном канале Zabbix:
https://www.youtube.com/watch?v=rjl9QLYBGRs
Мне понравилась реализация. Классно сделали.
#zabbix
Реализовано всё достаточно просто и удобно. Для начала вам нужно в свойствах хоста, в инвентаризации, указать широту и долготу. Посмотреть их можно на любой публичной карте.
Затем надо добавить на Дашборд новый виджет - Геокарта. В настройках виджета указать узлы сети, которые будут помещены на карту. Вот и всё. Сохраняете виджет и наблюдаете узлы на карте. В свойствах виджета можно настроить начальный вид и приближение, чтобы каждый раз не скролить при поиске хостов.
В разделе Администрирование -> Общие -> Географические карты можно выбрать сервис, с помощью которого будет отображаться карта. Я видел отзывы, что не у всех все эти сервисы нормально работают. Сам попробовал несколько, всё нормально.
Наглядно посмотреть, как эти карты настраиваются и потом выглядят можно в ролике на официальном канале Zabbix:
https://www.youtube.com/watch?v=rjl9QLYBGRs
Мне понравилась реализация. Классно сделали.
#zabbix
Продолжаю ваc знакомить с утилитами командной стоки Linux, которыми пользуюсь сам. На днях вспомнил про SPLIT. С её помощью можно делить файлы на части. Чаще всего это нужно для больших архивов, которые требуется разбиться на части перед передачей по интернету. Так проще передать большой файл.
Я не помню, чтобы мне приходилось когда-нибудь ставить split отдельно. Обычно она есть в стандартном системном наборе во всех дистрибутивах, с которыми приходится работать.
Конкретно я split использую, когда нужно отправить в S3 хранилище какой-то большой архив. Во многих инструкциях по S3 указывается, что большие файлы отправлять не рекомендуется. Под большими подразумевается что-то больше 2-3 Гигабайт. Так что такие файлы приходится разбивать.
В общем случае разбить файл с помощью split можно следующим образом:
На выходе получим некоторый набор файлов в зависимости от размера исходного. Имена у файлов будут вида xaa, xab, xaс и т.д., что явно неудобно. Поэтому на практике лучше сразу указать маску, по которой будут создаваться новые файлы:
Мы указали длину префикса 2 и использование чисел. На выходе будут файлы file_00, file_01, file_02 и т.д., что мне видится удобнее дефолтных масок.
Собрать файлы обратно можно следующим образом:
Если вы просто хотите разделить файл на 5 частей вне зависимости от того, какого они будут размера, то делается это следующим образом:
Вот пример использования split на бэкапе большого сайта для дальнейшей передачи его в S3. Пример условный, так как вынул его из большого скрипта и все переменные указал явно. То есть это не мой окончательный рабочий вариант, а адаптированный пример:
Отдельно отмечу, что подобные бэкапы обязательно нужно проверять. У меня S3 это не основной бэкап, а холодное хранилище для них. Эти же бэкапы хранятся где-то ещё, разворачиваются и проверяются, так как туда ещё и дамп базы обычно кладётся, чтобы всё в одном месте было.
#terminal #bash
Я не помню, чтобы мне приходилось когда-нибудь ставить split отдельно. Обычно она есть в стандартном системном наборе во всех дистрибутивах, с которыми приходится работать.
Конкретно я split использую, когда нужно отправить в S3 хранилище какой-то большой архив. Во многих инструкциях по S3 указывается, что большие файлы отправлять не рекомендуется. Под большими подразумевается что-то больше 2-3 Гигабайт. Так что такие файлы приходится разбивать.
В общем случае разбить файл с помощью split можно следующим образом:
# split -b 100M file
На выходе получим некоторый набор файлов в зависимости от размера исходного. Имена у файлов будут вида xaa, xab, xaс и т.д., что явно неудобно. Поэтому на практике лучше сразу указать маску, по которой будут создаваться новые файлы:
# split -b 2M file file_ -a 2 -d
Мы указали длину префикса 2 и использование чисел. На выходе будут файлы file_00, file_01, file_02 и т.д., что мне видится удобнее дефолтных масок.
Собрать файлы обратно можно следующим образом:
# cat file_* > file
Если вы просто хотите разделить файл на 5 частей вне зависимости от того, какого они будут размера, то делается это следующим образом:
# split -n 5 file file_ -a 2 -d
Вот пример использования split на бэкапе большого сайта для дальнейшей передачи его в S3. Пример условный, так как вынул его из большого скрипта и все переменные указал явно. То есть это не мой окончательный рабочий вариант, а адаптированный пример:
# Делаем архив с относительным путём внутри
/usr/bin/tar --exclude='cache/*' \
-czvf /mnt/backup/site.ru_`date +"%Y-%m-%d_%H-%M"`.tar.gz \
-C /web/sites/site.ru www
# Разбиваем архив на части
/usr/bin/split -b 2048m \
/mnt/backup/site.ru_`date +"%Y-%m-%d_%H-%M"`.tar.gz \
"/mnt/backup/site.ru_`date +"%Y-%m-%d_%H-%M"`.tar.gz-part-"
# Удаляем исходный файл
/usr/bin/rm -rf /mnt/backup/site.ru_`date +"%Y-%m-%d_%H-%M"`.tar.gz
# Заливаем в S3
/usr/bin/rclone copy /mnt/backup s3storage:week
# Чистим локальный бэкап от старых архивов
/usr/bin/find /mnt/backup -type f -mtime +7 -exec rm {} \;
Отдельно отмечу, что подобные бэкапы обязательно нужно проверять. У меня S3 это не основной бэкап, а холодное хранилище для них. Эти же бэкапы хранятся где-то ещё, разворачиваются и проверяются, так как туда ещё и дамп базы обычно кладётся, чтобы всё в одном месте было.
#terminal #bash
Мне очень не нравятся счётчики Яндекс.Метрика и Google Analytics для сайтов. Они собирают тонну информации, которая лично мне не нужна. При этом заметно замедляют рендеринг страниц. Приходится с этим мириться, потому что существует популярное мнение, что наличие этих счётчиков улучшает ранжирование сайта, так как у поисковых систем появляется больше информации о нём. И хотя нигде открыто об этом не говорится, но очевидно, что это так и есть. Иначе зачем делать такие масштабные highload системы с метрикой бесплатными и доступными всем. Для поисковиков это полезная информация и очевидно, что они будут понижать в выдаче тех, кто не захочет их установить.
Для тех, кому описанная выше проблема не критична, существуют другие более простые и быстрые решения по сбору статистики. Ранее я уже рассказывал про одно из таких решений - counter.dev. Сейчас добавлю только одно - разработчик этой системы сбора статистики живёт в Киеве. Последние коммиты можете сами посмотреть. Я познакомился с похожим аналогом, который мне понравился больше - umami.is.
Это тоже Open Source система. Umami понравилась за очень простой, лаконичный и быстрый веб интерфейс. Написана на Node.js, использует базу MySQL или Postgresql для хранения статистики. Код скрипта сбора данных всего 2KB. Статистику можно сделать публичной при желании. Есть встроенное API, что удобно, если есть желание забирать метрики в мониторинг.
Бонусом использования подобной системы сбора статистики может стать учёт пользователей с блокировщиками рекламы, так как хостится она локально и повода для блокировки особо не имеет, хотя зная усердия некоторых фильтров не уверен в этом. Но в любом случае упомянутые в начале метрика и аналитика блокируются почти у всех.
Сайт - https://umami.is/
Исходники - https://github.com/mikecao/umami
Демо - https://app.umami.is/share/8rmHaheU/umami.is
#website
Для тех, кому описанная выше проблема не критична, существуют другие более простые и быстрые решения по сбору статистики. Ранее я уже рассказывал про одно из таких решений - counter.dev. Сейчас добавлю только одно - разработчик этой системы сбора статистики живёт в Киеве. Последние коммиты можете сами посмотреть. Я познакомился с похожим аналогом, который мне понравился больше - umami.is.
Это тоже Open Source система. Umami понравилась за очень простой, лаконичный и быстрый веб интерфейс. Написана на Node.js, использует базу MySQL или Postgresql для хранения статистики. Код скрипта сбора данных всего 2KB. Статистику можно сделать публичной при желании. Есть встроенное API, что удобно, если есть желание забирать метрики в мониторинг.
Бонусом использования подобной системы сбора статистики может стать учёт пользователей с блокировщиками рекламы, так как хостится она локально и повода для блокировки особо не имеет, хотя зная усердия некоторых фильтров не уверен в этом. Но в любом случае упомянутые в начале метрика и аналитика блокируются почти у всех.
Сайт - https://umami.is/
Исходники - https://github.com/mikecao/umami
Демо - https://app.umami.is/share/8rmHaheU/umami.is
#website
Я вчера был на конференции, организованной компанией TrueConf. Была недавно на канале реклама этого мероприятия. Сразу скажу, что этот пост у меня никто не заказывал и не просил написать. Это моя инициатива. Он просто хорошо ложится в канву импортозамещения и перехода на отечественные продукты.
TrueConf - это платформа для видеоконференций и онлайн общения, которая конкурирует с известными мировыми брендами, такими как Zoom, Teams, Webex и т.д. Причём конкурирует давно и не только на отечественном рынке. Основное отличие и оно же преимущество - возможность купить продукт в формате On-premise или Box. То есть вы можете установить ПО на своё железо и оплачивать его по ежегодной подписке или купить бессрочную лицензию.
Я не буду подробно описывать все возможности TrueConf, так как это известная компания с большой линейкой продуктов, пытающаяся покрыть все потребности бизнеса в коммуникациях (видеоконференции через PC клиенты, через аппаратные устройства для переговорок, через аппаратные терминалы для sip/h323, свой транскодирующий сервер и т.д.) Всё это рассчитано на очень большие масштабы.
Отмечу кратко то, на что сам обратил внимание из полученной информации:
◽ Некоторое время назад было масштабное обновление ПО, в том числе клиентского. Сейчас клиент позиционируется в том числе как чат для корпоративного общения. Замена Telegram, WhatsApp и т.д. То есть не только звонилка для видеопереговоров.
◽ Разработка старается конкурировать с мировыми лидерами Zoom, Teams и т.д. Пытаются брать лучшие практики и улучшать их. Речь о функционале и удобстве.
◽ Решение, установленное на своих серверах, позволяет хранить у себя всю аналитику по использованию, в том числе статистику, видеозаписи и т.д. Это становится очень актуально в последнее время, так как явно виден тренд на сегментирование интернета и риски SaaS продуктов.
◽ TrueConf Server можно установить на любое типовое железо, так что производительность и объёмы дисков зависят только от ваших потребностей.
◽ У TrueConf есть поддержка SIP. То есть этот продукт пытается совместить в себе основные коммуникации бизнеса - чат, видео, телефония.
Отдельно отмечу, что сам я TrueConf никогда не использовал. Была пара тестирований, когда поднимал сервер, но внедрения не делал и активно не использовал. Так что всё написал со слов докладчиков и маркетинговой информации.
❗️У TrueConf Server есть бесплатная версия на 10 абонентов, где можно протестировать основной функционал, в том числе запись конференций. Сервер есть под Windows и Linux, клиенты под все популярные стационарные и мобильные системы. Поддерживаются в том числе все отечественные системы (Asta, ROSA, Alt и т.д.) Ещё раз отмечу, что сервер можно установить у себя автономно в том числе в закрытых сетях.
ps Отдельно хочу отметить, что хотя официально на поставки иностранного оборудования наложены ссанкции, сами производители в них не заинтересованы и реально оборудование поступает и доступно для заказа.
Сайт - https://trueconf.ru/
Реестр ПО - https://reestr.digital.gov.ru/reestr/301405/
#отечественное #videoserver #chat
TrueConf - это платформа для видеоконференций и онлайн общения, которая конкурирует с известными мировыми брендами, такими как Zoom, Teams, Webex и т.д. Причём конкурирует давно и не только на отечественном рынке. Основное отличие и оно же преимущество - возможность купить продукт в формате On-premise или Box. То есть вы можете установить ПО на своё железо и оплачивать его по ежегодной подписке или купить бессрочную лицензию.
Я не буду подробно описывать все возможности TrueConf, так как это известная компания с большой линейкой продуктов, пытающаяся покрыть все потребности бизнеса в коммуникациях (видеоконференции через PC клиенты, через аппаратные устройства для переговорок, через аппаратные терминалы для sip/h323, свой транскодирующий сервер и т.д.) Всё это рассчитано на очень большие масштабы.
Отмечу кратко то, на что сам обратил внимание из полученной информации:
◽ Некоторое время назад было масштабное обновление ПО, в том числе клиентского. Сейчас клиент позиционируется в том числе как чат для корпоративного общения. Замена Telegram, WhatsApp и т.д. То есть не только звонилка для видеопереговоров.
◽ Разработка старается конкурировать с мировыми лидерами Zoom, Teams и т.д. Пытаются брать лучшие практики и улучшать их. Речь о функционале и удобстве.
◽ Решение, установленное на своих серверах, позволяет хранить у себя всю аналитику по использованию, в том числе статистику, видеозаписи и т.д. Это становится очень актуально в последнее время, так как явно виден тренд на сегментирование интернета и риски SaaS продуктов.
◽ TrueConf Server можно установить на любое типовое железо, так что производительность и объёмы дисков зависят только от ваших потребностей.
◽ У TrueConf есть поддержка SIP. То есть этот продукт пытается совместить в себе основные коммуникации бизнеса - чат, видео, телефония.
Отдельно отмечу, что сам я TrueConf никогда не использовал. Была пара тестирований, когда поднимал сервер, но внедрения не делал и активно не использовал. Так что всё написал со слов докладчиков и маркетинговой информации.
❗️У TrueConf Server есть бесплатная версия на 10 абонентов, где можно протестировать основной функционал, в том числе запись конференций. Сервер есть под Windows и Linux, клиенты под все популярные стационарные и мобильные системы. Поддерживаются в том числе все отечественные системы (Asta, ROSA, Alt и т.д.) Ещё раз отмечу, что сервер можно установить у себя автономно в том числе в закрытых сетях.
ps Отдельно хочу отметить, что хотя официально на поставки иностранного оборудования наложены ссанкции, сами производители в них не заинтересованы и реально оборудование поступает и доступно для заказа.
Сайт - https://trueconf.ru/
Реестр ПО - https://reestr.digital.gov.ru/reestr/301405/
#отечественное #videoserver #chat