OpenBSD - заметки конечного пользователя
Первые впечатления, первые настройки
И так, установка системы позади. Настало время знакомства с ней. Каковое и начинается перезагрузкой. В первый раз она у меня проходит не без приключений, но об этом я расскажу в заметке о сосуществовании Linux и OpenBSD. Пока же замечу, что система эта вполне способна грузиться самыми различными способами - через такие загрузчики, как lilo или, скажем, grub (правда, не во всех случаях). А также - и просто со второго жесткого диска, если в BIOS Setup есть соответствующая опция. Что и имело место быть в моем случае.
Загрузка происходит точно так же, как и перед инсталляцией. Мелькают сообщения об обнаружении всяческого железа (причем, как неожиданно выяснилось, кое-что из него настраивается само собой - прямо Plug'n'Play какой-то), дисках и прочем. И, наконец, появляется серия не очень понятных сообщений и предложение выбрать тип терминала, по умолчанию - pcvt; поскольку не знаю, есть ли у меня на самом деле выбор (да и потому, что это - стандартная для OpenBSD система управления консолью), соглашаюсь. За что в награду получаю приглашение в виде решетки - авторизоваться. Что и проделываю - для первого раза назвавшись root'ом.
Я уже говорил, что инсталляция системы происходила фантастически быстро. И теперь становится понятно, почему: практически никаких привычных приложений в базовом комплекте нет. После авторизации я оказываюсь один на один с системой, в окружении командной среды csh (которую практически не знаю), вооруженный лишь редактором vi (к коему так и не смог привыкнуть). Ни тебе Midnight Commander, ни человечьего редактора.
Попытке запустить X успех не сопутствует - ввиду отсутствия XF86Config. Разумеется, смешно ожидать каких бы то ни было русских букв. Однако на данном этапе это - из области роскошного. Поскольку самая нынче насущная задача - освоить базовые манипуляции и создать сколько-нибудь приемлемую обстановку для работы.
До знакомства с BSD-системами я как-то не осознавал того факта, что такие привычные действия, как пролистывание экрана или переключение на виртуальные консоли - не неотъемлемое свойство системы как таковой, а зависят от типа терминала. Здесь, в OpenBSD, как уже было сказано, он опять-таки свой - pcvt. И начать следует с изучения его особенностей.
Помнится, во FreeBSD я немало времени потратил на поиски способа пролистывать экраны (оказалось, что это делается при включенном ScrollLock). Здесь, правда, экран прокручивается привычным по Linux способом - с помощью комбинации Shift+PageUp/PageDown. Но зато попытка переключиться на другую виртуальную консоль клавишами Alt+F# ни к какому результату не приводит.
Методом научного тыка, однако, можно определить, что для этой цели служит комбинация Alt+Control+F#, как в X Window. С одной стороны, логично - и в графическом, и в текстовом режиме переключатель консолей одинаков. Но, с другой стороны, использовать такую комбинацию одной рукой (если это не лапа неандертальца) несколько затруднительно. А ведь вторая рука задействована под мышь (для выделения и вставки текстовых блоков, скажем). Впрочем, переживать по этому поводу пока не приходится: мыши в текстовом режиме также нет.
Зато есть второй способ переключения между консолями, правда, только двумя: клавишами Shift+F1/F2. При этом задействуются 5-я и 6-я виртуальные консоли (dev/ttyC4 и dev/ttyC4, соответственно), Почему именно этими - становится ясно после установки X Window: под нее по умолчанию зарезервировано dev/ttyC4, и комбинацией Shift+F1 легко перейти в графическую консоль. Впрочем, из нее на консоли текстовые можно перейти только обычным образом - с помощью Alt+Control+F#, в ответ на нажатие Shift+F2 в X Window не происходит ничего.
Решив проблему виртуальных консолей, можно двигаться дальше: теперь есть возможность на одной консоли читать документацию, на другой просматривать файловую систему, на третьей - править конфигурационные файлы. Однако прежде, возможно, потребуется настроить привычную среду обитания.
Я не имею ничего против среды csh. Готов даже признать, что синтаксис ее более компактен и логичен, чем в bash. Однако последняя - удобней в использовании - одно автодополнение команд и путей клавишей табуляции дорогого стоит. Да и привычней она, в конце концов. Кроме того, желательно иметь какой-никакой редактор, помимо vi.
Благо, установка пакетов в OpenBSD осуществляется очень просто, о чем я расскажу в следующем разделе. Проделываю эту процедуру для bash и редактора joe. Как и во FreeBSD, команда pkg_add по умолчанию устанавливает пакеты в каталог /usr/local/.
Затем в дополнение к имеющимся в файле /etc/shells строкам
/bin/sh
/bin/csh
/bin/ksh
вписывается
/usr/local/bin/bash
Чтобы сменить командную среду, можно воспользоваться командой, например, chpass. Она вызывает системный редактор (по умолчанию - все тот же vi) и позволяет в нем напрямую редактировать учетные записи пользователей. Заменяем для root'а
/bin/csh
на
/usr/local/bin/bash
Теперь остается только соответствующим образом поправить файл .profile в корневом каталоге или в каталоге /root/.profile (первый являет собой символическую ссылку на второй. У меня он выглядит примерно так:
EDITOR=joe
export EDITOR
PS1='\w->>'
alias 'ls=ls -aF'
export LESSCHARSET=latin1
Как нетрудно догадаться, строка EDITOR определяет системный редактор, строка PS1 - вид приглашения командной строки
~/articles/sterra->>
Строка alias указывает, что команда ls по умолчанию должна вызываться с параметрами -aF (первый отвечает за вывод всех файлов, в том числе и скрытых, второй - за отметку каталогов знаком \). А последняя строка необходима для русификации программы less, о чем будет сказано в соответствующем разделе.
Если после этого завершить сеанс (командами logout или exit) и авторизоваться заново, то оказываешься в привычном окружении. Разумеется, все эти действия были доступны от лица суперпользователя. Теперь же самое время создать пользователя обычного. Помимо того, что практически работать в качестве root'а - занятие не очень здоровое с точки зрения безопасности, в OpenBSD это еще и не удобно. На консоль суперпользователя выводится большое количество сообщений. Они представляют интерес для администратора системы, но в практической работе только мешают. Конечно, от них можно избавиться (например, перенаправив сообщения в файл). Но лучше все-таки не входить в систему как root без большой на то необходимости. А прибегать для системных манипуляций к временному получению полномочий администратора (с помощью команды su).
Создание обычного пользователя выполняется командой adduser (хотя есть и другие способы). Запущенная от имени root'а первый раз (а от имени обычного пользователя ее нельзя запустить, и не только потому, что таковых в системе еще не имеется), она для начала запросит подтверждения некоторых общих пользовательских установок по умолчанию, таких, как местоположение домашних каталогов (/home) или командной среды (на выбор - любой из перечисленных в файле /etc/shells).
Ответы на эти вопросы будут сохранены в файле /etc/adduser.conf, и при следующем запуске команды повторяться они не будут. Хотя, естественно, общие пользовательские параметры могут быть изменены прямым редактирование указанного файла.
После этого будет предложено ввести имя пользователя (т.н. логин), и его реальное имя. Последнее, с одной стороны, не обязательно. Но с другой - имя может быть дополнено и всякого рода иной информацией личного характера (типа номера телефона и т.д.).
Вслед за этим определяется командная среда для пользователя, его цифровой идентификатор (UID - user identification descriptor) и имя группы, включающей этого пользователя (по умолчанию - совпадает с пользовательским именем).
Следующий вопрос - очень важен: следует ли сделать создаваемого пользователя членом какой-либо другой группы. По умолчанию ответ отрицательный, однако соглашаться с этим ни в коем случае нельзя. По крайней мере если под создаваемым пользователем понимаем себя, любимого.
Дело в том, что в OpenBSD (как, впрочем, и во FreeBSD) далеко не каждый пользователь может получить права администратора (каковым наша же скромная персона и является в случае обычной пользовательской машины) с помощью команды su. Для этого пользователь должен быть явным образом включен в группу wheel, имеющую идентификатор (GID - group identification descriptor) 0. Так что в ответ на указанный вопрос следует вписать wheel.
После этого предлагается ввести пароль (о правилах выбора его распространяться не буду) и повторить его. И в завершении выводится список параметров пользователя в виде:
Name: exp
Password: ****
Fullname: al
Uid: 1002
Gid: 1002 (exp)
Groups: exp wheel
HOME: /home/exp
Shell: /usr/local/bin/bash
Если с ними согласиться, новый пользователь будет создан. И будет спрошено, следует ли создать еще одного пользователя. Что может иметь смысл, даже если машина находится в вашем безраздельном владении. Так, я обычно для себя, любимого, создаю двух пользователей. От имени одного занимаюсь практической работой, а второй предназначен для всякого рода нездоровых экспериментов.
Теперь можно авторизоваться в качестве обычного пользователя и настроить для него рабочую среду. Что делается редактированием файла ~/.profile, если для него была выбрана среда bash, или файла ~/.cshrc при использовании среды csh.
Однако на этом настройка среды обитания не заканчивается. И следующее действие опять потребует административных полномочий. Получив их (теперь уже нормально, командой su), отправляемся в каталог /etc и отыскиваем там файл конфигурации начальной загрузки rc.conf. Отвечающий, в частности, за запуск стартовых сервисов и демонов.
Рассмотрение его показывает, что по умолчанию в нем запрещено практически все, что может быть - одно из следствий ориентации OpenBSD на защищенность. Конечно, большинство перечисленных здесь демонов управляет ко всякого рода сетевым причиндалам. И меня пока не волнует. Кроме одного, поскольку без мыши жить скучно. Для обретения же ее в rc.conf следует найти строку
moused_flags="NO"
и заменить значение по умолчанию на рекомендуемое для мышей с разъемом PS/2
moused_flags="-p /dev/psm0"
или на
moused_flags="-p /dev/cua00"
для сериальной мыши. В результате после перезагрузки системы мышь начинает действовать обычным для консольного режима образом. То есть может использоваться для выделения, скажем, текстовых блоков и вставки их в позицию курсора щелчком средней клавиши. Однако как полноценное указательное устройство (для выбора пунктов меню, например) мышь в консоли работать не будет все равно: аналогов gpm, обеспечивающих это в Linux, в OpenBSD не имеется.
Полноценное манипулирование мышью возможно только в графическом режиме. Для чего необходимо настроить систему X Window - как я уже говорил, на стадии инсталляции никаких настроек такого рода не было, хотя в базовом варианте X'ы и установились.
Для конфигурирования X Window (в версии 3.3.6) предусмотрено единственное средство - XF86Setup (если, конечно, нет большого желания создавать файл /etc/XF86 Config вручную в текстовом редакторе). Каковой и запускаем, воспользовавшись полномочиями root'а.
Если вдруг XF86Setup откажется запускаться (а такая возможность по причинам, оставшимся для меня неясными, не исключена), следует обратиться к файлу /etc/ttys, описывающему конфигурацию вертуальных консолей. Нормальный вид его начальной части - нечто вроде следующего:
#
# $OpenBSD: ttys,v 1.13 1998/06/28 00:48:37 art Exp $
#
# name getty type status comments
#
console "/usr/libexec/getty Pc" vt220 off secure
ttyC0 "/usr/libexec/getty Pc" vt220 on secure
ttyC1 "/usr/libexec/getty Pc" vt220 on secure
ttyC2 "/usr/libexec/getty Pc" vt220 on secure
ttyC3 "/usr/libexec/getty Pc" vt220 on secure
ttyC4 "/usr/libexec/getty Pc" vt220 off secure
ttyC5 "/usr/libexec/getty Pc" vt220 on secure
ttyC6 "/usr/libexec/getty Pc" vt220 off secure
ttyC7 "/usr/libexec/getty Pc" vt220 off secure
Это показывает, что по умолчанию открыто восемь виртуальных консолей, то есть на каждой из них запущен процесс инициализации getty. В то же время активизировано только пять: консоли 5-я, 7-я и 8-я не задействованы для текстового режима и доступны для запуска режима графического, в котором функционирует программа XF86Setup.
Если же та отказалась запуститься - скорее всего, в файле /etc/ttys активизированы все открытые консоли. Что легко исправить, заменив on на off минимум в одной из строк (по умолчанию для графического режима задействована 5-я консоль, переключение на которую осуществляется клавишной комбинацией Shift+F1). Буде же возникнет желание запускать два или более сеансов X Window (иногда это полезно), следует озаботиться достаточным количеством свободных виртуальных консолей. Впрочем, конфигурация по умолчанию (как в приведенном выше фрагменте) мне представляется разумной.
Теперь, наконец, можно и заняться конфигурированием X Window. Проходит она без приключений. В моем случае она свелась к установке трехкнопочной мыши (устройство /dev/psm0, стандартное для Linux устройство /dev/mouse здесь не проходит), русскую 105-клавишную клавиатуру, видеокарту Riva TNT2 (у меня она, правда, в модификации M64, отсутствующей в списке, но по опыту - почти всегда работает, будучи названной TNT2 просто). Мой AcerView 76i я в таких случаях обзываю SVGA 1280x1024x60 Hz - в этом случае он при 1152x864 тянет 72 герца. Каковое разрешение при 32-битном цвете и устанавливаю - карты на всех чипах NVIDIA, насколько я знаю, 24-битного цвета не поддерживают, а при 16-битном мои любимые background'ы смотрятся хуже.
Теперь командой xinit можно запустить X Window просто (с единственным терминальным окном). А можно командой startx запустить и FVWM - единственный из оконных менеджеров, установленных по умолчанию. И на этом временно успокоиться. Перейдя к следующему вопросу - изучению доступных приложений. Ведь система для конечного пользователя ради приложений и устанавливается, не так ли?
[Назад] [Содержание] [Вперед]
©
Алексей Федорчук
При использовании ссылаться:
http://onix.nm.ru