Настройка системы

Нижеперечисленные конфигурационные файлы — основные в Arch Linux. Вы должны
без проблем редактировать вручную эти файлы, потому что не существует
каких-либо GUI программ, которые могли бы помочь вам. В этом списке большинство
основных конфигурационных файлов. Если вам нужна помощь в настройке
специфического сервиса, пожалуйста читайте соответствующую man-страницу или
любую другую документацию в инете. Во многих случаях, Archlinux Wiki и форумы —
богатый источник для поиска помощи.

Arch Linux не использует никаких уровней абстракции для администрирования
вашей системы. Как результат, вы обычно следуете инструкциям опубликованным
автором программного обеспечения, или то что вы находите в поисковике, и это
будет работать без замусоривания системы, так как системе не наплевать на это.

руководство GRUB.

После проверки конфигурации загрузчика на предмет корректности, появится
запрос на выбор раздела для его установки. Если вы не используете еще другой
загрузчик, вам надо установить GRUB в MBR этого диска, который обычно
представляется соответствующим именем устройства, без цифровых суффиксов.

/etc/lilo.conf

Это конфигурационный файл загрузчика LILO. Убедитесь, что вы проверили этот
файл, если хотите использовать lilo для загрузки системы. См. документацию
LILO.

Вы должны проверить: строки с root= в секции образа и строку с boot= в
начале файла. Строки со словом root указывают устройство с корневой файловой
системой. Если вы не знаете, что писать, переключитесь в другой терминал и
выполните команду mount, чтобы увидеть смонтированные устройства. Найдите
строку вида <имя устройства> mounted on /mnt type […]. Имя устройства —
это то, что вам нужно написать после root= в lilo.conf.

Строку boot= в большинстве случаев менять не нужно. Эта строка должна быть
такой же как и root=, но без номера раздела в конце. Например, если
root=/dev/hda3 и вы хотите установить LILO в MBR, вы должны установить
boot=/dev/hda. Если у вас установлена другая система, вам следует убедиться в
возможности восстановления ее boot-сектора (например утилиты FIXBOOT/FIXMBR в
windows)

Для надежности оставьте опцию lba32 после строки prompt. Это поможет
избежать проблем с геометрией диска.

В некоторых случаях (в зависимости от вашего BIOS), LILO не будет работать
бесконечно выводя код ошибки. Скорее всего это означает, что вы убрали опцию
lba32, или у вас какая-то особенная конфигурация оборудования (например CD-ROM
установлен как primary master, а жесткий диск как secondary slave. Поставьте
ваш жесткий диск как primary master на шине IDE. В случае наличия IDE и SCSI,
вам скорее всего придется поэкспериментировать, чтобы узнать номер BIOS. BIOS
нумерует диски последовательно, начиная с 0x80. Если вам повезет, SCSI скажет
вам BIOS ID своих устройств, но обычно он этого не делает. Обычно вы можете
только гадать, как BIOS пронумеровал диски. Обычно это выглядит так:

boot=/dev/hda
disk=/dev/hda bios=0x80

Опция disk сопоставляет BIOS ID с названием устройства понятным для linux.
Если все пойдет совсем плохо, вы можете попробовать GRUB вместо LILO.

Как восстановить бутсектор LILO с помощью rescue-диска описано ниже.

/etc/mkinitcpio.conf

Этот файл позволит вам настроить initial ramdisk (также упоминаемый как
«initrd») для вашей системы. initrd — это сжатый образ, читаемый
ядром во время загрузки. Цель initrd состоит в том, чтобы загрузить систему до
того момента, когда она уже может иметь доступ к root filesystem. Это означает,
что ему нужно загрузить любые модули, нужные для того, чтобы
«увидеть» устройства, такие как IDE, SCSI, или SATA (или USB/FW, если
вы загружаетесь от USB/FW устройства). Как только initrd загрузило нужные
модули, само или через udev, оно передает контроль к Arch системе и загрузка
продолжается. По этой причине initrd может содержать только те модули, которые
необходимы к доступу корневой файловой системы. Не обязательно иметь каждый
модуль, который вы захотите когда-нибудь использовать. Большинство
частоиспользуемых модулей будут загружены позже при помощи udev при загрузке.

По умолчанию, mkinitcpio.conf сконфигурирован и обеспечивает всеми
известными модулями для IDE, SCSI, или SATA систем через так называемые HOOKS.
Это значит умолчальное initrd должно работать почти у всех. Обратная сторона
этого, что грузится много модулей которые вам совсем не нужны. Это легко видно,
смотря на список модулей после загрузки (командой lsmod). Ничего плохого
фактически в этом нет, однако некоторые люди этим не довольны. Уменьшить этот
список, оставив только то что нужно, вы можете путем правки mkinitcpio.conf и
отключив подсистемы HOOKS (такие как IDE, SCSI, RAID, USB и.т.д) которые вам не
нужны.

Вы можете настроить еще больше, определяя точные модули, нужные вам в строке
MODULES и удалить не нужные hooks, но внимательно прочитайте комментарии ы этом
файле, т.к это чувствительный файл к необдуманным изменениям!

Если вы используете RAID или шифровку на вашей корневой файловой системе,
тогда вам надо подкорректировать настройки RAID/CRYPT near the bottom. Смотрите
страницы wiki для RAID/LVM, filesystem encryption, и mkinitcpio для
подробностей.

Когда закончите настраивать mkinitcpio.conf, вы должны запустить mkinitcpio
-p kernel26 от пользователя root для регенерации образа, если вы уже
устанавливаете систему; В этом случае этот шаг будет сделан автоматически,
после того, когда вы выберете Установка Ядра немного позже в процессе
установки.

Предупреждение: если вы настроите неправильно свой mkinitcpio.conf, система
не загрузиться! По этой причине, вы должны быть предельно осторожными при
настройке этого файла.

Если вы умудрились сделать систему не способной к загрузке, вы можете
использовать аварийный образ (fallback image) который установлен параллельно
основному ядру. По умолчанию в GRUB и LILO эта опция включена.

Читайте внимательно о проблеме pata transition описанный в секции файла fstab!

/etc/hosts

В этом файле вы можете задать жесткую связь между IP и именем компьютеров в
сети. Если имени компьютера нет в DNS, вы можете добавить его сюда. Обычно не
нужно ничего менять, но возможно вы захотите добавить hostname и hostname +
domain машины в этот файл для получения IP вашего сетевого интерфейса по имени.
Если вы не знаете, что тут сделать, оставьте этот файл в покое, пока не
прочитаете man hosts.

/etc/fstab

Здесь устанавливаются точки монтирования и файловые системы. Инсталятор
должен создать нужные записи за вас, но вам следует взглянуть в этот файл и
убедиться что все правильно, в особенности если вы используете шифрованный рут
раздел, LVM или RAID.

С ядром 2.6.20 было введено изменение, относящиеся к подсистеме ATA/IDE.
Новые pata (Parallel ATA) драйвера заменяют старую подсистему IDE, и одно
важное изменение состоит в том, что схема имен для IDE дисков изменилась со
старых (hda, hdb и т.д.) на новые имена устройств (sda, sdb и т.д.) так же, как
обозначаются устройства SCSI и SATA. Из за этого, когда используется новый pata
драйвер в HOOKS файла /etc/mkinitcpio.conf, не забудьте использовать
соответствующие имена устройств в /etc/fstab и конфиге загрузчика! Или, вы
можете использовать /dev/disk/by-uuid/… или /dev/disk/by-label/…
обозначения ваших жестких дисков, где можно быть абсолютно уверенным, что вы
обращаетесть к правильному разделу, и оградите себя от проблем разновидности
названий, вне зависимости используете ли вы sda или hda. Если это не вариант,
вот — краткое изложение; Если вы используете pata вместо ide в строке HOOKS
файла /etc/mkinitcpio.conf, вы будете использовать sd? названия. Если нет,
тогда названия старого стиля hd?. Поэтому важно проверить строку HOOKS файла
/etc/mkinitcpio.conf, чтобы была возможность адаптировать другие файлы
соответственно.

/etc/modprobe.conf

Этот файл определяет какой модуль следует загружать ядру для оборудования, и
какие опции устанавливать. Например, автоматически загрузить драйвер сетевой
карты Realtek 8139 для eth0 (при попытке настройки eth0), напишите такую
строчку:

alias eth0 8139too

Синтаксис файла похож на старый modules.conf, только без экзотических опций
типа post-install. Теперь вы можете полистать man modprobe.conf.

Большинству людей не понадобиться редактировать этот файл.

/etc/modules.conf (устарел)

Этот файл нужен только для ядер 2.4.x.

Он указывает ядру какой модуль для какого устройства нужно загрузить.
Например для того, чтобы автоматически загрузить драйвер сетевой карты Realtek
8139 для eth0 (при попытке настройки eth0), напишите такую строчку:

alias eth0 8139too
/etc/resolv.conf

Используйте этот файл для указания серверов DNS, которые вы будете
использовать. Обычно он выглядит так:

search domain.tld
nameserver 192.168.0.1
nameserver 192.168.0.2

Замените domain.tld и ip-адреса на ваш домен и адреса ваших dns-серверов.
Домен — это так называемый домен поиска по умолчанию, который будет добавляться
к именам компьютеров. Установив его, ping myhost будет преобразован в ping
myhost.domain.tld. Настройка домена поиска обычно не очень важна и лишь упрощает
использование имен компьютеров. (Доменов в списке поиска может быть несколько)
Если вы используете DHCP, этот файл будет получен от DHCP сервера автоматически
во время старта сетевого интерфейса, что означает, что вы можете игнорировать
этот файл целиком. (См. man resolv.conf)

/etc/locale.gen/

Этот файл содержит список всех поддерживаемых локалей и кодировок,которые
вам доступны. При выборе LOCALE в /etc/rc.conf или когда запускается программа,
требуется разкомментировать нужные локали в этом файле, чтобы сделать доступные
бинарные версии для системы, и запустить команду locale-gen от рута для
генерации всех раскомментированых локалей и переместить их надлежащие места. Вы
должны снять # со всех локалей, которыми вы намереваетесь пользоваться.

Во время установки, вам не надо запускать вручную locale-gen, об этом
позаботятся автоматически, после сохранения изменений в этом файле.

По умолчанию, все локали закомментированы, включая локаль по умолчанию
en_US.utf8, отсылая в файл /etc/rc.conf. Для гладкой работы системы, вы должны
править этот файл и снять # по меньшей мере с одной локали, используемой в
вашем rc.conf.

/etc/conf.d/*

В момент установки эти файлы совершенно не важны.

Некоторые стартовые (rc) скрипты демонов используют эту директорию для
хранения некоторых значений по умолчанию. Когда вы запускаете демона, скрипт
сначала подключит файл из этой директории (при помощи source, см. man bash), а
затем и /etc/rc.conf. Это означает, что вы можете централизовано хранить
некоторые параметры демонов в rc.conf, просто добавив туда переменную с
подходящим значением, или разделить вашу конфигурацию на несколько файлов, если
вам так удобнее. Не правда ли жизнь была бы прекрасна, если бы все так просто
скриптовалось?

/etc/profile

Этот скрипт выполняется при каждом входе пользователя в систему. В Arch
Linux он довольно простой. Возможно вы захотите его поправить, например для
добавления глобальных переменных окружения.

 

Загрузочные скрипты

Arch Linux использует довольно простую загрузочную последовательность
похожую на *BSDs. Первый загрузочный скрипт это /etc/rc.sysinit. Когда он
запущен, далее запуститься /etc/rc.multi (при нормальной загрузке). Последним
запускается скрипт /etc/rc.local. Когда запустился runlevel 1,
однопользовательский режим, скрипт /etc/rc.single выполняется вместо
/etc/rc.multi. Вы не найдете нескончаемую коллекцию симлинков в директориях
/etc/rc.d/ для определения всех возможных режимов начальной загрузки. На самом
деле, из-из этого метода на самом деле Arch имеет только 3 режима (runlevels),
если во внимание запуск X в 5-м уровне запуска. Загрузочные скрипты используют
переменные и значения, найденные в файле /etc/rc.conf, а также набор основных
функций, определённых в скрипте /etc/rc.d/functions. If you plan to write your own daemon files, you
should consider having a look at this file and existing daemon scripts.

Обзор загрузочных скриптов

  1. /etc/rc.sysinit
  2. /etc/rc.single
  3. /etc/rc.multi
  4. /etc/rc.local
  5. /etc/rc.shutdown
  6. /etc/rc.d/*
/etc/rc.sysinit

Основной системный загрузочный скрипт. Он совершает критичные для загрузки
процедуры, такие как монтирование файловых систем, запуск devfsd, активизация
свопа, загрузка модулей, установка параметров локализации, и т.д. Скорее всего
вы никогда не будеет редактировать этот файл!

/etc/rc.single

Однопользовательский скрипт. Не используется при нормальной загрузке. Если
система запускается в однопользовательском режиме, например с параметром ядра 1
до загрузки или во время нормальной много-пользовательской загрузки с командой
init 1, этот скрипт проверяет, чтобы не было запущено демонов, кроме
необходимого минимума — syslog-ng и udev. Однопользовательский режим полезен, если вам
надо сделать изменения в системе, while making sure that no remote
user can do anything that might cause data loss or damage.

Для домашних пользователей этот режим обычно бесполезен как и crud. Возможно
вам никогда не понадобится править этот скрипт.

/etc/rc.multi

Многопользовательский загрузочный скрипт. Он запускает все демоны
сконфигурированные вами в строке DAEMONS (устанавливается в /etc/rc.conf) после
чего он вызывает /etc/rc.local. Вы не должны чувствовать потребности в
редактировании этого файла.

/etc/rc.local

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

Большинство обычных задач системной конфигурации, такие как загрузка
модулей, изменение консольного шрифта или установке устройства, обычно имеют
специальное место где они располагаются. Чтобы избежать беспорядка, вы должны
убедиться в том, что намерены добавить в свой rc.local, не чувствуйте себя как
дома в /etc/profile.d/ или любом другом уже созданном месте расположения
конфигураций.

/etc/rc.shutdown

Системный скрипт выключения. Он останавливает демонов, отмонтирует файловые
системы, деактивирует своп и т.д. Просто не трогайте этот файл.

/etc/rc.d/*

Эта директория содержит скрипты демонов ссылающиеся с строки DAEMONS файла
rc.conf. В дополнение к вызыванию при загрузке, вы можете использовать эти
скрипты когда система работает, для управления сервисами вашей системы.
Например команда

# /etc/rc.d/postfix stop

остановит демона postfix. Конечно скрипт существует только когда
соответствующий пакет установлен(в этом случае postfix). При установленной
базовой системе, здесь мало скриптов, но будьте уверены что все существующие
скрипты демонов живут здесь. Эта директория больше похожа на /etc/rc3.d/ или
/etc/init.d/ директории других дистрибутивов, без всяких хлопот с симлинками.

Управление пользователями

Пользователи и группы могут быть добавлены/удалены с помощью стандартных
команд из пакета util-linux: useradd, userdel, groupadd, groupdel, passwd, and
gpasswd. Обычно добавляют пользователей так:

# useradd -m -s /bin/bash vasya
# passwd vasya

Первая команда добавит пользователя vasya, сделав ему домашнюю директорию
/home/vasya и поместит туда некоторые файлы из каталога /etc/skel. Команда
также задаст шелл по умолчанию /bin/bash. Вторая команда попросит поменять
пароль для пользователя vasya. Задание пароль необходимо для активации учетной
записи.

Альтернатива команде useradd — скрипт adduser который создает пользователя
интерактивно спрашивая у вас нужную информацию.

См man-страницы для более полной информации. Хорошая идея создать
пользователей для повседневных нужд наилучшим образом использовав средства
разграничения доступа и сведя к минимуму риск случайного удаления файлов при
входе в систему пользователем root.

Никогда не входите в систему пользователем root. Используйте команды su или
sudo. (См. man su, man sudo)

Карта сайта: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34