от avatar3000(30-08-2004)

рейтинг (36)   [ добре ]  [ зле ]

Printer Friendly Вариант за отпечатване

От преводача: Имам желанието да публикувам една поредица от статии свързани със дистрибуцията Slackware 10, която напоследък изключително ми допада, които да са насочени предимно към начинаещи потребители. Целта ми е не само да помогна на хората заинтригувани от Slackware, но и да систематизирам един определен обем от информация относно основните неща в тази дистрибуция(дори за самия себе си, тъй като и аз все още се считам за начинаещ:)). Дано времето и желанието ми стигнат.:)

Slackware 10: Процесът на зареждане.

Процесът на зареждане при Slackware се придържа към логиката на типичната Линукс последователност при зареждане, но използва BSD стила с init скриптове вместо SystemV стила срещан при повечето основни Линукс дистрибуции. Основните действащи актьори при зареждането са:

  • Линукс програмата за първоначално зареждане (Lilo по подразбиране)
  • Ядро (2.4 в Slackware 10)
  • Init и неговите инициализиращи скриптове

  • Линукс програмата за първоначално зареждане

    Lilo е избор по подразбиране в Slackware 10 и /etc/lilo.conf е неговия конфигурационен файл. По подразбиране установените параметри са само най-важните: ще намерите единствено данните определени при процедурата на инсталиране и удобен набор от VGA кодове за различни разделителни способности в конзолата. Лог-файлът записващ действията на Lilo-то при инсталиране е поставен в /var/log/setup/setup.liloconfig С помощта на програмата /sbin/mkrescue може да се създадете самозареждащ се спасителен флопи диск или CD ISO изображение. Документация е налична като man страници и документи/примери в /usr/doc/lilo-version/.

    ЯДРО

    Изображението на ядрото указано в lilo.conf, /boot/vmlinuz, е символна връзка към действителния файл на ядрото (например /boot/vmlinuz-ide-2.4.26). Наличен е конфигурационния файл използван при компилацията на ядрото (т.е.: /boot/config-ide-2.4.26) и обикновения System.map. По подразбиране ядрото е оптимизирано за 486 архитектури. Модулите на ядрото обикновено се намират в /lib/modules/kernelversion. Инициализационният скрипт /etc/rc.d/rc.modules изрично указва зареждането (modprobe) на избраните модули към ядрото. Това най-често не е необходимо за ядро компилирано за автоматично зареждане на модулите, както по подразбиране е Slackware ядрото, ето защо повечето от неговите линии са закоментирани. Хедърите на ядрото, необходими за компилиране на системен софтуер, като в други дистрибуции, са в автономен пакет поставен в /usr/include/linux и /usr/include/asm-i386/

    INIT

    Главните разлики на Slackware, в сравнение с други Линукс дистрибуции като RedHat, Mandrake Debian или Suse, се състоят в отсъствието на /etc/rc.d/rc#.d директориите (където # е избраното ниво на работа) със символни връзки към началните скриптове за различни услуги, характерни за SystemV стилова логика. В случая обаче прост etc/rc.d/rc.sysvinit скрипт осигурява основната съвместимост със SystemV стартовите скриптове, търсещи S/K файловете в /etc/rc.d/rcrunlevel.d/. По подразбиране Slackware не създава тези директории. За щастие системният администратор знае откъде да започне търсене на системна информация:

    /etc/inittab

    Имаме Unix логика за няколко нива на работа (runlevels), които поставят системата в различни състояния:
  • 0- Системата е спряла.
  • 1- Еднопотребителски режим без наличието на мрежа, необходим за извършване на поддръжка (паролата за супер-потребителя е все още необходима)
  • 3- Многопотребителски режим с мрежова поддръжка и текстов вход в системата (по подразбиране)
  • 4- Многопотребителски режим с мрежова поддръжка и X Window поддръжка (xdm графичен вход). Обърнете внимание, че в много други дистрибуции това е ниво на работа 5.

  • От конфигурационния файл на Init е възможно да се реконструира цялата потребителска фаза на процеса на зареждането :

  • etc/rc.d/rc.S е първият скрипт, който се изпълнява. Той отговаря за множество малки, но важни задачи по инициализацията : стартира devfs, ако се поддържа; активира swap-дяла; проверява коренната файлова система (ако се появи дисков проблем се извиква /bin/sulogin, който иска паролата на супер-потребителя за да го допусне до еднопотребителски режим за системно обслужване); ре-монтира коренната файлова система в read/write режим; инициализира Мениджъра на Логическите Дялове, ако е наличен; проверява и монтира други (не мрежови, а локални) файлови системи, описани в /etc/fstab; изчиства някои временни файлове; презаписва /etc/motd/ с текущата версия на ядрото; конфигурира ISA Plug&Play устройствата; настройва системния часовник според хардуерното време; стартира /etc/rc.d/rc.modules - модулите за не автоматично зареждане; стартира /etc/rc.d/rc.serial (тази функция е закоментирана по подразбиране) за инициализация на серийните портове.

  • /etc/rc.d/rc.K се използва само за да се доведе системата до ниво на работа 1, където всяка мрежова и системна услуга е е изключена.

  • /etc/rc.d/rc.M се изпълнява за многопотребителска поддръжка в нива на работа 2,3,4,5.Той контролира екрана да угасва след 15 минути при неизползване; определя хост името на системата според това какво е написано в /etc/HOSTNAME; активира PCMCIA поддръжката стартирайки /etc/rc.d/rc.pcmcia start; инициализира мрежовото оборудване и IP параметрите извиквайки /etc/rc.d/rc.inet1; инициализира hotplug поддръжката (/etc/rc.d/rc.hotplug start); стартирания различни мрежови услуги през /etc/rc.d/rc.inet2(монтира отдалечени NFS/SMB, пуска portmapper, активира firewalling-а (/etc/rc.d/rc.firewall start) и IP препращането (/etc/rc.d/rc.ip_forward start), пуска Inetd (/etc/rc.d/rc.inetd start), OpenSSH сървъра (/etc/rc.d/rc.sshd start), Bind DNS сървъра (/etc/rc.d/rc.bind start), NIS (/etc/rc.d/rc.yp start) и NFS сървъра (/etc/rc.d/rc.nfsd start); стартира системната регистрация (/etc/rc.d/rc.syslog start); обновява споделени връзки на библиотеки и X шрифтовите индекси; стартира подсистемата за печат; ако е откоментирана, стартира smartd (за откриване на проблеми по дисковите устройства) и genpowerd (за комуникация с UPS през серийна или USB връзка); разблокира BSD потребителския процес (не активиран по подразбиране); пуска crond и atd; активира квотите на файловата система, ако са конфигурирани; пуска Sendmail >(/etc/rc.d/rc.sendmail start), APM, ACPI /etc/rc.d/rc.acpid start) и ALSA (/etc/rc.d/rc.alsa); избира екранния шрифт (/etc/rc.d/rc.font) и клавиатурната карта (/etc/rc.d/rc.keymap); стартира Mysql (/etc/rc.d/rc.mysql start), Apache (/etc/rc.d/rc.httpd start), Samba (/etc/rc.d/rc.samba start), GPM mouse сървъра (/etc/rc.d/rc.gpm start); ако има SystemV init скриптове за текущото ниво на работа, се опитва да ги изпълни чрез /etc/rc.d/rc.sysvinit и накрая изпълнява потребителските команди в /etc/rc.d/rc.local.

  • /etc/rc.d/rc4.d се изпълнява точно в ниво на работа 4 и стартира GDM, KDM или XDM сесииния мениджър за графичен вход.

  • По подразбиране getty програмата използвана е agetty, inittab осигурява шест виртуални терминали (tty1-6) и има закоментирани примери с конфигурация на agetty за конзолата през серийния порт или dialup. Inittab е завършва с init 3 ниво на работа по подразбиране, "control+alt+del" рестартираща комбинация и с параметрите за системно съхраняване при повредата в захранването .

  • Линк към оригиналната статия - http://www.openskills.info/view/boxdetail.php?IDbox=1042&boxtype=distro


    << Настройване на звука и графичната среда при Slackware | Инсталиране на SuSE Linux 9.1 [Част 2] >>