Из чего состоят дистрибутивы Linux?

  Дмитрий Бушуев  | 

  Обновл. 8 Авг 2021  | 

 3208

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

Упомянутое программное обеспечение развивается разными, часто не связанными между собой группами разработчиков, например: ядро Linux создается силами Линуса Торвальдса и представителями Linux-сообщества; утилиты GNU пишутся разработчиками проекта GNU и Фондом Свободного Программного Обеспечения (FSF); разработка окружения рабочего стола KDE ведется одноименным сообществом; браузер Firefox развивает компания Mozilla; и т.д.

На этом уроке мы разберем основные компоненты, из которых состоит любой Linux-дистрибутив.

Компоненты дистрибутива Linux

Ядро Linux

Сердцем любой операционной системы является её ядро. В 1991 году Линус Торвальдс объявил о первом публичном релизе ядра Linux. С тех пор оно сильно эволюционировало, и сегодня тысячи добровольцев (компаний и обычных разработчиков программного обеспечения) работают над его развитием и поддержкой. Можно со всей уверенностью заявлять, что ядро Linux встречается почти в каждом «умном» устройстве, с которым вы, так или иначе, сталкиваетесь в своей жизни: начиная от Android-телефонов и заканчивая проезжающими мимо автомобилями.

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

Примечание: На сегодняшний день в ядре Linux насчитывается свыше 20 миллионов строк кода.

Утилиты GNU

GNU — это проект, начатый в 1980-х годах Ричардом Столлманом, основателем Фонда Свободного Программного Обеспечения (FSF). Целью данного проекта было создание полностью свободной операционной системы, которая могла бы стать альтернативой операционной системы UNIX. Разработчики GNU создали все необходимые для этого инструменты и программы, но непосредственно само ядро им написать не удалось. Именно поэтому в 1991 году Линус Торвальдс создал ядро Linux, а затем использовал программное обеспечение и утилиты GNU, чтобы получить работоспособную операционную систему.

Проект GNU включает в себя множество различных утилит: командную оболочку bash, набор компиляторов GNU Compiler Collection, загрузчик GRUB, фреймворк GTK+, архиватор gzip, текстовый редактор Nano и другое программное обеспечение.

Одним из основных проектов в рамках GNU является загрузчик GRUB:

Загрузчик GRUB

GRUB — это первая программа, которая загружается после нажатия кнопки питания вашего компьютера. GRUB загружает ядро операционной системы и другие, необходимые для работы системы, компоненты. Почти 99% дистрибутивов Linux используют именно загрузчик GRUB. Если у вас установлено несколько операционных систем, то именно GRUB предоставляет меню, которое позволяет вам выбирать, какую систему следует загрузить (например, Windows или Linux).

Примечание: Есть и другие загрузчики, такие как LILO и BURG, но особой популярностью они не пользуются.

Еще одной важной утилитой проекта GNU является командная оболочка bash:

Командная оболочка bash

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

Демоны

Демоны (англ. «daemons») — это работающие в фоновом режиме служебные программы (или процессы), целью которых является мониторинг определенных подсистем ОС и обеспечение её нормальной работы. Например, демон принтера контролирует возможности печати, демон сети контролирует и поддерживает сетевые коммуникации и т.д.

Примечание: Windows называет такие процессы «службами», в то время как UNIX-подобные системы называют их «демонами».

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

Менеджер пакетов

Менеджер пакетов (или «пакетный менеджер») — это набор программного обеспечения, позволяющего управлять процессом установки, удаления, настройки и обновления различных компонентов программного обеспечения.

В Linux программное обеспечение представлено в виде пакетов. Если вы хотите установить приложение, библиотеку, игру или что-то еще, то для этого вам не нужно искать файл установки в Интернете. Всё, что вам нужно сделать — это открыть центр управления пакетами/программным обеспечением, найти и установить нужные вам приложения.

Обратите внимание на формат используемых пакетов. Red Hat и многие другие семейства дистрибутивов Linux используют формат rpm-пакетов, имеющие расширение .rpm (аналогично .exe в Windows). В свою очередь, системы на базе Debian Linux применяют систему управления пакетами dpkg, которая работает с пакетами формата .deb.

Примечание: Не допускается (за некоторыми исключениями) устанавливать deb-файлы в дистрибутивах Linux, в которых используются rpm-пакеты. Но вы можете попытаться преобразовать пакет из формат .deb в формат .rpm с помощью утилиты под названием Alien, либо поискать соответствующий пакет в официальных репозиториях вашей системы.

В Linux существует много разных менеджеров пакетов, и они отличаются от дистрибутива к дистрибутиву. Например, Ubuntu использует менеджер пакетов apt, в то время как Fedora использует dnf, openSUSE используется zypper, а Arch Linux использует pacman.

Если вы хотите, например, в своей системе установить браузер Firefox, то вам следует выполнить следующую команду:

Пользователям Ubuntu:

sudo apt install firefox

Пользователям Fedora:

sudo dnf install firefox

Пользователям openSUSE:

sudo zypper install firefox

Пользователям Arch Linux:

sudo pacman install firefox

Как видите, команды очень похожи, но в то же время запускаемые ими системы управления пакетами «под капотом» очень разные; различия заключаются в том, как они работают, скорости их работы и безопасности.

Дисплейный сервер

Дисплейный сервер (или «оконный интерфейс») — это важная часть операционной системы, отвечающая за отображение на экране графического пользовательского интерфейса. Значки, окна, меню, все графические объекты, которые вы видите на экране, отображаются дисплейным сервером. Без дисплейного сервера вы будете обречены сидеть за черным интерфейсом командной строки, развернутым на весь экран вашего монитора.

Существует множество различных дисплейных серверов. Для UNIX-подобных систем и дистрибутивов Linux наиболее известным является X.Org Server, выпущенный в 1987 году (еще до ядра Linux), и используемый по сей день.

Примечание: Поскольку X.Org Server существует уже более 30 лет, он полон проблем с безопасностью. В ответ на это некоторые разработчики, поддерживаемые такими компаниями, как Red Hat и Intel, разработали новый протокол отображения под названием Wayland.

Окружение рабочего стола

Окружение рабочего стола (или «среда рабочего стола») — это разновидность графических интерфейсов пользователя, основанная на метафоре рабочего стола, облегчающая работу с операционной системой при помощи некоторого специфического набора инструментов, а именно: значков, окон, панелей, меню, виджетов, файлового и дисплейного менеджеров и многого другого. Наиболее известными окружениями рабочего стола в Linux являются GNOME и KDE.

GNOME 3.32

KDE Plasma 5

Дисплейный менеджер

Дисплейные менеджеры используются для отображения экрана приветствия пользователя и запуска сеансов рабочего стола: они запрашивают у вас имя пользователя и пароль, прежде чем разрешить вам войти в окружение рабочего стола. Если вы используете GNOME, то для него дисплейным менеджером по умолчанию является GDM. Если же ваш выбор пал в сторону KDE, то дисплейным менеджером по умолчанию у вас будет KDM (или SDDM).

Дисплейный менеджер SDDM

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

Пользовательские приложения

Пользовательские приложения — это обычные приложения, которые вы используете каждый день, например: браузер Firefox, офисный пакет LibreOffice, медиаплеер VLC и т.д. Все эти приложения могут полностью отличаться от дистрибутива к дистрибутиву.

Стоит также отметить, что вы можете запускать любую Linux-программу в любом окружении рабочего стола, но программы, предназначенные для одних окружений рабочего стола, в других окружениях рабочего стола могут неправильно отображаться или мешать соседним процессам. Например, если вы попытаетесь запустить файловый менеджер GNOME Files (ранее Nautilus) в KDE, то он потребует установки различных библиотек GNOME и, вероятно, запуска процессов окружения рабочего стола GNOME в фоновом режиме при его открытии. Но при этом файловый менеджер можно будет использовать.

Пользовательские приложения (как и все другие пакеты) загружаются из соответствующих репозиториев.

Заключение


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

Оценить статью:

Звёзд: 1Звёзд: 2Звёзд: 3Звёзд: 4Звёзд: 5 (11 оценок, среднее: 4,82 из 5)
Загрузка...

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

Ваш E-mail не будет опубликован. Обязательные поля помечены *