Другой метод загрузки - это использование LILO, программы, которая располагается в загрузочном секторе вашего жесткого диска. Эта программа выполняется, когда система загружается с жесткого диска и может автоматически загрузить Linux из образа ядра, хранящегося на жестком диске.
LILO может быть также использована, как начальный загрузчик для нескольких операционных систем, позволяя вам выбирать во время загрузки, какую операционную систему (например, Linux или MS-DOS) загружать. Когда вы загружаетесь с использованием LILO, то загружается операционная система, установленная по умолчанию, если вы не нажмете Ctrl, alt или
shift во время выполнения загрузочной последовательности. Если вы нажмете любой из этих ключей, то вам будет выдана подсказка загрузчика, в ответ на которую вы напечатаете имя операционной системы, которую надо загрузить (например, "linux" или "msdos"). Если вы нажмете tab в ответ на подсказку загрузчика, вам будет выдан перечень доступных операционных систем.
Простой способ инсталлировать LILO - отредактировать файл конфигурации /etc/lilo.conf и выполнить команду # /sbin/lilo
Файл конфигурации LILO содержит "stanza"("стансы" - не пугайтесь, это действительно про поэзию), для каждой операционной системы, которую вы желаете загрузить. Лучший способ продемонстрировать это на примере конфигурационного файла LILO config. Нижеприведенные установки для системы, которая имеет корневой раздел Linux на /dev/hda1 и раздел MS- DOS на /dev/hda2.
# Tell LILO to modify the boot record on /dev/hda (the first
# non-SCSI hard drive). If you boot from a drive other than /dev/hda,
# change the following line, boot = /dev/hda
# Name of the boot loader. No reason to modify this
# un less you're doing some serious hacking on
LILO.
install = /boot/boot.b
# Have LILO perform some optimization. compact
# Stanza for Linux root partition on /dev/hda1. image = /etc/Image # Location of kernel
label = linux # Name of OS (for the LILO boot menu)
root = /dev/hda1 # Location of root partition
vga = ask # Tell kernel to ask for SVGA modes at boot time
# Stanza for MSDOS partition on /dev/hda2. other = /dev/hda2 # Location of partition
table = /dev/hda # Location of partition table for /dev/hda2
label = msdos # Name of OS (for boot menu)
Стансы первой операционной системы в файле config - это та ОС, которую LILO загружает по умолчанию. Вы можете выбрать другую ОС во время загрузки в ответ на подсказку LILO, как это уже обсуждалось ранее.
Помните, что каждый раз, когда вы изменяете образ ядра на диске, вы должны заново выполнить /sbin/lilo, чтобы изменения отразились в загрузочном секторе вашего диска.
4.4.8. Выключение системы
Никогда нельзя просто выключить питание или нажать кнопку "reset" во время работы системы. Ядро отслеживает диск при вводе-выводе с помощью буферов. Если вы перезагружаете систему, не дав шанса ядру переписать буфера на диск, вы можете попортить файловые системы.
Необходимы и другие меры предосторожности при выключении. Всем процессам посылается сигнал, который позволяет им красиво умереть (записав, что надо и закрыв все файлы и т.д.). Файловые системы для безопасности размонтируются. Если вы желаете, система может также предупредить пользователей, что предстоит выключение, чтобы дать им шанс тоже (красиво) выйти из системы.
Простейший способ выключения, это использование команды shutdown. Формат команды
shutdown <time> <warning-message>
<time> - время выключения системы (в формате hh:mm:ss -чч:мм:сс) и <warning-message> - сообщение, выдаваемое на терминалы всех пользователей перед выключением. Вы можете просто указать время (<time>) как "now", что приведет к
безотлагательному выключению. Опция -г приведет к перезагрузке после выключения.
Например, выключить систему в 8:00 вечера можно командой
# shutdown -r 20:00
Команда halt может инициировать немедленное выключение без посылки предупреждающих сообщений или предоставления паузы перед выключением, halt полезна, если вы единственный пользователь системы ихотите выключить систему ивырубить питание.
ВНИМАНИЕ! На выключайте электропитание и не перезагружайте ее, пока не увидите на консоли сообщение: The system is halted
Важно сделать выключение "чисто", используя команды shutdown или hall. В некоторых системах нажатие ctrl-alt-del будет перехвачено системой и приведет к ее выключению, но в других системах это приведет к немедленной перезагрузке системы иможет быть причиной неприятностей.
5. Контрольвыполнения работы
Отчет должен содержать:
- краткие описания шагов и полученных результатов по каждому изподразделов главы 4 настоящего руководства
11. Для чего применяются команды mke2fs и mkswap при инсталляции?
12. Каким образом может происходить загрузка LINUX?
13. Опишите, как назначаются имена разделов и устройств в LINUX? Приведите примеры.
14. Опишите порядок и процесс создания разделов?
15. Какие рекомендации предъявляется при создании к разделу свопинга?
16. Загрузчик LILO: описание, назначение принцип действия?
17. Конфигурационный файл загрузчика LILO. Приведите пример и опишите назначение используемых строк?
18. Какие проблемы загрузки средств инсталляции могут встречаться? Какие шаги следует предпринять в этих случаях?
19. Что означает сообщение: «VFS: Unable to mount root»?
20. Выключение системы: способы и типичные ошибки? 130
Лабораторная работа № 8 SHELL икоманды. Часть 1
1.Что такое shell?
В большинстве ваших исследований мира UNIX вы будете общаться с ним через оболочку shell. Shell - это просто программа, которая воспринимает введенное пользователем, (т.е. команды, которые вы напечатаете) и транслирует это в команды системе. Это можно сравнить с программой COMMAND.COM под MS-DOS, которая делает нечто похожее. Shell - это лишь один из интерфейсов UNIX. Существует много различных • интерфейсов, таких как X Window System, которая позволяет выполнять команды используя мышь и клавиатуру в сочетании.
Многие из возможностей, которые мы будем обсуждать в этом разделе, обеспечиваются самой оболочкой (shell). Оболочка - это не только интерпретатор интерактивных команд, которые вы можете ввести, получив от оболочки подсказку (готовности принимать команды). Это также мощный командный язык, который позволяет писать программы (shell-scripts), объединяющие несколько команд в командный файл. Пользователи MS-DOS почувствуют здесь нечто схожее с "batch- файлами". Использование программ на языке оболочки (shell) - это очень мощное средство, которое позволяет автоматизировать и и существенно повысить эффективность использования UNIX.
Существует несколько типов оболочек в мире UNIX. Две * главные - это "Bourne shell"(shell Баурна) и "С shell". Shell Баурна (или просто shell) использует командный синтаксис, похожий на , первоначально для UNIX придуманный (вроде UNIX System III). В большинстве UNIX-систем shell Баурна имеет имя /bin/sh (где sh сокращение от "shell"). С shell использует иной синтаксис, чем-то напоминающий синтаксис языка программирования Си. В большинстве UNIX-систем он имеет имя /bin/csh.
В Linux есть несколько вариаций этих оболочек. Две наиболее часто используемые, это Новый Shell Баурна (Bourne Again Shell) или "Bash" (/bin/bash) и Tcsh (/bin/tcsh). Bash - это
развитие прежнего shell с добавлением многих полезных возможностей, частично содержащихся в С shell. Поскольку Bash можно рассматривать как надмножество синтаксиса прежнего shell, любая программа, написанная на добром старом shell Баурна должна работать и в Bash. Для тех, кто предпочитает использовать синтаксис С shell, Linux поддерживает Tcsh, который является расширенной версией С shell.
Тип оболочки, которую вы решили использовать - это почти как выбор религии. Некоторые предпочитают синтаксис shell Баурна с дополнительными возможностями, предоставляемыми Bash, а некоторые - более структурированный синтаксис С shell. Для "нормальных" команд, таких как ср и ls, тип используемого вами shell никакой роли не играет. Только когда вы начнете писать командные файлы или использовать некоторые новые свойства оболочек, различия между ними становятся существенными.
Как только вы вошли, система запускает shell и вы можете вводить для него команды.