Gerard Beekmans - Linux From Scratch
- Название:Linux From Scratch
- Автор:
- Жанр:
- Издательство:неизвестно
- Год:неизвестен
- ISBN:нет данных
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Gerard Beekmans - Linux From Scratch краткое содержание
Gerard Beekmans
Copyright © 1999-2002 by Gerard Beekmans
Перевод: Денис Каледин, Ник Фролов, Алекс Казанков.
Версия 4.0
Эта книга описывает процесс создания Linux системы с нуля, используя лишь исходные коды необходимого программного обеспечения.
Linux From Scratch - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
loadkeys
loadkeys загружает keymap table, соответствующую раскладке клавиатуры.
localnet
localnet устанавливает имя системы и local loopback device.
mountfs
mountfs монтирует все локальные файловые системы, не помеченные как noauto.
mountproc
mountproc монтирует файловую систему proc.
network
network активирует сетевые интерфейсы и определяет шлюз по умолчанию.
rc
rc – основной скрипт, управляющий runlevel и отвечающий за исполнение прочих скриптов в установленном порядке.
reboot
reboot перезагружает систему.
sendsignals
sendsignals проверяет, остановлены ли все процессы, перед перезагрузкой ил остановкой системы.
setclock
setclock устанавливает часы ядра на местное время в случае, если системный таймер не установлен на GMT.
swap
swap разрешает/запрещает использование файлов и разделов подкачки.
sysklogd
sysklogd запускает и останавливает демоны журнализации ядра и системы в целом.
template
template – шаблон, который можно использовать для создания собственных загрузочных скриптов для других демонов.
Зависимости LFS-Bootscripts
Последняя проверка: версия 1.10.
Fileutils: chown, cp
Конфигурация основных программ
Теперь, когда все установлено, надо сконфигурировать программы для их корректного запуска.
Конфигурация VIM
По умолчанию vim запускается в режиме совместимости с vi. Некоторым это нравиться, но нам надо запускать vim в режиме vim (иначе мы бы не включили vim в описание, а оставили бы vi). Создайте /root/.vimrc запустив следующее:
cat > /root/.vimrc << «EOF»
" Begin /root/.vimrc
set nocompatible
set bs=2
" End /root/.vimrc
EOF
Конфигурация Glibc
Нам надо создать новый файл /etc/nsswitch.conf запустив следующее:
cat > /etc/nsswitch.conf << «EOF»
# Begin /etc/nsswitch.conf
passwd: files
group: files
shadow: files
publickey: files
hosts: files dns
networks: files
protocols: db files
services: db files
ethers: db files
rpc: db files
netgroup: db files
# End /etc/nsswitch.conf
EOF
Скрипт tzselectдолжен быть запущен, и вы должны ответить на вопрос о вашей временной зоне. Когда ответите, скрипт возьмет значение вашего местоположения из файла.
Создайте /etc/localtime симлинк на:
ln -sf ../usr/share/zoneinfo/ /etc/localtime
tzselect's должно иметь значение, типа EST5EDT or Canada/Eastern .
Команда на создание симлинка должна быть типа такой:
ln -sf ../usr/share/zoneinfo/EST5EDT /etc/localtime
Или:
ln -sf ../usr/share/zoneinfo/Canada/Eastern /etc/localtime
Конфигурация Dinamic Loader
По умолчанию Dinamic Loader (/lib/ld-linux.so.2) производит поиск в /lib и /usr/lib на предмет наличия dinamic libraries для программ, которые в них нуждаются. Однако, если dinamic libraries находятся в других директориях, вы должны добавить их в файл /etc/ld.so.conf, чтобы Dinamic Loader смог их найти. Две директории общеизвестны для дополнительных библиотек: /usr/local/lib и /opt/lib поэтому мы добавим эти директории в пути поиска Dinamic Loader: Создайте новый файл /etc/ld.so.conf следующей командой:
cat > /etc/ld.so.conf << «EOF»
# Begin /etc/ld.so.conf
/usr/local/lib
/opt/lib
# End /etc/ld.so.conf
EOF
Конфигурация Sysklogd
Создайте новый файл /etc/syslog.conf используя следующее:
cat > /etc/syslog.conf << «EOF»
# Begin /etc/syslog.conf
auth,authpriv.* -/var/log/auth.log
*.*;auth,authpriv.none -/var/log/sys.log
daemon.* -/var/log/daemon.log
kern.* -/var/log/kern.log
mail.* -/var/log/mail.log
user.* -/var/log/user.log
*.emerg *
# End /etc/syslog.conf
EOF
Конфигурация теневых паролей (Shadow Password Suite)
Этот пакет содержит утилиты для изменения пользовательских паролей, добавления или удаления пользователей и групп и все в этом духе. Мы не хотим разъяснять вам, что есть теневые пароли. Полное разъяснение вы получите прочитав соответствующий HOWTO поставляемый вместе с Shadow Password Suite Надо запомнить только одну вещь: если вы хотите использовать теневые пароли, то убедитесь, что ваши программы (например xdm, ftp daemons, pop3 daemons) способны работать с ними (являются ли программы shadow-compliant). Это все, что нам надо знать. Для включения механизма теневых паролей запустите следующую команду:
/usr/sbin/pwconv
Конфигурация Sysvinit
Создайте новый файл /etc/inittab запустив следующее:
cat > /etc/inittab << «EOF»
# Begin /etc/inittab
id:3:initdefault:
si::sysinit:/etc/rc.d/init.d/rc sysinit
l0:0:wait:/etc/rc.d/init.d/rc 0
l1:S1:wait:/etc/rc.d/init.d/rc 1
l2:2:wait:/etc/rc.d/init.d/rc 2
l3:3:wait:/etc/rc.d/init.d/rc 3
l4:4:wait:/etc/rc.d/init.d/rc 4
l5:5:wait:/etc/rc.d/init.d/rc 5
l6:6:wait:/etc/rc.d/init.d/rc 6
ca:12345:ctrlaltdel:/sbin/shutdown -t1 -a -r now
su:S016:once:/sbin/sulogin
1:2345:respawn:/sbin/agetty tty1 9600
2:2345:respawn:/sbin/agetty tty2 9600
3:2345:respawn:/sbin/agetty tty3 9600
4:2345:respawn:/sbin/agetty tty4 9600
5:2345:respawn:/sbin/agetty tty5 9600
6:2345:respawn:/sbin/agetty tty6 9600
# End /etc/inittab
EOF
Конфигурируем клавиатуру
Ничего не раздражает в LINUX так, как неправильно настроенная клавиатура (раскладка, keymap). Если вы хотите использовать раскладку по умолчанию (US keyboard) вы можете пропустить эту часть. US keymap используется по умолчанию. Для установки keymap нужной раскладки, создайте симлинк /usr/share/kbd/keymaps/defkeymap.map.gz используя следующую команду:
ln -s /usr/share/kbd/keymaps/defkeymap.map.gz
Замените путем к вашему map файлу. Для примера, если у вас немецкая раскладка запустите следующее:
ln -s i386/qwerty/nl.map.gz /usr/share/kbd/keymaps/defkeymap.map.gz
Вторая часть конфигурации раскладки заключается в компиляции раскладки прямо в ядро. В этом случае раскладка клавиатуры будет работать корректно даже в режиме maintenance (когда ядро получает команду init=/bin/sh), для которого сценарии загрузки не выполняются.
Запустите следующую команду для того, что бы пропатчить ядро на предмет правильной раскладки. Вы должны выполнить эту команду до того как вы распакуете новое ядро.
loadkeys -m /usr/share/kbd/keymaps/defkeymap.map.gz > \
/usr/src/linux/drivers/char/defkeymap.c
Создание файлов /var/run/utmp, /var/log/wtmp and /var/log/btmp
Таким программам как login, shutdown, uptime и другие требуется читать и записывать данные в /var/run/utmp, /var/log/btmp и /var/log/wtmp. Эти файлы содержат информацию о том, кто в текущий момент залогинен в системе. Они так же содержат информацию о моменте последней загрузки и shutdown, и записи о неудачных попытках входа в систему.
Создайте эти файлы и установите на них следующие права доступа:
touch /var/run/utmp /var/log/{btmp,lastlog,wtmp} &&
chmod 644 /var/run/utmp /var/log/{btmp,lastlog,wtmp}
Установка пароля пользователя root
Придумайте пароль для пользователя root и установите его следующей командой:
passwd root
Глава 7. Конфигурация загрузочных скриптов
Введение
Эта глава описывает конфигурацию скриптов, о которых было рассказано в 6 главе. Большинство из тех скриптов будут работать и без дополнительных настроек, но некоторые требуют дополнительной конфигурации, т.к. они зависят он аппаратной конфигурации.
Как взаимодействует процесс загрузки со скриптами?
LINUX использует специальную возможность загрузки именуемой SysVinit Она основана на концепции runlevels . Они могут различаться от системы к системе, но это будет работать в дистрибутиве <���вставьте его имя здесь> и в системах типа LFS. LFS имеет собственный путь в конфигурации, но мы уважаем стандарты.
Читать дальшеИнтервал:
Закладка: