пятница, 29 июня 2007 г.

Google Desktop для Linux

Yeah, cвершилось! Google создали Desktop Search и для Linux, при чём, в отличии от Picasa (которая на libwine), Google Desktop Search is native Linux application.

http://desktop.google.com/linux/download.html

Как же говорить слова, чтобы они не удешевляли мысли

- Любое слово о Боге, любое изображение Бога - скорей удаление от истины, чем её свидетельство.
- Как же тогда говорить о боге?
- Молча.
- А почему ты сам говоришь словами?
Мастер рассмеялся:
- Когда я говорю, не слушай слова. Слушай безмолвие.

(с) Одна Минута Мудрости

вторник, 26 июня 2007 г.

Скрыть "чужие" процессы во FreeBSD

FreeBSD имеет особенность отображать все процессы (ps -ax) вместе с ключами, а в них (в ключах), обычно очень не кстати, становятся видимыми пароли. Неожиданно решение нашлось :). Посмотрев описание ключа '-a' в man ps, можно обнаружить:
FreeBSD 4: "-a ... This can be disabled by setting the kern.ps_showallprocs sysctl to zero."
FreeBSD 6: "-a ... This can be disabled by setting the security.bsd.see_other_uids sysctl to zero."
Пишем это параметр равный нулю в /etc/sysctl.conf и получаем нужный результат.

воскресенье, 17 июня 2007 г.

Главные враги админа: лень и беспорядок

Чем так хорош OpenSource и почему он живее всех живых? Тем что каждый разработчик заботится о "преемниках" этого кода, т.е. о тех, кто будет его читать/править/патчить (нередко копаясь в cvs/svn репозиториях можно встретить "косметические правки"). Но "великие системные администраторы" почему-то об этом забывают и делают так "как умеют/знают/удобнее". В этом нет ничего плохого, если ты в пожизненном найме, но у нас это не практикуется. Я поделюсь своими наработками, которые могут сделать работу администратора эффективнее.

Основные моменты:
- придерживаться идеологии дистрибутива
- избегать неоправданной избыточности
- максимально всё комментировать/документировать
- заранее предусматривать возможность быстрого бэкапа
Обобщение этих четырёх пунктов: рабочая система должна быть построена так, чтобы её можно было максимально быстро воспроизвести с нуля.

Примеры по каждому пункту (здесь приведу примеры только для серверов, но рабочих станций это касается тоже).

Идеология:
- Gentoo: стартап скрипты в init.d, а их конфиги в conf.d; сборка софта из portage, если нет в portage или нужно установить патч - пиши ebuild
- Debian и все дебиано-образные: установка только deb(!), если нужно собрать исходник -> сделай deb пакет (если это deb-source, то dpkg-buildpackage, если это чистый исходник, то dh_make -> правим debian/rules -> dpkg-buildpackage); нужно пересобрать ядро? -> make-kpkg; собрать модуль ядра? -> module-assistant
- FreeBSD: нужно наложить патч на софтину? положи его в /usr/ports/***/files и собери порт любым известным тебе способом.
Что касается всех дистрибутивов Linux и Unix: в каждом из них своя организация файлов конфигурации и прежде чем править конфиги разберись с ней. Например это касается apache. Его от системы к системе пинают кто как может, но при этом везде есть свои плюсы и удобства. Например не нужно в Ubuntu (в дебиан скорее всего так же) по примерам их интернет править конфиг httpd.conf чтобы добавить новый сайт, ведь всё что нужно уже и так есть: sites-available - сюда кладём конфиг сайта, sites-enabled - сюда линку на конфиг если мы хотим сайт включить, mods-available - подключаемые модули, mods-enabled - кладём линку если мы модуль хотим включить и так далее. Во FreeBSD структура конфигов apache иная, но тоже удобная и её так же нужно принимать во внимание.

Избыточность:
- Не нужно заводить базу mysql для 10 пользователей и их паролей, храни их в файлах
- Не нужно заводить три базы mysql (если на это нет веских причин) для ftp, web, и mail сервера. Вместо этого сделай одну базу ldap
- Не нужно писать фаервольные правила для tcp|udp с разрешением в обе стороны, используйте keep-state (а для tcp желательно ещё и setup)
- Если правка происходит от дефолтного конфига, старайся минимальными правками добиться желаемого результата
- Не меняйте без надобности права на директории, обычно права по умолчанию оптимальные, а проблема чаще всего в том, от какого пользователя и группы запускается служба, которой необходим доступ к этой дире

Документированность:
- Документируй всё! Если ты в конфиг помещаешь целый блок, то (если это возможно) помести его в начало или в конец файла и при этом обозначь начало и конец этого блока, а строки его (блока) при необходимости прокомментируй.
- У себя держи информацию о том, какие службы на каких серверах установлены и что дополнительно было сделано, напрмер: gateway: ipfw+natd (стандартные конфиги + /etc/ipfw.rules) - это будет означать что установлен ipfw с natd, запускаются они стандартными скриптами из /etc/rc.d и настройками из /etc/rc.conf, а правила ipfw лежат в /etc/ipfw.rules

Бэкап:
- Если сервер должен работать непрерывно (а на то он и сервер), то заранее подумай о том, какие тома сделать отдельными и положить их на LVM (только если это Linux, для FreeBSD достаточно отдельного слайса), чтобы можно было делать мгновенные снапшоты (обычно это директория /var).

пятница, 15 июня 2007 г.

Как сделать общим принтер в Linux

Кажется уже год прошёл с того времени как я решил подружить cups + samba и даром это время не прошло. Теперь я знаю, что лучше этого не делать :) А время подсказало мне просто отличные альтернативы: cups-lpd (использую inet.d или xinet.d) и cups через http (http://host:631/printers/printername) и обе работают без сучка, всё как надо.
Ура. На этом с самба-принтерами покончено :)

среда, 13 июня 2007 г.

StarCraft 2 и Linux

StarCraft 2
Группа энтузиастов написала петиции в Blizzard Inc. дабы те выпускали свои игры с инсталяторами не только под винды. Не знаю как вы, но я подписал. Ибо не смотря на весь потенциал wine в нем геммор с настройками, а cedega понижает производительность. Кстати, Id Software выпустили Doom 3 под Линукс, и все остались довольны. ;) Давайте поможем продвижению линукса среди геймеров. ;)

http://www.petitiononline.com/ibpfl/petition.html

взято здесь http://community.livejournal.com/ru_linux/1234929.html

среда, 23 мая 2007 г.

Почему не нужно устанавливать в школы дистрибутив Linux отличный от Ubuntu

В связи с нашумевшим делом Поносова многие школы России решили переходить на свободное ПО. При этом никто не даёт чётких рекомендаций и устанавливают кто что найдёт. В будущем это может обернуться довольно большими неприятностями и сейчас я объясню почему.
Заглянем в будущее, когда школьники закончили школу, а студенты стали инженерами.
Опытный пользователь может справиться с любым дистрибутивом и ему всё равно с чем работать, но по опыту работы с Windows пользователями (а ведь Windows всего один) могу сказать, что разнородность дистрибутивов повергнет в смятение и пользователей, и сотрудников технической поддержки. Соответсвенно одна проблема уже есть (акцент 1).
Проблема два - современное обучение Linux расчитано именно на опытного пользователя, на грамотного пользователя, который может работать под привелегированным пользователем (root) не нарушив целосности системы и знает что этого делать не стоит по ряду причин. В случае же с "неопытными" мы с толкнёмся с фразой "так проще".
- Почему вы работаете под root?
- Так проще.
- А знаете что не стоит этого делать?
- Да какая разница, работает ведь.
И тут мы столкнёмся с ситуацией аналогичной в среде Windows в настоящее время, а именно:
- большинство пользователей работают под пользователем с правами "Админа"
- как следствие простор для вирусов
- как следствие непродуманный софт, если конкретно, то существует большое количество программ для Windows которые не работают без прав администратора или хотя бы Power User (проблема казалось бы в программистах, но именно такая мелочь как "админ по дефолту" породила этих горе писателей и это касается даже больших корпораций)
Это всё было о том, почему дистрибутив должен быть один, а теперь о том, почему Ubuntu.
Убунту один из не многих дистрибутивов с очень правильной идеологией "простого пользователя", так называемый Ubuntu-way (я говорю один из не многих дабы не вызвать лишнюю критику, но мне подобные дистрибутивы не встречались).
Ubuntu-way это:
- запрет логона под root-ом и работа вместо этого через sudo
- грамотная документация для (очень важно!) "Простого пользователя", т.е. что и как нужно делать и в какой последовательности для самого неподготовленного. эта документация уже годится для того, чтобы по ней готовить методический материал. Документация не противоречит сама себе, достаточно полна и незначительно изменяется от версии к версии, что так же очень важно.

Пока это все мысли на тему Linux в школе, которые я "оформил в буквах".