Шрифт:
Интервал:
Закладка:
Первое, что надо знать пользователю в таком случае - как войти в контакт с системой, заставить ее воспринимать команды, чтобы попытаться что-то исправить. Один из возможных вариантов действий в этом случае - попытаться запустить систему в однопользовательском режиме, т. е. с уровнем выполнения 1 (см. разд. 8.2).
Обычно о необходимости перехода в однопользовательский режим говорит то, что fsck не может автоматически восстановить файловую систему при загрузке. В таких случаях бывает необходимо запустить fsck в разделе /usr, для чего требуется, чтобы раздел был размонтирован, а этого нельзя сделать, пока не будут отключены почти все системные службы. Тут-то и требуется перейти в однопользовательский режим, в котором запускается минимум служб и сервисов системы.
Вы можете заставить процесс init загрузить систему в однопользовательском режиме, если зададите в командной строке загрузки ядра (в ответ на приглашение LILO boot:) аргумент single или emergency. Точнее, в тот момент, когда на экране появится сообщение
LILO boot:
необходимо ввести
linux single root=/dev/hda1.
где вместо /dev/hda1 надо, естественно, подставить имя раздела с корневой файловой системой. Эта команда подключит корневой раздел и переведет систему в однопользовательский режим. В этом режиме в системе работает только один пользователь - администратор и запускается только очень небольшое число самых необходимых системных служб (system services) - включая login. (Заметим в скобках, что другим способом перевода системы в однопользовательский режим является применение команды telinit, однако в рассматриваемой ситуации, когда не проходит загрузка, воспользоваться этим способом вряд ли удастся).
Из соображений безопасности нормально сконфигурированная система при загрузке оболочки в однопользовательском режиме запросит пароль пользователя root. Это очевидно, так как иначе злоумышленнику было бы очень легко, задав соответствующие аргументы загрузчику LILO, войти в систему как root со всеми вытекающими отсюда последствиями. Чтобы злоумышленники не могли воспользоваться загрузкой в однопользовательском режиме для входа в систему без пароля, в соответствующую секцию файла lilo.conf должны быть добавлены две строки:
restricted
password=‹password›
После выхода в оболочку вы сможете отменить те правки, которые привели к краху или предпринять какие-то другие действия по выходу из сбойной ситуации. В книге Д. Такета и С.Барнета [П1.9] сказано, что этот способ не работает, если корневой раздел находится на диске SCSI. Однако, возможно, это относится к старым версиям Linux, поскольку один из моих корреспондентов (Р.Сузи) уверяет, что со SCSI-дисками никаких проблем нет, и система грузится с них в любом режиме, лишь был бы доступен initrd. Ну, а если загрузиться в однопользовательском режиме все же не получается, можно попробовать загрузить систему с загрузочной дискеты, так что позаботьтесь о том, чтобы такая дискета у вас была.
Кстати, не дожидаясь возникновения чрезвычайных ситуаций, проверьте, как будет у вас проходить загрузка в однопользовательский режим и загрузка с аварийной дискеты. После этого, если неприятности все же возникнут, вы будете чувствовать себя значительно спокойнее.
8.3. Запуск и настройка общесистемных сервисов
Теперь, когда вы знаете, как загрузиться даже в сложной ситуации, можно приступить к экспериментам по изменению конфигурации и настроек системы. И начать изложение этих вопросов надо, конечно, с вопроса организации монтирования необходимых файловых систем.
8.3.1. Редактирование файла /etc/fstab
Файловая система - один из важнейших общесистемных сервисов. Монтирование основных файловых систем осуществляется на этапе загрузки системы. Другие (дополнительные) файловые системы монтируются командой mount, которая была рассмотрена в разд. 4.8. Конфигурационным файлом для команды монтирования является файл /etc/fstab, который тоже был рассмотрен в разд. 4.8. Поэтому здесь не будем повторяться, а ограничимся тем, что приведем несколько советов, которые позволят несколько снизить трудоемкость процедур монтирования файловых систем.
Одним из неудобств ОС Linux по сравнению с Windows является необходимость монтировать файловую систему при работе с дискетами и вообще сменными накопителями (CD-ROM, Zip фирмы Iomega и т.п.). Каждый раз при смене диска приходится заново монтировать и размонтировать файловую систему. Впрочем, и для получения доступа к некоторым разделам жесткого диска тоже необходимо выполнять команды монтирования, если только не заставить систему делать это автоматически, изменив соответствующим образом файл /etc/fstab.
Чтобы не повторять одинаковых действий при каждом перезапуске системы и сократить число необходимых символов, которые приходится вводить с клавиатуры при выполнении операций монтирования, целесообразно выполнить следующее. Сначала создайте точки монтирования (пустые каталоги) для каждого из устройств или внешних файловых систем, которые вы будете периодически подключать: гибкого диска, CD-ROM, ZIP-диска, сетевых дисков, которые будут подключаться по NFS. Это можно сделать из Midnight Commander или следующими командами:
[root]# cd /mnt
[root]# mkdir floppy; mkdir cdrom; mkdir win; mkdir zip; mkdir server
Теперь отредактируйте файл /etc/fstab, добавив в него следующие строки, соответствующие тем устройствам, которые имеются в вашей системе (то, что в файле было до вас, лучше не трогать):
/dev/fd0 /mnt/floppy vfat user,noauto 0 1
/dev/cdrom /mnt/cdrom iso9660 ro,user,noauto 1
/dev/sda4 /mnt/zip vfat user,noauto,exec 0 1
/dev/hda1 /mnt/win vfat user,noauto 0 1 server:/export /mnt/server nfs defaults
Редактирование файла /etc/fstab можно выполнить и с помощью программы linuxconf, о которой будет рассказано ниже (команда File systems | Access local drive).
Если правильно настроен файл /etc/fstab, то обращение к гибкому диску или дискам CD-ROM осуществляется довольно просто. В графической среде KDE чтобы смонтировать диск надо просто щелкнуть правой кнопкой мыши по соответствующему значку и выбрать в появившемся меню команду Монтировать. Чтобы добиться примерно такого же эффекта в программе Midnight Commander, надо добавить в меню этой программы (файл /usr/lib/mc/mc.mnu) команды монтирования и размонтирования дисков. Вот пример таких команд для гибких дисков:
m Смонтировать дискету
mount /mnt/floppy
d Размонтировать дискету
umount /mnt/floppy
(предполагается, что в файле /etc/fstab прописана строка, определяющая устройство и тип файловой системы для /mnt/floppy). После этого смена дискеты в Midnight Commander под Linux будет ничем не сложнее аналогичного действия в программе Norton Commander или в FAR под MS Windows: для того, чтобы смонтировать дискету, достаточно будет последовательно нажать клавиши ‹F2› и ‹M›, для размонтирования - клавиши ‹F2› и ‹D›.
8.3.2. Файлы и разделы подкачки
Выше уже было сказано, что в тех случаях, когда системе Linux не хватает оперативной памяти, имеется возможность выгрузить часть исполняющихся (но временно простаивающих) программ и их данных на жесткий диск. Это называется свопированием (swaping). В Linux существует два варианта организации той области на диске, в которую осуществляется выгрузка данных из ОП:
• в виде файла подкачки (swap-файл);
• в виде отдельного раздела диска (swap partition).
Второй способ несколько эффективнее, поскольку ядру не приходится выяснять через файловую систему, где находится файл подкачки. Еще лучше, если раздел подкачки находится на отдельном жестком диске, ибо в таком случае меньше времени расходуется на перемещение считывающих головок. Однако, поскольку размер раздела подкачки не имеет смысла делать очень большим, то нецелесообразно отводить под такой раздел отдельный диск. Иное дело, если у вас имеется диск, на котором установлена другая ОС, или диск, используемый для резервного дублирования самых важных для вас данных. В таком случае имеет смысл разместить раздел или файл подкачки на этом диске.
О том, как создавать отдельный раздел подкачки, вы могли прочитать в гл. 2. А файл подкачки создается с помощью команды dd:
[root]# dd if=/dev/zero of=/swapfile bs=1k count=size,
где size - размер файла подкачки в килобайтах. Некоторое время назад значение параметра size должно было находиться в пределах от 40 до 131 073 и, следовательно, размер файла подкачки мог быть не более 133 890 048 байт (это чуть меньше 128 Мбайт). То же самое ограничение действовало и для разделов подкачки. Однако последние версии ядра позволяют использовать области подкачки размером до 2 Гбайт (правда, это требует выделения дополнительной памяти для ядра).
Отметим, что для создания файла подкачки нельзя использовать команду cp, поскольку этот файл должен занимать непрерывную область на диске, что не обеспечивается командой копирования.
- Linux From Scratch - Gerard Beekmans - Программное обеспечение
- Знакомьтесь: Windows 7 - Владимир Пташинский - Программное обеспечение
- Полное руководство по Microsoft Windows XP - Питер Нортон - Программное обеспечение
- Windows Vista. Для профессионалов - Роман Клименко - Программное обеспечение
- Windows Vista - Сергей Вавилов - Программное обеспечение