Хотите узнать, как устроена «изнанка» операционной системы Linux и научиться лихим приёмам кунг-фу в командной строке? Тогда эта книга для вас!
В ней описано, какие подсистемы составляют ядро ОС, управляют процессами, заведуют памятью и вводом-выводом данных, а какие — за сетевые подключения и графическую оболочку. Вы узнаете, как организованы контроль доступа и привилегии процессов, благодаря которым ОС семейства Linux славятся безопасностью.
Отдельное внимание уделено работе с операционной системой через терминал с подробным описанием команд и особенностей интерфейса для наиболее эффективной работы с шаблонными задачами. Рассмотрен графический интерфейс пользователя, а также графические системы X Window и Wayland.
Все ключевые места снабжены наглядными примерами и иллюстрациями, чтобы вы могли быстрее усвоить материал и применять знания на практике. Эта книга поможет вам хорошенько разобраться с Linux, чтобы лучше управляться с Raspberry Pi.
Особенности второго издания
- Добавились новые главы с описанием графической системы Wayland, контейнеров, виртуализации и взаимодействия компонент Linux.
- Учтены изменения в более свежих версиях операционной системы, а также пожелания и отзывы читателей.
Данные
- Автор: Кетов Дмитрий Владимирович
- Формат: 165×233 мм
- Кол-во страниц: 400
- Тип издания: мягкая обложка
- Печать: чёрно-белая
- Год выхода: 2021 (второе издание)
- Издательство: «БХВ-Петербург»
- ISBN: 978-5-9775-6630-8
Оглавление
Введение
- О чём эта книга?
- Кому адресована книга
- Принятые соглашения и обозначения
- Методические рекомендации
- Что должен знать читатель
- Совет для начинающих
Глава 1. Архитектура ОС Linux
- Обзор внутреннего устройства
- Внеядерные компоненты: программы и библиотеки
- Ядерные компоненты: подсистемы управления процессами, памятью, вводом-выводом, файлами
- Трассировка системных и библиотечных вызовов
- Интерфейсы прикладного программирования
- В заключение
Глава 2. Пользовательское окружение ОС Linux
- Командный интерфейс
- Виртуальные терминалы
- Управляющие символы
- Управляющие последовательности
- Основной синтаксис командной строки
- Справочные системы
- Система страниц руководства
- Справочная система GNU
- Встроенная справка командного интерпретатора
- Пользователи и группы
- Передача полномочий
- Хранилища учётных записей
- Переменные окружения и конфигурационные dot-файлы
- В заключение
Глава 3. Подсистема управления файлами и вводом-выводом
- Файлы и дерево каталогов
- Типы файлов
- Обычные файлы
- Каталоги
- Имена, данные, метаданные и индексные дескрипторы
- Ссылки
- Специальные файлы устройств
- Именованные каналы и файловые сокеты
- Файловые дескрипторы
- Файловые системы
- Файловые системы и процедура монтирования
- Дисковые файловые системы
- Сетевые файловые системы
- Специальные файловые системы
- Внеядерные файловые системы
- Дискреционное разграничение доступа
- Владельцы и режим доступа к файлам
- Базовые права доступа и дополнительные атрибуты
- Режим доступа новых файлов
- Семантика режима доступа разных типов файлов
- Дополнительные атрибуты
- Списки контроля доступа POSIX
- Групповая маска
- Права по умолчанию
- Мандатное (принудительное) разграничение доступа
- Модуль принудительного разграничения доступа AppArmor
- Модуль принудительного разграничения доступа SELinux
- Дополнительные свойства файлов
- Расширенные атрибуты файлов
- Флаги файлов
- В заключение
Глава 4. Управление процессами и памятью
- Программы и библиотеки
- Процессы и нити
- Порождение процессов и нитей, запуск программ
- Параллельные многопроцессные программы
- Параллельные многонитевые программы
- Двойственность процессов и нитей Linux
- Дерево процессов
- Атрибуты процесса
- Маркеры доступа
- Привилегии
- Другие атрибуты
- Классы и приоритеты процессов
- Распределение процессора между процессами
- Распределение устройств ввода-вывода между процессами
- Память процесса
- Виртуальная память
- Отображение файлов в память
- Потребление памяти
- Механизим сигналов
- Сеансы и группы процессов: управление заданиями
- Межпроцессное взаимодействие
- Неименованные каналы
- Именованные каналы
- Неименованные локальные сокеты
- Именованные локальные сокеты
- Разделяемая память, семафоры и очереди сообщений
- Разделяемая память
- Семафоры и очереди сообщений
- В заключение
Глава 5. Программирование на языке командного интерпретатора
- Интерпретаторы и их сценарии
- Встроенные и внешние команды
- Перенаправление потоков ввода-вывода
- Подстановки командного интерпретатора
- Подстановки имён файлов
- Подстановки параметров
- Переменные — именованные параметры
- Позиционные параметры
- Специальные параметры
- Подстановки вывода команд
- Подстановки арифметических выражений
- Экранирование
- Списки команд
- Условные списки
- Составные списки: ветвление
- Составные списки: циклы
- Функции
- Сценарии на языке командного интерпретатора
- Инструментальные средства обработки текста
- Фильтр строк grep
- Фильтр символов и полей cut
- Процессор текстовых таблиц awk
- Потоковый редактор текста sed
- В заключение
Глава 6. Сетевая подсистема
- Сетевые интерфейсы, протоколы и сетевые сокеты
- Конфигурирование сетевых интерфейсов и протоколов
- Ручное конфигурирование
- Автоматическое конфигурирование
- Служба имён и DNS/mDNS-резолверы
- Сетевые службы
- Служба SSH
- Почтовые службы SMTP, POP/IMAP
- Служба WWW
- Служба FTP
- Служба NFS
- Служба SMB/CIFS
- Имена NetBIOS
- CIFS-клиенты
- Средства сетевой диагностики
- Анализаторы пакетов tcpdump и tshark
- Сетевой сканер nmap
- Мониторинг сетевых соединений процессов
- В заключение
Глава 7. Графическая система X Window System
- X-сервер
- X-клиенты и X-протокол
- Оконные менеджеры
- Декорирование на клиентской стороне
- Настольные пользовательские окружения
- Библиотеки интерфейсных элементов
- Расширения X-протокола
- Расширение Composite и композитный менеджер
- GLX, DRI и 3D-графика
- Запуск X Window System
- Локальный запуск X-клиентов
- Дистанционный запуск X-клиентов
- Управление X-дисплеями: XDMCP-менеджер и протокол
- Программный интерфейс X Window System
- Трассировка X-библиотек и X-протокола
- 3D-графика и инфраструктура прямого рендеринга DRI
- В заключение
Глава 8. Графическая система Wayland
- Wayland-композитор
- Wayland-клиенты и Wayland-протокол
- Запуск графической среды на основе Wayland
- В заключение
Глава 9. Контейнеры и виртуальные машины
- Чрутизация
- Пространства имён
- Контейнеризация: runc и docker
- Группы управления (cgroups)
- В заключение
Глава 10. От отдельных компонент — к системе
- Как Linux загружается
- Как обнаруживаются драйверы устройств
- Как запускаются системные службы
- Linux своими руками
- В заключение
Заключение
Список литературы
- Для удовольствия
- Начинающим
- Программистам
- Бесстрашным
Предметный указатель