Этапы загрузки системы. Что происходит, когда включается компьютер с ОС Linux? Создание процессов ядра

Linux как и любая другая операционная система загружается в несколько основных этапов: -> Досистемная загрузка -> Первичный загрузчик Linux -> Вторичный загрузчик -> Загрузка пользовательского пространства (INIT ).

Такой подход нужен в связи с тем, что операционная система — это логически сложная структура, следовательно её загрузка довольно таки сложна для компьютера. Исходя из такой сложности и непонятности появилась идея разбить процесс загрузки ОС на более элементарные этапы. Первый этап самый простецкий и легковесный для компьютера, а последний самый большой и тяжёлый.

Рассмотрим досистемную загрузку

Задача досистемной загрузки — выбрать как загружать ядро операционной системы .

То, как именно загрузить ядро пользователь может выбрать самостоятельно. Для того, чтобы выбрать нужна специальная система управления. Такую систему управления принято называть загрузчик . В Linux наиболее популярными и часто используемыми загрузчиками являются загрузчик LILO (Linux Loader) и загрузчик GRUB (Grand Unified Bootloader) . Они предоставляют пользователю возможность выбрать заранее настроенный тип загрузки. Оба эти загрузчика имеют текстовый (консольный) и графический варианты интерфейса. Основная и ключевая задача таких загрузчиков: загрузить в память компьютера ядро и всё необходимое для успешного старта системы.

В этих настройках можно выбрать стандартную загрузку ОС Linux, можно вызвать системную утилиту (небольшую программу специального назначения), прописать какие программы активировать при загрузке операционной системы и многое многое другое.

Таким нехитрым образом мы разобрались с «загрузчик ядра ОС Linux «!

На самом деле, есть две последовательности событий, которые необходимы для загрузки Linux-компьютера и делают его пригодным для использования: загрузка и запуск. Последовательность загрузки начинается, когда компьютер включен, и завершается, когда инициализируется ядро и запускается systemd. Затем процесс запуска завершает задачу приведения компьютера Linux в рабочее состояние.

В целом, процесс загрузки и запуска Linux довольно прост для понимания. Он состоит из следующих этапов, которые более подробно будут описаны в следующих разделах.

BIOS POST;
- загрузчик (GRUB2);
- инициализация ядра;
- запуск systemd, родительского компонента всех процессов.

Обратите внимание, что в этой статье рассматриваются GRUB2 и systemd, поскольку они являются текущим загрузчиком и системой инициализации для большинства главных дистрибутивов. Ранее использовались другие варианты таких программ, и они все еще используются в некоторых дистрибутивах.

Процесс загрузки

Процесс загрузки может быть инициирован одним из нескольких способов. Во-первых, если питание отключено, его включение запустит процесс загрузки. Если компьютер уже запущен, локальный пользователь, включая root или обычного пользователя, может программно инициировать последовательность загрузки с помощью графического интерфейса или командной строки для перезагрузки компьютера. Сначала компьютер будет выключен, а затем перезагружен.

BIOS POST

Первый этап процесса загрузки Linux на самом деле не имеет ничего общего с Linux. Это аппаратная часть процесса загрузки и она одинаковая для любой операционной системы. Когдана компьютер подается питание, он запускает процедуру POST (Power On Self Test), которая является частью BIOS (Basic I/O System).

Когда IBM разработала первый компьютер, еще в 1981 году, для инициализации аппаратных компонентов был разработан BIOS. POST является частью BIOS, задачей которого является обеспечение правильного функционирования оборудования. Если POST не сработал нормально, компьютер может не использоваться, поэтому процесс загрузки не будет продолжен.

BIOS POST проверяет базовую работоспособность аппаратного обеспечения, а затем выдает прерывание BIOS, INT 13H, которое находит загрузочные секторы на всех подключенных загрузочных устройствах. Первый загрузочный сектор с правильной загрузочной записью, который он находит, загружается в ОЗУ, а затем управление передается коду, загруженному из загрузочного сектора.

Загрузочный сектор - это фактичеки первый этап загрузчика. Существует три загрузчика, используемые большинством дистрибутивов Linux: GRUB, GRUB2 и LILO. GRUB2 является самым современным и используется сегодня гораздо чаще, чем более старые варианты.

GRUB2

GRUB2 означает «GRAND Unified Bootloader, версия 2», и сегодня он является основным загрузчиком для большинства дистрибутивов Linux. GRUB2 - это программа, которая делает компьютер достаточно умным, чтобы найти ядро операционной системы и загрузить его в память. Поскольку проще писать и говорить GRUB, чем GRUB2, я буду использовать термин GRUB в этом документе, но при этом буду ссылаться на GRUB2, если не указано иное.

GRUB был разработан для совместимости с спецификацией multiboot, которая позволяет GRUB загружать множество версий Linux и других бесплатных операционных систем; он также может загружать загрузочную запись проприетарных операционных систем.

GRUB также позволяет пользователю выбирать загрузку одного из нескольких разных ядер для любого дистрибутива Linux. Это дает возможность загрузиться с предыдущей версией ядра, если обновленная версия работает некорректно или несовместима с частью программного обеспечения. GRUB можно настроить с помощью файла /boot/grub/grub.conf.

GRUB1 теперь считается устаревшим и был заменен в большинстве современных дистрибутивов на GRUB2, который является переписанным GRUB1. Дистрибутивы на основе Red Hat были обновлены до GRUB2, начиная с Fedora 15 и CentOS/RHEL 7. GRUB2 обеспечивает ту же функциональность, что и GRUB1, но GRUB2 также обеспечивает большую гибкость на этапе предварительной загрузки. GRUB2 настраивается с помощью файла /boot/grub2/grub.cfg.

Основная функция GRUB заключается в том, чтобы загрузить ядро Linux в память и запустить его. Обе версии GRUB работают в целом одинаково и процесс включает те же три этапа, но я буду использовать GRUB2. Настройка GRUB или GRUB2 и использование команд GRUB2 выходит за рамки данной статьи.

Хотя GRUB2 официально не использует нотацию этапов для трех этапов загрузки GRUB2, удобно обращаться к ним таким образом, что я и буду делать в этой статье.

Этап 1

Как упоминалось в разделе POST BIOS, в конце POST BIOS просматривает прикрепленные диски в поиске загрузочной записи, обычно находящейся в главной загрузочной записи (MBR), загружает первую обнаруженную в ОЗУ, а затем начинает выполнение загрузочной записи. Код начальной загрузки, т. е. этап 1 GRUB2, очень мал, поскольку он должен помещаться в первый 512-байтовый сектор на жестком диске вместе с таблицей разделов. Общий объем пространства, выделенного для реального кода начальной загрузки в классическом общем MBR, составляет 446 байтов. Файл размером 446 байт для этапа 1 называется boot.img и не содержит таблицу разделов, которая добавляется в загрузочную запись отдельно.

Поскольку загрузочная запись должна быть такой маленькой, она не очень умна и не понимает структуры файловой системы. Поэтому единственной целью этапа 1 является нахождение и загрузка этапа 1.5. Для этого этап 1.5 GRUB должен быть расположен в пространстве между самой загрузочной записью и первым разделом на диске. После загрузки этапа 1.5 GRUB в ОЗУ, этап 1 передает управление этапу 1.5.

Этап 1.5

Как упоминалось выше, этап 1.5 GRUB должен быть расположен в пространстве между самой загрузочной записью и первым разделом на диске. По техническим причинам исторически это пространство не использовалось. Первый раздел на жестком диске начинается в секторе 63 с MBR в секторе 0, что оставляет 62 512-байтовых секторов - 31 744 байта, в которых хранится файл core.img, который является этапом 1.5 GRUB. Размер файла core.img равен 25389 байт, поэтому между MBR и первым дисковым разделом имеется много свободного места для его хранения.

Из-за большего количества кода, который может быть задействован для этапа 1.5, он может содержать несколько драйверов для распространенных файловых систем, таких как EXT и других файловых систем Linux, FAT и NTFS. GRUB2 core.img гораздо более сложный и интеллектуальный по сравнению с более старым этапом 1.5 GRUB1. Это означает, что этап 2 GRUB2 может быть расположен на стандартной файловой системе EXT, но не может быть расположен на логическом томе. Таким образом, стандартное расположение файлов этапа 2 - файловая система /boot, а именно /boot/grub2.

Обратите внимание, что каталог /boot должен находиться в файловой системе, поддерживаемой GRUB. Не все файловые системы подходят для него. Функция этапа 1.5 - загрузить драйвера файловой системы, необходимыми для поиска файлов этапа 2 в файловой системе /boot и загрузки необходимых драйверов.

Этап 2

Все файлы этапа 2 GRUB находятся в каталоге /boot/grub2 и нескольких его подкаталогах. GRUB2 не имеет файла образа, как этапы 1 и 2. Вместо этого он состоит в основном из модулей ядра, которые загружаются по мере необходимости из каталога /boot /grub2/ i386-pc.

Функция этапа 2 GRUB2 состоит в том, чтобы найти и загрузить ядро Linux в оперативную память и переключить управление компьютером на ядро. Ядро и связанные с ним файлы находятся в каталоге /boot. Файлы ядра могут быть идентифицированы, поскольку все их имена начинаются с vmlinuz. Вы можете просмотреть содержимое каталога /boot, чтобы увидеть установленные в вашей системе ядра.

GRUB2, как и GRUB1, поддерживает загрузку из одного из ядер Linux. Менеджер пакетов Red Hat, DNF, поддерживает сохранение нескольких версий ядра, поэтому, если возникает проблема с самой новой версией, можно загрузить более старую версию ядра. По умолчанию GRUB предоставляет предварительное загрузочное меню установленных ядер, включая вариант безопасной загрузки и, если он настроен, вариант восстановления.

Этап 2 GRUB2 загружает выбранное ядро в память и передает управление компьютером ядру системы.

Ядро

Все ядра хранятся в формате самораспаковывающегося архива для экономии места. Ядра расположены в каталоге /boot вместе с исходным образом RAM-диска и картами устройств жестких дисков.

После того, как выбранное ядро загрузится в память и начнет выполнение, оно должно сначала извлечь себя из архива, прежде чем сможет выполнить любую полезную работу. После того, как ядро извлекло себя, оно загружает systemd, заменившую старую программу SysV init, и переключает управление на нее.

Это конец процесса загрузки. К этому моменту ядро Linux и systemd работают, но не могут выполнять какие-либо продуктивные задачи для конечного пользователя, потому что ничего не работает.

Процесс запуска

Процесс запуска следует за процессом загрузки и приводит компьютер Linux в рабочее состояние, в котором он может использоваться для продуктивной работы.

systemd

systemd является матерью всех процессов, и она отвечает за то, чтобы привести систему Linux в состояние, в котором на ней можно работать. Некоторые из ее функций, которые намного шире, чем у старой программы init, предназначены для управления различными аспектами работающей системы Linux, включая создание файловых систем, а также запуск и управление системными службами, необходимыми для повседневной работы Linux. Любая из задач systemd, не относящихся к последовательности запуска, выходит за рамки этой статьи.

Во-первых, systemd монтирует файловые системы, заданные в /etc/fstab, включая любые файлы или разделы подкачки. На этом этапе она может получить доступ к конфигурационным файлам, расположенным в /etc, включая ее собственный. Она использует свой конфигурационный файл, /etc/systemd/system/default.target, для определения состояния (цели), в которые он должен загружать систему. Файл default.target является только символической ссылкой на настоящий целевой файл. Для рабочей станции или настольных компьютеров это обычно будет graphical.target, что эквивалентно уровню запуска 5 в старой системе инициализации SystemV. Для сервера по умолчанию, скорее всего, это будет multi-user.target, который похож на уровень запуска 3 в SystemV. Emergency.target похож на однопользовательский режим.

Обратите внимание, что цели и службы являются единицами systemd.

В таблице 1 ниже представлено сравнение целей systemd со старыми уровнями запуска SystemV. Алиасы целей предоставляются systemd для обратной совместимости. Алиасы целей позволяют сценариям и многим системным администраторам, таким как я, использовать команды SystemV, такие как init 3, для изменения уровней запуска. Конечно, команды SystemV для интерпретации и выполнения пересылаются в systemd.

Уровень SystemV Цели target Алиасы целей systemd Описание
- halt.target - Выключает систему без выключения питания.
0 poweroff.target runlevel0.target Выключает систему с выключением питания.
S emergency.target - Однопользовательский режим. Службы не работают; файловые системы не смонтированы. Это базовый уровень работы с только аварийной оболочкой, запущенной на главной консоли, чтобы пользователь мог взаимодействовать с системой.
1 rescue.target runlevel1.target Базовая система, включающая смонтированные файловые системы только с основными запущенными службами и аварийной оболочкой на главной консоли.
2 - runlevel2.target Многопользовательский режим без NFS, но с запущенными остальными консольными службами
3 multi-user.target runlevel3.target Все службы работают, но доступен только интерфейс командной строки.
4 - runlevel4.target Не используется
5 graphical.target runlevel5.target Многопользовательский режим с графическим интерфейсом
6 reboot.target runlevel6.target
- default.target - Эта цель всегда является символической ссылкой на multi-user.target или graphical.target. system всегда использует default.target для запуска системы. default.никогда не должна ссылаться на halt.target, poweroff.target или reboot.target.

Таблица 1: Сравнение уровней запуска SystemV с целями systemd.

Каждая цель имеет набор зависимостей, описанных в конфигурационном файле. systemd запускает необходимые зависимости. Эти зависимости - службы, необходимые для запуска хоста Linux на определенном уровне функциональности. Когда все зависимости, перечисленные в целевых конфигурационных файлах, загружаются и запускаются, система работает на этом целевом уровне.

systemd также просматривает устаревшие каталоги инициализации SystemV, чтобы узнать, имеются ли там файлы запуска. Если они есть, systemd использует их в качестве конфигурационных файлов для запуска служб, описанных в этих файлах. Устаревшая сетевая служба является хорошим примером одного из тех случаев, когда в Fedora все еще используются файлы запуска SystemV.

Рисунок 1, ниже, скопирован непосредственно с man-страницы bootup. Он показывает общую последовательность событий во время запуска systemd и основные требования к их порядку для обеспечения успешного запуска.

Цели sysinit.target и basic.target можно рассматривать как контрольные точки в процессе запуска. Хотя одной из целей разработки systemd было обеспечение одновременного запуска системных служб, все еще есть определенные службы и функциональные цели, которые необходимо запустить, прежде чем можно будет запустить другие службы и цели. Эти контрольные точки не могут быть пройдены до тех пор, пока не будут выполнены все требуемые службы и цели.

Таким образом, sysinit.target достигается, когда завершены все компоненты, от которых он зависит. Монтирование файловых систем, настройка файлов подкачки, запуск udev, установка генератора случайных чисел, запуск низкоуровневых служб и настройка криптографических служб, если одна или несколько файловых систем зашифрованы, должны быть завершены, но внутри sysinit.target эти задачи могут выполняться параллельно.

Sysinit.target запускает все низкоуровневые службы и компоненты, необходимые для минимальной функциональности системы, и которые будут необходимы для перехода на basic.target.

Local-fs-pre.target | v (various mounts and (various swap (various cryptsetup fsck services...) devices...) devices...) (various low-level (various low-level | | | services: udevd, API VFS mounts: v v v tmpfiles, random mqueue, configfs, local-fs.target swap.target cryptsetup.target seed, sysctl, ...) debugfs, ...) | | | | | \__________________|_________________ | ___________________|____________________/ \|/ v sysinit.target | ____________________________________/|\________________________________________ / | | | \ | | | | | v v | v v (various (various | (various rescue.service timers...) paths...) | sockets...) | | | | | v v v | v rescue.target timers.target paths.target | sockets.target | | | | v \_________________ | ___________________/ \|/ v basic.target | ____________________________________/| emergency.service / | | | | | | v v v v emergency.target display- (various system (various system manager.service services services) | required for | | graphical UIs) v | | multi-user.target | | | \_________________ | _________________/ \|/ v graphical.target

Рисунок 1: Карта запуска systemd.

После того, как будет выполнен sysinit.target, systemd запустит basic.target, запуская все компоненты, необходимые для его выполнения. basic.target обеспечивает некоторую дополнительную функциональность, запуская компоненты, которые необходимы для следующей цели. Они включают настройку таких аспектов, как пути к различным исполняемым каталогам, коммуникационные сокеты и таймеры.

Наконец, могут быть инициализированы цели пользовательского уровня, multi-user.target или graphical.target. Обратите внимание, что многопользовательский режим должен быть достигнут до того, как будут выполнены графические зависимости.

Подчеркнутые цели на рисунке 1 являются обычными целями запуска. Когда достигнута одна из этих целей, запуск завершен. Если значением по умолчанию является параметр multi-user.target, вы должны увидеть логин в текстовом режиме на консоли. Если значением по умолчанию является graphical.target, вы должны увидеть графический экран входа в систему; конкретный экран входа, который вы видите, будет зависеть от используемого по умолчанию диспетчера сеансов.

Проблемы

Недавно мне пришлось менять ядро по умолчанию на компьютере под Linux, использующем GRUB2. Я обнаружил, что некоторые из команд, похоже, не работают должным образом, или может быть я использовал их неправильно. Я еще не уверен в причинах, нужно сделать еще несколько тестов.

Команда grub2-set-default неправильно настроила индекс ядра по умолчанию в файле /etc/ default/grub, поэтому нужное мне альтернативное ядро не загрузилось. Далее я вручную изменил /etc/default/grub GRUB_DEFAULT=saved на GRUB_DEFAULT=2, где 2 - индекс установленного ядра, которое я хотел загрузить. Затем я запустил команду grub2-mkconfig> /boot/grub2/grub.cfg, чтобы создать новый конфигурационный файл grub. Этот обходной метод сработал так, как я ожидал, и загрузил альтернативное ядро.

Заключение

GRUB2 и система systemd являются ключевыми компонентами на этапах загрузки и запуска большинства современных дистрибутивов Linux. Эти два компонента работают вместе, чтобы сначала загрузить ядро, а затем запустить все системные службы, необходимые для создания полнофункциональной системы Linux.

Хотя я нахожу GRUB2 и systemd более сложными, чем их предшественники, они досточно легко изучаются и управляются. В man-страницах есть много информации о systemd, а на freedesktop.org есть полный набор man-страницах systemd , доступных онлайн.

Если на вопрос: «как добавить программу в автозагрузку?» — начинающие пользователи находят ответ достаточно быстро, то вопрос о запуске скрипта, при выключении/перезагрузки, ставит их в тупик. В статье будет описан стандартный способ для автоматического выполнения команд при включении и выключении linux, а также более простой способ для пользователей, у которых установлен gdm и графический интерфейс, например ubuntu.

Консольный вариант.

Немного теории.
Следует знать, что в Linux существует 7 уровней запуска. Однако, использоваться могут только 6.
Как у всех уважающих себя программ отсчёт начинается с 0-ля.
0 — Остановка или выключение системы.
1 — Однопользовательский режим.
2 — Многопользовательский режим, но без поддержки сети.
3 — Тоже самое, но с сетью.
4 — Добавили для красоты Не используется.
5 — Графический режим с загрузкой X сервера.
6 — Перезагрузка.
Если перейти в папку /etc (В некоторых дистрибутивах /etc/rc.d) то можно увидеть папки с 7-мью уровнями запуска.

Например при выключении компьютера, выполнятся все скрипты из папки rc0.d


Тут следует остановится по подробнее. Дело в том, что самих скриптов (а точнее сценариев) в этой папке нету, а есть только ссылки на файлы, которые лежат в папке /etc/init.d. Эти сценарии выполняют различные задачи, в зависимости от параметра start или stop (например /etc/init.d/reboot start и /etc/init.d/reboot stop это разные команды, а /etc/init.d/reboot вообще не будет работать). Если в ссылке стоит первая буква S, то значит сценарию подаётся параметр start, а если стоит буква K(от слова kill), то параметр stop. Цифра после буквы обозначает порядок выполнения сценария.
Например, на выше вставленном скриншоте вначале выполниться команда /etc/init.d/hddtemp stop, а уже позже /etc/init.d/networking start.
Хватит теории. Переходим к практике.
Для того, чтобы добавить команду в автозагрузку, достаточно поместить её в файл /etc/rc.local.

В этой части статьи в качестве редактора будет использоваться nano, но вы можете пользоваться своим любимым редактором, например gedit.

sudo nano /etc/rc.local

И помещаем наши команды чуть выше строчки с exit 0.
Для того, что бы команды выполнялись перед выключением или перезагрузкой нам нужно создать сценарий в папке /etc/init.d

sudo nano /etc/init.d/имя_сценария

Вставляем следующий код:

#! /bin/sh
case "$1" in
start)
echo "подан сигнал start"
;;
stop)
echo "подан сигнал stop"
;; esac

Если будет подаваться только один сигнал, то просто закомментируйте строку поставив в начале команды знак #
Например

...
case "$1" in
start)
#
;;
...

Теперь делаем файл исполняемым:

sudo chmod +x /etc/init.d/имя_сценария

sudo update-rc.d имя_сценария start 20 0 6 . stop 1 0 6 .

Точки важны (обе). Исследуя просторы интернета, у меня сложилось впечатление, что синтаксис этой программы иногда меняется. Актуальные примеры можно посмотреть по команде «man update-rc.d». Примеры будут в низу.

Эта команда создаст по 2 ссылки в каталогах /etc/rc0 .d (второе число в команде) и /etc/rc6 .d (третье число в команде). Причём вначале будет выполняться сценарий с параметром stop (т.к. стоит 1), а уже потом с параметром start (т.к. стоит 20).
Если второй параметр не нужен, то можно выполнить команду:

sudo update-rc.d имя_сценария stop 1 0 6 .

Советую ставить приоритет повыше (т.е. число после start или stop должно быть маленьким), желательно меньше 20. В обратном случае у меня иногда зависал компьютер при попытке перезагрузиться.

Для пользователей ubuntu, да и многих других современных дистрибутивов с gdm можно воспользоваться…

Графический вариант.

Что касается автозагрузки то можно воспользоваться способом описанным .
Или просто открыть «автоматически запускаемые приложения» командой:

gnome-session-properties

Для выполнения скрипта при выключении компьютера, помещаем его в файл /etc/gdm/PostSession/Default

sudo gedit /etc/gdm/PostSession/Default

Прямо над строчкой exit 0.

Linux: Полное руководство Колисниченко Денис Николаевич

1.8. Первый запуск Linux

1.8. Первый запуск Linux

Если вы выбрали для входа в систему графический режим (или инсталлятор выбрал его сам, ни о чем не спросив), то вы увидите графический экран с полем ввода имени и пароля. Зарегистрируйтесь в системе (лучше под тем именем, которое завели для обычного пользователя; используйте root, только если обычных учетных записей у вас еще нет), и вы увидите рабочий стол той оконной среды, которую установили в качестве среды по умолчанию, внешне довольно похожий на рабочий стол Windows.

Как же так, вы ведь слышали, что настоящие линуксоиды работают в среде командной строки? Сейчас найдем и командную строку.

Вы знаете, что консолью, или терминалом (для персонального компьютера эти понятия - синонимы) называются устройства ввода-вывода, предназначенные для общения системы с пользователем, то есть клавиатура и монитор. В UNIX-подобных системах существует понятие виртуальных консолей - консолей, по очереди занимающих физически одни и те же монитор и клавиатуру. На каждой из них может быть открыт отдельный сеанс работы пользователя, запущены свои приложения, в общем, они представляют собой почти независимые друг от друга вычислительные системы.

В большинстве дистрибутивов Linux по умолчанию обслуживается шесть текстовых виртуальных консолей, седьмая - графическая. На ней вы и находитесь. Чтобы переключиться с нее на первую текстовую консоль, нажмите комбинацию клавиш Ctrl+Alt+F1 (на шестую - Ctrl+Alt+F6).

В ответ на приглашение программы login: введите root и нажмите <Ввод>. Потом введите пароль, и ваш сеанс работы в текстовой консоли начат.

Информацию о сетевом имени машины, версии ОС, архитектуре можно получить по команде uname -а.

Если учетной записи для обычного пользователя у вас еще нет, самое время ее завести. Введите команду

#useradd < имя >

Если вам ответили «command not found», то, значит, в вашей системе эта команда называется adduser .

#passwd < имя >

Теперь можно регистрироваться под новым именем на другой виртуальной консоли. Чтобы с текстовой консоли переключиться на другую текстовую, нажмите комбинацию Alt+Fn, где n - число от 1 до 6. Вы снова увидите приглашение login: .

Зарегистрировались? Обратите внимание на строку приглашения. На той консоли, где вы зарегистрировались как root, она оканчивается символом #, а для любого обычного пользователя - символом $. Кроме этого символа, приглашение обычно состоит из имени пользователя, имени системы и текущего каталога, причем вид его можно изменить, как только вы узнаете, как это делать. В дальнейших примерах строки, начинающиеся с # или будут обозначать вводимую команду, а строки без такого символа - ее сообщения.

Теперь убедитесь сами, что Linux - действительно многозадачная и многопользовательская система, то есть, в отличие от Windows, несколько пользователей могут работать одновременно. Спросите, кто сейчас работает в системе, введя команду who .

Вы увидите что-то вроде:

root tty1 <дата и время начала сеанса root>

ivan tty2 <дата и время начала сеанса ivan>

root:0 <дата и время начала сеанса root>

<на графической консоли>

ttyN - это номер виртуальной текстовой консоли.

Если вы потерялись и хотите узнать, на какой консоли находитесь сейчас, введите команду tty . Если вы забыли, под каким именем зарегистрировались на текущей консоли, введите команду whoami . Команда w покажет не только работающих сейчас пользователей, но и запущенные ими задачи.

Листать экран можно комбинациями клавиш Shift+PgUp и Shift+PgDn.

Для копирования текста в командную строку используйте мышь: протаскивание мыши при нажатой левой кнопке выделяет фрагмент, щелчок правой кнопки вставляет его в текущую позицию курсора на любой виртуальной текстовой консоли.

Если вы хотите, не сходя с этой консоли, поработать под именем другого пользователя, введите su <имя> . По умолчанию в качестве имени подставляется root. Обычно это нужно для того, чтобы быстро выполнить какое-то администраторское действие. Возвращайтесь к работе под своим именем по команде exit.

Чтобы переключиться обратно на графическую консоль, нажмите Alt+F7.

В графическом режиме тоже можно не только щелкать мышью по значкам, но и вводить команды. Для этого запустите виртуальный терминал (рис. 1.13) - графическое приложение, в окне которого можно работать в режиме командной строки.

Рис. 1.13 . Окно виртуального терминала

Количество виртуальных терминалов, в отличие от количества виртуальных консолей, не ограничено ничем, даже традицией.

Чтобы завершить сеанс работы на виртуальном терминале или на виртуальной консоли, введите команду exit (на виртуальной консоли можно также logout) или нажмите комбинацию клавиш Ctrl+D.

Завершение работы одного пользователя не приводит к остановке всей системы. Чтобы выключить машину, нужно с правами суперпользователя отдать команду

# shutdown -h 19:00 [Конец рабочего дня]

При этом за несколько минут до указанного времени всем, кто работает в системе, будет разослано предупреждающее сообщение «Конец рабочего дня», после чего система будет корректно остановлена. Краткой формой этой команды служит halt , останавливающая систему сейчас же и без предупреждения. Перезагрузиться можно командой reboot.

Из книги Мир общения: ICQ автора Леонтьев Виталий Петрович

Первый запуск программы. Интерфейс ICQ После установки ICQ и перезагрузки компьютера в правом углу вашей панели задач появится скромный цветок с бледными лепестками – ICQ Netdetect Agent. Значок ICQВ момент вашего входа в Интернет лепестки цветка должны окраситься в ярко-зеленый

Из книги Fedora 8 Руководство пользователя автора Колисниченко Денис Николаевич

1.1.3.1. Запуск программы установки Linux Первым делом нужно настроить компьютер на загрузку с компакт диска. Обычно при запуске компьютера вы видите на экране сообщение:Press DEL to enter SETUP или Press F2 to enter SETUPВ программе SETUP нужно настроить компьютер на загрузку с CD/DVD (рис. 1.2), Если вы

Из книги Linux для пользователя автора Костромин Виктор Алексеевич

Глава 3. Первый запуск ОС Linux 3.1. Загрузка ОС Linux Итак, инсталляция Linux завершена, и вы перезапускаете компьютер. Если Linux - единственная операционная система, установленная на вашем компьютере (а, значит, загрузчик LILO размещается в главной загрузочной записи - MBR), то после

Из книги 200 лучших программ для Linux автора Яремчук Сергей Акимович

П5. К главе 3 "Первый запуск ОС Linux" 1. На странице Алексея Махоткина (http://alexm.here.ru/manpages-ru/index.html) можно найти переводы man-страниц на русский язык. 2. Guido Gonzato, "Из DOS/Windows в Linux HOWTO", перевод Alex Ott, v1.3.2, 22 Февраля 1999 (http://linux.webclub.ru/howtorus/doswinhow/dos-win-to-linux-howto.html). Это очень полезный материал

Из книги Видеосамоучитель монтажа домашнего видео в Adobe Premiere Pro CS3 автора Днепров Александр Г

Запуск игр Windows под Linux Для Linux существует мало игр. Неказуальных игр, позволяющих убить время, в Linux предостаточно, при установке дистрибутива пользователь найдет их несколько десятков. Есть и проекты OpenSource, предлагающие довольно серьезные игры в самых разообразных

Из книги Создание шаблонов Joomla автора Автор неизвестен

Первый запуск программы Premiere Pro Установка программы Premiere Pro на компьютер производится с помощью пошагового мастера. Нужно просто следовать указаниям на экране.Запустим программу Premiere Pro и создадим новый проект, чтобы далее познакомиться с интерфейсом программы.1. Нажмите

Из книги Цифровой журнал «Компьютерра» № 71 автора Журнал «Компьютерра»

Первый запуск После того, как мы создали структуру директории [ПутьКJoomla!]/templates/, наш шаблон появится в соответствующей секции административной части Joomla! (Extensions | Template). Теперь его можно использовать как шаблон по умолчанию. Рис. 2: Структура директории и файлы шаблона

Из книги Компьютерра PDA N113 (28.05.2011-03.06.2011) автора Журнал «Компьютерра»

Первый взгляд на Fedora Linux 15 Евгений Крестников Опубликовано 30 мая 2011 года Это выпуск важен по нескольким причинам. Во-первых, Fedora - популярный дистрибутив, который использует множество людей во всем мире. Кроме того, создается он сообществом

Из книги Как найти и скачать в Интернете любые файлы автора Райтман М. А.

Первый взгляд на Fedora Linux 15 Автор: Евгений КрестниковОпубликовано 30 мая 2011 годаЭто выпуск важен по нескольким причинам. Во-первых, Fedora - популярный дистрибутив, который использует множество людей во всем мире. Кроме того, создается он сообществом независимых разработчиков

Из книги Наглядный самоучитель работы на нетбуке автора Сенкевич Г. Е.

Первый запуск Как и большинство современных антивирусных программ, AVG Anti-Virus Free является не единой программой, а пакетом, состоящим из нескольких модулей, отвечающих за различные области защиты компьютера:? Anti-Virus - антивирусный сканер, отвечает за сканирование файлов

Из книги Firebird РУКОВОДСТВО РАЗРАБОТЧИКА БАЗ ДАННЫХ автора Борри Хелен

Первый запуск Почты Windows Live Чтобы запустить установленную почтовую программу, нажмите кнопку Пуск и в открывшемся меню выберите пункт Почта Windows Live (1).Если этот значок в меню отсутствует, щелкните на пункте Все программы. В списке программ щелкните на пункте Windows Live -

Из книги Photoshop CS4 автора Жвалевский Андрей Валентинович

Первый запуск Windows Media Для запуска проигрывателя Windows Media нажмите кнопку на Панели задач или выберите в меню кнопки Пуск пункт Все программы|Проигрыватель Windows Media. При первом запуске проигрывателя предлагается выполнить некоторые его настройки. Установите переключатель

Из книги Вопросы истории: UNIX, Linux, BSD и другие автора Федорчук Алексей Викторович

Запуск Firebird на Linux/UNIX Суперсервер Каталог инсталляции по умолчанию /opt/firebird. В каталоге /bin находится в двоичном формате сервер Firebird fbserver (ibserver для Firebird 1.0.x), который запускается как процесс-демон в Linux/UNIX. Он запускается автоматически после инсталляции посредством RPM или

Из книги автора

Установка Photoshop CS4 и первый запуск Системные требования для Photoshop CS4 таковы: процессор с тактовой частотой не ниже 1,8 ГГц; операционная система Windows XP с Service Pack 2 (желательно Service Pack 3) или Windows Vista; не менее 512 Мбайт оперативной памяти (рекомендуется 1 Гбайт); 16-разрядная

Из книги автора

Slackware: первый шаг к Linux’у для всех Итак, дистрибутив SLS умер. Но душа его жила. Ещё в период его активного развития Патрик Фолькердинг принял SLS за основу своей Linux-системы, названной Slackware, первая версия которой была обнародована 17 июля 1993 года и с тех пор успешно развивается

Из книги автора

IPLabs Linux Team: начало русского Linux’а Следующая веха на пути русского Linux’а – 1998 год, когда фирма IPLabs (точнее, ее подразделение – IPLabs Linux Team) совместно с Институтом логики (на самом деле это были одни и те же люди – Алексей Новодворский, Алексей Смирнов и Юрий Девяткин с