← All posts tagged Linux

Удалял три десятигиговых файла с XFS-раздела. Система встала колом и стояла минут 20. Надоело, а, раз на клавиатуре нет кнопки SysRq — просто сбросил.
Система стала загружаться и встала колом ещё до иксов. Подождал минут 10, сбросил.
Загрузился в single mode, попробовал смонтировать раздел — встало колом. Правда, минут через 15 всё отвисло, и файлы удалились.
Такой день.

Пытаясь обойти досадную ошибку в ADOM, нечаянно запустил в бесконечном цикле создание пустых файлов с уникальными именами. Систему тошнило минут 15, но она выжила; даже не убила ни одного ценного процесса.

ionice! Как я мог не знать об этом чуде?
«ionice — sets or gets process io scheduling class and priority».

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

Ну щячло попячтса! Оказывается, если время вдруг отмотается назад (а на моём VDS это почему-то происходит), почтовый сервер dovecot вдруг решает стать героем и убивает себя.

«Time just moved backwards by 8 seconds. This might cause a lot of problems, so I'll just kill myself now. wiki.dovecot.org

Связной любит нас.
«На нашем сайте www.sclub.ru <sclub.ru>] … Моя система: Ubuntu Linux 10.04 AMD64, Mozilla Firefox 3.6.3, Adobe Flash 10.0 r45"

Благодарим Вас за обращение!
Для корректной работы сайта воспользуйтесь операционной системой windows, именно под неё оптимизирована работа сайта. Рекомендуем так же Вам пользоваться стандартным браузером интернет Explorer.»

Решил отныне писать скрипты не на bash, а на python. Первый писался долго, зато:
1) Красиво выглядит, зараза :-D
2) В нём вообще нету той самой особой уличной магии с экранированием, пробелами и кавычками
3) Я до сих пор понимаю, что он делает, и что хранится в каждой переменной.

Думаю, полезная привычка. Продолжу.

P/S: сам скрипт: переносит файлы логов по определённым правилам: paste.org.ru

Всегда было интересно, как в bash прочитать случайную строчку из файла. Наконец, сообразил:

head $FILENAME --lines=$((RANDOM % $( cat $FILENAME | wc --lines) + 1 )) | tail --lines=1

И, да, теперь мой скрипт #417524 делает «преисполненные смысла смайлики» на основе слов из /usr/share/dict/words, Гыгыгыгы

Сделал «генератор графических смайликов» для более эффективного общения с пользователями QIP:

pwgen -0 -1 6 10 | sed 's/^//' | sed 's/$//' | tr "[a-z]" "[A-Z]" | fmt -w 1000

Выдаёт:
QUOBOJ LAIMAE SHEEZU CAIXAC RAEHOU HOOSHO PHAEGH WEEJIO AHCHOY DAECAW

Гыгыгыгы