OpenBSD для начинающих, часть III

Некоторые базовые вещи, к которым я привык, но которые не являются обязательными.

Устанавливая недавно Windows XP для проверки ноутбуков, и оказавшись в чистой системе, я мучительно вспоминал, как же довести систему до хоть сколько нибудь юзабельного состояния. К счастью, пользоваться ею мне не пришлось, разве что записать одну игру (загрузившись, естественно, в OpenBSD) и потом запускать её через Проводник.

В OpenBSD, конечно, даже после базового изучения это потом вспомнится и через 10 лет, но всё же я для своего удобства после установки проделываю некоторые действия. На моём примере новички смогут узнать, что такие действия существуют. :)

Деактивация KARL

Механизм KARL для регулярной пересборки ядра на лету занимает лишние 200-300 мб и на слабых компьютерах - внушительное время на компиляцию. Кроме того, на 64 мб без свопа процесс сборки просто падает. Поэтому, для старых, слабых компьютеров с тесными дисками эту штукенцию, появившуюся в OpenBSD 6.2, лучше просто прибить на взлёте.

Для этого, после установки системы, когда появится вопрос. где автоматом будет ответ [done], нужно ввести ! и нажать Enter, затем в консоли ввести rm /mnt/usr/share/compile.tgz (работает автокомплит) и вернуться с помощью exit

Installing bsd          100% |**************************| 12777 KB    00:01
Installing bsd.rd       100% |**************************|  9565 KB    00:01
Installing base62.tgz   100% |**************************|   139 MB    01:01
Extracting etc.tgz      100% |**************************|   189 KB    00:00
Installing man62.tgz    100% |**************************|  7008 KB    00:04
Installing game62.tgz   100% |**************************|  2718 KB    00:01
Location of sets? (cd0 disk http or 'done') [done] !
Type 'exit' to return to install.
# rm /mnt/usr/share/compile.tgz
# exit
Location of sets? (cd0 disk http or 'done') [done]
Saving configuration files...done.
Making all device nodes...done.

CONGRATULATIONS! Your OpenBSD install has been successfully completed!
To boot the new system, enter 'reboot' at the command prompt.
When you login to your new system the first time, please read your mail
using the 'mail' command.

#

Редактирование нужных конфигов с помощью ed

Вот вы и дождались установки системы. Но не спешите вводить reboot

На любом установочном носителе, включая 1.44 дискету, есть редактор ed. Который изначально непривычен, но основные несколько команд заучиваются очень легко и затем установочный образ можно всегда использовать, как спасательный.

Действие первое - включение softdep до первой загрузки (чтобы не включать его в готовой системе с лишней перезагрузкой). softdep штука номинально полезная, поэтому лучше включить. Если вы хотите спросить, что это такое, так я и сам толком не знаю :) Это что-то вроде отложенной записи на диск - на системах с 64 мб и меньше я его не включаю, на остальных обычно включаю. Испытывайте на своих системах сами, как у вас быстрее, с softdep или нет. Я лишь покажу, как его включить с помощью редактора ed

Включение softdep

# ed /mnt/etc/fstab
164
,n
1       258aeabf0cddd69d.b none swap sw
2       258aeabf0cddd69d.a / ffs rw 1 1
3       258aeabf0cddd69d.e /home ffs rw,nodev,nosuid 1 2
4       258aeabf0cddd69d.d /usr ffs rw,wxallowed,nodev 1 2
2,4s/rw/rw,softdep/
2,4n
2       258aeabf0cddd69d.a / ffs rw,softdep 1 1
3       258aeabf0cddd69d.e /home ffs rw,softdep,nodev,nosuid 1 2
4       258aeabf0cddd69d.d /usr ffs rw,softdep,wxallowed,nodev 1 2
w
188
q
# 

Итак, что мы тут ввели...

,n - показать строки с первой по последнюю с номерами строк (n). Эта команда аналогична 1,$n, только пропущены первый (1) и последний ($) параметры, которые означают, соответственно, первую и последнюю строку.

2,4s/rw/rw,softdep/ - в строках со 2 по 4-ю заменить rw на rw,softdep

2,4n - вывести строки со 2 по 4 с номерами строк, чтобы убедиться, что всё сработало нормально.

w - записать файл. q - выйти из ed

Более весёлый терминал

vt220, который идёт по умолчанию, хоть и максимально совместим со всем, но запустив, например, mc, вы увидите, что кнопки ведут себя не так, как требуется и цветов всего два - белый и чёрный. Я обычно ставлю терминал wsvt25 для голой консоли (и xterm-256color для иксов). Итак, поменяем параметр для первых четырёх консолей (которые переключаются по CTRL-ALT-F1 - CTRL-ALT-F4, пятая для иксов, а шестая пусть будет vt220 для совместимости)

# ed /mnt/etc/ttys
23002
5,15n
5       #
6       console "/usr/libexec/getty std.9600"   vt220   off secure
7       ttyC0   "/usr/libexec/getty std.9600"   vt220   on  secure
8       ttyC1   "/usr/libexec/getty std.9600"   vt220   on  secure
9       ttyC2   "/usr/libexec/getty std.9600"   vt220   on  secure
10      ttyC3   "/usr/libexec/getty std.9600"   vt220   on  secure
11      ttyC4   "/usr/libexec/getty std.9600"   vt220   off secure
12      ttyC5   "/usr/libexec/getty std.9600"   vt220   on  secure
13      ttyC6   "/usr/libexec/getty std.9600"   vt220   off secure
14      ttyC7   "/usr/libexec/getty std.9600"   vt220   off secure
15      ttyC8   "/usr/libexec/getty std.9600"   vt220   off secure
7,10s/vt220/wsvt25/
7,10n
7       ttyC0   "/usr/libexec/getty std.9600"   wsvt25  on  secure
8       ttyC1   "/usr/libexec/getty std.9600"   wsvt25  on  secure
9       ttyC2   "/usr/libexec/getty std.9600"   wsvt25  on  secure
10      ttyC3   "/usr/libexec/getty std.9600"   wsvt25  on  secure
w
23006
q
# 

Тут всё примерно то же самое. Я помню, что эти параметры где-то в начале, поэтому прошу показать строки с 5 по 15 с номерами строк. Меняю в строках с 7 по 10 vt220 на wsvt25, убеждаюсь в этом выводом этих строк и записываю файл.

Жизнь после reboot

Теперь ребут и перезагрузка в новую систему. Тут тоже можно навести несколько мелких необязательных штрихов.

Если установка происходила с CD, то лучше сразу прописать репозиторий:
echo http://mirror.yandex.ru/openbsd > /etc/installurl

Сглаживание шрифтов

Я обычно использую следующие настройки (я обычно использую mc, но для консольных команд есть автокомплит) (во второй и третьей строке - малозаметная точка после пробела).

cd /etc/fonts/conf.d
ln -s ../conf.avail/10-autohint.conf .
ln -s ../conf.avail/10-sub-pixel-rgb.conf .

Запуск иксов через startx

В дефолтной поставке OpenBSD идёт три оконных менеджера: twm, fvwm и cwm. cwm, на мой взгляд, самый простой и самый легковесный, но и с самый неочевидный - там нет панелей, декораций окон, и вообще, если просто запустить cwm без ничего, непонятно, работает он вообще или нет. :) Впоследствии cwm можно заменить на другой менеджер, установленный из пакетов (например, pkg_add icewm, и в .xinitrc cwm заменить на icewm-session)

Пример файла .xinitrc

export LANG=ru_RU.UTF-8
export LC_ALL=$LANG

setxkbmap us,ru -option grp:caps_toggle

synclient TapButton1=1
synclient VertEdgeScroll=1

xterm &

xsetroot -solid steelblue

cwm

Первые две строки устанавливают русскую локаль.

Третья строка устанавливает переключение Rus/Lat через Caps Lock

Четвёртая и пятая - команды для драйвера synapics для тапа мышкой и прокрутки по краю тачпада соответственно.

xterm & - это запуск xterm в фоновом режиме, чтобы на экране было хоть что-то :) Новый терминал в cwm открывается сочетанием клавиш Ctrl-Alt-Enter

Шестая строка - обои :) Чтобы не ломать глаза об решётку X, которая является обоями по умолчанию, фон заливается мягким синим цветом.

cwm - запуск самого cwm

Собрав подобный .xinitrc в своей домашней директории, можно запускать иксы командой startx

Тестирование звука

Ввиду уже описанных мною проблем со звуком на Pentium III, лучше сразу протестировать звук. Лучше всего для этого взять пакет vorbis-tools с минимальными зависимостями. Там есть утилита ogg123, проигрывающая ogg-файлы.

# pkg_add vorbis-tools    
quirks-2.367 signed on 2017-10-03T11:21:28Z
quirks-2.367: ok
vorbis-tools-1.4.0p4:libogg-1.3.2p0: ok
vorbis-tools-1.4.0p4:speexdsp-1.2rc3: ok
vorbis-tools-1.4.0p4:speex-1.2.0: ok
vorbis-tools-1.4.0p4:nghttp2-1.26.0: ok
vorbis-tools-1.4.0p4:curl-7.55.1: ok
vorbis-tools-1.4.0p4:libiconv-1.14p3: ok
vorbis-tools-1.4.0p4:flac-1.3.2p1: ok
vorbis-tools-1.4.0p4:libvorbis-1.3.5: ok
vorbis-tools-1.4.0p4:gettext-0.19.8.1p1: ok
vorbis-tools-1.4.0p4:libao-1.2.0p1: ok
vorbis-tools-1.4.0p4: ok
# 

Для тестирования я традиционно использую новые саундтреки из tbftss 1.3, которую я никак не могу пропихнуть в основной реп:

# ftp ftp://51t.ru/pub/ogg/*
Connected to 51t.ru.
220 51t.ru FTP server ready.
331 Guest login ok, send your email address as password.
230 Guest login ok, access restrictions apply.
Remote system type is UNIX.
Using binary mode to transfer files.
200 Type set to I.
250 CWD command successful.
Retrieving pub/ogg/*
local: Her_Violet_Eyes.ogg remote: Her_Violet_Eyes.ogg
150 Opening BINARY mode data connection for 'Her_Violet_Eyes.ogg' (2561219 bytes).
100% |**************************************************|  2501 KB    00:05    
226 Transfer complete.
2561219 bytes received in 5.54 seconds (451.78 KB/s)
local: Tactical_Pursuit.ogg remote: Tactical_Pursuit.ogg
150 Opening BINARY mode data connection for 'Tactical_Pursuit.ogg' (1947123 bytes).
100% |**************************************************|  1901 KB    00:01    
226 Transfer complete.
1947123 bytes received in 1.72 seconds (1.08 MB/s)
local: covert_operations.ogg remote: covert_operations.ogg
150 Opening BINARY mode data connection for 'covert_operations.ogg' (1260199 bytes).
100% |**************************************************|  1230 KB    00:01    
226 Transfer complete.
1260199 bytes received in 1.58 seconds (781.07 KB/s)
221 Goodbye.
# 

# ogg123 *.ogg

Теперь, если звук играет и не заикается, значит это хорошо :). Громкость регулируется с помощью утилиты mixerctl:

# mixerctl outputs.master=255

Полученное значение можно записать в /etc/mixerctl.conf (пример файла есть в /etc/examples/mixerctl.conf




Своими мнениями об OpenBSD или комментариями к материалу делитесь в разделе openbsd.talk.
Требуется регистрация имени, но она займёт не более 5 секунд.