Лекция 6

Базова настройка на системата. Конфигурационна директория /etc . Структура на директорията. Скриптове за начално зареждане.


Както всяка операционна система и Линукс се нуждае от настройка след неговото инсталиране. Едно от най-големите удобства на тази операционна система е лесното конфигуриране чрез прости текстови файлове. Тези файлове се намират в директорията /etc. Тази директория съдържа множество файлове и поддиректории, като тези поддиректори обединяват конфигурационни файлове по някакъв признак. Например всички скриптове, чрез които се пускат и спират процесите, съответно при пускане и спиране на компютъра, се намират в поддиректорията rc.d. Поддиректорията X11 пък обединява конфигурационните файлове на графичния сървър и т.н. В тази лекция ще ви запозная с най-важните файлове и поддиректори намиращи се в конфигурационната директория /etc.

Ще разделя типовете конфигурационни файлове в пет основни групи: настройка на мрежата, настройка на шела, настройка на потребителите, настройка на модулите и настройка на пускането и спирането на операционната система.

1.НАСТРОЙКА НА МРЕЖАТА

Файловете с които се настройва мрежовата конфигурация на операционната система са няколко:

#IP address computer name computer alias

127.0.0.1 localhost

192.168.7.102 server514.mgu.bg server514

192.168.7.103 class514pc1.mgu.bg class514-1

... ... ...

192.168.7.109 class514pc8.mgu.bg class514-8

Първият ред е задължителен и описва т.нар. loopback на компютъра. Редове започващи с # се считат за коментар.

search mgu.bg

nameserver 217.75.128.2

nameserver 217.75.128.9

След промяната му се налага изпълнението на командата

#killall -HUP inetd

за да влязат промените в сила.

server514.mgu.bg

order hosts, bind

multi on

Тук order и multi са директивите, а hosts, bind и on, техни опции. Пълна информация за файла може да се намери на в man страниците на Линукс.

#име_на_услуга тип_на_сокета прот. флагове потреб. път_към_сървъра арг.

ftp stream tcp nowait root /usr/sbin/tcpd proftpd

talk dgram udp wait root /usr/sbin/tcpd in.talkd

Име_на_услуга е името на услугата описана във файла services, тип_на_сокета зависи от протокола и е stream за TCP протокол и dgram за UDP. Флагове е поле за задаване параметри на inet демона. Потребител е поле задаващо с какви привилегии ще работи услугата. Път_към_сървъра е пълният път към сървъра обслужващ услугата. Поради проблеми със сигурността се използва специален wrapper наречен tcpd, вместо истинския сървър. Аргументи, са аргумента подаден на tcpd, като тук се задава истинския сървър отговарящ за дадена услуга.

#./rc.inet1 stop

#./rc.inet1 start

за да влязат промените в сила.


2.НАСТРОЙКА НА ШЕЛА

Настройката на обкръжението се извършва основно от файла /etc/profile. Той се зарежда всеки път когато някой потребител влезе в системата. Чрез него може да се променят глобалните променливи на обкръжението и да се задават нови, които ще влязат в сила при следващ вход. Последната версия (9.1) на Slackware използва този файла за да зареди скриптовете намиращи се в поддиректорията profile.d. Тази директория съдържа няколко шел скрипта, които отговарят за различна част от конфигурацията.


3. НАСТРОЙКА НА ПОТРЕБИТЕЛИТЕ

Файловете, които отговарят за това вече са разглеждани и затова тук ще бъдат само изброени:

4. НАСТРОЙКА НА МОДУЛИТЕ

Модулите са аналога на драйверите за Windows. В Линукс има два основни файла, които отговарят за зареждането и управлението на модулите. Това са файловете /etc/rc.d/rc.modules, чрез който се задават модулите които трябва да се зареждат при всяко стартиране и файла /etc/modules.conf чрез който се задават параметри на модулите или определен модул се обвързва с определено име на устройство. Първият файл съдържа множество коментирани редове, като всеки ред отговаря на определен модул. Следния ред е типичен ред пример:

#/sbin/modprobe 8139too

Ако на този ред бъде премахнат коментара операционната система ще се опитва да зарежда модула 8139too при всяко стартиране (този модул отговаря за мрежовите карти с чип Realtek 8139). Чрез втория файл може този модул да се присвои към определено устройство. Например:

alias eth0 dmfe

alias eth1 8139too

alias char-major-195 nvidia

Първият ред присвоява към устройство отговарящо за първата мрежова карта модула dmfe (мрежови карти Davicom), а на втората мрежова карта модула 8139too. Последния ред указва на операционната система, че за char устройство с главен номер 195 отговаря модула nvidia (модула на видео картите с чип на Nvidia).

5. НАСТРОЙКА НА ПУСКАНЕТО И СПИРАНЕТО НА ОПЕРАЦИОННАТА СИСТЕМА

Пускането и спирането на операционната система се извършва от шел скрипове намиращи се w директорията /etc/rc.d/. Линукс има седем режима в които може да работи: режим на единичен потребител, многопотребителски режим, режим с графична среда, режим на рестартиране и режим на изключване. Те са обозначени със следните номера – 1, 3, 4, 6, 0 наречени runlevels. Номерата 2 и 5 не се използват. За всеки един от режимите в директорията има по един шел скрипт:

Всеки един от тези скриптове стартира множество програми необходими за нормалната работа в дадения runlevel. По подразбиране системата влиза в runlevel 3. Това може да се промени чрез промяна на файла /etc/inittab.

id:3:initdefault:

трябва да се промени на

id:4:initdefault:

Освен тези скриптове, в тази директория има още няколко важни скрипта:

Останалите файлове са скриптове за управление на инсталираните сървъри и зависят от направената инсталация.

Други важни файлове, които не попадат в условната подредба:


# LILO configuration file

# generated by 'liloconfig'

#

# Start LILO global section

boot = /dev/hda

#compact # faster, but won't work on all systems.

prompt

timeout = 300

# End LILO global section

# DOS bootable partition config begins

other = /dev/hda1

label = WinXP

table = /dev/hda

# DOS bootable partition config ends

# Linux bootable partition with ACPI config begins

#image = /boot/kernel-2.4.22-acpi

image = /boot/latest

root = /dev/hda7

label = Linux-2.4

read-only # Non-UMSDOS filesystems should be mounted read-only for checking

append="hdc=ide-scsi"

vga = 791

# Linux 2.6.0 bootable partition with ACPI config begins

#image = /boot/kernel-2.6.3

image = /boot/bzImage-2.6.3

root = /dev/hda7

label = Linux-2.6

read-only # Non-UMSDOS filesystems should be mounted read-only for checking

append="hdc=ide-cd"

vga = 791

# Linux bootable partition config ends


Освен тези най-важни файлове и директории, директорията /etc съдържа още множество по-малко критични конфигурационни файлове. Въпреки това ето някои от тях:

Промяната на всички тези файлове става единствено с обикновен текстов редактор. Повечето Линукс дистрибуции притежават шел скриптове, чрез които тази промяна е по-удобна и лесна. За съжаление няма Линукс дистрибуция в която да има шел скриптове за всички възможни промени. Затова универсалния и най-гъвкав начин за конфигуриране на операционната система е простия редактор.

5