Опубликовано

Вышло 9-е издание “Linux. От новичка к профессионалу.”

Linux. От новичка к профессионалу. 9 изд.

Даны ответы на все вопросы, возникающие при работе с Linux: от установки и настройки этой ОС до настройки сервера на базе Linux. Материал книги максимально охватывает все сферы применения Linux от запуска Windows-игр под управлением Linux до настройки собственного веб-сервера. Также рассмотрены: вход в систему, работа с файловой системой, использование графического интерфейса, установка программного обеспечения, настройка сети и Интернета, работа в Интернете, средства безопасности, резервное копирование, защита от вирусов и другие вопросы. Материал ориентирован на последние версии дистрибутивов Fedora, openSUSE, Ubuntu.

В девятом издании все главы актуализированы или написаны заново. Рассмотрено создание мини-серверной, сервера видеонаблюдения и DLNA-сервера. Описаны менеджер виртуальных машин KVM и его веб-интерфейс, настройка сети с помощью Netplan и сервис Steam, позволяющий запускать популярные игры в Linux.

На сайте издательства находятся  дополнительные главы в PDF-файлах.

Для широкого круга пользователей Linux

  • Fedora 33, zRAM
  • Варианты загрузки Linux и управление загрузкой
  • Работа с файловой системой и устройствами в Linux
  • Файловая система Btrfs, UUID накопителей, загрузчик GRUB2
  • Настройка сети, Интернета и популярных серверов Apache, ProFTPD, Samba, BIND и др.
  • Настройка SSL-сертифката, ускорение веб-сервера с помощью Memcached и Google PageSpeed
  • Брандмауэр ufw
  • Выбор VPS/VDS-сервера и его настройка
  • Программные системы хранения данных с резервированием

Книгу “Linux. От новичка к профессионалу. 9 изд.” можно купить со скидкой в интернет-магазине издательства “БХВ“.

Предисловие…………………………………………………………………………………………… 17

Что нового в девятом издании…………………………………………………………………………………………………… 17

Часть I. Выбор и установка дистрибутива…………………………… 19

Глава 1. Выбор дистрибутива………………………………………………………………… 21

1.1. Краткая история Linux……………………………………………………………………………………………………….. 23

1.2. Какой дистрибутив лучше?……………………………………………………………………………………………….. 25

1.2.1. Red Hat и Mandrake/Mandriva/Mageia……………………………………………………………………….. 26

1.2.2. Fedora……………………………………………………………………………………………………………………………… 26

1.2.3. CentOS……………………………………………………………………………………………………………………………. 27

1.2.4. ALT Linux………………………………………………………………………………………………………………………. 28

1.2.5. Debian…………………………………………………………………………………………………………………………….. 28

1.2.6. Ubuntu…………………………………………………………………………………………………………………………….. 28

1.2.7. Slackware………………………………………………………………………………………………………………………… 29

1.2.8. openSUSE……………………………………………………………………………………………………………………….. 30

1.3. На каком дистрибутиве основать сервер?………………………………………………………………………… 30

Глава 2. Особенности установки……………………………………………………………. 32

2.1. Системные требования……………………………………………………………………………………………………….. 32

2.2. Первоначальная загрузка…………………………………………………………………………………………………… 34

2.2.1. POST и загрузчики…………………………………………………………………………………………………………. 34

2.2.2. Ядро Linux и его параметры………………………………………………………………………………………… 34

2.3. Проверка носителей……………………………………………………………………………………………………………. 38

2.4. Изменение таблицы разделов…………………………………………………………………………………………….. 39

2.4.1. Разметка диска в Fedora 39–40…………………………………………………………………………………….. 39

2.4.2. Разметка диска в Ubuntu………………………………………………………………………………………………. 43

2.4.3. Разметка диска в openSUSE………………………………………………………………………………………….. 45

2.4.4. Шифрование файловой системы………………………………………………………………………………….. 47

2.5. Выбор устанавливаемых пакетов программ……………………………………………………………………. 48

2.6. Выбор графической среды…………………………………………………………………………………………………. 49

2.7. Установка пароля root………………………………………………………………………………………………………… 51

2.8. Создание учетных записей пользователей………………………………………………………………………. 52

2.9. Порядок установки операционных систем……………………………………………………………………….. 52

2.10. Установка Linux по сети…………………………………………………………………………………………………… 52

2.10.1. Немного о загрузке и установке по сети…………………………………………………………………… 52

2.10.2. Подготовка загрузочного сервера…………………………………………………………………………….. 53

Установка DHCP-сервера………………………………………………………………………………………………… 53

Настройка TFTP-сервера…………………………………………………………………………………………………. 54

Загрузка установочного образа……………………………………………………………………………………… 54

2.10.3. Настройка клиента……………………………………………………………………………………………………… 55

2.11. Проблемы при установке…………………………………………………………………………………………………. 55

2.11.1. Проблема с APIC…………………………………………………………………………………………………………. 55

2.11.2. Ошибка: kernel panic:VFS: Unable to mount root fs………………………………………………….. 56

2.11.3. Проблемы с некоторыми LCD-мониторами……………………………………………………………… 56

2.11.4. Сообщение Probing EDD и зависание системы………………………………………………………… 56

2.11.5. Установка Linux на HP Mini 2133 (проблема с ACPI)……………………………………………… 56

2.11.6. Проблема с ACPI и неправильная работа подсветки………………………………………………. 57

2.11.7. Проблема с механизмом Enhanced Disk Device (EDD)…………………………………………….. 57

Часть II. Основные сведения о Linux……………………………………… 59

Глава 3. Сразу после установки……………………………………………………………… 61

3.1. Вход в систему и завершение работы……………………………………………………………………………….. 61

3.2. О графическом интерфейсе Linux………………………………………………………………………………………. 64

3.2.1. GNOME и KDE……………………………………………………………………………………………………………….. 64

3.2.2. Установка альтернативного графического интерфейса……………………………………………. 67

3.2.3. Основные элементы интерфейса GNOME…………………………………………………………………… 68

3.3. Изменение параметров графического интерфейса…………………………………………………………… 71

3.3.1. Отключение блокировки экрана………………………………………………………………………………….. 71

3.3.2. Изменение способа переключения языков ввода……………………………………………………….. 75

3.3.3. Изменение фона рабочего стола………………………………………………………………………………….. 76

3.4. «Аварийные» комбинации клавиш, использование клавиши <SysRq>………………………….. 76

3.5. Практические приемы работы с консолью……………………………………………………………………….. 77

3.5.1. Автодополнение командной строки и псевдонимы команд………………………………………. 78

3.5.2. Графические терминалы………………………………………………………………………………………………. 79

3.5.3. Перенаправление ввода/вывода………………………………………………………………………………….. 79

Глава 4. Файловая система Linux…………………………………………………………… 81

4.1. Файловые системы, поддерживаемые Linux…………………………………………………………………….. 81

4.1.1. Выбор файловой системы…………………………………………………………………………………………….. 84

4.1.2. Linux и файловые системы Windows……………………………………………………………………………. 86

4.1.3. Сменные носители………………………………………………………………………………………………………… 87

4.2. Особенности файловых систем Linux……………………………………………………………………………….. 87

4.2.1. Имена файлов в Linux…………………………………………………………………………………………………… 87

4.2.2. Файлы и устройства……………………………………………………………………………………………………… 88

4.2.3. Корневая файловая система и монтирование…………………………………………………………….. 88

4.2.4. Стандартные каталоги Linux………………………………………………………………………………………. 89

4.3. Внутреннее строение файловой системы…………………………………………………………………………. 90

4.4. Команды для работы с файлами и каталогами……………………………………………………………….. 93

4.4.1. Работа с файлами………………………………………………………………………………………………………….. 93

4.4.2. Работа с каталогами…………………………………………………………………………………………………….. 95

4.5. Использование ссылок. Команда ln………………………………………………………………………………….. 97

4.5.1. Жесткие и мягкие ссылки……………………………………………………………………………………………… 97

4.5.2. Создание ссылок…………………………………………………………………………………………………………… 98

4.5.3. Определение ссылок……………………………………………………………………………………………………… 98

4.5.4. Удаление файлов и жесткие ссылки……………………………………………………………………………. 99

4.5.5. Разница между копированием и созданием жесткой ссылки………………………………….. 100

4.6. Права доступа и атрибуты файла. Команды chown, chmod и chattr……………………………. 101

4.6.1. Права доступа к файлам и каталогам………………………………………………………………………. 101

4.6.2. Смена владельца файла……………………………………………………………………………………………… 103

4.6.3. Специальные права доступа (SUID и SGID)…………………………………………………………….. 103

4.6.4. Атрибуты файла. Запрет изменения файла………………………………………………………………. 104

4.6.5. Команды поиска файлов: find, which и locate………………………………………………………….. 105

4.7. Монтирование файловых систем…………………………………………………………………………………….. 106

4.7.1. Команды mount и umount……………………………………………………………………………………………. 106

4.7.2. Файлы устройств и монтирование…………………………………………………………………………….. 107

Жесткие диски………………………………………………………………………………………………………………… 107

Приводы оптических дисков…………………………………………………………………………………………. 109

Флешки и внешние жесткие диски………………………………………………………………………………… 109

4.7.3. Опции монтирования файловых систем……………………………………………………………………. 110

4.7.4. Монтирование разделов при загрузке………………………………………………………………………. 111

4.7.5. Подробно о UUID и файле /etc/fstab…………………………………………………………………………. 113

4.7.6. Монтирование флеш-дисков………………………………………………………………………………………. 116

4.8. Настройка журнала файловой системы ext3/ext4…………………………………………………………. 118

4.9. Файловая система ext4…………………………………………………………………………………………………….. 119

4.9.1. Сравнение ext3 и ext4…………………………………………………………………………………………………. 119

4.9.2. Совместимость с ext3………………………………………………………………………………………………….. 120

4.9.3. Переход на ext4…………………………………………………………………………………………………………… 120

4.10. Программы для разметки диска…………………………………………………………………………………….. 121

4.10.1. Стандартная программа fdisk…………………………………………………………………………………. 121

4.10.2. Графическая программа для разметки диска GParted…………………………………………… 124

4.11. Таблица разделов GPT…………………………………………………………………………………………………… 124

4.12. Несколько слов о CD/DVD-дисках………………………………………………………………………………… 125

4.13. Scalpel — инструмент для восстановления файлов……………………………………………………… 126

4.14. Новшества Fedora 33: zRAM и Btrfs……………………………………………………………………………… 128

Глава 5. Командный интерпретатор bash……………………………………………… 130

5.1. bash: основные сведения………………………………………………………………………………………………….. 130

5.2. Автоматизация задач с помощью bash…………………………………………………………………………… 131

5.3. Привет, мир!………………………………………………………………………………………………………………………. 132

5.4. Использование переменных в собственных сценариях…………………………………………………. 133

5.5. Передача параметров сценарию…………………………………………………………………………………….. 134

5.6. Массивы…………………………………………………………………………………………………………………………….. 134

5.7. Циклы…………………………………………………………………………………………………………………………………. 135

5.8. Условные операторы………………………………………………………………………………………………………… 136

5.9. Мониторинг и перезапуск сервисов Apache и MySQL с помощью bash……………………… 137

Глава 6. Пользователи и группы………………………………………………………….. 140

6.1. Многопользовательская система…………………………………………………………………………………….. 140

6.2. Пользователь root……………………………………………………………………………………………………………… 141

6.2.1. Полномочия пользователя root………………………………………………………………………………….. 141

6.2.2. Временное получение полномочий root……………………………………………………………………. 142

Команда sudo………………………………………………………………………………………………………………….. 142

Команда su……………………………………………………………………………………………………………………… 143

Команды gksudo/gksu и kdesudo/kdesu…………………………………………………………………………. 144

Проблемы с sudo в Ubuntu и Kubuntu…………………………………………………………………………… 144

Ввод серии команд sudo………………………………………………………………………………………………… 144

6.2.3. Переход к традиционной учетной записи root…………………………………………………………. 146

Преимущества и недостатки sudo…………………………………………………………………………………. 146

Традиционная учетная запись root в Ubuntu……………………………………………………………….. 147

6.3. Создание, удаление и модификация пользователей и групп
стандартными средствами………………………………………………………………………………………………. 147

6.3.1. Отдельные пользователи……………………………………………………………………………………………. 147

6.3.2. Группы пользователей……………………………………………………………………………………………….. 150

6.4. Управление пользователями и группами с помощью графических конфигураторов… 151

6.4.1. Конфигураторы в Fedora и Ubuntu……………………………………………………………………………. 151

6.4.2. Графический конфигуратор в openSUSE………………………………………………………………….. 155

Еще о правах root и командах su и sudo применительно к openSUSE……………………….. 157

Конфигуратор Центр безопасности openSUSE………………………………………………………….. 159

6.5. Квотирование……………………………………………………………………………………………………………………. 161

Глава 7. Пакеты и управление пакетами……………………………………………… 165

7.1. Способы установки программного обеспечения в Linux………………………………………………. 165

7.2. Репозитории пакетов………………………………………………………………………………………………………… 167

7.3. Программы для управления пакетами……………………………………………………………………………. 168

7.4. Программа rpm (все Red Hat-совместимые дистрибутивы)………………………………………….. 169

7.5. Программа dnf…………………………………………………………………………………………………………………… 170

7.5.1. Основные команды dnf……………………………………………………………………………………………….. 170

7.5.2. Управление источниками пакетов…………………………………………………………………………….. 172

7.5.3. Установка пакетов через прокси-сервер…………………………………………………………………… 174

7.6. Программы dpkg и apt-get: установка пакетов в Debian/Ubuntu………………………………….. 176

7.6.1. Программа dpkg………………………………………………………………………………………………………….. 176

7.6.2. Программа apt…………………………………………………………………………………………………………….. 177

7.6.3. Установка RPM-пакетов в Debian/Ubuntu………………………………………………………………… 179

7.6.4. Графические менеджеры в Debian/Ubuntu……………………………………………………………….. 179

7.6.5. Волшебная команда update……………………………………………………………………………………….. 181

7.7. Установка пакетов в Slackware………………………………………………………………………………………… 182

7.7.1. Управление пакетами…………………………………………………………………………………………………. 183

Программа установки пакетов installpkg……………………………………………………………………… 184

Программа удаления пакетов removepkg…………………………………………………………………….. 185

Программа обновления пакетов upgradepkg……………………………………………………………….. 186

7.7.2. Нет нужного пакета: вам поможет программа rpm2tgz………………………………………….. 186

7.7.3. Программа slackpkg: установка пакетов из Интернета…………………………………………… 186

7.8. Установка программ в openSUSE……………………………………………………………………………………. 187

7.8.1. Менеджер пакетов zypper…………………………………………………………………………………………… 187

7.8.2. Графический менеджер пакетов openSUSE………………………………………………………………. 190

7.9. Снапы…………………………………………………………………………………………………………………………………. 191

7.9.1. Введение в снапы………………………………………………………………………………………………………… 191

7.9.2. Работа со снапами………………………………………………………………………………………………………. 192

Часть III. Настройка сети и Интернета………………………………… 195

Глава 8. Настройка локальной сети……………………………………………………… 197

8.1. Локальная сеть с использованием технологии Gigabit Ethernet……………………………………. 197

8.2. Файлы конфигурации сети в Linux………………………………………………………………………………….. 200

8.3. Об именах сетевых интерфейсов……………………………………………………………………………………… 202

8.4. Настройка сети c помощью конфигуратора nm-connection-editor……………………………….. 205

8.5. Netplan: настройка сети в современных Ubuntu…………………………………………………………….. 209

8.6. Утилиты для диагностики соединения……………………………………………………………………………. 210

8.7. Для фанатов, или Настройка сети вручную…………………………………………………………………… 214

8.7.1. Конфигурационные файлы в старых версиях Fedora/CentOS………………………………… 214

8.7.2. Команда nmcli — новые версии Fedora…………………………………………………………………….. 217

8.7.3. Конфигурационные файлы openSUSE………………………………………………………………………. 217

8.7.4. Команда hostnamectl: установка имени узла……………………………………………………………. 219

8.7.5. Команда mii-tool…………………………………………………………………………………………………………. 220

8.8. Отключение ожидания сети……………………………………………………………………………………………… 221

8.9. Ошибка Temporary failure resolving error или временная ошибка разрешении имен…… 222

8.10. Еще несколько слов о настройке сети…………………………………………………………………………… 222

Глава 9. Настройка соединения Wi-Fi………………………………………………….. 223

9.1. Настройка беспроводного соединения с помощью NetworkManager………………………….. 223

9.2. Что делать, если сети нет в списке?…………………………………………………………………………………. 229

9.3. Точка доступа Wi-Fi на смартфоне…………………………………………………………………………………. 230

9.4. Выбор оборудования для домашней беспроводной сети……………………………………………… 231

9.4.1. Выбор роутера……………………………………………………………………………………………………………. 232

9.4.2. Усиление сигнала. Mesh-системы……………………………………………………………………………… 243

9.4.3. Некоторые советы по настройке роутера………………………………………………………………… 249

Глава 10. Домашняя серверная, или NAS почти даром…………………………. 250

10.1. Что такое NAS и зачем он нужен…………………………………………………………………………………… 250

10.2. RAID-массивы…………………………………………………………………………………………………………………. 251

10.3. Стоимость NAS……………………………………………………………………………………………………………….. 252

10.4. Домашняя серверная: начало………………………………………………………………………………………… 254

10.5. Что делать с сервером?…………………………………………………………………………………………………… 257

10.6. Домашняя серверная: продолжение……………………………………………………………………………… 258

10.7. Связанные вопросы………………………………………………………………………………………………………… 260

10.7.1. Температурный режим……………………………………………………………………………………………… 260

10.7.2. Экономим на ИБП……………………………………………………………………………………………………… 260

Глава 11. Объединение интернет-каналов……………………………………………. 262

11.1. Цели и средства решения задачи…………………………………………………………………………………… 262

11.2. Простой способ со статической маршрутизацией………………………………………………………. 263

11.3. Сложный способ с гибкой настройкой отказоустойчивости……………………………………… 265

Часть IV. Linux дома и в офисе………………………………………………… 271

Глава 12. Поддержка форматов мультимедиа………………………………………. 273

12.1. Что такое кодеки и почему их нет в Linux?…………………………………………………………………… 273

12.2. Настройка дистрибутива Fedora 38–40……………………………………………………………………….. 274

12.3. Установка кодеков в openSUSE……………………………………………………………………………………… 276

12.4. Установка кодеков в Ubuntu 23.10………………………………………………………………………………… 278

Глава 13. Графическая подсистема………………………………………………………. 281

13.1. Настройка X.Org в современных дистрибутивах…………………………………………………………. 281

13.2. Конфигурационный файл X.Org…………………………………………………………………………………….. 282

13.3. Синтаксис файла xorg.conf…………………………………………………………………………………………….. 284

13.4. Установка/обновление проприетарных драйверов NVIDIA в Fedora 38–41……………. 290

13.5. Команда xrandr……………………………………………………………………………………………………………….. 292

Глава 14. Офисные пакеты………………………………………………………………….. 294

14.1. Выбор офисного пакета…………………………………………………………………………………………………. 294

14.1.1. LibreOffice………………………………………………………………………………………………………………….. 294

14.1.2. Calligra Suite……………………………………………………………………………………………………………….. 296

14.1.3. WPS Office (Kingsoft Office)……………………………………………………………………………………… 297

14.2. Кросс-платформенная совместимость………………………………………………………………………….. 298

14.3. Вкратце об OpenOffice.org……………………………………………………………………………………………… 299

Глава 15. Графический редактор GIMP……………………………………………….. 300

15.1. Начало работы……………………………………………………………………………………………………………….. 300

15.2. Обработка фотографий………………………………………………………………………………………………….. 302

15.2.1. Изменение размера (масштабирование)…………………………………………………………………. 302

15.2.2. Вращение…………………………………………………………………………………………………………………… 304

15.2.3. Кадрирование (обрезка)…………………………………………………………………………………………… 305

15.2.4. Инструмент Размывание-Резкость………………………………………………………………………….. 305

15.3. Работа в GIMP с помощью скриптов…………………………………………………………………………….. 308

15.4. Windows-версия GIMP…………………………………………………………………………………………………….. 308

Глава 16. Обзор текстовых редакторов кода………………………………………… 310

16.1. Текстовые редакторы vi, nano, pico, ee, mcedit…………………………………………………………….. 310

16.2. Современные редакторы кода……………………………………………………………………………………….. 315

16.2.1. Microsoft Visual Studio Code…………………………………………………………………………………….. 315

16.2.2. Sublime Text: больше не рекомендую……………………………………………………………………… 316

16.2.3. Brackets от Adobe……………………………………………………………………………………………………… 316

Глава 17. Популярные программы для работы с Интернетом………………. 318

17.1. Браузер Firefox………………………………………………………………………………………………………………… 318

17.2. Браузер Chromium………………………………………………………………………………………………………….. 319

17.3. Почтовый клиент…………………………………………………………………………………………………………….. 320

17.4. Skype………………………………………………………………………………………………………………………………… 320

17.5. FTP-клиенты…………………………………………………………………………………………………………………….. 322

17.6. P2P-клиенты…………………………………………………………………………………………………………………….. 324

Глава 18. DLNA-сервер для домашней сети………………………………………….. 327

18.1. Назначение сервера……………………………………………………………………………………………………….. 327

18.2. Установка miniDLNA……………………………………………………………………………………………………… 328

18.3. Обзор альтернативных DLNA-сервисов……………………………………………………………………….. 330

18.3.1. Kodi…………………………………………………………………………………………………………………………….. 330

18.3.2. Plex……………………………………………………………………………………………………………………………… 331

18.3.3. Jellyfin…………………………………………………………………………………………………………………………. 333

Глава 19. Сервис распространения компьютерных игр Steam………………. 334

19.1. Что такое Steam………………………………………………………………………………………………………………. 334

19.2. Установка Steam…………………………………………………………………………………………………………….. 334

19.3. Установка и запуск игры………………………………………………………………………………………………… 336

Часть V. Системные трюки, или Linux изнутри………………… 339

Глава 20. Ядро……………………………………………………………………………………… 341

20.1. Процесс загрузки ядра……………………………………………………………………………………………………. 341

20.2. Параметры ядра……………………………………………………………………………………………………………… 344

20.3. Компиляция ядра в дистрибутиве Ubuntu…………………………………………………………………….. 349

20.3.1. Установка дополнительных пакетов………………………………………………………………………. 349

20.3.2. Загрузка исходных текстов ядра…………………………………………………………………………….. 349

20.3.3. Настройка ядра…………………………………………………………………………………………………………. 350

20.3.4. Компиляция ядра………………………………………………………………………………………………………. 353

20.4. RT-ядро……………………………………………………………………………………………………………………………. 357

20.5. Особенности компиляции ядра в других дистрибутивах Linux…………………………………. 358

Глава 21. Загрузчики Linux………………………………………………………………….. 359

21.1. Основные загрузчики……………………………………………………………………………………………………… 359

21.2. Конфигурационные файлы GRUB и GRUB2………………………………………………………………… 360

21.2.1. Конфигурационный файл GRUB……………………………………………………………………………… 360

21.2.2. Конфигурационный файл GRUB2…………………………………………………………………………… 362

21.3. Команды установки загрузчиков…………………………………………………………………………………… 365

21.4. Установка собственного фона загрузчиков GRUB и GRUB2……………………………………… 366

21.5. Постоянные имена устройств………………………………………………………………………………………… 367

21.6. Восстановление загрузчика GRUB/GRUB2…………………………………………………………………. 367

21.7. Загрузка с ISO-образов…………………………………………………………………………………………………… 368

21.8. Установка пароля загрузчика……………………………………………………………………………………….. 369

21.8.1. Загрузчик GRUB……………………………………………………………………………………………………….. 369

21.8.2. Загрузчик GRUB2……………………………………………………………………………………………………… 371

Глава 22. Системы инициализации……………………………………………………… 374

22.1. Начальная загрузка Linux……………………………………………………………………………………………… 374

22.2. Система инициализации init…………………………………………………………………………………………… 376

22.2.1. Команда init………………………………………………………………………………………………………………. 377

22.2.2. Команда service…………………………………………………………………………………………………………. 378

22.3. Система инициализации systemd………………………………………………………………………………….. 378

22.3.1. Идеальная система инициализации………………………………………………………………………… 378

22.3.2. systemd — основные понятия…………………………………………………………………………………… 380

22.3.3. Основные особенности systemd………………………………………………………………………………. 381

22.3.4. Сравнение init, upstart и systemd……………………………………………………………………………… 382

22.3.5. Немного практики…………………………………………………………………………………………………….. 384

22.3.6. Таймеры…………………………………………………………………………………………………………………….. 387

22.3.7. Команды системного администратора…………………………………………………………………… 389

22.4. Система инициализации Slackware……………………………………………………………………………….. 390

Глава 23. Процессы……………………………………………………………………………… 393

23.1. Аварийное завершение процесса………………………………………………………………………………….. 393

23.2. Программа top: кто больше всех расходует процессорное время?……………………………. 395

23.3. Изменение приоритета процесса…………………………………………………………………………………… 397

23.4. Запуск NodeJs-приложений в фоновом режиме……………………………………………………………. 397

Глава 24. Псевдофайловые системы sysfs и proc…………………………………… 399

24.1. Виртуальная файловая система sysfs…………………………………………………………………………… 399

24.2. Виртуальная файловая система proc……………………………………………………………………………. 400

24.2.1. Информационные файлы………………………………………………………………………………………….. 400

24.2.2. Файлы, позволяющие изменять параметры ядра…………………………………………………… 401

24.2.3. Файлы, изменяющие параметры сети……………………………………………………………………… 402

24.2.4. Файлы, изменяющие параметры виртуальной памяти………………………………………….. 402

24.2.5. Файлы, позволяющие изменить параметры файловых систем…………………………….. 403

24.3. Сохранение произведенных изменений………………………………………………………………………… 403

Глава 25. Команды Linux, о которых нужно знать каждому линуксоиду 404

25.1. Общие команды………………………………………………………………………………………………………………. 404

25.1.1. Команда arch — вывод архитектуры компьютера………………………………………………… 404

25.1.2. Команда clear — очистка экрана……………………………………………………………………………. 404

25.1.3. Команда date…………………………………………………………………………………………………………….. 404

25.1.4. Команда echo…………………………………………………………………………………………………………….. 405

25.1.5. Команда exit — выход из системы………………………………………………………………………….. 405

25.1.6. Команда man — вывод справки………………………………………………………………………………. 405

25.1.7. Команда passwd — изменение пароля……………………………………………………………………. 405

25.1.8. Команда startx — запуск графического интерфейса X.Org…………………………………… 405

25.1.9. Команда uptime — информация о работе системы……………………………………………….. 406

25.1.10. Команда users — информация о пользователях………………………………………………….. 406

25.1.11. Команды w, who и whoami — информация о пользователях………………………………. 406

25.1.12. Команда xf86config — настройка графической подсистемы……………………………… 407

25.2. Команды для работы с текстом…………………………………………………………………………………….. 407

25.2.1. Команды diff и cmp — сравнение файлов……………………………………………………………….. 407

25.2.2. Команды grep и egrep — текстовый фильтр…………………………………………………………… 408

25.2.3. Команды more и less — постраничный вывод………………………………………………………… 409

25.2.4. Команды head и tail — вывод начала и хвоста файла………………………………………….. 409

25.2.5. Команда wc — подсчет слов в файле……………………………………………………………………… 410

25.2.6. Команды vi, nano, pico, ee, mcedit — текстовые редакторы………………………………….. 410

25.2.7. Язык gawk — мощное средство обработки текста………………………………………………… 410

25.3. Команды для работы с Интернетом……………………………………………………………………………… 410

25.3.1. Команда ftp — стандартный FTP-клиент……………………………………………………………….. 410

25.3.2. Команда lynx — текстовый браузер……………………………………………………………………….. 411

25.3.3. Команда mail — чтение почты и отправка сообщений…………………………………………. 412

25.4. Команды системного администратора…………………………………………………………………………. 412

25.4.1. Команды free и df — информация о системных ресурсах…………………………………….. 412

25.4.2. Команда md5sum — вычисление контрольного кода MD5…………………………………… 412

25.4.3. Команды ssh и telnet — удаленный вход в систему………………………………………………. 413

Глава 26. Конфигурационные файлы Linux…………………………………………. 414

26.1. Каталог /etc……………………………………………………………………………………………………………………… 414

26.2. Каталог /etc/NetworkManager………………………………………………………………………………………… 415

26.3. Каталог /etc/abrt……………………………………………………………………………………………………………… 416

26.4. Каталог /etc/alsa……………………………………………………………………………………………………………… 416

26.5. Каталоги /etc/audit и /etc/audisp……………………………………………………………………………………. 416

26.6. Каталог /etc/avahi — файлы конфигурации демона Avahi…………………………………………. 416

26.7. Файлы конфигурации планировщиков задач………………………………………………………………. 417

26.8. Каталог /etc/cups…………………………………………………………………………………………………………….. 417

26.9. Файл /etc/fonts/fonts.conf……………………………………………………………………………………………….. 419

26.10. Каталог /etc/gdm (или /etc/gdm3)………………………………………………………………………………… 420

26.11. Файлы конфигурации популярных сетевых служб…………………………………………………… 420

26.12. Каталог /etc/logrotate.d…………………………………………………………………………………………………. 420

26.13. Каталог /etc/mail…………………………………………………………………………………………………………… 422

26.14. Каталог /etc/ntp…………………………………………………………………………………………………………….. 422

26.15. Каталог /etc/openldap…………………………………………………………………………………………………… 422

26.16. Каталог /etc/openvpn……………………………………………………………………………………………………. 422

26.17. Каталоги /etc/pam.d и /etc/security………………………………………………………………………………. 422

26.18. Каталог /etc/ppp……………………………………………………………………………………………………………. 422

26.19. Каталог /etc/rc.d……………………………………………………………………………………………………………. 423

26.20. Каталог /etc/sane.d……………………………………………………………………………………………………….. 423

26.21. Каталог /etc/selinux………………………………………………………………………………………………………. 423

26.22. Каталог /etc/skel……………………………………………………………………………………………………………. 423

26.23. Каталог /etc/sysconfig…………………………………………………………………………………………………… 424

26.24. Каталог /etc/X11…………………………………………………………………………………………………………… 424

26.25. Конфигурационные файлы dnf……………………………………………………………………………………. 425

26.26. Основные конфигурационные файлы сети…………………………………………………………………. 425

26.27. Остальные конфигурационные файлы каталога /etc………………………………………………… 425

Глава 27. Протоколирование системы………………………………………………….. 427

27.1. Протоколирование по-новому: journalctl……………………………………………………………………… 428

27.1.1. Установка времени……………………………………………………………………………………………………. 428

27.1.2. Просмотр и фильтрация логов…………………………………………………………………………………. 429

Текущая и предыдущие загрузки………………………………………………………………………………….. 429

Фильтр по дате……………………………………………………………………………………………………………….. 430

Фильтр по сервису………………………………………………………………………………………………………….. 431

Фильтр по пути……………………………………………………………………………………………………………….. 431

Фильтр по процессу или пользователю……………………………………………………………………….. 431

Просмотр сообщений ядра……………………………………………………………………………………………. 431

Фильтр по уровню ошибки……………………………………………………………………………………………. 431

27.1.3. Журналы в реальном времени…………………………………………………………………………………. 432

27.1.4. Централизованное хранение логов…………………………………………………………………………. 432

27.2. Демоны syslogd и rsyslogd……………………………………………………………………………………………….. 432

Часть VI. Linux на сервере………………………………………………………….. 437

Глава 28. Обеспечение безопасности сервера……………………………………….. 439

28.1. Защита от «восстановления пароля root»…………………………………………………………………….. 439

28.1.1. Параметр ядра single………………………………………………………………………………………………… 439

28.1.2. Пароль загрузчиков GRUB/GRUB2…………………………………………………………………………. 440

28.1.3. Осторожно: LiveCD…………………………………………………………………………………………………… 441

28.2. Защита от перезагрузки…………………………………………………………………………………………………. 441

28.3. Отключение учетной записи root: нестандартный метод…………………………………………… 443

28.4. Отключение учетной записи root средствами KDM и GDM……………………………………….. 444

28.5. Системы управления доступом……………………………………………………………………………………… 445

Глава 29. Модули аутентификации PAM……………………………………………… 446

29.1. Каталог /etc/pam.d………………………………………………………………………………………………………….. 446

29.2. Дополнительные файлы конфигурации………………………………………………………………………… 447

29.2.1. Содержимое каталога /etc/security………………………………………………………………………….. 447

29.2.2. Файл access.conf: ограничение доступа к системе………………………………………………… 448

29.2.3. Файл limits.conf: ограничение на используемые системные ресурсы………………….. 449

29.2.4. Файл time.conf: регистрация только в рабочее время……………………………………………. 450

29.3. Список PAM-модулей…………………………………………………………………………………………………….. 451

29.4. Борьба с простыми паролями………………………………………………………………………………………… 452

Глава 30. Оптимизация системы. Автоматизация выполнения задач…… 454

30.1. Оптимизация подкачки…………………………………………………………………………………………………… 454

30.2. Создание файла подкачки……………………………………………………………………………………………… 455

30.3. Настройка планировщика ввода/вывода……………………………………………………………………… 456

30.4. Двухканальный режим памяти………………………………………………………………………………………. 457

30.5. Автоматизация выполнения задач………………………………………………………………………………… 457

30.5.1. Планировщик crond…………………………………………………………………………………………………… 457

30.5.2. Планировщик anacron………………………………………………………………………………………………. 459

30.5.3. Разовое выполнение команд — демон atd………………………………………………………………. 460

Глава 31. Маршрутизация. Настройка брандмауэра…………………………….. 461

31.1. Таблица маршрутизации ядра. Установка маршрута по умолчанию………………………. 462

31.2. Изменение таблицы маршрутизации. Команда route………………………………………………….. 465

31.3. Включение IPv4-переадресации, Или превращение компьютера в шлюз…………………. 468

31.4. Настройка брандмауэра………………………………………………………………………………………………… 469

31.4.1. Цепочки и правила……………………………………………………………………………………………………. 470

31.4.2. Брандмауэр iptables………………………………………………………………………………………………….. 472

31.4.3. Шлюз своими руками……………………………………………………………………………………………….. 476

Глава 32. Безопасный удаленный доступ. OpenSSH……………………………… 482

32.1. Протокол SSH………………………………………………………………………………………………………………….. 482

32.2. Использование SSH-клиента………………………………………………………………………………………….. 483

32.3. Настройка SSH-сервера…………………………………………………………………………………………………. 483

Глава 33. Веб-сервер. Связка Apache + PHP + MySQL………………………….. 488

33.1. Самый популярный веб-сервер……………………………………………………………………………………… 488

33.2. Установка веб-сервера и интерпретатора PHP. Выбор версии………………………………….. 488

33.3. Тестирование настроек………………………………………………………………………………………………….. 492

33.4. Файл конфигурации веб-сервера…………………………………………………………………………………… 494

33.4.1. Базовая настройка……………………………………………………………………………………………………. 494

33.4.2. Самые полезные директивы файла конфигурации………………………………………………… 495

33.4.3. Директивы Directory, Limit, Location, Files……………………………………………………………… 497

33.4.4. Работа сервера на нескольких портах……………………………………………………………………. 499

33.4.5. Динамические поддомены……………………………………………………………………………………….. 500

33.5. Управление запуском сервера Apache………………………………………………………………………….. 501

33.6. Оптимизация Apache………………………………………………………………………………………………………. 502

33.7. Пользовательские каталоги…………………………………………………………………………………………… 503

33.8. Установка сервера баз данных MySQL………………………………………………………………………… 504

33.8.1. Установка сервера……………………………………………………………………………………………………. 504

33.8.2. Изменение пароля root и добавление пользователей…………………………………………….. 504

33.8.3. Запуск и останов сервера…………………………………………………………………………………………. 508

33.8.4. Программа phpMyAdmin…………………………………………………………………………………………. 508

33.9. Обеспечение безопасности сайта от вирусов………………………………………………………………. 510

33.9.1. Как вирусы попадают на сайт?……………………………………………………………………………….. 510

33.9.2. Установка прав доступа…………………………………………………………………………………………… 511

33.9.3. Антивирус ClamAV…………………………………………………………………………………………………… 512

33.9.4. Сценарий scanner………………………………………………………………………………………………………. 513

33.10. SSL-сертификат для сайта……………………………………………………………………………………………. 514

33.10.1. Выбор SSL-сертификата………………………………………………………………………………………… 514

Основные типы сертификатов……………………………………………………………………………………….. 514

Какой тип сертификата выбрать?…………………………………………………………………………………. 515

Особенности SSL-сертификатов разных типов……………………………………………………………. 515

Где купить SSL-сертификат?…………………………………………………………………………………………. 517

33.10.2. Конвертирование сертификатов……………………………………………………………………………. 517

33.10.3. Сертификат Let’s Encrypt………………………………………………………………………………………… 519

Установка клиента Let’s Encrypt…………………………………………………………………………………… 519

33.11. Ускорение веб-сервера: PageSpeed и Memcached……………………………………………………… 520

33.11.1. Установка PageSpeed……………………………………………………………………………………………… 521

33.11.2. Установка Memcached…………………………………………………………………………………………… 521

33.12. Протоколирование POST-запросов…………………………………………………………………………….. 522

Глава 34. FTP-сервер……………………………………………………………………………. 524

34.1. Установка FTP-сервера………………………………………………………………………………………………….. 524

34.2. Конфигурационный файл………………………………………………………………………………………………. 525

34.3. Настройка FTP-сервера………………………………………………………………………………………………….. 529

34.4. Оптимизация FTP-сервера……………………………………………………………………………………………… 531

34.5. Программы ftpwho и ftpcount………………………………………………………………………………………… 533

34.6. Несколько слов о защите FTP………………………………………………………………………………………… 534

Глава 35. DNS-сервер……………………………………………………………………………. 535

35.1. Еще раз о том, что такое DNS………………………………………………………………………………………… 535

35.2. Кеширующий сервер DNS………………………………………………………………………………………………. 536

35.3. Полноценный DNS-сервер……………………………………………………………………………………………… 541

35.4. Вторичный DNS-сервер………………………………………………………………………………………………….. 546

35.5. Обновление базы данных корневых серверов……………………………………………………………… 546

Глава 36. Прокси-сервер: Squid и squidGuard……………………………………….. 549

36.1. Зачем нужен прокси-сервер в локальной сети?……………………………………………………………. 549

36.2. Базовая настройка Squid………………………………………………………………………………………………… 549

36.3. Практические примеры…………………………………………………………………………………………………… 551

36.3.1. Управление доступом………………………………………………………………………………………………. 551

36.3.2. Создание «черного списка» адресов……………………………………………………………………….. 552

36.3.3. Отказ от баннеров…………………………………………………………………………………………………….. 552

36.4. Управление прокси-сервером Squid………………………………………………………………………………. 552

36.5. Настройка клиентов……………………………………………………………………………………………………….. 553

36.6. Прозрачный прокси-сервер……………………………………………………………………………………………. 553

36.7. squidGuard — ваше дополнительное «оружие»……………………………………………………………. 554

Глава 37. Почтовый сервер…………………………………………………………………… 558

37.1. Выбор почтового сервера………………………………………………………………………………………………. 558

37.2. Настройка MTA Exim…………………………………………………………………………………………………….. 560

37.3. Настройка аутентификации SMTP……………………………………………………………………………….. 561

37.4. Настройка демона SASL………………………………………………………………………………………………… 562

Глава 38. Сервис Samba……………………………………………………………………….. 563

38.1. Установка Samba……………………………………………………………………………………………………………. 563

38.2. Базовая настройка Samba……………………………………………………………………………………………… 563

38.3. Настройка общих ресурсов…………………………………………………………………………………………… 565

38.4. Просмотр ресурсов Windows-сети…………………………………………………………………………………. 566

38.5. Оптимизация Samba……………………………………………………………………………………………………….. 566

38.6. Samba и Active Directory…………………………………………………………………………………………………. 568

38.7. Samba в качестве контроллера домена………………………………………………………………………… 571

Глава 39. Поддержка RAID………………………………………………………………….. 575

39.1. Аппаратные RAID-массивы…………………………………………………………………………………………… 575

39.2. Программные RAID-массивы………………………………………………………………………………………… 579

39.3. Создание программных массивов…………………………………………………………………………………. 580

39.4. RAID-массив только для данных…………………………………………………………………………………… 581

39.5. Сбой и его имитация……………………………………………………………………………………………………….. 583

Глава 40. Программные системы хранения данных…………………………….. 584

40.1. Аппаратные хранилища с резервированием……………………………………………………………….. 584

40.2. Программные хранилища с резервированием……………………………………………………………… 586

40.3. Распределенная система хранения данных Ceph………………………………………………………… 588

40.3.1. Система Ceph: дополнительная информация………………………………………………………… 589

Глава 41. Средства резервного копирования.
Создание образа системы на LiveUSB…………………………………………………… 590

41.1. Необходимость в «живой» резервной копии………………………………………………………………… 590

41.2. Средства клонирования Linux……………………………………………………………………………………….. 591

41.3. Clonezilla………………………………………………………………………………………………………………………….. 592

41.4. Linux Live…………………………………………………………………………………………………………………………. 599

Глава 42. Шифрование файловой системы…………………………………………… 601

42.1. Шифрование папки…………………………………………………………………………………………………………. 601

42.2. Храним пароль на флешке……………………………………………………………………………………………… 603

Часть VII. Виртуальные серверы……………………………………………… 605

Глава 43. А нужен ли физический сервер?……………………………………………. 607

43.1. Физический или виртуальный?……………………………………………………………………………………… 607

43.1.1. Стоимость физического сервера……………………………………………………………………………… 607

43.1.2. Необходимость в аппаратном сервере…………………………………………………………………… 608

43.1.3. Про VPS, VDS и спекулянтов……………………………………………………………………………………. 609

43.1.4. Стоимость VDS………………………………………………………………………………………………………….. 611

43.1.5. Физический сервер или VDS?…………………………………………………………………………………… 612

43.1.6. Стоимость владения физическим сервером……………………………………………………………. 613

43.1.7. Выводы………………………………………………………………………………………………………………………. 614

43.2. Сразу после покупки виртуального Linux-сервера.
Шесть шагов к безопасности сервера…………………………………………………………………………… 614

43.2.1. Меняем пароль пользователя root…………………………………………………………………………… 615

43.2.2. Создаем обычного пользователя…………………………………………………………………………….. 615

43.2.3. Установка удобного редактора………………………………………………………………………………. 615

43.2.4. Превращаем обычного пользователя в администратора……………………………………… 616

43.2.5. Запрещаем вход как root по SSH……………………………………………………………………………… 617

43.2.6. Настройка брандмауэра………………………………………………………………………………………….. 617

Базовая настройка…………………………………………………………………………………………………………. 617

Создание правил для сервисов……………………………………………………………………………………… 619

Разрешаем IP-адреса……………………………………………………………………………………………………… 619

Запрещаем IP-адреса и службы……………………………………………………………………………………. 620

Удаление/сброс правил…………………………………………………………………………………………………. 620

Глава 44. Менеджер виртуальных машин KVM…………………………………… 621

44.1. Включение аппаратной виртуализации……………………………………………………………………….. 621

44.2. Установка ПО виртуализации……………………………………………………………………………………….. 624

44.3. Создание виртуальной машины……………………………………………………………………………………. 625

44.4. Изменение параметров виртуальной машины……………………………………………………………… 630

Глава 45. Управление виртуальными машинами через веб-интерфейс…. 633

45.1. Установка ПО………………………………………………………………………………………………………………….. 633

45.2. Установка ПО………………………………………………………………………………………………………………….. 634

45.3. Настройка KVM……………………………………………………………………………………………………………… 636

45.4. Панель управления…………………………………………………………………………………………………………. 636

Глава 46. Сервер видеонаблюдения……………………………………………………… 642

46.1. Системные требования…………………………………………………………………………………………………… 642

46.2. Установка ПО………………………………………………………………………………………………………………….. 643

46.3. Подготовка камер……………………………………………………………………………………………………………. 646

46.4. Вход в MotionEye……………………………………………………………………………………………………………. 647

Глава 47. Виртуальные диски на виртуальном сервере………………………… 654

47.1. Добавление еще одного виртуального диска………………………………………………………………. 654

47.2. Расширение существующего диска………………………………………………………………………………. 657

Приложение. Описание файлового архива…………………………………………… 661

Предметный указатель…………………………………………………………………………. 663

Добавить комментарий