Wait IO в Linux

Wait I/O – это параметр который показывает какой процент времени работающие процессы были заблокированы, ожидая когда операция ввода -вывода закончится.

Вот и мне пришлось столкнуться с такой проблемой. Стал замечать, что один из серверов стал периодически “залипать”. Вывод команды top показал что в этот момент wa-процент составлял от 90% до 100%, что было просто не допустимо.

Чтобы отследить “проблемный” процесс – воспользуемся небольшим сочетанием команд:
while true; do date; ps auxf | awk '{if($8=="D") print $0;}'; sleep 1; done

Новый LTS-релиз Linux-дистрибутива Ubuntu — 14.04 «Trusty Tahr»

Новости из мира
Сегодня состоится новый крупный релиз популярного Linux-дистрибутива Ubuntu, разрабатываемого компанией Canonical и Open Source-сообществом, — 14.04 «Trusty Tahr».
Читать дальше

Критическая уязвимость в OpenSSL CVE-2014-0160

CVE-2014-0160 в расширении HeartBeat (RFC6520). Уязвимость существовала аж с 2012 года!
Данная уязвимость позволяет прочитать рандомные 64К памяти. Эксплоит можно быстро найти в гугле, потому обновляемся все как можно быстрей.
Так-же рекомендую сменить на всех сервисах c SSL свои пароли. И подумать так-же о замене SSL-сертификатов и ключей. Использовать эту уязвимость можно на разном наборе сервисов, nginx, apache, lighttpd, postfix, dovecot и подобные сервисы (В случае если использовался https, ssl/tls) openvpn (если использует статические ключи (не x509) или если использует в конфиге ключ вида tls-auth ta.key 1). И чуть не забыл не мение главное. Уязвимы так-же клиентские платформы, использующие уязвимые версии OpenSSL.
Читать дальше

Настройка NFS в Slackware

Итак. Тут будет описана настройка NFS сервера под Slackware 14, а так-же одна из моих граблей, которую я встретил при настройке клиента под Slackware 13.1. На примере мы расшарим /var/www на весь 192.168.3.0/24
Тут совсем не будет подробностей… Может быть другой раз… Сорри. Хоть тут и slackware, для некоторых скажу сразу. Это не значит, что вы не сможете по этой статье сделать себе в debian, ubuntu, centos etc.

Читать дальше

Восстановление работоспособности MongoDB после сбоев

Случаи в продакшене могут возникнуть всякие. Допустим, если мы столкнулись с тем, что MongoDB завершился не корректно (в результате какого-то сбоя, hardreset etc), то запустить его обычным методом не выйдет. Исправить можно след. образом.
Читать дальше

RusHub - скрипт-обработчик неизвестных команд в главном чате

Blog by saymon
Название: command_not_found
Версия: 0,1beta
Автор: Saymon21
Описание: Очередной хандлер неизвестных команд в главном чате. Отличие данного скрипта в том, что от всех предыдущих аналогов умеет «подсказывать» юзеру, что команду надо ввести чуть по другому.
Как это работает?
Существует список команд, зарание подготовленных в определенённой таблице руками админа хаба, для которых генерится список регулярных выражений. Например, для команды !test список regexp-ов будет следующий:
"[a-z]?est", t[a-z]?st", "te[a-z]?t", "tes[a-z]?"

Если юзер введёт например, !tast — скрипт ответит ему в главный чат что-то вроде:
[22:56:14] Команда '!tast' не найдена! Может быть Вы хотели ввести:
!test (Тест)

Процесс создания списка всех доступных на хабе команд и их regexp-ов в полне можно автоматизировать, это-же RusHub.
Однако для этого придётся продумать прямо говоря стандарт разработки скриптов. Ну ладно, об этом как нить потом, за бутылочкой пивка. ;)
Список команд надо прописывать в файле commandlist.t — он имеет формат обычной Lua таблицы.
Пример определения команды test уже описан.
Зы. Когда-то за идею послужил packages.debian.org/ru/sid/command-not-found

Скачать: На дворе 2014 год уже, да. Люди привыкли работать с Git или чем нить похожим… Мы не исключение: git.hub21.ru/saymon21/rushub-ext-command-not-found
bitbucket — opensource.hub21.ru/rushub-command-not-found
mydc — mydc.ru/topic5599.html
Внимание: Скрипт должен стоять ниже всех остальных!

Настройка IPTV на Mikrotik

Делалось на железке RB951G-2HnD по ssh, а не в вебинтерфейсе. Потому ожидайте ряд команд, которые нужно будет выполнить в консоли. Вы можете всё это делать и в (Winbox|telnet|New terminal).
Читать дальше