среда, 25 ноября 2009 г.

Заебали пидарасы...

уважаемые Господа,

прошу помощи. есть некие гандоны, что постят в комментариях рекламу, нарушающую законодательство РФ. как с ними бороться? запрещать постинг комментов для всех - не хочется. закрывать глаза на нарушение законодательства - становишься соучастником. с удовольствием рассмотрю все идеи. в идеале было бы изложение способов связи с google (поскольку blogspot.com им и принадлежит) с последующими санкциями. если наши правоохранительные органы заинтересованы в участии - не вопрос. вопрос лишь как это всё организовать без излишней суеты.

спасибо.

вторник, 24 ноября 2009 г.

SOAD-Linux-3.3.1 is out

/*

Ladies and Gents,

the new SOAD-Linux based on openSUSE-11.2 is out:

Download page
List of installed packages
README
Version 3.3.1 download link

It's a hybrid "iso" image capable to run in VM (qemu, etc.), to be burned on CD/DVD or to be "dumped" to USB-sticks. We're providing the extended set of a drivers for devices/filesystems along with the extended set of WM's for your convenience. Please be aware that we can not assure the correct behavior of "Ecomorph" despite on installed NVIDIA driver (you need to build from official "NVIDIA*.run" sources to avoid "White screen" compiz bug for a modern NVIDIA GPU's). Also due to a "lzma+squashfs" compression method we can't provide the small "xdelta" patches yet.

You're always welcome to leave your comments here.

Have fun!

***********************************************

Дамы и Господа,

предлагаем Вашему вниманию новую версию SOAD-Linux, основанную на openSUSE-11.2:

Страница загрузки
Список предустановленных пакетов
README
Скачать образ

С удовольствием учтём Ваши пожелания при подготовке следующих релизов.

Удачи!

*/

вторник, 17 ноября 2009 г.

upgrade to openSUSE-11.2

/*
пуркуа бы и не па?

основные принципы остаются теми же, что и были описаны ранее:

схема проведения апгрейда

есть несколько уточнений. расписывать в деталях нет желания. по шагам:

1) определяем количество "вендоров" ПО в текущей системе:

> rpm -qai | grep Vendor | awk -FVendor '{ print $2 }' | sort | uniq

2) желательно все полученные выше линии внести через запятую в файл:

> sudo vim /etc/zypp/vendors.d/openSUSE

также можно создать несколько файлов в каталоге "/etc/zypp/vendors.d/". формат файла:

> cat /etc/zypp/vendors.d/openSUSE

[main]
vendors=openSUSE,SUSE LINUX Products GmbH,none,openSUSE Build Service,Packman,packman.links2linux.de,openSUSE Education,openSUSE-Education,(none),j.engelh,obs://build.opensuse.org/Emulators,obs://build.opensuse.org/home:anubisg1,obs://build.opensuse.org/home:dmitry_serpokryl,obs://build.opensuse.org/Moblin:UI,obs://build.opensuse.org/network:utilities,obs://build.opensuse.org/OpenOffice.org:EXTRAS,obs://build.opensuse.org/OpenOffice.org:STABLE,obs://build.opensuse.org/openSUSE:Factory,obs://build.opensuse.org/openSUSE:Tools,obs://build.opensuse.org/server:database,obs://build.opensuse.org/Virtualization:Appliances,obs://build.opensuse.org/X11,http://packman.links2linux.de


3) правим репы на версию 11.2:

> cd /etc/zypp/repos.d/
> sudo sed -i 's|11.1|11.2|g' *

4) проверяем содержимое каталога "/etc/zypp/repos.d/" на предмет того, что все "url=" вылидны.

5) выполняем сам апгрейд. можно в два прохода (сперва качаем контент, сохраняем локально, потом ставим):

> sudo zypper mr -k --all #optional
> sudo zypper mr --all --no-refresh #optional
> sudo zypper dup -D #optional
> sudo zypper dup
> sudo zypper clean #optional


6) перезагрузка.

в зависимости от скорости соединения и общей захламлённости системы процесс может занять достаточно длительное время. впрочем, даже на машинах с более чем 60-ю активными репо финал порадовал хорошими результатами. стоит обновляться сейчас или подождать - зависит от вас и того набора ПО, которым вы пользуетесь. далеко не все репы в OBS (включая и "официальные") "проапгрейдили" контент до openSuSE-11.2 (владельцы ATI как обычно с завистью смотрят на хозяев NVIDIA).

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

удачи.

*/

суббота, 14 ноября 2009 г.

reiser4 для openSUSE-11.2

/*
И вновь продолжается бой,
И сердцу тревожно в груди.
И Ленин - такой молодой,
И юный Октябрь впереди!
/Н. Добронравов, 1974/

собсно продолжение "весёлой (1)" "истории (2)" с ура-патриотическим шовинистским наклоном.

потихоньку перечисляем причины, по которым задерживается/откладывается/херится компиляция рабочего софта для openSUSE-11.2:

* в текущей версии "binutils-2.19.51" кто-то умный (ОЧЕНЬ умный, да-да-да!) взял и догадался запретить "ld" делать статическую линковку бинарей по умолчанию.

абзац. передай CFLAGS параметр "-static" и можешь быть свободен (вопрос на засыпку: "а сколько проверок тех же autotools применяют статику для тестирования окружения?!"). из-за этого в Factory накрылась сборка "reiser4progs" и ваш покорный слуга "осилил" первым (damn, i'm good!) поднять "Титаник" из глубин:

пруфлинк :)

после чего встал раком вопрос о прикрутке ядрёного модуля для полноты ощущений. есть три варианта успешного развития событий:

1) тянем с kernel.org сырцы ядра, патчим по своему усмотрению, ставим;
2) ковыряем текущие исходники от SuSE (с учётом того, что некоторые патчи из "обоймы" reiser4 уже наложены);
3) берём diff-ы reiser4 и, радостные, лепим из них сырцы ядрёного модуля для последующей сборки по фэн-шую, выкладываем в OBS, лепим src.rpm и развлекаемся по полной программе матёрого эксгибициониста.

* история нумеро уно (светлая и радостная)

теперь по-порядку. при любых раскладах нам понадобятся исходники ядра от SuSE (чтобы припухнуть от количества патчей, выбрать нужные и хоть немного, но сообразить, почему ядро от SuSE заведётся даже на Gentoo, установленной на Mac Book, с поддержкой всего найденного оборудования):

> sudo zypper si kernel-source

для простоты из "/usr/src/packages/SOURCES/patches.suse.tar.bz2#utar/patches.suse/" дёргаем лишь файл "bootsplash" как пример. вам что-то ещё нужно?! - не стесняйтесь. можно себе позволить и правой рукой, и левой и обеими одновременно. именно тот случай.

частенько встречаются индивидуумы с синдромом "мля, это говно нибуя не компилиццо!". им может помочь (в плане уменьшения расхода нервных клеток ессно, IQ приходит с опытом/возрастом... правда не ко всем... и не всегда...) простенький конструкт (дёшево и сердито, рекомендую кстати):

> sudo zypper in ccache
> mkdir $HOME/bin
> ln -s /usr/bin/ccache $HOME/bin/cc
> ln -s /usr/bin/ccache $HOME/bin/gcc
> ln -s /usr/bin/ccache $HOME/bin/g++
> export PATH="$HOME/bin:$PATH"

если вы уже упёрли kernel-2.6.31.6 (налетай, падхады!), а с офсайта оттяпали набор reiser4 патчей для пионэров - то удача близка, как никогда ранее! осталось всего-ничего: состыковать это богатство в единое целое (Кама-Сутра нам поможет), компильнуть, инстальнуть и ребутнуться.

некоторые индивидуумы перед оправлением большой нужды не заботятся о наличии "облагораживающих рулонов бумаги" поблизости. "не наш метод"(с). выбор каталога для исходников ядра (KERNELSOURCEDIR) и выбор каталога для собранных, но не установленных, файлов (KERNELBUILDDIR) очень важен. хотя бы потому, что в процессе сборки они могут занять до 4-ёх Gb дискового пространства, а то и поболее (если мы лепим модули для разных вариантов настроек ядра). все детали очень хорошо описаны в файле "Linux-2.6*/README" - изучите. и подумайте о добавлении команд "make prepare && make scripts" в рутинный процесс компиляции.

для простоты эксперимента не будем мудрить (распакуем исходники ядра в "/usr/src/"):

> export KERNELSOURCEDIR=/usr/src/linux-2.6.31.6
> export KERNELBUILDDIR=/usr/src/linux-2.6.31.6

готовимся отпатчить исходники по самое "не балуй!":

> mkdir /usr/src/patch_reiser4
> cd /usr/src/patch_reiser4/
> tar xf $PATH_TO_SOURCE/reiser4-for-2.6.31.patch.bz2
> cd /usr/src/patch_reiser4/linux-2.6.3?/
> mkdir my_additional_patches
> cd ./my_additional_patches/
> cp $PATH_TO_SOURCE/bootsplash ./bootsplash.diff

решаем шкурный вопрос о патчах reiser4 *.diff файлов. либо делаем:

> mv /usr/src/linux-2.6.31.6 /usr/src/linux-2.6.31 # и корректируем переменные KERNEL*DIR

либо

> cd /usr/src/patch_reiser4/linux-2.6.31/
> find ./ -type f -exec sed -i 's|\ linux\-2\.6\.31|\ linux\-2\.6\.31\.6|' {} \;

приводим в порядок "bootsplash.diff" заменяя аморфные " a/" и " b/" на имя каталога с нашим новым ядром - "linux-2.6.31.6" или что-там-у-вас-получилось.

настал торжественный момент! "собирайтесь, девки, в кучу, я вам чучу отчебучу!" (наше дерево патчей - в "/usr/src/patch_reiser4/linux-2.6.31/"!)

> cd /usr/src/patch_reiser4/
> find ./linux-2.6.31/ -type f -exec cat {} \; | patch -d /usr/src/ -p0 -i -

если вас устраивает текущее ядро и нет желания изображать из себя "великого оптимизатора" - пришло время расслабиться:

> cd $KERNELSOURCEDIR/
> zcat /proc/config.gz > ./.config
> make oldconfig
> make O="$KERNELBUILDDIR"
> sudo make O="$KERNELBUILDDIR" modules_install install

новые записи уже добавились в меню grub-а, хотя можно и проверить/поправить дефолт:

> sudo vim /boot/grub/menu.lst

можно (и нужно) перегрузить машину на новое ядро и (ежели таки оргазм) - прислать аффтару пиффка для рыффка. последние штрихи:

> sudo depmod -a # на всякий...
> modprobe -v reiser4
insmod /lib/modules/2.6.31.6-0.1-desktop/kernel/lib/zlib_deflate/zlib_deflate.ko
insmod /lib/modules/2.6.31.6-0.1-desktop/kernel/lib/lzo/lzo_compress.ko
insmod /lib/modules/2.6.31.6-0.1-desktop/kernel/lib/lzo/lzo_decompress.ko
insmod /lib/modules/2.6.31.6-0.1-desktop/kernel/fs/reiser4/reiser4.ko

гы :). "Отдохнул - убери за собой!"(с):

> cd $KERNELSOURCEDIR/
> make clean
> zcat /proc/config.gz > ./.config
> make oldconfig
> make prepare
> make scripts

в остатке у нас няшный latest-kernel-stable с поддержкой bootsplash (выглядит как "родной"!) и reiser4 (надеюсь, что мои пакетики с "reiser4progs" уже установлены, да?). дерево исходников очищено от мусора и можно переходить к

* истории второй, печальной и тупой...

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

засада начинается с разблядовки ядра на составляющие по-умолчанию (примерно так это выглядит):

> rpm -qa | grep kernel | sort

kernel-debug-devel-2.6.31.5-0.1.1.i586
kernel-default-devel-2.6.31.5-0.1.1.i586
kernel-desktop-2.6.31.5-0.1.1.i586
kernel-desktop-base-2.6.31.5-0.1.1.i586
kernel-desktop-devel-2.6.31.5-0.1.1.i586
kernel-firmware-20090821-4.1.noarch
kernel-pae-devel-2.6.31.5-0.1.1.i586
kernel-source-2.6.31.5-0.1.1.noarch
kernel-syms-2.6.31.5-0.1.1.i586
kernel-xen-devel-2.6.31.5-0.1.1.i586
linux-kernel-headers-2.6.31-3.4.noarch

получается, что алгоритм решения задачи должен быть примерно следующим:

a) "совместить" "объектные" файлы текущего ядра с основным деревом исходников - т.е. получить единое дерево исходников без разбивок на flavors (pae, xen, default, desktop, etc...) для ТЕКУЩЕГО! работающего ядра! т.е. сделать так, чтобы модуль мог быть подгружен в работающее ядро от SuSE!
b) удостовериться, что новое дерево стабильно и функционально (т.е. можно смело собирать бинари)
c) пропатчить новое дерево reiser4 diff-ами
d) собрать модуль reiser4, загрузить в текущее рабочее ядро
e) испытать оргазм

либо сразу отказаться от выпендрёжа и перейти к "третьему варианту" - подготовке исходников для нового модуля ядра и сборке в соответствии с CODE11.

нетрудно догадаться, что в творческом порыве аффтар не стал выполнять пункты a) и b), после чего ухитрился накомпилять ядро с новыми модулями, перетереть, старое, ребутнуться и "качнуть глибцов" по самые гланды. если кто-то думает, что всё прошло без сучка и задоринки (без разбора rej файлов, дополнительных патчей исходников...) - то он "наивный чукотский юноша". аффтар вспомнил всё и всех.

на вторую попытку силёнок не хватило. энтузиастам предложу ознакомиться с:

> ls /usr/src/linux-2.6.*-obj/$ARCH/$YOUR_FLAVOR

на предмет "соединения" с основным деревом исходников. иначе "не пойдёт!"(c). патчи - аналогично, НО:

N.B.: просмотрите в файлах (желательно пройтись по всем уже наложенным ессно)

/usr/src/packages/SOURCES/patches.suse.tar.bz2
/usr/src/packages/SOURCES/patches.fixes.tar.bz2

какие из патчей для "reiser4" уже присутствуют я ядре openSuSE и измените содержимое reiser4 diff-ов соответственно! иначе... будете как аффтар - ССЗБ.

делать "make install" не надо, тупо скопируйте "reiser4.ko" в "/lib/modules/"`uname -r`"/updates/" и, если всё хорошо, сделайте:

> sudo depmod -a
> modprobe -v reiser4

ня! (или как там получится по обстоятельствам...)

* история третья, коротенькая, но оптимистичная...

есть у меня махонький такой репо для экспериментов в часы досуга:

drivers

как только - так сразу там всё и появится. кому оно надо - загрузят "*.src.rpm" и разберутся без соплей. остальные упрут "reiser4-kmp-$FLAVOR" и будут похрюкивать от удовольствия.

* послесловие:

для модулей ядра стоит быть очень аккуратным с командой "strip". сделайте копию модуля, удалите debug символы, проверьте, загружается ли модуль после этого и только потом "режьте по живому". если нет ОСТРЕЙШЕЙ необходимости - оставьте модули как "not stripped".

вот такая вот музыка, такая, блин, Вечная Молодость...

на закуску перечислим прочие "заслуги" перед "родиной":

* в Enlightenment repo собрали новый снэпшот "fltk2" и "Dillo-2.1.1" (с поддержкой https/ssl - можно даже на gmail.com почту мусолить)

* там же в процессе грандиозная чистка spec-файлов от мусора

* там же обновлены практически все пакеты на текущие версии (включая git/svn/etc...)

* в игрушечном репо собрана новая версия "freetype2-lcd" и "igmpproxy" пропатчен для сборки/работы на openSUSE-11.2

* продолжаем готовить релиз SOAD Linux на базе oS-11.2 - тут всё грустно, ибо многие компоненты, что работают на openSUSE-11.1 в OBS не "портированы" на oS-11.2. да и прочих забот хватает.

пока так. поживём, а там видно будет.

всем удачи!

*/

четверг, 12 ноября 2009 г.

не было печали...

/*
- Вовочка, выйди из класса и зайди, как это делает твой папа!
- ... ща.
пинком выносит дверь с коробкой, рвёт пуговицы на рубашке и орёт в охуевший и притихший класс:
- Шо, с-суки, не ждали?!

история не нова. в очередной раз "тихо и незаметно" на весь OBS спустили новые проверочные пресеты из Factory. "... как это мило...". вроде бы радоваться надо, но... смотрим:

кривые зависимости в пакете
проблемы с автоконфигурацией устройств (заметим мимоходом, что alsaconf теперь "магёт" только ISA карточки и легко ломает нормальную рабочую настройку)
Top 100 - наши, мля, чемпионы...

на этом весёленьком, в цветочек, фоне новые проверки иначе как издевательскими не назовёшь. о начале этой вечеринки можно пофтыкать в одной из моих старых заметок. новый "хит сезона":

+ /usr/lib/rpm/suse_update_desktop_file.sh -r elementary_test Utility Accessibility
ERROR: //tmp/elementary-svn_20091112_r43627-build/usr/share/applications/elementary_test.desktop is not an UTF-8 file
+ exit 1
error: Bad exit status from /var/tmp/rpm-tmp.26363 (%install)

5 баллов. т.е.:
1) мы имеем АБСОЛЮТНО КОШЕРНЫЙ "elementary_test.desktop" файл
2) скармливаем его макросу "%suse_update_desktop_file ", чтобы эта тварь добавила строку "X-SuSE-translate=true" (исключительно специфика SuSE)
3) мы выучили все freedesktop-овы спеки на desktop файло для меню и всё делаем без косяков и по фэн-шую!
4) мы всё равно идём нахуй, ибо файл не UTF-8! (патамучта, бля, все символы "внутри" этого файла в пределах ASCII таблицы и ессно, что он и определяется как ASCII text! yeah baby, yeah!)

если кто-то решит ещё и "*.spec" файлы на UTF проверять - буду старательно рисовать матерные камменты. понятно, что по сути это мелочи, что было/есть благое намерение как-то поправить дела с локализацией и т.п. и т.д.. но на фоне существующих багов в ПО подобные "тонкости и политесы" явно не к месту (да и не ко времени).

возврат в Linux восле OpenBSD проходит тяжело. куда ни глянь - всюду бардак и нихера толком не работает как положено. примеры:

1) в OpenBSD-current моя wi-fi карточка (RT2500 802.11g - RaLink) - на wpa2 выдала "честные" 802.11g и держала канал как трактор накатанную колею - на полную. Linux - сперва прыгаешь с патчами, чтобы monitor mode нормально заработал (aircrack2), потом...

2) звук: в OpenBSD-current всё из коробки согласно списку поддерживаемого оборудования. Linux - ... (отсоси, потом проси...)

3) экспансия xml-конфигов в Linux без удобных средств для их редактирования (достаточно один раз поработать в Mac OS X чтобы понять, как это "для людей" делать надо)

4) Linux: бардак с hal/devkit/polkit/etc... - песнь. есть спеки - но хер поймёшь, что из этих спеков ноне работает. пример: требуется при помощи hal монтировать все "ufs" партиции с опцией "ufstype=44bsd". раньше было просто. добавляем в policy:

<merge key="storage.policy.default.mount_option.ufstype=44bsd" type="bool">true</merge>
<append key="volume.policy.mount_option.ufstype=44bsd" type="bool">true</append>

и мы в шоколаде. все строго по спекам. но нет, именно эти опции надо похерить и отдать на откуп DE (Desktop Environment), а то, что многие предпочитают не использовать DE и обходиться простыми WM-ами (Window Manager) - никого не парит.

и т.д. и т.п.. в результате получается, что c удовольствием рисуешь вот такие странички wiki, и смотришь на Linux чуток... по-другому. enterprise-то конечно из OpenBSD никакой, но...

скоро в моих репо будет всем обновление Enlightenment-DR17-svn (очень удачный и стабильный снэпшот получился) - пользуйте.

на этой мажорной ноте позвольте поздравить всех с релизом openSuSE-11.2 и откланяться.

удачи.

*/

пятница, 6 ноября 2009 г.

кратенько об openSuSE-11.2

/*
- Мы выдержали, мы выстояли, мы победили!
/Брежнев/

негоже сомневаться, что этот релиз будет принят на "ура" поклонниками свистелко-рюшегного kde, ибо теперь "галочка" kde-desktop стоит в инсталлере по умолчанию. удачи. речь пойдёт не о том. релиз намечен на 12 ноября, но кодовая база уже стабильна и Enlightenment-DR17 доступен для новой версии:

репо1 ("extended" set of available components)
репо2 ("official" minimum) - сборка для i586 в процессе

kde не понравился своей аляповатостью, тормозами и невменяемыми настройками (эт кроме багов ессно. тут отдельная история, даже писать не хочу - воротит, хотя не могу не отметить отсутствие Mono в базовом шаблоне установки kde - радует). "/etc/enlightenment/sysactions.conf" - наше всё (там элементарно настраиваются suspend, hibernate и прочие системные процедуры, помимо прочего), да и возможность устанавливать приоритет для ВСЕХ приложений/окон, контролируемых E (Settings -> Advanced -> Performance -> Application Priority) - очень радует. это гораздо более логичный подход для настройки "отзывчивости" иксов, чем перепил кода ядра (ждём, когда и эту идею адаптируют для быдломасс...).

посему, Дамы и Господа, смело можно накатить базовую систему или воспользоваться netinstall диском, если нет желания смотреть, как "-!...! плазма не падает, ЧЯДНТ!?"(c).

ядро - 2.6.31.5
e2fsprogs - 1.41.9 (можно ставить на ext4)
autoconf - 2.63
automake - 1.11
grub - 0.97 (grub-legacy)
gcc version 4.4.1 [gcc-4_4-branch revision 150839] (SUSE Linux)
java-1_6_0-openjdk - 1.6.0.0_b16 (Java 6 compatible Java Runtime Environment is based on OpenJDK 6 and IcedTea 6 - праздник!)
xorg-x11 - 7.4


OBS проекты, являющиеся основой openSuSE-11.2 (нужен Novell account!):
openSUSE:11.2
openSUSE:11.2:Contrib
openSUSE:11.2:Live
openSUSE:11.2:NonFree
openSUSE:11.2:Update

из новшеств - появление сборки ядра kernel-desktop (что ставится по умолчанию). это вариант kernel-pae cо следующими нюансами (заявлена оптимизация для десктопа, но "bfs" нам из коробки не светит...):

CONFIG_HZ_1000=y
CONFIG_HZ=1000
CONFIG_DEFAULT_IOSCHED="cfq"
CONFIG_NO_HZ=y
CONFIG_SMP=y
CONFIG_X86_BIGSMP=y
CONFIG_HIGHMEM64G=y

ничего сверхестественного. в остальном линейка ядер стандартна для oS (openSuSE): kernel-debug, kernel-default, kernel-pae, kernel-rt, kernel-trace (это вариант real-time ядра), kernel-vanilla, kernel-xen. тут только не забыть, что ядро разбито на субпакеты, в которых возможно наличие модулей для вашего железа. например:

i | kernel-desktop | Kernel optimized for the desktop | package
i | kernel-desktop-base | Kernel optimized for the desktop - base modules| package
i | kernel-desktop-devel | Development files necessary for building kernel modules

т.е. "kernel-desktop-base" по умолчанию не устанавливается, а в нём "есть многое, Горацио...". и дивный пакетик - "kernel-firmware" - многих обрадует.

после быстрой установки RC2 на ext2 (да! ибо у нас есть OpenBSD... и ext4 идёт....) начались долгожданные "приколы":

1) описанный ранее способ по прикрутке reiser4 не прокатил (WARNING: /lib/modules/2.6.31.5-0.1-desktop/updates/reiser4.ko needs unknown symbol breakpoint) - чешем на офсайт и чуток развлекаемся :)

2) многим (особенно встроенным!) звуковым картам резко поплохеет (звука не будет, феерично, ибо в OpenBSD-current/4.6 ВСЁ работает!), из дефолтного ядра модули вырезали, а к альсе пока не прикрутили (репо с kmp):
http://download.opensuse.org/repositories/multimedia:/audio:/KMP/
надеюсь, что это временная мера и за оставшиеся 6 дней появится репо/пакет с недостающими модулями. но, если оно не будет работать и дальше, - не удивлюсь ни капли. стоит заметить, что собранный вручную vanilla kernel 2.6.30.6 со звуком проблем не имел.

пересобрал для "kernel-desktop" (мне нужен "via82xx" например) из alsa-driver-kmp - соснул тунца, ибо alsaconf не увидел карточки даже с подгруженным модулем. ппц. надо попробовать откатиться на рабочий вариант из openSuSE-11.1.

рецепт лечения элементарен (выкидываем альсу, не пожалеете, в референсных мониторах разница очень хорошо различима):
* ставим:
kernel-desktop-2.6.31.5-0.1.1.i586
kernel-desktop-base-2.6.31.5-0.1.1.i586
kernel-desktop-devel-2.6.31.5-0.1.1.i586
kernel-firmware-20090821-4.1.noarch
kernel-source-2.6.31.5-0.1.1.noarch
kernel-syms-2.6.31.5-0.1.1.i586
linux-kernel-headers-2.6.31-3.4.noarch
gcc
make
"autotools"

* чешем за пряниками:
скачать OSS

* ставим:
> sudo rpm -Uhv --nodeps ./oss-linux-v4.2-2002.i386.rpm #(надо тупо обойти проверку на отсутствие kernel-devel пакета, ибо у нас он называется чуток по иному)

* стартуем "ossxmix" и кладём с пробором на alsa, pulse и прочие заморочки :)


3) смена раскладки клавиатуры непринуждённо настраивается засовыванием в автозагрузку чего-то похожего на:

#!/bin/sh
setxkbmap -layout us,ru -option grp:lctrl_lshift_toggle,grp_led:scroll -variant winkeys -model "pc(pc104)"

4) "официальные" репо для ATI/NVIDIA пока не готовы - ставим вручную (что даже лучше для целевой системы, что бы не возражали на это утверждение сторонники "пакетов").

5) хорошо, что не выкинули gfxboot с заменой на splashy (то ещё поделие...)

несмотря на статус RC2 система "сыровата". возможно это связано с новыми версиями "autotools"/devel пакетов, может аляповатость и тормознутость kde вызывают неприятие (хотя в моём случае вина на ублюдочной поддержке аудиокарточек, где openSuSE-11.2 соснула у OpenBSD-4.6). очень достойным шагом будет выкинуть нах Firefox из репо openSuSE и поставить с офсайта Mozilla - тем самым вы получите возможность обновляться без задержек и избавитесь от некоего "подтормаживания" при скроллинге страниц (хз почему, подозреваю какие-то косяки с pango - можно проверить параметры сборки, но Mozilla official и так работает без нареканий). единственное, что придётся поправить руками - пару симлинков на плагины.

многие OBS репо пока не готовы к выходу 11.2 - времени до релиза осталось не так много. ситуация повторяется. пинайте мейнтейнеров - самое время, пора прочухаться.

хвалебные оды уменьшению времени загрузки системы (и какая к буям разница, стартанёт оно за минуту или за 5 секунд - суть-то не в этом, а в том, как РАБОТАТЬ будет) и новому "гламурному" дизайну (не понравился) оставим другим. наше дело - прикрыть бронеплитой родную задницу и гарантировать спокойный сон за рабочим столом (подготовить достойный релиз SOAD Linux, лишённый недостатков "родителя")!

удачи!

P.S. недавно сравнивал последний midori и FF от Mozilla - FF откушал примерно на 5-15% больше памяти (10 вкладок, flash, JS и прочая) и субъективно уделал midori по всем остальным критериям. странно, что тест peacekeeper говорит об ином...

*/

воскресенье, 1 ноября 2009 г.

vsftpd - создание файлопомойки

/*
... есть такое слово - samba...

цели:
* выкинуть "самбу"
* анонимусов в chroot и дать им все возможности для самореализации
* локальных/виртуальных лузеров тоже в chroot по домашним каталогам
* всё файло, что зальют аноны, должно иметь mode 0666
* все новые каталоги - mode 0777 (чтобы не парить мозг с правами/чисткой и одминить удалённо тем же ftp-клиентом)
* админов сервиса - в chroot не ставить (или ставить - на выбор, лучше конечно в chroot)

платформа - OpenBSD (ибо тут есть где развернуться), но должно работать везде. подробности о том, как установить и запустить vsftpd опустим. всем пользователям прочих фтп (особенно proftpd) пожелаем удачных обновлений и не скучать :). поехали...

* создаём chroot для анонимусов:
(Прим.: лучше загнать в ~/tmp/vsftpd/anon, а одминов сервиса - в ~/tmp/vsftpd)

> mkdir -p ~/tmp/vsftpd
> chmod 555 ~/tmp/vsftpd
> sudo echo 'anon_root=!ПОЛНЫЙ_ПУТЬ!/tmp/vsftpd' > /etc/vsftpd.conf
> mkdir -p ~/tmp/vsftpd/pub
> chmod 555 ~/tmp/vsftpd/pub
> mkdir -p ~/tmp/vsftpd/upload
> chmod 777 ~/tmp/vsftpd/upload

* добиваем /etc/vsftpd.conf

# Allow anonymous FTP? (Beware - allowed by default if you comment this out).
#anonymous_enable=NO
anonymous_enable=YES
#
# Uncomment this to allow local users to log in.
local_enable=YES
#
# Uncomment this to enable any form of FTP write command.
write_enable=YES
#
# Default umask for local users is 077. You may wish to change this to 022,
# if your users expect that (022 is used by most other ftpd's)
local_umask=000
anon_umask=000
chown_upload_mode=0666
file_open_mode=0666
#
# Uncomment this to allow the anonymous FTP user to upload files. This only
# has an effect if the above global write enable is activated. Also, you will
# obviously need to create a directory writable by the FTP user.
anon_upload_enable=YES
#
# Uncomment this if you want the anonymous FTP user to be able to create
# new directories.
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

# Activate directory messages - messages given to remote users when they
# go into a certain directory.
dirmessage_enable=YES
#
# Activate logging of uploads/downloads.
xferlog_enable=YES
dual_log_enable=YES
#
# Make sure PORT transfer connections originate from port 20 (ftp-data).
connect_from_port_20=YES
# You may override where the log file goes if you like. The default is shown
# below.
xferlog_file=/var/log/xferlog.log
vsftpd_log_file=/var/log/vsftpd.log
#
# If you want, you can have your log file in standard ftpd xferlog format.
# Note that the default log file location is /var/log/xferlog in this case.
xferlog_std_format=YES
# It is recommended that you define on your system a unique user which the
# ftp server can use as a totally isolated and unprivileged user.
nopriv_user=_vsftpd
ftp_username=anonftp
# You may specify a file of disallowed anonymous e-mail addresses. Apparently
# useful for combatting certain DoS attacks.
deny_email_enable=YES
# (default follows)
banned_email_file=/etc/vsftpd.banned_emails
#
# You may specify an explicit list of local users to chroot() to their home
# directory. If chroot_local_user is YES, then this list becomes a list of
# users to NOT chroot().
chroot_local_user=YES
chroot_list_enable=YES
# (default follows)
chroot_list_file=/etc/ftpchroot
#
# You may activate the "-R" option to the builtin ls. This is disabled by
# default to avoid remote users being able to cause excessive I/O on large
# sites. However, some broken FTP clients such as "ncftp" and "mirror" assume
# the presence of the "-R" option, so there is a strong case for enabling it.
ls_recurse_enable=YES
#
#
# If enabled, vsftpd will load a list of usernames from the filename
# given by userlist_file. If a user tries to log in using a name in this
# file, they will be denied before they are asked for a password.
# This may be useful in preventing clear text passwords being transmitted.
userlist_enable=YES
#
# This option is the name of the file loaded when the userlist_enable
# option is active.
userlist_file=/etc/ftpusers
#
# This option should be the name of a directory which is empty. Also,
# the directory should not be writable by the ftp user. This directory
# is used as a secure chroot() jail at times vsftpd does not require
# filesystem access.
secure_chroot_dir=/var/empty
#
# The minimum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
pasv_min_port=49152
#
# The maximum port to allocate for PASV style data connections.
# Can be used to specify a narrow port range to assist firewalling.
pasv_max_port=65535
#
# By default, numeric IDs are shown in the user and group fields of
# directory listings. You can get textual names by enabling this parameter.
# It is off by default for performance reasons.
text_userdb_names=YES
# When "listen" directive is enabled, vsftpd runs in standalone mode and
# listens on IPv4 sockets. This directive cannot be used in conjunction
# with the listen_ipv6 directive.
listen=YES


imho для новичков есть несколько моментов, заслуживающих внимания:

> sudo touch /etc/vsftpd.banned_emails
(иначе "не пойдёт!")

> sudo useradd -d !ПОЛНЫЙ_ПУТЬ!/tmp/vsftpd -s /sbin/nologin anonftp
(иначе в OpenBSD сервис не стартанёт, ибо ftp_username по-умолчанию не объявлен)

> sudo echo 'ИМЯ_ОДМИНА_СЕРВИСА' >> /etc/ftpchroot
(а все остальные гаврики встанут в chroot в своих домашних каталогах)

в "/etc/ftpusers" у нас список тех, кому доступ на ftp заказан. также у нас УЖЕ есть пользователь "_vsftpd" с шеллом "/sbin/nologin" и несуществующим домашним каталогом (требуется по nopriv_user параметру). ACHTUNG! при подобном раскладе все симлинки, "вылетающие" за chroot, идут лесом (и это правильно. в Linux используем конструкцию "mount --bind -o ro" для наполнения "~/tmp/vsftpd/pub", в OpenBSD аналога "mount --bind" нет, сосём заполняем вручную). в "~/tmp/vsftpd/pub" закидываем контент и пишем "~/tmp/vsftpd/README!" файл с общим набором правил пользования сервисом.

всё, база готова. но решение несколько не кошерно. можно (и нужно) одминов сервиса также загнать в chroot, дав им хомяка в ~/tmp, а лучше - скинув анона в ~/tmp/vsftpd/anon (и хомяк одминам в ~/tmp/vsftpd) - тогда все будут счастливо возиться в песочнице и ваш сон никто не потревожит.

на что можно обратить внимание:

anon_max_rate
The maximum data transfer rate permitted, in bytes
per second, for anonymous clients.
Default: 0 (unlimited)
local_max_rate
The maximum data transfer rate permitted, in bytes
per second, for local authenticated users.
Default: 0 (unlimited)
max_per_ip
If vsftpd is in standalone mode, this is the maxi-
mum number of clients which may be connected from
the same source internet address. A client will get
an error message if they go over this limit.
Default: 0 (unlimited)

очень нравятся настройки ниже - можно спокойно и DSA вломить:

ssl_enable=YES
# Should include both certificate and key
rsa_cert_file=/your/cert/file
force_local_logins_ssl=YES
force_local_data_ssl=YES
force_anon_data_ssl=YES
force_anon_logins_ssl=YES
ssl_ciphers=DES-CBC3-SHA

также для хостеров порно полезен параметр (файлы доступны только если знать их имя, просмотр директории их не отобразит):

hide_file={*.mp3,.hidden,hide*,*.avi}

управление дисковыми квотами оставляем за OCью (эт элементарно).

собсно наше упражнение сукесфули комплитед, все новые каталоги получают mode 777 (непринуждённо удаляются одминами сервиса), новое файло, залитое анонами, mode 666, "самба" RIP.

удачи.

*/