Linux. Книга рецептов - Карла Шрёдер - E-Book

Linux. Книга рецептов E-Book

Карла Шрёдер

0,0

Beschreibung

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

Sie lesen das E-Book in den Legimi-Apps auf:

Android
iOS
von Legimi
zertifizierten E-Readern
Kindle™-E-Readern
(für ausgewählte Pakete)

Seitenzahl: 552

Veröffentlichungsjahr: 2024

Das E-Book (TTS) können Sie hören im Abo „Legimi Premium” in Legimi-Apps auf:

Android
iOS
Bewertungen
0,0
0
0
0
0
0
Mehr Informationen
Mehr Informationen
Legimi prüft nicht, ob Rezensionen von Nutzern stammen, die den betreffenden Titel tatsächlich gekauft oder gelesen/gehört haben. Wir entfernen aber gefälschte Rezensionen.



Карла Шрёдер
Linux. Книга рецептов. 2-е изд.

Перевод А. Киселев

Карла Шрёдер

Linux. Книга рецептов. 2-е изд.. — СПб.: Питер, 2022.

ISBN 978-5-4461-1937-0

© ООО Издательство "Питер", 2022

Все права защищены. Никакая часть данной книги не может быть воспроизведена в какой бы то ни было форме без письменного разрешения владельцев авторских прав.

Оглавление

Предисловие
Для кого эта книга
Почему я написала эту книгу
Структура издания
Условные обозначения
Использование программного кода примеров
Благодарности
От издательства
Глава 1. Установка Linux
Загрузка с установочного носителя
Где скачать Linux
Лучший дистрибутив Linux для новичков
1.1. Вход в настройки BIOS/UEFI
1.2. Скачивание установочного образа Linux
1.3. Создание загрузочного USB-накопителя с Linux с помощью UNetbootin
1.4. Создание установочного DVD с Linux с помощью K3b
1.5. Создание загрузочного CD/DVD с помощью команды wodim
1.6. Создание установочного USB-носителя с Linux с помощью команды dd
1.7. Простая установка Ubuntu
1.8. Настройка дисковых разделов
1.9. Сохранение существующих разделов
1.10. Выбор пакетов для установки
1.11. Мультизагрузка нескольких дистрибутивов Linux
1.12. Двухвариантная загрузка с Microsoft Windows
1.13. Восстановление ключа продукта OEM для Windows 8 или 10
1.14. Монтирование ISO-образа в Linux
Глава 2. Управление загрузчиком GRUB
2.1. Повторная сборка конфигурационного файла GRUB
2.2. Отображение скрытого меню GRUB
2.3. Загрузка с другим ядром Linux
2.4. Устройство конфигурационных файлов GRUB
2.5. Создание минимального конфигурационного файла GRUB
2.6. Настройка фонового изображения для меню GRUB
2.7. Изменение цвета шрифтов в меню GRUB
2.8. Применение темы оформления к меню GRUB
2.9. Восстановление незагружающейся системы из приглашения grub>
2.10. Восстановление незагружающейся системы из приглашения grub rescue>
2.11. Переустановка конфигурации GRUB
Глава 3. Запуск, остановка, перезапуск и перевод Linux в спящий режим
3.1. Выключение с помощью команды systemctl
3.2. Выключение, выключение по времени и перезагрузка с помощью команды shutdown
3.3. Выключение и перезагрузка с помощью команд halt, reboot и poweroff
3.4. Перевод системы в спящий режим с помощью команды systemctl
3.5. Надежная перезагрузка с помощью комбинации Ctrl+Alt+Delete
3.6. Включение, выключение и настройка комбинации Ctrl+Alt+Delete в консоли Linux
3.7. Выключение по расписанию с помощью cron
3.8. Автоматическое включение по расписанию с помощью UEFI
3.9. Автоматическое включение по расписанию с помощью часов реального времени
3.10. Настройка удаленного включения по сети с помощью проводного Ethernet
3.11. Настройка удаленного включения через Wi-Fi (WoWLAN)
Глава 4. Управление службами с помощью systemd
4.1. Проверка использования systemd в вашем дистрибутиве Linux
4.2. Процесс с PID 1 — родоначальник всех процессов
4.3. Вывод списка служб и их состояний с помощью команды systemctl
4.4. Определение состояния выбранных служб
4.5. Запуск и остановка служб
4.6. Включение и выключение служб
4.7. Остановка неисправных процессов
4.8. Управление уровнями запуска с помощью systemd
4.9. Диагностика медленного запуска
Глава 5. Управление пользователями и группами
5.1. Определение UID и GID пользователя
5.2. Создание учетной записи для пользователя-человека с помощью команды useradd
5.3. Создание системной учетной записи с помощью команды useradd
5.4. Изменение настроек по умолчанию для команды useradd
5.5. Настройка каталогов для документов, музыки, видео, изображений и загрузок
5.6. Создание пользовательских и системных групп с помощью команды groupadd
5.7. Добавление пользователей в группы с помощью команды usermod
5.8. Создание пользователей с помощью команды adduser в Ubuntu
5.9. Создание системного пользователя с помощью команды adduser в Ubuntu
5.10. Создание пользовательских и системных групп с помощью команды addgroup
5.11. Проверка целостности файла паролей
5.12. Отключение учетной записи пользователя
5.13. Удаление пользователя с помощью команды userdel
5.14. Удаление пользователя с помощью команды deluser в Ubuntu
5.15. Удаление группы с помощью команды delgroup в Ubuntu
5.16. Поиск всех файлов, принадлежащих пользователю
5.17. Использование su для получения привилегий root
5.18. Получение ограниченных привилегий root с помощью команды sudo
5.19. Увеличение времени кэширования пароля в sudo
5.20. Создание отдельных конфигураций для пользователей sudo
5.21. Управление паролем пользователя root
5.22. Настройка sudo для использования без ввода пароля root
Глава 6. Управление файлами и каталогами
6.1. Создание файлов и каталогов
6.2. Быстрое создание пакетов файлов для тестирования
6.3. Относительные и абсолютные пути к файлам
6.4. Удаление файлов и каталогов
6.5. Копирование, перемещение и переименование файлов и каталогов
6.6. Настройка разрешений файлов с помощью команды chmod с использованием восьмеричного представления
6.7. Настройка разрешений каталогов с помощью команды chmod с использованием восьмеричного представления
6.8. Особые режимы для особых случаев использования
6.9. Удаление особых режимов с помощью восьмеричного представления
6.10. Настройка разрешений файлов с помощью команды chmod с использованием символического представления
6.11. Настройка особых режимов с помощью команды chmod с использованием символического представления
6.12. Настройка разрешений для групп файлов с помощью команды chmod
6.13. Настройка владения файлами и каталогами с помощью команды chown
6.14. Смена владельца для групп файлов с помощью команды chown
6.15. Настройка разрешений по умолчанию с помощью команды umask
6.16. Создание символических и жестких ссылок на файлы и каталоги
6.17. Сокрытие файлов и каталогов
Глава 7. Резервное копирование и восстановление с помощью команд rsync и cp
7.1. Выбор файлов для резервного копирования
7.2. Выбор файлов для восстановления из резервной копии
7.3. Простейший метод создания локальной резервной копии
7.4. Автоматизация создания локальной резервной копии
7.5. Использование команды rsync для создания локальной резервной копии
7.6. Безопасная передача файлов с помощью rsync по сети через SSH
7.7. Автоматизация резервного копирования с помощью rsync, cron и SSH
7.8. Исключение файлов из резервного копирования
7.9. Выборочное включение файлов в резервное копирование
7.10. Управление включением с помощью простого файла со списком для включения
7.11. Управление включением и исключением с помощью файла со списком для исключения
7.12. Ограничение скорости передачи в команде rsync
7.13. Создание сервера резервного копирования с помощью rsyncd
7.14. Ограничение доступа к модулям rsyncd
7.15. Создание сообщения с приветствием для rsyncd
Глава 8. Управление дисковыми разделами с помощью parted
Обзор
8.1. Размонтирование разделов перед разбиением с помощью parted
8.2. Запуск parted в командном режиме
8.3. Обзор существующих дисков и разделов
8.4. Создание разделов GPT на незагрузочном диске
8.5. Создание разделов для установки Linux
8.6. Удаление разделов
8.7. Восстановление удаленного раздела
8.8. Увеличение размера раздела
8.9. Уменьшение размера раздела
Глава 9. Управление разделами и файловыми системами с помощью GParted
9.1. Обзор разделов, файловых систем и свободного пространства
9.2. Создание новой таблицы разделов
9.3. Удаление раздела
9.4. Создание нового раздела
9.5. Удаление файловой системы без удаления раздела
9.6. Восстановление удаленного раздела
9.7. Изменение размера раздела
9.8. Перемещение раздела
9.9. Копирование раздела
9.10. Управление файловыми системами с помощью GParted
Глава 10. Получение подробной информации об оборудовании компьютера
10.1. Сбор информации об оборудовании с помощью команды lshw
10.2. Фильтрация вывода lshw
10.3. Определение оборудования, включая дисплеи и дисковые массивы RAID, с помощью команды hwinfo
10.4. Определение оборудования PCI с помощью команды lspci
10.5. Содержимое вывода команды lspci
10.6. Фильтрация вывода команды lspci
10.7. Использование команды lspci для идентификации модулей ядра
10.8. Вывод списка устройств USB с помощью команды lsusb
10.9. Вывод списка разделов и жестких дисков с помощью команды lsblk
10.10. Получение информации о процессоре
10.11. Идентификация аппаратной архитектуры
Глава 11. Создание файловых систем и управление ими
Обзор файловых систем
11.1. Вывод списка поддерживаемых файловых систем
11.2. Идентификация существующих файловых систем
11.3. Изменение размера файловой системы
11.4. Удаление файловых систем
11.5. Использование новой файловой системы
11.6. Автоматическое монтирование файловой системы
11.7. Создание файловой системы Ext4
11.8. Настройка режима журналирования Ext4
11.9. Определение журнала, к которому подключена файловая система Ext4
11.10. Увеличение производительности Ext4 за счет использования внешнего журнала
11.11. Освобождение пространства, занятого зарезервированными блоками, в файловой системе Ext4
11.12. Создание новой файловой системы XFS
11.13. Изменение размера файловой системы XFS
11.14. Создание файловой системы exFAT
11.15. Создание файловых систем FAT16 и FAT32
11.16. Создание файловой системы Btrfs
Глава 12. Безопасный удаленный доступ с OpenSSH
12.1. Установка сервера OpenSSH
12.2. Генерирование новых ключей хоста
12.3. Настройка сервера OpenSSH
12.4. Проверка синтаксиса конфигурации
12.5. Настройка аутентификации с паролем
12.6. Получение отпечатка ключа
12.7. Аутентификация с открытым ключом
12.8. Управление несколькими открытыми ключами
12.9. Изменение парольной фразы
12.10. Автоматическое управление парольными фразами с помощью Keychain
12.11. Использование Keychain для доступа к парольным фразам из заданий cron
12.12. Защищенное туннелирование сеанса X через SSH
12.13. Открытие сеанса SSH и запуск команды одной строкой
12.14. Монтирование удаленной файловой системы через sshfs
12.15. Настройка приглашения к вводу в Bash при работе через SSH
12.16. Список поддерживаемых алгоритмов шифрования
Глава 13. Безопасный удаленный доступ с OpenVPN
Обзор OpenVPN
13.1. Установка OpenVPN, сервера и клиента
13.2. Настройка простого подключения для тестирования
13.3. Настройка простого шифрования со статическими ключами
13.4. Установка EasyRSA для управления инфраструктурой PKI
13.5. Создание инфраструктуры PKI
13.6. Настройка параметров по умолчанию EasyRSA
13.7. Создание и тестирование конфигураций сервера и клиента
13.8. Управление OpenVPN с помощью команды systemctl
13.9. Распространение конфигураций клиентов с помощью файлов .ovpn
13.10. Повышение безопасности сервера OpenVPN
13.11. Настройка сети
Глава 14. Создание брандмауэра на основе firewalld
Обзор firewalld
14.1. Определение того, какой брандмауэр запущен
14.2. Установка firewalld
14.3. Определение номера установленной версии firewalld
14.4. Настройка iptables или nftables в роли базовой поддержки firewalld
14.5. Вывод списка всех зон и всех служб, управляемых каждой зоной
14.6. Ввод списка поддерживаемых служб
14.7. Выбор и настройка зоны
14.8. Изменение зоны firewalld по умолчанию
14.9. Настройка зон firewalld
14.10. Создание новой зоны
14.11. Интеграция NetworkManager и firewalld
14.12. Блокировка и разблокировка конкретных портов
14.13. Блокировка IP-адресов с помощью своих правил
14.14. Изменение действия по умолчанию для зоны
Глава 15. Печать в Linux
Обзор
15.1. Использование веб-интерфейса CUPS
15.2. Установка принтера, подключенного непосредственно к компьютеру
15.3. Выбор имен для принтеров
15.4. Установка сетевого принтера
15.5. Печать без драйверов
15.6. Совместное использование несетевых принтеров
15.7. Исправление сообщения об ошибке Forbidden
15.8. Установка драйверов принтеров
15.9. Изменение настроек установленного принтера
15.10. Печать документов в файлы PDF
15.11. Устранение неполадок
Глава 16. Управление локальной службой имен с помощью Dnsmasq и файла hosts
16.1. Простое разрешение имен с помощью файла /etc/hosts
16.2. Использование файла /etc/hosts для тестирования и блокировки надоедливых сайтов
16.3. Поиск всех серверов DNS и DHCP в своей сети
16.4. Установка Dnsmasq
16.5. Устранение конфликтов между systemd-resolved с NetworkManager и Dnsmasq
16.6. Настройка Dnsmasq на роль сервера DNS для локальной сети
16.7. Настройка поддержки DNS и DHCP в firewalld
16.8. Тестирование сервера Dnsmasq с машины клиента
16.9. Управление службой DHCP с помощью Dnsmasq
16.10. Передача важной информации о службах через DHCP
16.11. Создание зон DHCP для подсетей
16.12. Назначение статических IP-адресов с помощью DHCP
16.13. Настройка клиентов DHCP для автоматического создания записей в DNS
16.14. Управление журналированием в Managing
16.15. Настройка подстановочных доменов
Глава 17. Точное время с ntpd, chrony и timesyncd
17.1. Определение клиента NTP, установленного в системе Linux
17.2. Использование timesyncd для простой синхронизации времени
17.3. Настройка времени вручную с помощью утилиты timedatectl
17.4. Использование chrony в роли клиента NTP
17.5. Использование chrony в роли локального сервера времени
17.6. Вывод статистики chrony
17.7. Использование ntpd в роли клиента NTP
17.8. Использование ntpd в роли сервера NTP
17.9. Управление часовыми поясами с помощью утилиты timedatectl
17.10. Управление часовыми поясами без утилиты timedatectl
Глава 18. Создание брандмауэра/маршрутизатора для подключения к Интернету на Raspberry Pi
Обзор
18.1. Включение и выключение Raspberry Pi
18.2. Поиск дополнительного оборудования и руководств
18.3. Охлаждение Raspberry Pi
18.4. Установка Raspberry Pi OS с помощью Imager и команды dd
18.5. Установка Raspberry Pi методом NOOBS
18.6. Подключение дисплея без HDMI
18.7. Загрузка в режиме восстановления
18.8. Добавление второго интерфейса Ethernet
18.9. Настройка брандмауэра для общего использования подключения к Интернету с помощью firewalld
18.10. Запуск Raspberry Pi без монитора
18.11. Создание сервера DNS/DHCP на Raspberry Pi
Глава 19. Восстановление работоспособности системы с помощью SystemRescue
19.1. Создание загрузочного устройства SystemRescue
19.2. Начало работы с SystemRescue
19.3. Знакомство с двумя загрузочными меню SystemRescue
19.4. Знакомство с вариантами загрузки SystemRescue
19.5. Идентификация файловых систем
19.6. Переустановка пароля root в Linux
19.7. Включение поддержки SSH в SystemRescue
19.8. Копирование файлов по сети с помощью scp и sshfs
19.9. Восстановление загрузчика GRUB из SystemRescue
19.10. Переустановка пароля в Windows
19.11. Восстановление аварийного жесткого диска с помощью GNU ddrescue
19.12. Управление разделами и файловыми системами из SystemRescue
19.13. Создание раздела для данных на USB-носителе с SystemRescue
19.14. Сохранение изменений в SystemRescue
Глава 20. Устранение неполадок на компьютере с Linux
Обзор
20.1. Поиск полезной информации в файлах журналов
20.2. Настройка демона journald
20.3. Создание сервера журналирования с помощью systemd
20.4. Мониторинг температуры, частоты вращения вентиляторов и уровня напряжения с помощью lm-sensors
20.5. Добавление графического интерфейса для lm-sensors
20.6. Мониторинг состояния жесткого диска с помощью smartmontools
20.7. Настройка smartmontools для отправки отчетов по электронной почте
20.8. Диагностика вяло реагирующей системы с помощью команды top
20.9. Обзор выбранных процессов в команде top
20.10. Выход из зависшей среды рабочего стола
20.11. Устранение неполадок с оборудованием
Глава 21. Устранение неполадок с сетью
Диагностическое оборудование
21.1. Проверка соединения с помощью утилиты ping
21.2. Профилирование сети с помощью команды fping и nmap
21.3. Поиск повторяющихся IP-адресов с помощью утилиты arping
21.4. Проверка пропускной способности и задержки HTTP-сервера с помощью утилиты httping
21.5. Поиск проблемных маршрутизаторов с помощью утилиты mtr
Приложение. Шпаргалки по управлению программным обеспечением
Команды управления пакетами
Управление программным обеспечением в Ubuntu
Управление программным обеспечением в Fedora
Управление программным обеспечением в openSUSE
Об авторе
Об обложке
Рекомендуем прочитать

Предисловие

Давным-давно я написала первое издание этой книги. Оно увидело свет в 2004 году1. Книга хорошо продавалась, я познакомилась со многими счастливыми читателями, а некоторые даже стали моими друзьями.

Для книги о Linux 17 лет — большой срок. В 2004 году операционной системе Linux исполнилось 14 лет. Это была скромная операционная система для детских компьютеров. Но, несмотря на это, она уже пользовалась популярностью: ее активно устанавливали как на крошечные встраиваемые устройства, так и на мейнфреймы и суперкомпьютеры. Быстрое развитие Linux отчасти объясняется тем, что она является бесплатным клоном Unix, самой зрелой и эффективной операционной системы из всех существующих. Другой важный фактор быстрого развития и роста популярности Linux — отсутствие препятствий. Каждый может скачать эту операционную систему и попробовать ее в деле, а исходный код доступен всем, кто захочет внести в его развитие свой вклад.

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

Семнадцать лет спустя все важные подсистемы Linux существенно изменились и улучшились. Теперь все настройки, которые раньше приходилось выполнять вручную, заменены тем, что я называю «просто работает». Пользоваться Linux стало гораздо проще, и мы можем сосредоточиться на своей работе вместо того, чтобы плясать с бубном и произносить заклинания во имя функционирования системы.

Я рада представить это обновленное второе издание «Linux. Книга рецептов» и надеюсь, что вам понравится узнавать обо всех замечательных нов­шествах.

Для кого эта книга

Книга предназначена для читателей, имеющих некоторый опыт работы с компьютером, но не обязательно с Linux. Я постаралась сделать книгу максимально доступной для новичков в Linux. И тем не менее желательно, чтобы вы понимали базовые сетевые концепции, такие как IP-адресация, Ethernet, Wi-Fi, клиент и сервер, знали основы устройства компьютерного оборудования и имели некое представление об использовании командной строки. Если вы нуждаетесь в объяснении этих концепций, то я рекомендую обратиться к другим специализированным ресурсам; не поймите меня неправильно, я просто не хотела увязнуть в учебном материале, который уже хорошо документирован.

Все рецепты выработаны на практике. Я хотела бы, чтобы вы добивались успеха с первой попытки и не особенно расстраивались, если что-то не получится. Универсальный компьютер с Linux — сложная машина, требующая изучения и освоения. Будьте терпеливы, не торопитесь и читайте больше, чем хотелось бы. Часто нужные ответы оказываются в паре предложений от того места, где вы закончили читать.

Каждый дистрибутив Linux имеет встроенную документацию по командам, которая называется man-страницами (сокращенно от англ. manual pages — «страницы справочного руководства»). Например, man1ls покажет описание команды ls, которая выводит список содержимого каталога. Вводите эти команды точно так, как показано в книге, чтобы открыть правильную страницу руководства. Эту же информацию можно найти в Интернете.

Почему я написала эту книгу

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

Формат сборника рецептов особенно хорош для обучения основам, поскольку показывает, как решать конкретные реальные проблемы, и отделяет многословные объяснения от практических шагов, необходимых для решения задачи.

Структура издания

Книга не является официальным учебным руководством, которое нужно читать по порядку, от начала и до конца. Вы можете читать ее в любом порядке и искать то, что вам нужно.

Вот примерное содержание.

• Главы 1, 2 и 3 описывают установку Linux, управление загрузчиком, остановку и запуск системы, а также включают ответы на вопросы «Где взять Linux и как ее запустить».

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

• Глава 5 рассказывает об управлении пользователями и группами, глава 6 — об управлении файлами и каталогами, а глава 7 — о резервном копировании и восстановлении. Эти три главы особенно важны для поддержки работоспособности и безопасности системы.

• Главы 8, 9 и 11 посвящены дисковым разделам и файловым системам (ФС), которые имеют фундаментальное значение для управления хранилищами данных. Управление данными — самый важный аспект вычислений.

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

• Главы 12 и 13 рассказывают о настройке безопасного удаленного доступа, а глава 14 описывает превосходный firewalld — динамический брандмауэр, который легко справляется с такими сложнейшими сценариями, как маршрутизация между разными сетями и управление несколькими сетевыми интерфейсами.

• Глава 15 знакомит с новыми возможностями CUPS (Common Unix Printing System) — универсальной системы печати Unix, — включая «печать без драйверов», которая особенно востребована для мобильных устройств, поскольку позволяет подключать их к принтеру, избегая скачивания большого количества программного обеспечения.

• Глава 16 показывает, как управлять собственными службами сетевых имен с помощью превосходного Dnsmasq. Благодаря поддержке новых протоколов Dnsmasq сохранил свою актуальность, а старые команды и параметры конфигурации не изменились. Это первоклассный сервер имен, который легко интегрирует DNS и DHCP для централизованного управления IP-адресацией и специализированными сетевыми службами.

• Глава 17 знакомит с chrony и timesyncd, двумя новыми реализациями протокола сетевого времени (Network Time Protocol, NTP), а также с проверенными временем сервером и клиентом ntp.

• Глава 18 рассказывает об установке Linux на Raspberry Pi — популярный, небольшой и недорогой одноплатный компьютер — и его использовании для создания брандмауэра/шлюза в Интернете.

• Глава 19 показывает, как использовать SystemRescue для сброса утерянных паролей Linux и Windows, восстановления незагружающихся систем, восстановления данных в неисправной системе и описывает настройки SystemRescue, чтобы сделать этот инструмент еще полезнее.

• Главы 20 и 21 рассказывают об основных способах устранения неполадок с упором на поиск файлов журналов, зондирование сетей, а также зондирование и мониторинг оборудования.

• Приложение содержит шпаргалки с подсказками по управлению установкой и обслуживанием программного обеспечения.

Условные обозначения

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

Курсив

Курсивом выделены новые термины.

Моноширинный шрифт

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

Моноширинный жирный шрифт

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

Моноширинный серый

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

Шрифт без засечек

Используется для обозначения URL, адресов электронной почты, названий кнопок, названий клавиш и их сочетаний, элементов интерфейса.

Этот рисунок указывает на совет или предложение.

Этот рисунок указывает на общее замечание.

Этот рисунок указывает на предупреждение.

Использование программного кода примеров

Данная книга должна помочь решить ваши задачи. В общем случае все примеры кода из нее вы можете использовать в своих программах и в документации. Вам не нужно обращаться в издательство за разрешением, если вы не собирае­тесь воспроизводить существенные части кода. Например, если вы разрабатываете программу и используете в ней несколько отрывков кода из книги, то вам не нужно обращаться в издательство O’Reilly за разрешением. Однако вам необходимо его получить в случае продажи или распространения примеров из этой книги. Если вы отвечаете на вопросы, цитируя издание или примеры из него, то получать разрешение издательства не требуется. Но вам необходимо будет его получить при включении существенных объемов программного кода примеров из этой книги в вашу документацию.

Мы приветствуем, но не требуем добавлять ссылку на первоисточник при цитировании. Под ссылкой на первоисточник мы подразумеваем указание авторов, издательства и ISBN. Например: «Linux. Книга рецептов. Второе издание. Карла Шрёдер (Питер). Copyright 2021 Carla Schroder, 978-5-4461-1937-0».

Если вам покажется, что использование кода примеров выходит за рамки оговоренных выше условий и разрешений, свяжитесь с нами по адресу [email protected].

Благодарности

Мне очень повезло с этой книгой. Мой редактор Джефф Блейл (Jeff Bleiel) неизменно поддерживал меня и во всем помогал. Он сам внес множество улучшений и организовывал поступательное развитие проекта.

Мой стажер Кейт Урнесс (Kate Urness) почти ничего не знала о Linux в начале этого приключения, что сделало ее идеальным рецензентом. Она протестировала каждый рецепт и помогла повысить их точность и ясность. Мы вместе выпили галлоны кофе и повеселились от души, что тоже было существенным вкладом.

Научный редактор Дэниел Барретт (Daniel Barrett) проявил потрясающее внимание к деталям и неустанно стремился к большей точности формулировок и описаний. Он тоже внес множество улучшений. Написать книгу, наполненную командами, — просто, а объяснить, как они работают, — сложно. Пусть каждому писателю повезет так, как мне, и у них будут такие же технические редакторы.

Научный редактор Джонатан Джонсон (Jonathan Johnson) нашел то, что упустили все остальные, добавил несколько суперкрутых заклинаний, привнес толику юмора и любезно разрешил мне сказать вам, что был очень нужен мне.

Зан Маккуэйд (Zan McQuade), представитель отдела закупок, затеял все это безумие. На протяжении многих лет он вел разговоры об обновлении данной книги и наконец добился своего.

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

Особая благодарность нашим котам и кошкам: Герцогине (рис. 1), Хороняке (рис. 2) и Безумному Максу (рис. 3), которые постоянно появляются в этой книге. Они очень помогли тем, что спали на моей клавиатуре, не позволяли мне сидеть на стуле и часто производили загадочные громкие звуки падения разных предметов.

Рис. 1. Герцогиня держит меня за ноги для моего же блага

Рис. 2. Хороняка — наш гламурный мальчик

Рис. 3. Безумный Макс отдыхает перед следующим погромом

1В России первое издание вышло в 2006 году. — Здесь и далеепримеч. пер.

От издательства

Ваши замечания, предложения, вопросы отправляйте по адресу [email protected] (издательство «Питер», компьютерная редакция).

Мы будем рады узнать ваше мнение!

На веб-сайте издательства www.piter.com вы найдете подробную информацию о наших книгах.

Глава 1. Установка Linux

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

Эксперименты с Linux

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

Большинство дистрибутивов Linux предоставляют установочные образы двойного назначения: их можно запускать прямо с накопителя USB (live-версии) и устанавливать на жесткий диск. Когда система запускается прямо с накопителя USB, то она не вносит никаких изменений в ваш компьютер — просто загрузите ее, проверьте и перезагрузите компьютер. Некоторые live-версии Linux, такие как Ubuntu, поддерживают хранение данных на USB-накопителе, что позволяет создать носимую версию Linux, которую можно запускать на любом компьютере.

Мультизагрузка — это установка на компьютер нескольких операционных систем с последующим выбором в меню загрузки той, которую вы хотите использовать. Вы можете организовать мультизагрузку любой системы Linux, любой из бесплатных версий Unix (FreeBSD, NetBSD, OpenBSD), а также мультизагрузку Linux и Microsoft Windows. Установка Linux параллельно с Windows — распространенный способ знакомства с Linux для пользователей Windows, а также для пользователей, которым необходимы обе системы.

Вы спросите, а как насчет macOS компании Apple? Сожалею, но организовать мультизагрузку Linux и macOS довольно сложно, и с каждой новой версией macOS становится все сложнее. Альтернативой установке обеих систем на одной машине является запуск Linux в Parallels — виртуальной машине для macOS.

Вместо того чтобы устанавливать Linux самостоятельно, можно купить ПК с уже установленной ОС. Есть несколько неплохих производителей, продающих ноутбуки, настольные компьютеры и серверы с Linux, в том числе: System76, ZaReason, Linux Certified, Think Penguin, Entroware и Tuxedo Computers. Компания Dell расширяет свою линейку компьютеров с Linux, а поставщики корпоративных версий Linux — Red Hat, SUSE и Ubuntu — тесно сотрудничают с поставщиками оборудования, включая Dell, Hewlett-Packard и IBM.

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

Несмотря на то что для установки Linux требуется всего несколько шагов, вам понадобится определенный багаж знаний, особенно если вы хотите настроить свою установку, например распределить разделы диска определенным образом или организовать мультизагрузку с другими дистрибутивами Linux или с Microsoft Windows. Вам нужно знать, как войти в настройки базовой системы ввода/вывода (Basic Input Output System, BIOS) или единого расширяемого микропрограммного интерфейса (Unified Extensible Firmware Interface, UEFI). Вам нужен хороший доступ в Интернет. Все дистрибутивы Linux можно скачать бесплатно, даже коммерческие корпоративные дистрибутивы, такие как Red Hat, SUSE и Ubuntu. Размеры скачиваемых файлов варьируются от нескольких мегабайтов для сверхмалых дистрибутивов Linux, таких как Tiny Core Linux, который вмещает полную операционную систему с графическим рабочим столом в 12 Мбайт, до 10+ Гбайт для SUSE Linux Enterprise Server. Для большинства дистрибутивов Linux имеются установочные образы размером 2–4 Гбайт, которые идеально помещаются на DVD или небольшой USB-накопитель.

Большинство дистрибутивов Linux предоставляют образ для установки по сети; например, такой образ для Debian занимает около 200 Мбайт. Он содержит часть системы Debian, которой вполне достаточно для того, чтобы загрузиться, подключиться к Интернету и скачать только необходимые пакеты вместо полного установочного образа.

Вы можете свободно делиться с другими людьми любым скачанным дистрибутивом Linux.

Кроме того, есть возможность купить дистрибутивы Linux на DVD и USB-накопителях. Посетите Shop Linux Online (https://shoplinuxonline.com) и Linux Disc Online (https://linuxdisconline.com), где предлагаются физические носители с установочными образами различных дистрибутивов Linux.

Загрузка с установочного носителя

Чтобы установить Linux, нужно загрузиться с установочного носителя USB или DVD. Возможно, для этого вам придется войти в настройки BIOS или UEFI вашего компьютера, чтобы разрешить загрузку со съемного устройства. Некоторые компьютеры дают возможность выбрать альтернативное загрузочное устройство без входа в BIOS/UEFI; например, мой ноутбук отображает экран заставки, на котором перечислены все поддерживаемые сочетания клавиш: F2 или Delete для входа в настройки и F11 для входа в меню выбора альтернативного загрузочного устройства. В системах Dell можно нажать клавишу F12, чтобы открыть меню однократной загрузки. Все компьютеры разные, поэтому загляните в руководство по материнской плате, чтобы узнать, какие возможности она предлагает.

Вероятно, вам придется отключить безопасную загрузку (secure boot) в настройках UEFI, чтобы разрешить загрузку со съемного носителя. Fedora, openSUSE и Ubuntu имеют собственные подписанные ключи и будут загружаться с включенной поддержкой безопасной загрузки. Другие дистрибутивы Linux, такие как SystemRescue (см. главу 19), не имеют подобных ключей.

Безопасная загрузка

Безопасная загрузка (Secure Boot) — это функция безопасности UEFI. Когда она включена, UEFI позволяет загружать только операционные системы, имеющие специальные подписанные ключи. Идея состоит в том, чтобы предотвратить управление загрузчиком со стороны вредоносного кода.

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

Где скачать Linux

Существуют сотни дистрибутивов Linux, и отличное место, где можно узнать об их существовании, — это DistroWatch.com (https://distrowatch.com), наиболее исчерпывающий ресурс о дистрибутивах Linux. DistroWatch публикует обзоры, подробную информацию и новости, а также список, включающий 100 самых популярных дистрибутивов.

Лучший дистрибутив Linux для новичков

Linux предлагает довольно много хорошего, возможно даже слишком много. Рецепты, представленные в этой книге, были протестированы в openSUSE, Fedora Linux и Ubuntu Linux. Эти три дистрибутива прекрасно зарекомендовали себя, пользуются большой популярностью и удобны в обслуживании. Они представляют три разных семейства Linux (см. приложение). Как мне кажется, для новичков идеально подойдет дистрибутив Ubuntu с его простым установщиком, хорошей документацией и обширным и доброжелательным сообществом пользователей.

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

Аппаратные архитектуры

Авторы практических руководств раньше исходили из того, что читатели используют оборудование с архитектурой x86. Однако с ростом популярности процессоров ARM ситуация изменилась. Современные дистрибутивы Linux поддерживают большое количество аппаратных архитектур, и в рецепте 10.11 вы узнаете, как определить свою архитектуру. У вас не получится случайно установить версию Linux не для своей архитектуры, поскольку процедура установки сразу же потерпит неудачу и выведет сообщение об ошибке, объясняющее причину.

Установочные образы Linux распространяются в формате ISO 9660 и имеют расширение *.iso, например ubuntu-20.04.1-desktop-amd64.iso для компьютеров с аппаратной архитектурой x86-64 и ubuntu-20.04.1-live-server-arm64.iso для компьютеров с аппаратной архитектурой ARM. Это сжатый архив, содержащий целую файловую систему и программу установки. В процессе установки он распаковывается, и вы можете видеть все файлы.

Первоначально формат *.iso предназначался для CD и DVD. Когда-то дистрибутивы Linux умещались на одном компакт-диске. (Более того, были времена, когда они умещались на нескольких 3,5-дюймовых дискетах!) Современные дистрибутивы Linux в большинстве своем слишком велики и уже не умещаются на CD. USB-накопители идеально подходят для установки Linux, поскольку они недорогие, многоразовые и намного быстрее оптических носителей.

1.1. Вход в настройки BIOS/UEFI

Задача

Войти в настройки BIOS/UEFI.

Решение

Войдите в настройки BIOS/UEFI, нажав при запуске соответствующую клавишу Fn. В системах Dell, ASUS и Acer это обычно F2, а в Lenovo — F1. В других системах это может быть другая клавиша; например, в ряде систем используется Delete, поэтому загляните в документацию к своему компьютеру. Некоторые системы сообщают, какую клавишу нажать, на экране запуска. Часто трудно нажать клавишу в нужное время, поэтому начинайте и продолжайте нажимать ее сразу после нажатия кнопки питания, как если бы вы нажимали кнопку вызова лифта, чтобы он прибыл быстрее.

Настройки UEFI в каждом компьютере выглядят по-разному; например, компьютеры компании Lenovo имеют яркий и хорошо организованный интерфейс (рис. 1.1).

Рис. 1.1. Настройки UEFI в новом Lenovo ThinkPad

ASRock UEFI в моей тестовой системе выглядит мрачно и броско (рис. 1.2). Эта материнская плата предназначена для геймеров и имеет множество настроек для разгона процессора и других оптимизаций производительности. На рис. 1.2 показан браузер материнской платы; стоит навести указатель мыши на любой элемент, и вы тут же получите информацию о нем.

Рис. 1.2. Браузер материнской платы в ASRock UEFI

Комментарий

Когда вы загружаете компьютер, первые программные инструкции, которые он выполняет, извлекаются из прошивки BIOS или UEFI в материнской плате. BIOS — это старая система, используемая с 1980 года. UEFI — ее современная замена, которая включает поддержку устаревшей BIOS. Почти все компьютеры, выпущенные после середины 2000-х, имеют UEFI.

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

Дополнительная информация

• Документация для материнской платы.

• Форум Unified Extensible Firmware Interface (https://uefi.org).

1.2. Скачивание установочного образа Linux

Задача

Найти и скачать установочный образ Linux.

Решение

Прежде всего вы должны понять, какой дистрибутив Linux хотели бы попробовать. Если вы не знаете, с чего начать, то советую посмотреть в сторону Ubuntu Linux (https://ubuntu.com). Прекрасным выбором для новичков также станут Fedora Linux (https://getfedora.org) и openSUSE Linux (https://opensuse.org).

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

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

$ echo "fa95fb748b34d470a7cfa5e3c1c8fa1163e2dc340cd5a60f7ece9dc963ecdf88 \

*ubuntu-21.04-desktop-amd64.iso" | shasum -a 256 --check

ubuntu-21.04-desktop-amd64.iso: OK

Если вы увидите сообщение shasum: WARNING: 1 computed checksum did NOT match (ВНИМАНИЕ: 1 вычисленная контрольная сумма НЕ совпадает), значит, образ поврежден или вы скопировали не ту контрольную сумму. Чаще проблема связана с повреждением образа во время загрузки, поэтому скачайте его снова.

Другие дистрибутивы Linux предлагают немного иные методы проверки, поэтому следуйте инструкциям на их сайтах.

Комментарий

Существует отличный сайт Distrowatch.com (https://distrowatch.com), где можно познакомиться с сотнями дистрибутивов Linux. На Distrowatch публикуется больше новостей и информации о дистрибутивах Linux, чем где-либо еще.

Дополнительная информация

• man1sha256sum

• Ubuntu Linux (https://ubuntu.com).

• Fedora Linux (https://getfedora.org).

• openSUSE Linux (https://opensuse.org).

1.3. Создание загрузочного USB-накопителя с Linux с помощью UNetbootin

Задача

Вы скачали установочный iso-образ Linux, и теперь его нужно записать на USB-накопитель, чтобы создать загрузочный носитель. Вы предпочитаете инструменты с графическим инструментом.

Решение

Попробуйте UNetbootin (https://oreil.ly/8CXp9) — Universal Netboot Installer. Данный инструмент работает в Linux, macOS и Windows; с его помощью можно скачать и создать установочный диск Linux в любой из этих операционных систем. UNetbootin создает установочный USB-накопитель из скачанного образа *.iso, но также может скачать образ *.iso сам (рис. 1.3).

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

Рис. 1.3. Использование UNetbootin для создания установочного USB-накопителя с Linux

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

Комментарий

В числе других интересных приложений с графическим интерфейсом можно назвать: USB Creator, ISO Image Writer и GNOME MultiWriter, последнее из которых может копировать образы сразу на несколько USB-накопителей.

Когда установочный USB-накопитель будет создан, вы можете просмотреть файлы на нем. Единственный образ *.iso разворачивается в целую файловую систему с множеством файлов и каталогов, как в следующем примере с Ubuntu:

$ ls -C1 /media/duchess/'Ubuntu 21.04.1 amd64'/

boot

casper

dists

EFI

install

isolinux

md5sum.txt

pics

pool

preseed

README.diskdefines

ubuntu

Каждый дистрибутив Linux включает свою программу установки. Вот, например, установочные файлы Fedora:

$ ls -C1 /media/duchess/Fedora-WS-Live-34-1-6/

EFI

images

isolinux

LiveOS

Было бы хорошо иметь один USB-накопитель с кучей установочных файлов Linux, и есть множество программ, помогающих создавать такие накопители. Я предпочитаю программу Ventoy (https://ventoy.net), которая поддерживает большое количество дистрибутивов Linux. Есть версии программы для Linux и Windows, и с их помощью можно создавать USB-накопители с установочными образами Linux для запуска live-версий и для установки на жесткие диски.

Дополнительная информация

• UNetbootin (https://oreil.ly/8CXp9).

• Глава 9.

• Ventoy (https://ventoy.net).

1.4. Создание установочного DVD с Linux с помощью K3b

Задача

Создать установочный DVD с Linux с помощью инструмента с графическим интерфейсом.

Решение

Используйте K3b (KDE Burn Baby Burn). K3b — это приложение для Linux с графическим интерфейсом для записи CD/DVD.

Если у вас нет системы Linux, то используйте любую другую программу записи образов ISO 9660 на CD/DVD. Выбранная вами программа должна поддерживать операцию, обозначаемую ею как «записать существующий образ на диск».

Запустив K3b, вы увидите окно, как показано на рис. 1.4. Нажмите кнопку Burn Image (Записать образ) и обратите внимание на подтверждение в левом нижнем углу — надпись Write an ISO 9660 ... image to an optical disk (Записать образ ISO 9660 ... на оптический диск).

Рис. 1.4. Создание установочного DVD с помощью K3b

На следующем экране (рис. 1.5) в раскрывающемся списке вверху слева выберите свой образ *.iso. Затем вверху справа выберите ISO 9660 filesystem image (Образ файловой системы ISO 9660). Внизу на вкладке Settings (Настройки) установите флажок Verify written data (Проверить записанные данные). В этом случае программа вычислит контрольную сумму после записи образа и сравнит ее с контрольной суммой исходного образа *.iso. Это важный шаг, поскольку несовпавшие контрольные суммы означают, что диск поврежден и его нельзя использовать для установки.

Когда диск будет успешно записан, вы увидите сообщение о благополучном завершении, как показано на рис. 1.6. Если в процессе записи возникнут какие-либо ошибки, то на экране появятся полезные сообщения.

Рис. 1.5. Настройка записи

Рис. 1.6. Успешно!

Комментарий

Brasero и XFBurn — еще два отличных Linux-приложения для записи CD/DVD. Они имеют более простой интерфейс, чем K3b, но обладают достаточно широким набором функций.

Мир технологий быстро меняется. Всего несколько лет назад я часто пользовалась CD и DVD. Затем рынок захватили USB-накопители, и я уже много лет не записывала диски, пока не приступила к написанию этой главы.

В настоящее время производители стараются, чтобы CD и DVD ушли в небытие, отказываясь вставлять приводы CD/DVD в свои компьютеры. Однако это совсем не проблема, поскольку всегда можно приобрести внешний USB-привод CD/DVD. Можно даже найти приводы с питанием от шины, для подключения которых достаточно одного USB-кабеля, и нет необходимости возиться с кабелем питания. В настоящее время продолжают выпускаться болванки CD/DVD хорошего качества, так что если вы предпочитаете оптические диски, то они станут для вас надежным выбором.

Дополнительная информация

• K3b (https://oreil.ly/MJmXF).

• Brasero (https://oreil.ly/a9Dxx).

1.5. Создание загрузочного CD/DVD с помощью команды wodim

Задача

Создать загрузочный CD/DVD с помощью командной строки.

Решение

Попробуйте команду wodim. Обычно привод оптических дисков доступен через символическую ссылку /dev/cdrom, указывающую на /dev/sr0. Используйте символическую ссылку, поскольку для нее настроены правильные разрешения:

$ ls -l /dev | grep cdr

lrwxrwxrwx 1 root root          3 Mar  7 12:38 cdrom -> sr0

lrwxrwxrwx 1 root root          3 Mar  7 12:38 cdrw -> sr0

crw-rw----+ 1 root cdrom   21,  2 Mar  7 08:34 sg2

brw-rw----+ 1 root cdrom   11,  0 Mar  7 12:57 sr0

И скопируйте свой установочный образ на диск:

$ wodim dev=/dev/cdrom -v ubuntu-21.04-desktop-amd64.iso

Комментарий

В примере вывода команды ls-l выше можно видеть устройства sg2 и sr0. Устройство sg2 — это символьное устройство, а sr0 — блочное. Символьные устройства открывают прямой доступ к аппаратным устройствам через драйверы в ядре. Блочные — поддерживают буферизованный доступ к аппаратным устройствам через разные программы, которые выполняют операции чтения и записи с физическими носителями. Пользователи взаимодействуют с устройствами хранения, такими как DVD и жесткие диски, через драйверы блочных устройств в ядре. Список используемых модулей ядра, управляющих символьными и блочными устройствами, можно увидеть в файле /boot/config-*.

Дополнительная информация

• man1wodim

1.6. Создание установочного USB-носителя с Linux с помощью команды dd

Задача

Создать установочный USB-носитель с помощью командной строки, не используя инструменты с графическим интерфейсом.

Решение

Используйте команду dd, которая имеется во всех версиях Linux и везде работает одинаково.

Сначала определите имя устройства своего USB-накопителя с помощью команды lsblk, чтобы скопировать образ на правильное устройство. В моем случае, как показано ниже, USB-накопителем является устройство /dev/sdb:

$ lsblk -o NAME,FSTYPE,LABEL,MOUNTPOINT

NAME    FSTYPE LABEL       MOUNTPOINT

sda

├─sda1  vfat                /boot/efi

├─sda2  xfs    osuse15-2    /boot

├─sda3  xfs                 /

├─sda4  xfs                 /home

└─sda5  swap                [SWAP]

sdb

└─sdb1  xfs    32gbusb

sr0

Следующая команда создаст установочный USB-носитель и отобразит ход процесса копирования:

$ sudo dd status=progress if=ubuntu-20.04.1-LTS-desktop-amd64.iso of=/dev/sdb

211509760 bytes (212 MB, 202 MiB) copied, 63 s, 3.4 MB/s

Копирование займет несколько минут, и в конце будет выведено:

2782257664 bytes (2.8 GB, 2.6 GiB) copied, 484 s, 5.7 MB/s

5439488+0 records in

5439488+0 records out

2785017856 bytes (2.8 GB, 2.6 GiB) copied, 484.144 s, 5.8 MB/s

Извлеките накопитель, затем снова вставьте его в порт USB и посмотрите, какие файлы на нем хранятся. На рис. 1.7 представлено содержимое накопителя после записи установочного образа Ubuntu Linux, показанное в диспетчере файлов Thunar.

Рис. 1.7. Файлы из установочного образа Ubuntu Linux Ubuntu Linux, показанные в диспетчере файлов Thunar

Файлы отмечены значками закрытых замков, поскольку установщик Ubuntu использует файловую систему SquashFS, доступную только для чтения. Файлы можно читать, но нельзя удалять или изменять.

Установочный USB-накопитель готов к использованию.

Комментарий

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

Инструменты с графическим интерфейсом удобны, но я предпочитаю команду dd, поскольку она проста и надежна. Название dd возникло как сокращение от Disk Duplicator. Это одна из самых старых команд GNU, входящих в состав пакета GNU coreutils, который существует с момента возникновения Linux.

Дополнительная информация

• man1dd

1.7. Простая установка Ubuntu

Задача

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

Решение

Следующий пример демонстрирует быструю и простую установку Ubuntu Linux 21.04 (Hirsute Hippo2). Всем выпускам Ubuntu даются альтернативные названия животных.

Вставьте установочный носитель, включите компьютер и откройте загрузочное меню в своей системе. Выберите загрузку с установочного носителя (рис. 1.8).

Рис. 1.8. Загрузка с установочного USB-накопителя

Все меню UEFI выглядят по-разному

Экраны с настройками UEFI разных производителей выглядят по-разному. На снимке экрана, представленном выше, изображена страница с настройками UEFI в компьютере Dell.

Когда появится меню загрузчика GRUB, оставьте выбранным вариант по умолчанию. Для Ubuntu 21.04 это вариант Ubuntu (рис. 1.9).

Рис. 1.9. Меню загрузчика GRUB установочного образа Ubuntu

Далее вам будет предложено выбрать один из двух вариантов: Try Ubuntu (Попробовать Ubuntu) и Install Ubuntu (Установить Ubuntu). При выборе первого варианта запустится live-версия Ubuntu, а если выбрать второй вариант, то откроется окно программы установки (рис. 1.10). Неважно, какой вариант вы выберете, поскольку при выборе первого варианта на рабочем столе останется большая кнопка, нажатие которой запускает установку.

Рис. 1.10. Выбор из двух вариантов: Try Ubuntu (Попробовать Ubuntu) и Install Ubuntu (Установить Ubuntu)

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

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

Далее вам будет предложено настроить некоторые параметры установки. На экране Updates and other software (Обновления и другое программное обеспечение) выберите вариант Normal installation (Обычная установка) (рис. 1.11).

На следующем экране выберите Erase disk and install Ubuntu (Очистить диск и установить Ubuntu), а затем нажмите кнопку Install Now (Установить сейчас) (рис. 1.12).

Рис. 1.11. Выбран вариант Normal installation (Обычная установка)

Рис. 1.12. Выбран вариант Erase disk and install Ubuntu (Очистить диск и установить Ubuntu)

На следующем экране в ответ на вопрос Write the changes to disk? (Записать изменения на диск?) нажмите кнопку Continue (Продолжить). Далее будет предложено еще несколько экранов: для настройки часового пояса, создания пользователя, пароля и имени хоста, после чего начнется собственно установка. Вам не требуется что-либо делать до окончания установки. Когда установка завершится, в ответ на предложение перезапустить компьютер извлеките установочный носитель и нажмите клавишу Enter. После перезапуска вам будет предложено задать несколько дополнительных настроек, после чего вы сможете поэкспериментировать со своей свежеустановленной Ubuntu Linux.

Комментарий

Большинство дистрибутивов Linux имеют похожий процесс установки: загрузка с установочного носителя, выбор простой или нестандартной установки. Некоторые дистрибутивы просят ответить на все вопросы (такие как ввод имени пользователя и пароля) перед установкой; другие — после первой перезагрузки.

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

Вы можете переустанавливать систему столько раз, сколько захотите, не волнуясь о лицензионных ключах, за исключением корпоративных дистрибутивов, для установки которых требуются регистрационные ключи (Red Hat, SUSE или Ubuntu с платной поддержкой).

Дополнительная информация

• Документация для Ubuntu (https://help.ubuntu.com).

1.8. Настройка дисковых разделов

Задача

Реализовать свою схему разделов жесткого диска.

Решение

В этом рецепте мы вернемся к примеру установки Ubuntu из рецепта 1.7 и реализуем свою схему разделов жесткого диска.

Весь диск будет очищен

В этом рецепте будет создана новая таблица разделов жесткого диска, а все прежнее его содержимое — стерто.

Разбить диск на разделы можно разными способами. В табл. 1.1 показана схема деления, которую я предпочитаю использовать на своих рабочих станциях с Linux.

Таблица 1.1. Пример схемы разделов диска

Имя раздела

Тип файловой системы

Точка монтирования

/dev/sda1

ext4

/boot

/dev/sda2

ext4

/

/dev/sda3

ext4

/home

/dev/sda4

ext4

/tmp

/dev/sda5

ext4

/var

/dev/sda6

swap

Дойдя до экрана Installation Type (Тип установки), выберите Something else (Другой вариант), чтобы продолжить установку по нестандартному пути (рис. 1.13).

Рис. 1.13. Выбор типа установки

Когда откроется экран со списком разделов на диске, очистите весь диск, нажав кнопку New Partition Table (Новая таблица разделов). После этого откроется экран, изображенный на рис. 1.14.

Для создания нового раздела щелкните на строке free space (свободное место), таким образом выбрав ее, затем нажмите кнопку со значком «плюс», +, чтобы добавить новый раздел. В открывшемся диалоге укажите размер раздела, тип файловой системы и точку монтирования. Например, на рис. 1.15 показано, как заполнить поля диалога, чтобы создать раздел размером 500 Мбайт, который монтируется в каталог /boot.

Рис. 1.14. Создание новой таблицы разделов

Рис. 1.15. Создание загрузочного раздела

Продолжайте щелкать на строке free space (свободное место) и на кнопке со значком +, пока не создадите все разделы. На рис. 1.16 показан конечный результат: здесь созданы разделы для файловых систем /boot, /home, /var, /tmp, а также раздел подкачки (swap).

Рис. 1.16. Разделы созданы, и можно продолжать установку

Выбор разделов для форматирования

Обратите внимание на флажки Format? (Форматировать?) в таблице со списком разделов. Все вновь создаваемые разделы следует форматировать в выбранную файловую систему.

Комментарий

В этом рецепте все разделы форматируются в файловой системе Ext4, но вообще можно использовать любые файловые системы, какие захотите; дополнительные подробности см. в главе 11.

Дисковые разделы похожи на группу отдельных физических дисков. Каждый из них независим и может иметь свою файловую систему. Выбираемые файловые системы и их размеры зависят от предназначения системы. Если вам нужно много места для хранения данных, то раздел для каталога /home должен быть большим. Это может быть даже отдельный диск.

Создание отдельного раздела для /boot упрощает управление мультизагрузочными системами, поскольку отделяет загрузочные файлы от устанавливаемых операционных систем; 500 Мбайт более чем достаточно.

Создание отдельного раздела для корневой файловой системы / упрощает восстановление или замену ядра Linux. Для большинства дистрибутивов 30 Гбайт более чем достаточно, за исключением случаев, когда используется файловая система Btrfs — в этом случае следует выделить 60 Гбайт, чтобы иметь достаточно места для хранения моментальных снимков файловой системы.

Каталог /home желательно поместить в отдельный раздел, чтобы изолировать его от корневой файловой системы и иметь возможность переустанавливать Linux, не касаясь этого каталога. Более того, его можно даже поместить на отдельный диск.

Каталоги /var и /tmp могут заполняться неконтролируемыми процессами. Размещение их в отдельных разделах предотвращает отрицательное влияние вероятных сбоев на другие файловые системы. Я обычно выделяю для них по 20 Гбайт, но на высоконагруженных серверах эти разделы должны быть больше.

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

Дополнительная информация

• Подраздел «Комментарий» в рецепте 3.9, посвященный режимам ожидания и сна.

• Глава 8.

• Глава 9.

1.9. Сохранение существующих разделов

Задача

На диске имеется отдельный раздел для каталога /home, и его нужно сохранить после переустановки Linux.

Решение

В рецептах 1.7 и 1.8 мы полностью очистили диск, создав новую таблицу разделов. Но если у вас есть разделы, которые вы хотите сохранить, такие как /home или любой другой общий каталог, то вместо того, чтобы создавать новую таблицу разделов, следует отредактировать существующие разделы. При этом можно удалять существующие и создавать новые или повторно использовать имеющиеся разделы.

В следующем примере установки Ubuntu предполагается, что раздел /dev/sda3 занимает каталог /home, который нужно сохранить. Щелкните на нем правой кнопкой мыши и выберите в контекстном меню пункт Change (Изменить). Затем назначьте этому разделу точку монтирования /home и убедитесь, что флажок Format? (Форматировать?) не установлен (рис. 1.17). Если включить форматирование или изменить тип файловой системы, то все данные в этом разделе будут удалены.

Рис. 1.17. Сохранение раздела /dev/sda3

Комментарий

В рецепте 1.8 вы найдете дополнительные подробности настройки разделов и информацию о том, какие файловые системы желательно разместить в отдельных разделах.

Дополнительная информация

• Глава 8.

• Глава 9.

1.10. Выбор пакетов для установки

Задача

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

Решение

В разных дистрибутивах Linux немного по-разному организовано управление пакетами. В этом рецепте вы увидите примеры для openSUSE и Fedora Linux. openSUSE поддерживает несколько способов установки из одного установочного образа, а Fedora Linux имеет несколько разных установочных образов.

Эти два примера типичны для дистрибутивов Linux общего назначения.

Хочу напомнить, что после установки системы вы сможете установить дополнительное или удалять ненужное программное обеспечение.

openSUSE

Программа установки openSUSE поддерживает простую установку по умолчанию и предлагает дополнительные возможности настройки. Она имеет два экрана управления выбором пакетов. Первый (рис. 1.18) предлагает выбрать роль системы, например: рабочий стол с графической средой KDE или GNOME, базовый рабочий стол с оконным менеджером IceWM, сервер без графической среды или сервер транзакций без графической среды. Каждая роль предусматривает установку предопределенного набора пакетов. Вы можете установить одну из них как есть или выбрать пакеты для установки или удаления.

Каждую роль можно дополнительно настроить, как вы увидите несколько позже (рис. 1.19).

Щелкните на ссылке Software (Программное обеспечение), чтобы открыть экран выбора пакетов. На этом экране отображаются шаблоны openSUSE — группы взаимосвязанных пакетов, которые можно установить одним щелчком. Лично мне нравится рабочий стол Xfce, поэтому я всегда добавляю его для установки (рис. 1.20).

Рис. 1.18. Выбор роли системы в openSUSE

Рис. 1.19. Настройки установки openSUSE

Рис. 1.20. Шаблоны openSUSE с наборами программных пакетов

Обратите внимание на кнопку Details (Подробности) внизу слева. Если нажать ее, то откроется экран с несколькими вкладками, позволяющий выбрать отдельные пакеты (рис. 1.21). На этом экране вы найдете огромное количество информации: списки пакетов для каждого шаблона, группы пакетов, списки репозиториев, сводные данные об установке, зависимости и сведения о каждом пакете. Используйте окно справа, чтобы выбрать или отменить выбор пакетов из каждого шаблона. Программа установки автоматически разрешит зависимости после внесения изменений.

Выбрав пакеты для установки, вы вернетесь обратно на экран Installation Settings (Настройки установки) и получите еще один шанс изменить настройки установки. Нажмите кнопку Install (Установить), а затем зеленую кнопку Next (Далее), чтобы завершить установку.

Рис. 1.21. Выбор отдельных пакетов в openSUSE

Fedora Linux

Установочные образы Fedora Linux Workstation и Fedora Linux Server предлагают только возможность настроить разметку диска, но не позволяют выбрать пакеты для установки. Чтобы получить более широкие возможности настройки, нужно скачать образ для установки по сети размером 600 Мбайт из раздела Fedora Alternative Downloads (https://oreil.ly/JW9J8). Он подписан как Fedora Server, но в процессе установки дает возможность выбирать пакеты без всяких ограничений для любого типа установки. Настройте установку по своему желанию на экране Installation Summary (Обзор установки) (рис. 1.22).

Уделите внимание всем параметрам установки на экране Installation Summary (Обзор установки): Software Selection (Выбор программного обеспечения), User Creation (Создание пользователя), Installation Destination (Место установки), Keyboard (Клавиатура), Time & Data (Время и дата), Network & Host Name (Сеть и имя хоста). Щелкните на ссылке Software Selection (Выбор программного обеспечения), чтобы открыть экран выбора пакетов для установки (рис. 1.23).

Рис. 1.22. Сетевая установка Fedora Linux

Рис. 1.23. Выбор пакетов для установки в Fedora Linux

Завершив выбор пакетов, нажмите кнопку Done (Готово); после этого вновь откроется экран Installation Summary (Обзор установки). Завершив настройку всех параметров установки, нажмите кнопку Begin Installation (Начать установку), после чего установка продолжится полностью в автоматическом режиме.

Комментарий

Независимо от выбранного дистрибутива Linux, прочтите его документацию и примечания к выпуску. Эти документы содержат важную информацию, избавляющую от многих проблем. Поищите также форумы, списки рассылки и страницы «Википедии», где можно получить помощь.

Вы можете установить столько сред рабочего стола, сколько пожелаете, а затем выбрать ту, которую захотите использовать при входе в систему. Кнопка выбора рабочих столов обычно довольно маленькая и малозаметная; например, на рис. 1.24 показан экран входа в Ubuntu по умолчанию, скрывающий кнопку выбора среды рабочего стола, пока не будет выбрано имя пользователя. Наибольшей популярностью пользуются рабочие столы Xfce, Lxde, GNOME и KDE. GNOME используется по умолчанию в Ubuntu, openSUSE и Fedora.

Рис. 1.24. Выбор графической среды рабочего стола

Дополнительная информация

• Документация для openSUSE (https://oreil.ly/AupNr).

• SUSE Transactional Updates (https://oreil.ly/mTyuV).

1.11. Мультизагрузка нескольких дистрибутивов Linux

Задача

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

Решение

Вы можете установить столько дистрибутивов Linux, сколько поместится на вашем жестком диске (или дисках). Если у вас уже должен быть установлен один дистрибутив Linux с отдельным разделом /boot, то вам остается выполнить следующие шаги.

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

2. Выпишите на лист бумаги разделы, принадлежащие первой установленной системе Linux, чтобы случайно не перезаписать или не удалить их.

3. Смонтируйте раздел /boot в каждой вновь устанавливаемой системе и не форматируйте его.

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

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

Рис. 1.25. Новое загрузочное меню с пунктами для выбора Linux Mint и Ubuntu

Рис. 1.26. Установка Linux Mint после Ubuntu

Комментарий

Чтобы освободить место на жестком диске, можно сжать существующие разделы (см. рецепт 9.7) перед запуском установки. Для большей безопасности сжимаемые разделы лучше размонтировать. Кроме того, некоторые файловые системы не позволяют сжать смонтированный раздел. Используйте SystemRescue для сжатия разделов (см. рецепт 19.12).

Большинство программ установки Linux достаточно интеллектуальны, чтобы распознавать уже установленные системы Linux и предложить их сохранить. На рис. 1.26 показано окно программы установки Linux Mint, предоставляющей возможность занять весь жесткий диск или установить новую систему рядом с существующей системой Ubuntu без ее удаления.

Дополнительная информация

• Рецепт 8.9.

• Рецепт 9.7.

• Рецепт 19.12.

• Документация с описанием установки выбранного дистрибутива Linux.

1.12. Двухвариантная загрузка с Microsoft Windows

Задача

Установить Linux и Windows на один компьютер.

Решение

Linux и Windows можно установить на один компьютер, а затем выбирать в меню загрузки ту ОС, которую вы захотите использовать.

Первой лучше установить Windows, если она еще не установлена, а затем Linux. Windows любит управлять загрузчиком, поэтому, устанавливая систему Linux второй, вы позволите ей перехватить управление.

Как всегда, перед установкой убедитесь, что у вас есть свежие резервные копии и носитель для восстановления Windows.

После того как Windows будет установлена, запустите установку Linux. Устанавливать Linux можно любым способом: простым или с индивидуальной настройкой разметки диска и набора устанавливаемых пакетов. Однако при установке Linux и Windows на один компьютер важно помнить:

1) если имеется только один жесткий диск, то «устройством для установки загрузчика» должно быть /dev/sda;

2) если Windows установлена на одном жестком диске, а Linux устанавливается на второй жесткий диск, то «устройством для установки загрузчика» должен быть диск с Linux. Используйте имя устройства, например /dev/sdb, а не раздела, такое как /dev/sdb1.

На рис. 1.27 показаны два жестких диска: Windows установлена на /dev/sda, а Linux — на /dev/sdb.

Рис. 1.27. Установка Ubuntu вслед за Windows

Обязательно убедитесь, что устанавливаете Linux в правильное место и не уничтожите Windows. Вы можете разметить диск для системы Linux точно так же, как если бы устанавливали ее отдельно, и снова будьте предельно осторожны, выбирая разделы для изменения.

Когда разметка диска и конфигурация установки будут настроены, продолжите и завершите установку Linux. После ее завершения и перезагрузки меню GRUB будет содержать пункты для обеих систем (рис. 1.28).

Рис. 1.28. Системы openSUSE и Windows в меню загрузчика GRUB

Комментарий

Вы можете установить на свой компьютер столько систем Linux и Windows, на сколько хватит места на жестких дисках.

Есть и другие способы запустить Linux и Windows на одном компьютере. Windows 10 включает подсистему Windows Subsystem for Linux 2 (WSL 2), которая запускает поддерживаемые дистрибутивы Linux в виртуальной среде. Вы можете запустить Windows в виртуальной машине в Linux, если у вас есть установочный носитель Windows. Виртуальные машины хороши тем, что позволяют запустить несколько операционных систем одновременно, правда, для этого нужны высокопроизводительные процессоры и много памяти.

VirtualBox и QEMU/KVM/Virtual Machine Manager — хорошие бесплатные виртуальные машины, которые работают в Linux.

Дополнительная информация

• Документация для Windows Subsystem for Linux (https://oreil.ly/4cbnk).

• VirtualBox (https://oreil.ly/pI6J6).

• KVM (https://www.linux-kvm.org/page/Main_Page).

• Virtual Machine Manager (https://oreil.ly/5vj6m).

• QEMU (https://oreil.ly/VKBkf).

1.13. Восстановление ключа продукта OEM для Windows 8 или 10

Задача

Вы приобрели компьютер с предустановленной системой Windows 8 или 10, но не можете найти ключ продукта.

Решение

Позвольте Linux сделать это за вас. Выполните следующую команду в системе Linux, установленной на том же компьютере, что и Windows, или загрузившись с диска SystemRescue:

$ sudo cat /sys/firmware/acpi/tables/MSDM

MSDMU

DELL CBX3

AMI

FAKEP-RODUC-TKEY1-22222-33333

Ключ находится в последней строке.

Если у вас есть возможность загрузиться в Windows, то выполните следующую команду в Windows:

C:\Users\Duchess> wmic path softwarelicensingservice get OA3xOriginalProductKey

OA3xOriginalProductKey

FAKEP-RODUC-TKEY1-22222-33333

Комментарий

Если у вас нет носителя для восстановления, то вы можете скачать Windows 10 бесплатно. Для установки заново вам понадобится 25-значный ключ продукта OEM.

Дополнительная информация

• Страница для скачивания Windows 10 (https://oreil.ly/rz157).

1.14. Монтирование ISO-образа в Linux

Задача

Имеется скачанный файл *.iso с установочным образом Linux, и хотелось бы увидеть, какие файлы и каталоги он содержит. Конечно, можно записать этот образ на DVD или на USB-накопитель, а затем просмотреть его содержимое, однако образ можно открыть, не копируя его на другое устройство.

Решение

В Linux есть псевдоустройство, называемое петлевым (loop) устройством. С его помощью можно смонтировать образ *.iso так же, как любую другую файловую систему. Выполните следующие действия, чтобы смонтировать образ *.iso в петлевое устройство.

Сначала создайте в домашнем каталоге точку монтирования с любым именем. В этом примере я выбрала имя loopiso:

$ mkdir loopiso

Смонтируйте образ *.iso в этот новый каталог. В данном примере монтируется установочный образ Fedora Linux:

$ sudo mount -o loop Fedora-Workstation-Live-x86_64-34-1.2.iso loopiso

mount: /home/duchess/loopiso: WARNING: device write-protected, mounted read-only

После этого откройте смонтированную файловую систему в диспетчере файлов (рис. 1.29).

Вы можете заходить в каталоги, заглядывать в файлы. Но вы не сможете редактировать файлы, поскольку образ смонтирован в режиме «только для чтения».

Рис. 1.29. Смонтированный образ Fedora Linux 34

Закончив знакомство с содержимым, размонтируйте образ:

$ sudo umount loopiso

Комментарий

Петлевое устройство отображает обычный файл в виртуальный раздел и позволяет настроить в этом файле виртуальную файловую систему. Если вы хотите попробовать создать собственный файл образа, то, поискав в Интернете, найдете множество советов. Начните с man8losetup.

Дополнительная информация

• man8mount

• man8losetup

2Шерстистый бегемот.

Глава 2. Управление загрузчиком GRUB

Загрузчик — это программа, загружающая операционную систему после включения компьютера. Чаще других в Linux используется загрузчик GRUB (GRand Unified Bootloader).

GRUB поддерживает ряд полезных возможностей: загрузку нескольких операционных систем на одном ПК, редактирование конфигурации в реальном времени, настраиваемый интерфейс и режимы восстановления. В этой главе мы обсудим их все.

GRUB и GRUB 2

Существует две основные версии GRUB: устаревшая GRUB и более новая GRUB 2. Под названием GRUB 2 подразумеваются версии GRUB 1.99 и выше. Устаревшие версии GRUB — вплоть до 0.97 — прекратили существование в 2005 году. Многие инструкции по GRUB все еще ссылаются на устаревшую версию GRUB и сравнивают ее с GRUB 2. В этой главе я не буду рассказывать о GRUB. Она давно не используется и имеет мало общего с GRUB 2, так что в главе мы сосредоточимся исключительно на GRUB 2.

В одних дистрибутивах Linux используется простое название GRUB без цифрового индекса, в других — название GRUB 2. Например, в Ubuntu есть каталог /boot/grub/ и команда grub-mkconfig, а в Fedora — каталог /boot/grub2/ и команда grub2-mkconfig. Проверьте имена каталогов и команд у себя. В этой главе я воспользуюсь схемой именования, принятой в Ubuntu, за исключением примеров, относящихся к конкретным дистрибутивам.

Запуск компьютера не слишком изменился с тех пор, как в 1940-х годах был создан UNIVAC. Запуск компьютера называется начальной самозагрузкой (bootstrapping), подобно тому как барон Мюнхаузен вытягивал себя из болота за волосы, что в принципе невозможно. Сложность с программируемым компьютером состоит в том, что ему нужны программные инструкции, направляющие его действия, но откуда эти инструкции берутся до загрузки операционной системы?