• ↓
  • ↑
  • ⇑
 
11:48 

О Настоящем Двигателе Прогресса

В процессе освоения pdksh (Да-да! "Я с детства bash не понимал, я с детства ipython искал..."(Ц)) с его м-нэээ... бедноватыми (По сравнению с - и особенно в vi-like стиле редактирования) интерактивными возможностями !внезапно перерисовался screenrc аж в трех ипостасях (Основной-пользовательский .screenrc + домашний/рабочий профили), оооот такенный kshrc с 100-400 алиасами на все-все-все, на треть увеличился vimrc, добавились четыре cron-скрипта, возник центральный системный репозиторий RCS, а сегодня с утра из дерьма и палок из pam_ssh и keychain'а смастерился single double-sign-on ;).
Shell'ы приходят и уходят, а скрипты с конфигами остаются!
Profit!
/Мучительно думает, а не привязать ли, например, правую руку за спину?/

@темы: Жизнь

18:30 

На уровне идеи...

... взять (cw)Rsync, закинуть его в планировщик задачcron с частотой раз в пять минут, натравить на папку с рабочей информацией и залить результат во write-only реплику на сервер с ФС, поддерживающей copy-on-write, транзакционную семантику и live-access to snapshot (ZFS, hammer, btfs), снимки делать с той же частотой и экспортировать их через samba'у в read-only - чем не user-frendly continious-backup made in "на коленке"?
Надо потестить нагрузку на проц-сетку. плюс прикинуть объем на каждого пользователя - copy-on-write + deduplication (hammer точно могЁт) эт конечно хорошо, но все же есть у меня соменения...
В перспективе - приделать к этому web-based аггрегатор ресурсов (Собираем по папОчкам на сервере актуальный список файлов и раздаем его по http в виде smb:// ссылок всем желающим).
В качестве collaboration-software наверное, не подойдет, но live-backup вполне-вполне...

@темы: FreeBSD, Работа

15:15 

Манюнчикова обижали все...

... после двух часов возни !внезапно выяснилось, что тонкий клиент L300 не умеет работать с linux'ом в качестве сервера. Клиент прочитал, что "умеет", выкачал годовой давности бету, воткнул ее на свою ебунту (Нееет, положительно - хорошую систему так не назовут!!!) и "ниасилил" запустить. Предысторию вопроса почему-то не рассказал, пришлось ковыряться ручками. По-ло-жи-тель-но, "Так верстают только мудаки!" - не удивлюсь, если и официально "работающие" L130/230 не заведутся, ибо столь м-мм... sensored софтины я давненько уже не видел. man'ов - нету, doc'ов - один "полудописанный" README (Next-next-next в ГУЯХ, ага), в логах тоже шиш-да-нихрена... В общем, оно даже "почти-работает" - девайс видит сервер, сервер видит девайс, но при попытке коннекта тихо падает ncltsd на сервере (О чем администратору тоже предлагается догадаться путем изучения startup-скриптов сервера и сравнения его со списком процессов) - и аминь. "Абыдна, вай!"(С)
В процессе организации "восхода солнца вручную" a.k.a. установки системы на сервер с флешки через ssh те же два часа убил на выяснение вопроса "почему же не поднимается ccd!?" прежде чем понял, что доку я читаю по FREE BSD, а ставить пытаюсь очень даже DRAGONFLYBSD, а в ней ccd просит тип файловой системы ccd, а не 4.2BSD как в сабже... ну что ж за день-то такой, блина?!

@темы: Работа

13:29 

Разрыв шаблона

Шаблон для сдачи статотчетности для предприятий. 13,7 мегабайт. XML.

@настроение: сабж

@темы: Работа

14:36 

Три дня и три ночи скакал Иван-царевич...

... пока у него скакалку не отобрали. Четыре дня Шаман мучился с экспортом данных из 2006х "Супер-окон" в CRM прежде чем понял, что "номер счета" у нас не invoices.invno, а в invoices.invn хранится. Тут integer - там integer, значения плюс-минус ;) одинаковые, select'ы по связанным таблицам результат дают - в общем, "велосипед похож на настоящий, но не работает". Я уж решил, что у меня kinterbasdb, python, firebird, "Суперокна" руки не той системы - ан нет! Не попустил Г-дь! Торкнуло меня в нужном направлении :).
Нье-на-ви-жу ли-ну-пс! После обновления intel-dri + libgl в очередной раз! отпало аппаратное декодирование flash. Чего уж там они наmantain'или между 7.10-1 и 7-10.1-1 Б-г весть, но не работает. Пришлось откатываться на предыдущие версии. Вот ей-ктулху, сколько дистрибутивов не перебрал (Единственно что - Debian-based ни разу толком не пробовал) - нет-нет, какой-нибудь косяк с обновлением да выплывет. С другой стороны - сколько на FreeBSD не сидел, ни разу (Тьфу-тьфу-тьфу!!!) больших проблем не испытывал. К чему бы это, а? Впрочем, наконец-то дошли руки закинуть intel_agp + i915 в initrd и выпилить из grub'а "родной" framebuffer. Profit! Мораль - а нефиг обновляться, если все работает! Security updates вынь-да-положь, а остальное - только после курения changelog'ов - ибо нефиг.
Впрочем, винды традицьенно не лучше - свежий сервис-пук на топор с родным же forefront'ом распоследней версии ставиться отказался. Кат-те-го-ри-чес-ки. На офсайте - предложение проверить версию forefront'а и обновить ее до. Нипамагло.

@темы: Жизнь, Работа

15:39 

"Боги любят смеяться...

... но смех их не весел для смертных!"(С) - задумал Шаман написать околокулинарный пост - ну там про "на халяву сладкий", или "позитивное мышление", еще не решил, а мироздание ему - сервера на FreeBSD 8.2 обнови, драйвер if_run с git'а пересобери, hostapd с 6 шестой ветки на 7-ю переведи, а еще в fvwm уйма всего не сделано... Ужжас!

@темы: Жизнь

14:12 

Ударим автопробегом по!

Помните старый анекдот про математиков?
"Два математика в ресторане поспорили, насколько хорошо знают математику большинство людей. Один (пессимист) утверждал, что большинство ее вообше не знает, а другой (оптимист) - что хоть и не много, но знают. Когда пессимист отошел в туалет, оптимист подозвал симпатичную официантку-блондинку и говорит:
- Когда мой коллега вернется, я задам вам вопрос. Суть не важна. Все, что вы должны сделать - это сказать "Треть икс куб".
- Как-как? Третий скуп? - переспрашивает официантка?
- Да нет, Треть Икс Куб, Понятно?
- А-а! Третик скуп? - повторяет официантка.
- Да, да. Это все о чем я вас прошу.
Официантка уходит твердя про себя как заклинание фразу "Третик скуп". Тут возвращается пессимист. Оптимист говорит - давай спросим у нашей официантки чему равен какой-нибудь простенький интеграл. Пессимист, со смехом соглашается. Оптимист вызывает официантку и спрашивает:
- Извините, вы не помните чему равен интеграл от x^2 по dх?
- Треть икс куб... - отвечает официантка.
Пессимист сильно удивлен, оптимист весело смеется. Официантка отходит на несколько шагов, и обернувшись через плечо добавляет:
- ...Плюс константа."(C)

Почувствовал себя персонажем анекдота: Заходит к нам в комнату бухгалтер, начинает злобно жаловаться на жизнь - мол, опять наше правительство что-то там "недомудрило" - тут в табличке все в рублях, там в копейках, дальше - в рублях с копейками, ниже не указано, по логике - писать надо в рублях, "на самом деле" - в копейках, а программа... Ленк! - задушевно говорю я - а давай я тебе про unicode расскажу? В базе данных у меня cp1251, kinterbasdb в connection понимает 1251 но результат отдает один черт, в unicode'е, да в добавок, python'а у меня ажно целых две версии - новая default'овская arch'а (3.1) + старая, с которой работает kinterbasdb (2.7), и с unicode'ом они работают СИЛЬНО по разному, а целевая платформа будет вообще под freebsd с koi8-r... Поговорили, в общем, о работе :). Ленка разворачивается и, уходя, бросает - "Unicode, unicode подумаешь - еще один байт..."
Мнда. Пора бы прекращать удивляться.

Слайды!

@темы: Python, Жизнь, Работа

14:24 

В каждой шутке есть только доля шутки...

... причем иногда весьма и весьма небольшая ;). Решил Шаман себе к fvwm "индикатор раскладок клавиатуры" приглючить - ну там кнопицу ru/en куда-нибудь приспособить, а то непорядок какой-то выходит: у гномосеков апплет есть, у кедерастов тоже имеется, XFCE'шники тоже чем-то GTK'шным разжились, а в fvwm "не завезли" ибо некуда. Решил - и сразу же вспомнил бойанЪ:
Пользователь: "Мне нужна бронзовая статуя русалки!"
Linux: "Вот вам бронзовый куб 1x1x1 м и напильник"
Gentoo: "Вот вам медь, олово, доменная печь"
FreeBSD: "Вот вам кирка и каска с фонариком. Шахта с медью - в той стороне"
Ubuntu: "Вот вам статуя русалки" Пользователь: "Но здесь же только хвост!" Ubuntu: "Введите, пожалуйста apt-get install туловище русалки, apt-get install голова русалки, apt-get install руки русалки..."
MacOS: "Вот вам красивые голые девчонки" Пользователь: "Ух ты! А можно потрогать?" MacOS: "Заплатите 200 евро и активируйте функцию "Потрогать голых девчонок"
Windows: "Нет. Я думаю - Вам определенно нужна чугунная статуя Чапаева..."(С)

Собственно, с выбором "альтернативы не было" особого богатства тоже - xxkb и никаких гвоздей! "На всю голову X-овое" в хорошем смысле минималистичное, никаких мегафреймворков на суперязыхках не тянет, настраивается в классическом стиле Xresources, умеет помнить раскладку для каждого окна, демонстрировать ее разными извращенными способами - приложение моей мечты, ага ). Открываем man, начинаем мастерить .xxkbrc
XXkb.mainwindow.enable:no
C mainwindow у нас плохо, панелек с треями нинада, спасибо! Будем лепить на оконные тайтлы
XXkb.controls.add_when_start: yes
XXkb.controls.add_when_create: yes
Лепить будем при запуске программы-создании окна
XXkb.button.enable: yes
XXkb.button.geometry: 15x30+8+75
Ага, ага - а положение кнопицы задаем в стандартном Ховом стиле - размер+смещение. Да, да - window title у меня вертикальный - с "широкоформатным" ноутбучным дисплеем так удобней
XXkb.controls.two_state:yes
XXkb.group.base: 1
XXkb.group.alt: 2
XXkb.button.border.color: black
XXkb.button.border.width: 1
XXkb.button.label.enable:no
Осталось задать сами иконки, и... стоп. Задать - как? Откуда их взять? Упс. С программой их нет. В мане - молчание. Google? Уй, ё! А иконки надо НАРИСОВАТЬ Самому в GIMP'е. Ляаааа... Формат - xpm. XPM editor в гугле - ну не то, чтобы совсем "молчание", но "хреннайдешь". Мнда... посмотрим что же это за "супер-формат"такой - xpm? Ляааааа...-2. В общем, кто видел-тот знает, кто не видел - может сделать cat ./что-нибудь.xpm заглянуть в википедию или под кат - узнает много нового. Нарисовать ЭТО в vi, звиняйте, не смогу! Лезу в google пополам с pacman'ом и минут через несколько нахожу подходящий для "рисования" околовсяческих иконок редактор - mtpaint (Вполне рекомендую, кстати) и еще через 15 минут...
... прописываю XXkb.xpm/image.path, запускаю - вуаля!
А теперь - слайды!
Если кому нужно ;) пользуйтесь!

@темы: Жизнь

14:32 

Мы делили апельсин...

... много наших полегло! Или - кто бы мог подумать, что "отдать пару файлов по FTP" может оказаться ТАКОЙ проблемой!
Дано - серверЪ с FreeBSD 8.1. Самба, отдает cp866/1251, на самой, ессно, koi8-r. Нужно предоставить доступ для внешних клиентов. Ответ? Правильно, FTP. Поднимаем FTPD (Ага, две строчки в rc.conf - ftpd_enable="YES" и ftpd_flags="-4 -r -D"), рисуем ftpchroot - в путь!
Стоп машина! Народ интересуется - "А как этим пользоваться?!" Гхм. Консольный ftp не канает ;) filezilla'ы, FAR'ы и TotalCmd тоже. "Канает" только и исключительно бра-аавзеры разных типов плюс, та-дам!!! "Проводник виндовс". Врот-тя-ноги.
Нет, бравзеры "в количестве" ftp вполне даже знают ;) и русские имена после смены кодировки ;) вполне даже читают, НО! Иё-моё все свои служебные сообщения кодирует в cp1251 и при наличии на странице одновременно koi8-r файлов и cp1251 ссылок типа "папка уровнем выше" - что-нибудь обязательно окажется в виде всем знакомых "кракозябров"(ТМ), плюс - всем известная :) проблема с буквой "я" в koi8-r... Непорядок, в общем.
Что делает админ, наткнувшись на проблему с кодировкой файлов? Праааильно - вспоминает про "богодушу-мать!данный" unicode. Создаем тестового пользователя, пишем ему в .login_class ru_RU.UTF8, с помощью convmv (Ааатличнейшая штука, если кто не знал) -f koi8-r -t utf-8 -r --notest /путь преобразуем подопытного в нужный вид, добавляем к ftpd_flags="-8", пробуем... Ну, у меня опять все работает, а вот гейтцем обиженные windows'ятники неожиданно оказываются в пролете - их ё-моё с windows ехплохером внезапно! не умеют работать с unicode'ом. От слова "совсем" - в глухую виснут при попытке что-нибудь сделать. Fail.
Преобразовывать имена файлов в cp1251 - sensored. Надо конвертить "на лету". Google говорит, что такая возможность есть у ... и у ... и ... тоже умеет... Из всего разнообразия выбираем vsftpd-ext по причине простоты настроек, небольшого размера, невдолбенной секурности - ну и некоторого знакомства с сабжем ). В портах выбираем "с RC-скриптами", компилим, ставим, правим конфиг до плюс-минус следующего вида:
anonymous_enable=NO
#Нафиг анонимусов
local_enable=YES
write_enable=NO
#Read-only
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/xferlog
xferlog_std_format=YES
idle_session_timeout=600
data_connection_timeout=120
nopriv_user=ftpuser
chroot_local_user=YES
Всех chroot'им
userlist_enable=YES
userlist_file=/etc/ftpusers
#Явно указанных пускаем
userlist_deny=NO
#Остальных нафиг
ls_recurse_enable=YES
listen=YES
listen_ipv6=NOp
background=YES
convert_charset_enable=YES
#Осторожно, ГРАБЛИ! Кодировки субпродукт желает увидеть ИМЕННО В ТАКОМ написании
#иначе - fail "без указания причин" - работать будет в стиле "что вижу, то пою" - конвертации.

local_charset=KOI8R
remote_charset=CP1251
#Преобразуем имена файлов из koi8-r в cp1251
pasv_min_port=49152
pasv_max_port=65535
Запускаем vsftpd... и наступаем на грабли. "Этот сервер поддерживает только анонимные соединения", иди нафиг. Гхм! Вот же! Вот! anonymous_enable=NO - чего тут не понятного? Фигу, "Этот сервер...". так, его этак, переставил, воткнул, поднял, нашел чужой конфиг, воткнул, посмотрел... "не выходит каменный цветок у Данилы-мастера" и все тут. Без конфига не стартует, но на его содержимое пилюёть. Где ошибка? Праааильна, в rc-скрипте. Написать соответствующий check для скрипта мантейнер порта додумался, а вот подсунуть его в run_rc_cmd "ниасилил", мало того, видимо, чтобы "злобный враг не догадался" засунуть путь к конфигу в vsftpd_flags="" этот .... секретчик воткнул в свой супер-скрипт следующую строчку:
# vsftpd_flags="/some/path/conf.file" # Not required
Мнда. Убил бы, натурально. Минут 40 на поиск насекомого убил, но - оно таки заработало. Радует. Виндузятников.

@темы: FreeBSD, Работа

16:19 

Ньенави-иии-иижу линупс!

Установка etersoft'овского RX-сервера (В девичестве - freenx-server, по бабушке вообще --NomachineNX), за который они, так-то, денег просят! вызвала бурю положительных эмоций ;). Казалось бы, Centos 5.5 x64 в compatibility-list'е есть, решение на всю бОшку энтерпрайзнутое, с "коммерческой поддержкой" - бери yum да ставь-радуйся, ага!. Ага-ага. Не, поставилось оно нормально, а вот в попытка "штатным образом" настроить сервер с помощью "штатного" rxestup'а продемонстрировала сразу пару грабель: запрятанный в недрах скрипта passwd -u чего-то там потребовал дополнительного параметра -f, воткнуть который мантейнеры не удосужились, вызываемый rxsetup'ом nxsetup был "по дефолту" сконфигурен каким-то латентным кедерастом и без startkde check'аться в первый раз отказывался - самое смешное, что проверять он рвался не /etc/nxserver/node.conf.d/<>, а /usr/share/node.conf.d/ - прежде чем я это прочухал - весь набор матерных слов успел кончиться, ладно, nxsetup вроде как доволен, сам сервер работает, но стартовый скрипт положить куда надо (В /etc/rc.d/init.d, если кто не знал - они у шапочнобазовых там лежат!!!) rxsetup не удосужился - закинул в /etc/rc.d/ и вывалился с ошибкой. Ааатличный результат ящетайу!
С wine'ом все оказалось проще - вернее, я вышел "самдурак" - сначала воткнул вайн, создал пользовательское окружение, через winetricks поставил corefonts - и только потом, внезапно! вспомнил про wine --admin etersoft'а - удалил .wine пользователя - и влип! wine отказался запускаться с любым набором параметра - "ошибка конвертации строки в куда-то" - в общем, ищет но не может найти шрифт. Переустановка wine'а с затиранием папочки wine/fonts не помогла, пришлось переустановить corefonts - без wine'а, аага. Собрать, блин, rpm-пакет по спеке, проинсталлить... перемать его так, опять все-и-всех проклял )
Собственно, проблемы с установкой NX, пардон! RX-клиента меня уже не удивили. В compatibility-list'е Mandriva 2010 есть, но "собрать для нее пакет" etersoft'овцам "не удалось" о чем "они сожалеют". Ладно. Попробуем воткнуть с предыдущей версии... ага. nxclient не ставится без nxserver'а, а nxserver'у нужен libjpeg.so.7 и, тадам!!! openssl 0.9.8. rpm -qa |grep - говорит, что libjpeg у нас есть, причем ажно 8-ой версии, а openssl и вовсе 1.0.0. Приплыли. jpeg'a нужной версии в официальных репах нет - но найти "в нетях" можно - а вот что делать с openssl? Ставить так, "чтобы отвалилось полсистемы" или даунгрейдить чтобы "полсистемы отвалилось"? Поставил рядом, полсистемы думают, что отпали но работать тьфу-тьфу-тьфу - не отказываются.
"А ведь эти еще из лучших!"(С), ага.
Не-на-ви-жу-li-nux!
Как бы эдак половчее обратно на *BSD перелезть, а?

@темы: Работа

11:32 

Дело было вечером, делать было нечего...

... решил Шаман поднят себя imap-сервер. Полгода через SSH логиниться на сервак и читать почту с консоли... мндээээ... стыдно, в общем зато работает!!!. При всем богатстве вариантов альтернативы dovecot'у, в общем-то, нет (Ну, в самом деле! Не громоздить же на "домашний" atom'ный сервер, у которого "в прыжке" меньше 10-ти пользователей DBMail или там Courier мать-его-и-перемать!).
Вечер убил - но сервер поднял ). Особых хитростей там нет (Конфиги ОЧЕНЬ хорошо комментированы, плюс - "в комплекте" идет весь набор документации в wiki-формате), но, как водится, "есть нюансы", читай ГРАБЛИ :) - впрочем, по порядку:
ставим из портов, копируем /usr/share/doc/dovecot/example-config куда надо, начинаем править. Конфиги модульные (По сию пору не могу понять, нравится мне эта "тенденция" или нет - с одной стороны, нарушается "целостность восприятия", с другой - "уместить" в голове содержание пары-тройки "мааа-ааленьких файликов" проще, чем монструозную простыню на пять-шесть экранов) - dovecot.conf + содержимое conf.d, комментариев в них, пожалуй, даже слишком много (По ходу работы - выпилил нафиг, понадобятся - в wiki возьму).
При включении imap автоматически начинает слушаться и imaps на 993 порту, для отключения пришлось предпринять не вполне тривиальное действие - прописать куда надо что-то вроде:
service imap-login{
inet_listner imaps {
port = 0
}
}
Аутентификацию я рожал на сертификатах, так что:
ssl = required (Не 'yes'!)
disable_plaintext_auth
auth_ssl_require_client_cert=yes
auth_ssl_username_from_cert=yes
ssl_verify_client_cert=yes
ssl_cert_username_field=commonName
В качестве БД паролей используем static, запрос пароля отключаем:
passdb {
driver = static
args = nopasword=yes #Уродство, правда?(Ибо нефиг - )
}
userdb - системная /etc/passwd.
В процессе настройки наступил на грабли с:
auth_username_format= - решил lowercase'нуть полученное из сертификата имя и "срезать" доменную часть (Удруг-да появится? ))) для чего воткнул %Lu%n и получил на выходе в debug.log'е shamanshaman в качестве имени пользователя и ошибку поиска в результате. На поиск убил уйму времени и сил, но разобрался.
Еще один гнусный прикол обнаружился при попытке настроить тестовую аутентификацию через PAM - при запуске auth-worker'а от имени обычного пользователя pam_unix выдает UNIX autentication refused и "пишите письма", от root'а же все работает нормально.
В общем, долго ли, коротко - оно работает. Не понятно, правда, как убедить почтовый клиент, что сертификата, в общем-то, достаточно и пересылать имя+пароль не надо от слова "совсем"... впрочем, серверу и так хорошо, а клиент шлет себе '1' и радуется, ага.

@темы: FreeBSD, Жизнь

13:31 

Баклажанное

Два дня промаялся дурью выясняя, почему в arch'е не работает NSCD (Т.е. работать-то он работает, и информацию о passwd/services вполне себе кэширует), а вот по поводу hosts nscd -g говорит, что было четыре или пять "промахов" и усе. Больше никто "за справкой" не обращался. Tcpdump подтверждает - за каждым адресом комп исправно лезет к dns-серверам, прописанным в resolv.conf, меж тем в nsswitch.conf'е черным-по-ангельскому прописано:
hosts: files cache dns
"Непорядок творится в древнем Шумере, завелось какое-то чудо-юдо..."(С).
Поднимать в качестве "кэширующего DNS'а" BIND - ломает (Даже не сам процесс "поднимать" - "наливай-да-пей", ломает необходимость ставить этого монстра на ноут, на фрюхе, где он включен в "базовую систему" - ладно, потерплю, но отдельно втыкать...), pdnsd как-то "не вштырил", dnsmasq с его "dhcpd inside" мне на компе нужен как бы ни меньше BIND'а, раскуривать djbdns... ну, в общем, начал ;).
А на работе (Работа вообще хорошо мозги прочищает!) внезапно! дошло: походу, дело в "сходу" поставленном ldns'е (DNS-utils в arch'е по дефолту не поставлены, про BIND я уже сказал - вот и :)) - судя по всему, его резолвер знать не знает о существовании nscd... с другой стороны, выбор "источника" осуществляется не резолвером, а nsdispatch'ем ДО обращения К... приду домой, буду проверять, да...

@темы: Жизнь, Работа

18:55 

... и еще раз!

В связи со сменой железа (Как Шаман ноутбук покупал - отдельная очень смешная песня!) пришлось сменить дистрибутив. Остановился на archlinux'е. Разбил диск, настроил LVM (Настроил mkinitcpio.conf, ага - включил lvm, сжатие lzma и пэ рэ), создал файловые системы - все, как полагается. Начал обновлять - отметил, что обновился xz ;), нажал 'y' и пошел себе, ага. "Дети, не делайте так!". В смысле, система обновилась, ага. Дело дошло до пересоздания initrd, сам образ создался, а вот пожать его с помощью lzma - не удалось!!! ибо - xz обновился, ага. Сначала удалился, потом... ну вы поняли. Reboot... хрен вам, а не lvm и вообще, '/' тут не лежало!
Пришлось грузиться с бутовой флешки, modprobe'ом грузить dm_mod, с помощью lvscan/vgchange монтировать lvm, chroot'иться в /root (Почему-то mkinitcpio с ключом -b /mnt/root наотрез отказался находить модули dm'а) собирать новый initrd, копировать его куда надо... Ыыыыы, в общем - без интернета-то! Но ничего, заборол. Иех раз, да еще раз, да еще много много раз - научусь, в общем, linux любить! )))

@темы: Жизнь

12:26 

Нет, "утиная типизация"...

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

@темы: Python, Работа

14:49 

Упал-отжался!

Хожу я, понимаешь, от серверной стойки до рабочего места - как тот ученый кот - два шага в ту сторону, касание стойки - щелчок статики, два шага в другую, касание ноутбука - он же. Раз на пятый индеец быстрый глаз догадывается, что "это жжжж не спроста" и "как бы чего не вышло", но занятия, разумеется, не прекращает ;), на шестой касание пальцем "в куда-то в районе карт-ридера" вызывает видимую невооруженным взглядом искру и особый букет ощущений.
А в карт-ридере у нас SD-карточка на один гиг с системным /boot'ом... ls /boot - висяк. При-плы-ли.
Вынимаем карточку, ставим в стационарный ридер. Нуль эффекта. Угу. Приплыли. Без особой надежды переворачиваю карточку... о! Определяется. Правда UFS2 windows закономерно не узнает. ОК, цепляем обратно на ноут, грузимся с DVD'шки - da0 есть, s1a на ней нету. Делаем. Копируем /mnt2/boot, пишем по новой loader.conf, перезагружаемся. Ага. Ядро видится, система начинает грузиться... и не находит root. Гхм. Странно. Нет, ясно, что в custom'ном kernel'е были вкомпилены device ahci и options ATA_CAM, а device ata напротив, выпилены к чертям собачачьим, в то время как на дисковом GENERIC'е все строго наоборот - но zfs pool-то собран из geom-провайдеров заданных по gpt-меткам! Ллладно. Пытаюсь загрузить geom_gpt_load - система говорит, что в GENERIC оно уже вкомпилено.
Перезагружаюсь, импортирую пул - статус ONLINE, но scrub requested. Гхым. "Все хорошо, но ничего не работает". Опять же, без особой надежды (Ясен пень, надо ядро собирать по готовой спеке!) делаю этот самый scrub, перезагружаю... вааау! Вот моя система, вот мой стол родной! Уффф... на всякий случай проверяю последний бэкап на домашнем сервере - закономерное 25.12.2010, однако. Кап-пи-таль-но свезло, да...

@темы: FreeBSD, Жизнь, Работа

20:59 

Возвращаясь к...

... напечатанному - нарисовал таки я могутный скрЫпт на puthon'е, реализующий вышеуказанную функциональность, затестил, воткнул в cron - а потом чуть не родил, пытаясь понять, почему же он, сАбака, от user'а работает как положено (Приводит resolv.conf к виду
search (список доменов)
nameserver 127.0.0.1
И auto_forward.conf к состоянию
forwarders {
список адресов из resolv.conf'а;
};
forward first;
), а от root'а полностью убивает все линки в auto_forward.conf'е и выпиливает инструкцию nameserver из resolv.conf'а.
Ларчик, как водится, открылся просто:
целей отладки для я воткнул в свой скрипт не subprocess.Popen(['/usr/sbin/rndc', 'reload']), а subprocess.Popen(['/etc/rc.d/named', 'restart']) оставив named_auto_forward="YES" из rc.conf'а в неприкосновенности. В результате, вместо "мягкой" перезагрузки BIND'а происходил его рестарт родным скриптом, ожидающим, хе-хе! соответствующего содержимого resolv.conf'a и правящим auto_forward.conf под себя...
Мораль сей басни выводите сами )

@темы: FreeBSD, Python

09:05 

Не жизнь, а анекдот!

Решил я таки вкорячить себе midori - ну-там "на попробовать", заместо firefox'а. В процессе понадобилось обновить ICU ажно до 4.6 (А /usr/ports/UPDATING по таким "малозначительным" поводам мы не читаем, ага :)))) - ну почти в точности по Каганову вышло:
"Мне на хрен не уперлось читать тонны документаций и медитировать, что означает и как поступить если «ОШИБКА КОМПИЛЯЦИИ: установите библиотеку не ниже huiTamLib-2.4.0«. При том, что в системе, разумеется, давно присутствует какая-нибудь «huiTamLib2-5.1"? Ее предлагается снести, чтобы отвалилось полсистемы или обновить до старой, чтоб полсистемы отвалилось? Вам же знаком этот повседневный линуксовый дзен, не правда ли? "(С)
Оно, собственно, собралось и даже поставилось - но после включения дома "отвалилось полсистемы" и вместо xfce пришлось пускать openbox ). За ночь portupgrade таки перелабал полсистемы (Теперь, за вычетом некоторых "нечуйствительных" мелочей софт у меня "в актуальном состоянии") - в процессе выяснилось, что BSD'шники умудрились поломать ATK, с которым собирается туева хуча гномосятины, но -fk к portupgrade'у выручил. В общем, не пересобрались у меня только claws-mail (Ставить ради _документации_ к почтовику весь tetex мне как-то... оне бы еще OpenOffice предложили, шлимазлы!) и... gtk, внаглую наплевавший на шаманство с atk.
Попытка установить "ручками" к успеху так же не привела - huiTamLib2-5.1 в очередной раз оказалась не той версии, впрочем, UPDATING в очередной раз дал ответ - "Мужик! А ты снеси старую версию полностью и поставь новую!", так и сделали. Старую - снесли, а новая, ессно, не поставилась ))). Версия в Atk-1.0.gir не та, мол. Впрочем, на эти грабли я уже вставал, и что надо (1.0 на 1.2 в repository version) сменил, но к успеху и это не привело - на сий раз со страшным грохотом (Assertion error! и та дэ) навернулся питоний g-ir-scanner. Пришлось лезть ему унутрь и смотреть, что там не так. Посмотрел, подумал... и выпилил соответсвтующий assert нафиг. И что вы думаете? Сработало! В точности по анекдоту:
" - Этого, этого и этого - расстрелять!
- Не надо!
- Этого - не надо, он не хочет."
ага. *nix'овый дзен во всем его многообразии, даа.... :)

@темы: Жизнь, FreeBSD

13:37 

Для себя

12:03 

Головожопые жыдомассонские педеросатанисты!

Не знаю, правда, кто - то ли DEPO'шные OEM'щики, то ли отечественный минобраз - но в правильности характеристики не сомневаюсь!
Дано - хренадцать одинаковых компов с одинаковым обвесом (Сканеры-принтеры-камеры и пэ рэ) для использования в школах. Требуется - накатать стандартный набор софта. Казалось бы, чего проще? Norton Ghost или там какой-нибудь Acronis и в добрый путь! Но нееет, надо, похоже, "забисплатна".
Ну, на мой взгляд, тоже нет проблем! Зануляем диск с помощью dd, ставим винды, потом делаем dd по всему диску, bzip'им (С-но, за-ради этого и "зануляли") образ - вуаля! Распаковать результат и того проще:
bunzip ./image |dd of=/dev/sda (bs=16394)
Затрамбовать пожатый образ в какой-нибудь livcd-дистрибутив, закинуть вышеуказанную команду в rc.local - и усе. Никаких действий от пользователя не требуется, распаковывается "с одной кнопки" (Ну-там спросить "вы ДЕЙСТВИТЕЛЬНО уверены?").
Но нееет, ОНЕ "легких путей" не ищутЪ, виндузятники, чтоб их! Решают задачу "закрутить шуруп и забить гвоздь" при помощи первых попавшихся микоскопа и дрели. Вместо того, чтобы смастерить образ всего диска - при помощи дистрибутива ping сделали резервную копию данных. С разбивкой на 6 CD'шек. И положили все шесть на 1 DVD. Молодцы. Потом выяснили, что для ее распаковки сами партиции с файловыми системами _уже должны_ существовать, а PING'овый TUI, бяда-бяда! возможностей по созданию-форматированию "из коробки" не имеет. Но доблестные джамшуты не растерялись! Они закатали второй диск с _еще одним_ линуксовым дистрибутивом - pmagic, заточенным под "разбивку" дисков + положили рядышком результат fdisk -p /dev/sda1 (Предложенный вариант, кстати, по началу привел меня в священный трепет 7ми гиговый раздел с NTFS-12 гиг unallocated-19-ти гиговый раздел с NTFS - unallocated. Впрочем, после того, как PING вякнул "мол, хозяин! У меня свободное место есть, заресайзить партиции?" что-то стало на свои места, но "осадок остался"). Пользуйся, учитель! Все для тебя. Все три диска, ага. Настолько "интуитивные", что какая-нибудь инструкция ко всему этому еликолепию кагбэ и ни к чему.
Правда, лезть за образом на CD/DVD PING тоже не научен... но видимо до попытки распаковать результаты своего вторчества долбоушлепки так и не добрались.
В результате "со второй итерации" (На первой была попытка заcat'ить все 6 CD'шек в 1 файл и заddить его на винт - ну не знал я, что это за "PING" такой и как он работает!) пришлось (С того же PING'а, кстати, в консоли, что не удивительно, все потребное для процесса нашлось) разбивать диск, форматить разделы, копировать в отдельную папОчку резервную копию о 6 CD'шках и разбираться с ну оооочень интуитивно-человеческим интерфейсом этого самого *$!!инга.
Мнда. Заранее краснею, думая о тех словах, которые произнесут по поводу "этого вашего sensored линупса" учителя, вынужденные столкнуться с этим долбоушлепищем.

Результат, кстати, доставил безмерно - на самом компе OEM'ная наклейка с Vista'ой Starter (Мы все помним этот фокус с апгрейдом starter'a для academic'ов, ага), бумажная лицензия на Vista Business (Тот самый апгрейд) и... установленная XP Pro после разворачивания образа! Нет, все легально, Business и впрямь обладает правом downgrade'а до XP'юхи, но объяснять "компетентным органам", почему наклейка у вас от одной системы, лицензия - от другой, а установлена вообще третья надеюсь, придется не мне ))))).

@темы: Работа

20:11 

А вот кому...

... точку доступа на базе FreeBSD? Их есть у меня!
Если у вас (Сам собой, разумеется!) вдруг завелся Домашний Сервер (На FreeBSD, разумеется) - ну там торренты покачать, домашние странички повертеть, интернеты среди домашних пораздавать, ну и прочее разное в меру вашей испорченности - рано или поздно захочется прикнутить к нему wifi (Зачем держать дома два устройства, если можно обойтись одним?) - нуу... мне, по крайней мере, захотелось.
WARNING! Чтение следующего текста может вызвать повреждение неподготовленного мозга!

@темы: FreeBSD, Жизнь

Танец-с-саблями на граблях

главная