пятница, 7 декабря 2007 г.

OpenBSD - всё для Человека и ради Человека...

*
Ребята из E-community попросили взглянуть на "нюансы" компиляции и установки под OpenBSD (може памятуя о том, что для FreeBSD мой скрипт отработал без ошибок сборку одним из первых). "Гавно вапрос!" - подумал я... "Попалсо?! - раком!" - подумал установочный диск OpenBSD-4.2 (а будь я на его месте - то подумал бы ещё и не так!)...

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



Посмотрели на картинку? Вспомнили поговорку: "No Blow - No Go!"? (прим.переводчика: "не дунешь - не полетишь!") "Дунули"? Повторили? Тогда продолжим...

Я не могу пройти мимо фразы из FAQ-а: "It might be worth noting that a large amount of OpenBSD development is done on laptops." (прим.переводчика: "сие есть сущая безделица, что громадьё кода системы писано именно на ноутбуках.") Как же это здорово! - думалось мне, крепчал энтузиазм, надежда, что разработчики в кои-то веки близки к народу с его скромными чаяниями: простая, строгая, надёжная система с отличной документацией, с поддержкой пусть и не самого нового железа, но именно такого, "что в масть". Да ещё и секурная, да ещё и из Канады (не подвержена "патентным игрищам"), да...ах! Мячта!!! ОНО!!! Родимоё!!! Впрочем, любые "розовые шарики мячты" имеют свойство разлетаться вдребезги, столкнувшись с жёсткой шкурой реальности. Начало было положено документом INSTALL.linux . Первая мысль: "Вот это - КРУТЬ! Это ж про меня! У меня же окромя... хм... начать "список" с Plan9 или закончить?... не важно, но при виде сего документа (ДО прочтения) я готов был записаться в Патриоты, что дорогого стоит." Верный заветам дедушки Ленина - учиться, учиться и ещё раз учиться - штудировал документацию на сайте проекта, трепетно лелея двухсотмегабайтовую инсталляционную исошку. "Юноша бледный со взглядом горящим". И тут значит смотрю на первую строку сего "циркуляра" - v 1.12 2004/08/18 08:57:33 - ого-го! Стабильность! Каноны! Написано раз - и на века! И фраза: "Or use the commercial offering Partition Magic." Оп-па... Эт что, слова parted + ntfsprogs этим "дядям" не знакомы? Далее по тексту выясняется, что "дружеское" сосуществование Linux и FreeBSD у "дяденьки" токмо с ext2 и fat партициями... То был первый "удар колокола". Ваш-то покорный слуга имеет в пользовании Reiser-3.6 (в основном), Xfs, Jfs, Hfs+(да-да-да, и не надо пальцем тыкать), Bfs, чуток Venti и конечно Fat-опомойку, бо без неё никак... И когда в последних абзацах сего "указателя" достопочтенный "автор" выливает ушат нечистот с радостным гиканьем: "A word of caution: brain-damaged linux installations" - понимаешь сразу, что сие есть "перебор". Да простят мне, убогому, подобное утрирование, но Linux на сегодня - это (процитирую своё же более раннее высказывание) "единственная ОСь, которую можно установить хоть в /dev/ass при наличии у того бутсектора 512-ти байт. И будет работать." Естественно, что вопрос: "Какие именно файловые системы поддерживает OpenBSD и как?" требовал немедленного ответа. Попробуйте найти его самостоятельно, не имея под рукой уже установленную OpenBSD (в смысле не потроша саму систему и её документацию). "Список - в Студию!" - проорал популярный некогда телеведущий под мощный аккомпанимент фанфар... Не вопрос:


> man fstab

The system currently supports the following types of filesystems:

cd9660 An ISO 9660 CD-ROM filesystem.
ext2fs A local Linux compatible ext2fs filesystem.
ffs A local UNIX filesystem.
mfs A local memory-based UNIX filesystem.
msdos An MS-DOS FAT filesystem.
nfs A Sun Microsystems compatible Network File System.
ntfs An NTFS filesystem.
procfs A local filesystem containing process information.
swap A disk partition to be used for swapping.
udf A UDF filesystem.
vnd A VND image file.

и скромненько так, между прочим, что ntfs - только на чтение и до сих пор "экспериментально". "Щастья мало не бывает" - попёр на nvidia.com искать утешения в кошерных, TRUE, дровах на свою "старушку". Э-э... Все хорошо расслышали громкие причмокивающие звуки, что я издал, придя на оный сайт? "Надо брать!" - сказала Машенька Защекова, хоть и была ну Очень порядочной девушкой... Для повторения легендарного анектода про Золотую Рыбку и "пусть сбудется всё, что скажет наш боцман, проснувшись завтра на рассвете" осталось лишь найти несоответствие в "подручном" железе и списке поддерживаемого оборудования. Не нашёл. Ха. Ха. Ха.

К чёрту слюни и сантименты -> разгрузка одной из Fat-опомоек -> wodim -> "болванка" -> init 0 ->

> sudo fdisk wd2

Disk: wd2 geometry: 14593/255/63 [234441648 Sectors]
Offset: 0 Signature: 0xAA55
Starting Ending LBA Info:
#: id C H S - C H S [ start: size ]
------------------------------------------------------------------------
0: 07 0 1 1 - 6501 254 63 [ 63: 104454567 ] HPFS/QNX/AUX
*1: A6 6502 0 1 - 10548 254 63 [ 104454630: 65015055 ] OpenBSD
2: 0B 10549 0 1 - 14592 254 63 [ 169469685: 64966860 ] Win95 FAT-32
3: 00 0 0 0 - 0 0 0 [ 0: 0 ] unused

-------------------------------------------------------------------------

> sudo disklabel wd2

# Inside MBR partition 1: type A6 start 104454630 size 65015055
# /dev/rwd2c:
type: ESDI
disk: ESDI/IDE disk
label: ST3120026A
flags:
bytes/sector: 512
sectors/track: 63
tracks/cylinder: 255
sectors/cylinder: 16065
cylinders: 14593
total sectors: 234441648
rpm: 3600
interleave: 1
trackskew: 0
cylinderskew: 0
headswitch: 0 # microseconds
track-to-track seek: 0 # microseconds
drivedata: 0

16 partitions:
# size offset fstype [fsize bsize cpg]
a: 20980890 104454630 4.2BSD 2048 16384 1
b: 3148740 125435520 swap
c: 234441648 0 unused 0 0
d: 40885425 128584260 4.2BSD 2048 16384 1
i: 104454567 63 unknown
j: 64966860 169469685 MSDOS


и прыжок со скалы без парашюта в порядочных размеров отстойник с "фиалками" с целью "дозвониться" по "ВПН" к своему Провайдеру и "хапнуть" глоток свежих "портов" и "пакетов". Мдэ... Документация оказалась "на уровне". В "манах" кажется понаписали про всё на свете, кроме моего, совершенно рядового случая. Конструкция вырисовывалась презабавнейшая. Кама-Сутра где-то описывает похожие отношения и позы, только применимо к Homo Sapience, а не /dev/rl0 + /dev/tun (что меня интересовало зело поболе в тот момент времени). Карета "Скорой помощи" в лице (!кого бы Вы думали!) Anonymous-a! (та-дам! занавес!) подкатила с серверов Corbina, кои я Очень Уважаю за q3dm6.ru и Clan Arena в частности.



Вот она какая! Псиса молодая! Оргазм!? - Лучше!!!

Очередная партизанская засада поджидала на тропе "русификации"... Слов в принципе остаётся всё меньше, для характеристики ситуации (вернее это - уже более смахивает на диагноз, а не на "ситуацию"):

1. Припадаем к "канонам".
2. Возвращаемся ...гхм... не солоно хлебавши (при условии, что мы НЕ ХОТИМ и НЕ БУДЕМ пересобирать ядро - что есть первостатейная заявка как минимум на дикую криворукость мэйнтейнеров, не умеющих / не желающих предлагать универсальные решения. Если что-то сделать нельзя - то так и надо об этом говорить, а не городить огород).

Возвращаемся к "нашему" FAQ-у. Читаем громко и с выражением первые два абзаца (перевод вольный):

"Не взирая на то, что OpenBSD есть суть не что иное, как традиционный TRUE Юникс, знакомый и близкий всем, кто общался с подобными*, в нём есть кое-какие отличия. Ежели Вы только и имели счастья поиграться с Linux-ом - то OpenBSD Вам покажется 'странным'`. Для тех же, кто начинал с OpenBSD, 'странным' покажется Linux. Вы ОБЯЗАНЫ понять разницу между 'стандартом' и Вашим личным опытом.

Ежели Вы изучали Юникс по ХОРОШИМ книжкам, то OpenBSD - Ваш Друг, Товарищ и Брат. В противном случае всё будет с точностью до наоборот."

(прим*. - Очень Грамотно не приведены примеры таких же, как и OpenBSD, традиционных и true Юниксов)
(прим`. - угу, только вот "нюансы" - они ведь разные...)

ШЕДЕВР!!! Учить наизусть! Я не жалею ни о чём только за ту радость, что испытываю каждый раз, перечитывая эти два абзаца.

Возвращаясь к нашим "баранам". Для OpenBSD-4.2 я добился приемлимого результата в русификации сделав несколько простых "шагов":


1. Качаем 'bash-3.2.17 GNU Bourne Again Shell' и ставим его шеллом по умолчанию для всех.

2. > cat /etc/wsconsctl.conf

keyboard.encoding=ru # use different keyboard encoding
keyboard.bell.volume=0 # mute keyboard beep
keyboard.map+="keycode 157 = Mode_Lock" # switch by Right Ctl

3. > cat /etc/rc.local

if [ -x /usr/sbin/wsconscfg -a -x /usr/sbin/wsfontload ]; then

for SCREEN in 2 3 4 5 6 7 8 9 10 11; do
/usr/sbin/wsconscfg -d $SCREEN
done

/usr/sbin/wsfontload -h 16 /usr/share/misc/pcvtfonts/koi8-r-8x16

for cons in 2 3 4 5 6 7 8 9 10 11; do
wsconscfg -t 80x25bf $cons
done

fi



то бишь тупенько вырезаем дефолтные "скрины", грузим koi8-r шрифт и восстанавливаем "скрины" с нормальным koi8-r шрифтом.




где-то так... в следующей части этого "опуса" будет история собственно о сборке и тестировании E17-го в таком водъ, труЪ, Юниксе... панимаш...

7 комментариев:

virens комментирует...

Да, пост знатный! :-) Потрясает напором, художественной силой и эмоциональной убедительностью на все 100%. Я покорён, раздавлен и нервно курю в сторонке :-)

В тему. Система канадская, и там, сколь мне память не изменяет, принята латинница. А кому не латинница, тот припадёт к канонам. :-) И потом, не унижаться же труЪюниксу до какой-то там кириллицы, в конце концов. И претензии к драйверам на видеокарту тоже, скажем так, не по адресу: не компиз же гонять на опенБСД! Для этого есть пошлый линукс...

В общем, жду продолжения эпопеи!

Анонимный комментирует...

Забавно :)
А разве нельзя было поставить на qemu/virtualbox? Я вот, начитавшись, щяс попробую.

Еще вопрос. Можно E16 заставить удерживать выбранныю раскладку для каждого окна, как в WindowMaker'e, без сторонних переключалок?

sda комментирует...

Можно E16 заставить удерживать выбранныю раскладку для каждого окна, как в WindowMaker'e, без сторонних переключалок?

в принципе модуль по переключению раскладок появился лишь в E17-ом. для E16-го и ранее настраивал глобально в xorg.conf, что прекрасно работало и с прочими WM-ами. для "удержания" скорее всего придётся пользовать Kkbswitch, Xxkb, Gneur/Xneur или что-то похожее...

Анонимный комментирует...

Понял, спасибо.

ddc комментирует...

Занятный опус, ничего не скажешь...
Вот сколько ни читал советы по русификации OpenBSD, никак не пойму одну вещь. Может Вы меня просветите?..
На хрена в не- locale-основной системе переводить консоль? Разве кириллицы в иксах не хватает?

И ещё: а религия не позволяет хоть немного почитать перед всовыванием диска в дисковод? Например, в половине статей про OpenBSD (как и в статьях про безопасность в X11) написано, что в OpenBSD нет никакого аппаратного ускорения Х11 в силу принципиальной небезопасности конструкции. Да и статьи о VPN в OpenBSD найти в интернете совсем не сложно...

sda комментирует...

ddc
приветствую,

вы видимо не сталкивались с обыденными рабочими ситуациями, когда сидя в том же ssh надо или файлопомойку разгрести, или быкап создать/восстановить или покопаться grep-ом в почтовых ящиках или... imo - есть правило: кодировка имён файлов и текста должна быть одинаковой. следовательно или у нас везде ascii, что неприемлимо, или везде всё одинаково, что в случае дефолтной OpenBSD подразумевает тотальный KOI8-R.

по поводу отсутствия аппаратного ускорения в дефолтных дровах Xorg-а, что идёт как проект xenocara в OpenBSD - вы пытаетесь шутить, троллить или элементарное незнание предмета? может не будем путать сторонние бинарные/ассемблерные включения проприетарных драйверов и элементарную поддержку железа при наличии доступа к спекам? опять же OpenBSD позволяет компиляцию и включение сторонних модулей ядра, а отсутствие дров от nVidia есть собственно инициатива самой nVidia.

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

zlop комментирует...

отжег про пересборку ядра для русификации(!). этож откуда такое ты придумал? в том же ФАке девелоперы советуют не пересобирать ядро.

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

к вопросу о "тру юникс": линукс был написал практически с нуля, и называть его "тру юникс" глупо.
а оБСД(как и все *БСД) берет свои истоки из 4.3BSD. так что учи основы(.