главная Азбука Линукс Получить линукс Помочь сайту

Работа с конфигурационными файлами

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

Существует несколько специальных утилит с графическим интерфейсом, которые предназначены для удобной и комфортной настройки системы. Начинающие пользователи, привыкшие к Windows, зачастую отдают предпочтение им. Пользователи SuSE Linux, к примеру, легко могут выполнить настройку с помощью утилиты YaST. Некоторое время назад у разработчиков и пользователей многих дистрибутивов была популярна программа под названием linux-conf. Однако сейчас она убрана из стандартной поставки многих дистрибутивов. Обусловлено это проблемами, возникавшими из-за попыток пользователей совмещать Linuxconf с ручной правкой конфигурационных файлов. Не следует забывать, что даже при использовании сложного разветвленного графического интерфейса для "тонкой" настройки системы потребуется непосредственное редактирование конфигурационных файлов. Текущей альтернативой linuxconf можно считать утилиту webmin. Она позволяет конфигурировать систему через окно браузера.

Круг задач, которые на сегодняшний день стоят перед системой, установленной на компьютере конечного пользователя, достаточно четко определен: работа с документами, возможность проигрывать аудио и видео, выходить в Интернет. Linux довольно успешно справляется со всеми пунктами этого списка: OpenOffice, встроенный мультимедиапроигрыватель, несколько браузеров готовы начать обслуживать запросы пользователя практически сразу после установки. Практически - потому что между завершением сборки и началом использования программы присутствует еще один этап - настройка.

Если у программы есть графический интерфейс, то в меню можно обнаружить пункт "Preferences". Однако, как правило, таким образом можно изменить далеко не все настройки. Куда более гибким (а после некоторой тренировки - и более быстрым) способом является редактирование непосредственно конфигурационного файла. Где он находится и как называется, можно узнать через раздел FILES интерактивного руководства пользователя. На той же страничке руководства, кстати, можно узнать, с какими ключами должна запускаться данная программа в случаях, когда требуется изменить ее "поведение". Краткую справку по наиболее часто используемым ключам можно получить, набрав в консоли имя команды и (через пробел) -help или -h.

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

Подавляющее большинство действий по настройке программ на общесистемном уровне может быть выполнено только при использовании привилегий суперпользователя. После того как файл найден (выше уже упоминалось про раздел FILES руководства пользователя) и отредактирован, необходимо выставить на него права, делающие его доступным на чтение для всех пользователей, а на запись - только владельцу (как правило, владельцем таких файлов является root). Также некоторые программы предполагают наличие фиксированных общесистемных файлов конфигурации. Как правило, эти файлы находятся в том же каталоге, что и обычные конфигурационные файлы, но в конце стоит суффикс .fixed или аналогичный. Приоритеты выставляются следующим образом: общесистемный файл конфигурации, пользовательский файл конфигурации (находится непосредственно в домашней директории пользователя или в одном из подкаталогов), фиксированный общесистемный файл конфигурации. При этом каждый последующий перебивает параметры, заданные предыдущим. То есть, выставленная пользователем конфигурация превалирует над общесистемной, но не над фиксированной. Поэтому в файл .fixed должны быть внесены те и только те переменные, значения которых едины для всех пользователей: не забывайте, что изменить их сможет только администратор. Права на файл с фиксированными настройками выставляются так же, как и на обычный общесистемный конфигурационный файл, возможность чтения является непременным условием для нормальной работы программы.

Как уже говорилось, особенности настройки каждой отдельно взятой программы более или менее подробно изложены в документации к ней, и описать их в рамках одной статьи невозможно, да, и не имеет смысла. Однако встречаются программы, так или иначе, в силу своей необходимости присутствующие в каждой системе. Одной из таких программ, несомненно является системный загрузчик. Стандартным и довольно распространенным загрузчиком для Linux является LILO (Linux Loader). Он очень гибок и совсем не прост в настройке.

Примеров /etc/liLo.conf написано более чем достаточно - начиная от простейших, с одним-единственным вариантом загрузки, и заканчивая не вполне тривиальными взаимодействиями с BIOS. От себя добавлю только, что, прежде чем пытаться использовать новую конфигурацию, хотя бы запустите команду /sbin/LiLo с ключами -t и -v, чтобы посмотреть, что запишется в загрузочный сектор. Но кроме LILO допускается использовать другие загрузчики, например GRAB или доступный для пользователей ASPLinux загрузчик ASPLoader.

ASPLoader можно настраивать даже в процессе загрузки системы, но количество настроек ASPLoader, доступных через меню "Configuration", весьма ограничено. Фактически Вы можете только переназначить вариант загрузки по умолчанию. Остальные пункты меню - параметры загружаемого ядра и уж тем более пункт "Выключение питания" - едва ли можно отнести собственно к настройкам загрузчика. Для внесения таких изменений, как добавление вариантов загрузки, время ожидания выбора или язык (а также вид - графический, псевдографический, текстовый) интерфейса загрузчика, необходимо отредактировать файл /etc/aspldr.conf.

В первой части файла описываются доступные ОС. На каждую из них отводится по четыре строчки в следующем порядке: название системы (в произвольном формате, заключено в квадратные скобки), отображаемая рядом с ним пиктограмма (строка начинается с ключевого слова icon), имя ядра и путь к нему (в начале строки необходимо поставить kernel) и путь к образу загружаемого диска (в начале строки должно стоять ключевое слово initrd).

Для систем Windows 9x раздел конфигурационного файла примет примерно следующий вид:

[win@Windows] icon windows sysboot 1-1

где после ключевого слова sysboot указывается номер диска и раздела на нем (нумерация начинается с единицы, а не с нуля, как в LILO). Как в случае с LILO, после внесения изменений в конфигурацию загрузчика его необходимо инсталлировать командой /sbin/aspldr.

В принципе, UNIX-система может стартовать и без участия оператора. Логично предположить, что непременным условием автоматизации является наличие некоторой заданной последовательности действий, "самостоятельно" выполняемых системой. В подавляющем большинстве UNIX-систем эта последовательность задается при помощи так называемых стартовых сценариев - небольших sh- или bash-скриптов, содержащих списки команд, запускаемых с определенными параметрами. К сожалению, на этом "общие места" заканчиваются. Стартовые сценарии существенно отличаются не только в разных ветках UNIX, но и в различных дистрибутивах Linux.

Практически единственное, что можно гарантировать, - сценарии будут располагаться в /etc, в подкаталоге, начинающемся с гс. В случае с RedHat система стартует при помощи файла /etc/rc.d/rc.

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

Значения параметров, устанавливаемых в процессе загрузки системы, берутся из директории /etc/sysconfig. Названия лежащих в нем подкаталогов и файлов по большей части говорят сами за себя. Очевидно, что /etc/sysconfig/network имеет отношение к настройкам сети, a /etc/sysconfig/mouse - к настройкам мыши.

Также непосредственное отношение к стартовой конфигурации системы имеет файл /etc/fstab. В нем хранится список файловых систем, которые должны постоянно присутствовать в системе (или хотя бы довольно часто в ней появляться, как, например, /dev/cdrom/).

Особое внимание нужно обратить на содержимое третьего поля - оно содержит параметры монтирования. Именно в нем задается возможность изменять данные на указанной файловой системе (и возможность запускать наводящиеся на ней исполняемые файлы).

Для некоторых файловых систем (в основном для устройств со сменными накопителями) есть смысл указать среди параметров ключевое слово user - это позволит обычным пользователям самостоятельно монтировать выбранные разделы.

Учетные записи пользователей

Одной из рутинных задач системного администрирования является процедура добавления/удаления пользователей. Так как информация об учетной записи пользователя содержится более чем в одном файле (простым редактированием файла /etc/passwd вы ничего не добьетесь), лучше воспользоваться утилитой useradd. К сожалению, в текущих реализациях Linux из нее был вынесен диалоговый режим, когда useradd, запущенный без параметров, запрашивал логин, имя вновь создаваемого пользователя, расположение его домашней директории и пароль, а затем обновлял системные файлы и создавал домашний каталог. Сейчас для достижения аналогичного результата все параметры необходимо ввести в командной строке с соответствующими ключами. В принципе, при грамотно установленных настройках по умолчанию (для их просмотра используйте команду useradd -D) список параметров, которые необходимо ввести в процессе добавления пользователя, сводится к минимуму. Useradd даже положит в новую домашнюю директорию конфигурационные файлы, если, конечно, задан ключ -к и директория (по умолчанию - /etc/skel) не пуста. UID (задается ключом -и) вновь создаваемых пользователей не стоит делать слишком маленьким, не рекомендуется залезать в "первую сотню", диапазон между 0 и 99 (вернее, между 0 и значением UID_MIN из файла /etc/login, defs) предназначен для системных псевдопользователей. Useradd по умолчанию не создает для таких пользователей домашнюю директорию, если только не указан дополнительный ключ -т.

Вряд ли вам понадобится создавать системных псевдопользователей в полном смысле этого слова, если вы только не работаете над созданием альтернативы web-серверу Apache и не собрали на своей машине аналог httpd. Если же вспомнить о псевдопользователях - непривилегированных владельцах небезопасных пользовательских программ, - становится ясно, что они к описанным выше системным пользователям отношения не имеют. И создаются, соответственно, без ключа -г, с достаточно большим UID и домашней директорией. В случае с какой-нибудь mary-vicq "аськина" history и конфигурационный файл будут лежать в/home/mary-vicq/. При этом можно дать тагу (реальной владелице vicq) возможность читать history, внеся ее в группу mary-vicq (но не наоборот!) и поста вив на файлы права вроде rw-r

. В RedHat Linux и ее клонах вместе с новым пользователем по умолчанию создается и новая "его" группа. Это далеко не всегда требуется. Опция отключается ис пользованием ключа -п в аргументах программы useradd.

Для удаления пользователей используется команда userdel (ключ -г удалит также домашнюю директорию пользователя и его почтовый ящик).

Если вы уже разобрались с использованием useradd и userdel, возможно, вам будет интересно узнать, что в RedHat Linux существует графическая утилита Redhat-config-users. Помимо стандартных операций с пользовательскими аккаунтами (добавление, удаление, смена пароля и т. д.), через нее можно также редактировать список групп пользователей.

Plain Text

Несмотря на все упрощающийся процесс настройки системы X Window в сочетании с неуклонно растущим количеством полезных функций, текстовая консоль все еще является едва ли не главным средством взаимодействия с системой. К тому же в аварийной ситуации у вас может просто не быть выбора.

Количество виртуальных консолей, присутствующих в системе по умолчанию, не постоянно. Например, в ASPLinux их шесть, хотя возможностями системы их предусмотрено до 63. Вряд ли вам потребуются все 63, но есть смысл увеличить их количество до 12 (и тем самым задействовать все функциональные клавиши стандартной клавиатуры).

Сначала создаем устройство для следующей по счету - седьмой - консоли: #cd /dev #./MAKEDEV-vtty7

Затем необходимо отредактировать /etc/inittab. Значения каждого из его полей подробно описываются на страницах руководства администратора, но на практике обычно бывает достаточно скопировать последнюю строчку - 6:2345:res-pawn:/sbin/mingetty tty6 - и изменить первую и последнюю цифры. Разрешение текстовой консоли (по умолчанию оно чаще всего равно 25 строк на 80 колонок) можно изменить командой resizecons, однако делать этого без необходимости не следует из-за возникающих проблем с кириллическими шрифтами.

Автоматизация процесса настройки X Window является задачей, которая еще ждет своего универсального решения. За время существования графической системы было написано множество утилит, сначала умевших только писать конфигурационные файлы, используя полученные от пользователя данные об аппаратном обеспечении машины. На сегодняшний день более или менее автоматизирован и сам процесс сбора данных. В большинстве случаев (при условии, что на машине установлены широко распространенные видеокарта и монитор) весь процесс настройки X Window сводится к запуску в кон сольном режиме команды Xconfigurator с последующим принятием предлагаемых ей вариантов. Если какой-либо пункт вызывает у вас сомнения - выбирайте заведомо заниженные характеристики (разрешение 800x600 или меньше, High Color, 70 Гц), превышение предельно допустимых параметров может привести к порче монитора.

Кроме утилиты Xconfigurator в Linux предусмотрена также не очень дружественная к пользователю и куда менее "самостоятельная" программа xf86config. Она не пытается самостоятельно определить тип подключенного оборудования, но составляет файл конфигурации, основываясь на данных, предоставленных пользователем. Процесс работы с ней сводится к диалогу, в ходе которого пользователь должен ответить на ряд вопросов (объем видеопамяти, горизонтальная и вертикальная развертка монитора и т. д).

Править вручную файл /etc/Xll/XF86 Config-4 рекомендуется только при условии четкого понимания, что именно требует изменений. К счастью, ситуации, в которых редактирование конфигурационного файла действительно необходимо, встречаются нечасто - как, например, при одновременном использовании двух видеокарт. Но и в этом случае лучше сначала сгенерировать конфигурационный файл при помощи описанных выше утилит, а затем подкорректировать его отдельные разделы.



Закажи себе Linux на DVD

Hosted by uCoz