вторник, 4 января 2011 г.

Остановка USB-винчестера при выключении ArchLinux


Набыдлил хук для арчевского инита останавливающий внешний жесткий диск при выключении (у меня на старой машине система на нём):


% cat /etc/rc.d/functions.d/shutspindown.sh 
shutspindown() {
DISK='/dev/disk/by-id/usb-WDC_WD16_00AAJS-98PSA0_000001D919A0-0:0'
stat_busy "Caching /bin, /lib and /sbin from external hard disk"
tar -c /bin /sbin /lib > /dev/null 2>&1
stat_done
stat_busy "Syncing external hard disk..."
sdparm --command=sync "$DISK"
stat_done
stat_busy "Stopping external hard disk..."
sdparm --command=stop "$DISK"
stat_done
}

add_hook shutdown_poweroff shutspindown

tar в девнулл это не упоротые пляски с бубном, это чтобы все /sbin/poweroff, /sbin/reboot и прочие радости всосались в память и обращение к ним не заставило винчестер обратно придти в себя.


суббота, 9 мая 2009 г.

Трудные, но просто трудно забываемые пароли

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

Суть идеи заключается в том чтобы использовать в качестве пароля на сайтах и сервисах MD5 (не обязательно его, можно взять любой достаточно стойкий алгоритм хэширования), посчитанного по какому-нибудь файлу из интернета. Я обычно использую картинки. Благодаря этому вы даже если сидите не за своим родным компьютером, на котором у вас наверняка стоит какой-нибудь менеджер паролей или лежит гора текстовиков с паролями, сможете зайти на сайт со своим сложным 32-символьным паролем. Конечно же картинка должна быть достаточно популярна чтобы вы не потеряли её и смогли найти когда пароль вам снова понадобится. Хорошим примером таких картинок например является архив логотипов гугла. Правда если эта идея обретет популярность, то логотипы гугла станут подобием 123456 для текстовых паролей. ^_^

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

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

четверг, 9 апреля 2009 г.

Винчестерная эпопея

Несколько дней назад случилась катастрофа - сгорел полутерабайтный винчестер на anubis, но сгорел к счастью не до конца - сначала резко отвалился, потом после перезагрузки все же вернулся в систему. Я было обрадовался, но этим приключение не закончилось - любая попытка монтировать винчестер надолго завешивала mount.xfs, а в dmesg появлялась ругань на ошибки винчестера (блаблабла DRDY ERROR блаблабла, сейчас жалею что не сохранял дмесги, но тогда не до них было). Путем непродолжительных экспериментов я обнаружил для себя немного позитивную новость: винт читается, но любая попытка записи или проваливается или вообще вызывает отпадывание винта. Основная паника кажется прошла. Надо искать гарантийный талон. Искать гарантийный талон. ТВОЮ МАТЬ где гарантийный талон? Stiletto, зараза, куда ты его сунул?!
Талон за весь вечер так и не нашелся. И за следующий день тоже. Ну что же, придется покупать новый винчестер, как бы ни душила жаба. На третий (или второй?) день после поломки шлялся по городу в поисках винчестера. Тут нет - только потаскунчики усб-шные, там - только сраные самсунги. Наконец попал в тот же Никс где был куплен первый винт (махтор кстати) и обзавелся вторым (да, теперь я бережно положил в чемоданчик и сохранил гарантийный талон и чек). Но, черт, и на этом мучения не закончились!
Прихожу домой, радостно пихаю винт в анубис вторым, включаю. После POST на экране всплывает предложение биоса сата-контроллера "нажмите F4 чтобы зайти в утилиту управления RAID". Мелькает мысль "А что если тупо отдать процесс копирования контроллеру - сделать mirrored RAID из старого и нового, и пусть копируется со старого на новый?". Пока мысль мелькает, руки жмут F4. Процесс копирования почему-то не хочет продвигаться дальше 0% а потом таки выдает ошибку. "Хмм" говорю я и перезагружаюсь чтобы копировать руками, но винт перестает определяться! ПАНИКА O_O Я не хочу просрать мои данные! 0_0 Пара сотен гигабайт анимы, конфиги, скрипты, музыка, третий редалерт! Бегу втыкаю винт в sirius и начинаю издеваться над ним там. Включаю - на экране ругань какая-то про ошибки инициализации устройств и предложение нажать g для продолжения. Жму - там "вставьте системный диск". Ресет - загружается. сата-контроллер говорит что размер винта 0 б. Вторая перезагрузка - 0 б. Выключил, выдернул, воткнул, включил - 0 б. В голову приходит трикс: Питание полутерабайтника отсоединяется, комп включается, доходит до GRUB'а, а потом питание включается. После таких плясок винт снова ожил на чтение. Поднимаю nbd, начинаю качать на анубис - скорость 13 мб/с. Что ты от него хотел идиот, это стамегабитный изернет! Матюкаюсь, несу винт обратно в анубис, втыкаю. О, определился, мой хороший. Но черт, какого хрена скорость копирования 30 мб/с?! Сраная PCI-сата. Оставляю на ночь. Матерюсь.
В общем к утру ddrescue докопировало инфу, споткнувшись об три участка бэдов

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

понедельник, 26 января 2009 г.

Продолжение запятой

Несколько недель назад посетила меня мысль сделать нециклическое переключение раскладок и заодним прикрутить ввод японских иероглифов. С этой целью был довольно быстро установлен SCIM, в башпрофиль было прописано XMODIFIERS=@im=SCIM и в итоге радостный я получил то, чего добивался. SCIM периодически отваливается в qt-шных приложениях (по одному, пока не перезапустишь приложение, в нем не работает ввод вообще, в остальных нормально), но это не очень часто и не очень страшно. Жить можно. Так как раскладки у SCIM свои, точнее от библиотеки m17n, то раскладку с нижней запятой пришлось делать заново.
ru-kbd-my.patch
--- ru-kbd.mim  2009-01-15 13:51:19.000000000 +0400
+++ ru-kbd-my.mim 2009-01-26 16:45:01.000000000 +0400
@@ -26,7 +26,7 @@
;;; @image html ru-kbd.png "Keyboard Layout"
;;; @image latex ru-kbd.eps "Keyboard Layout" width=\narrowwidth

-(input-method ru kbd)
+(input-method ru kbd-my)

(description
"Russian input method simulating the Russian keyboard.
@@ -74,7 +74,7 @@
("m" ?ь)
("," ?б)
("." ?ю)
- ("/" ?.)
+ ("/" ?,)
("!" ?!)
("@" ?\")
("#" ?№)
@@ -121,7 +121,7 @@
("M" ?Ь)
("<" ?Б)
(">" ?Ю)
- ("?" ?,)))
+ ("?" ?.)))

(state
(init

Прикручивать так: patch -o /usr/share/m17n/ru-kbd-my.mim /usr/share/m17n/ru-kbd.mim < ru-kbd-my.patch
После этого появится раскладка ru-kbd-my, где запятая и точка будут на месте точки и запятой соответственно.

ArchLinux в цветах Gentoo

Осознал я однажды что арчевый префикс "::" синего цвета в инитскриптах нагоняет уныние на меня и решил перекрасить инитскрипты в цвета более позитивные - гентушные. И вот что из этого получилось:

Чтобы добиться такого результата я патчил /etc/rc.d/functions и огорчался по поводу того что эту процедуру придется повторять после каждого его обновления, но в процессе патчинга узнал о /etc/rc.d/functions.d/, в итоге получилось такое довольно короткое и красивое решение:
/etc/rc.d/functions.d/colors
# colors:
if [ "$USECOLOR" = "YES" -o "$USECOLOR" = "yes" ]; then
C_DONE="\033[1;32;40m" # completed
PREFIX_REG="\033[1;32;40m *"
fi

stat_done() {
deltext
printf " ${C_OTHER}[${C_DONE} OK ${C_OTHER}]${C_CLEAR} \n"
}

воскресенье, 9 ноября 2008 г.

Запятая в нижнем регистре

Послушав причитания Артемия Татьяновича про то, что запятой в верхнем регистре нет ни в одной раскладке кроме русской и основанных на ней, поменял себе запятую и точку местами. По причине отсутствия фантазии обозвал полученую раскладку "desukeys". Патч к /usr/share/X11/xkb/symbols/ru по ссылке. Получилось непривычно, но со временем удобно весьма.

суббота, 13 сентября 2008 г.

redhat-like service command

На кой-то чорт сделал пакет, который реализует команду "service" как в Red Hat для Archlinux.
Запостил на AUR -> http://aur.archlinux.org/packages.php?ID=19922
Если есть еще полудурки типа меня которым так удобнее - пользуйтесь ^_^