Все буде Україна!

З чого складаються дистрибутиви Linux? Компоненти Linux-систем

  Юрій  | 

  Оновл. 1 Тра 2022  | 

 40

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

Дистрибутиви 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 Зірок (2 оцінок, середня: 5,00 з 5)
Loading...

Залишити відповідь

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