Що таке Linux?
Linux – це операційна система з відкритим кодом, яка надає користувачеві гнучкість, безпеку та широкий набір інструментів для роботи.
У цій статті ми розглянемо, що таке Linux, як він функціонує, з чого складається та як почати з ним працювати. Також дамо поради для тих, хто вперше знайомиться з цією системою або хоче використовувати її у навчанні чи роботі.
Операційна система Linux
Сміємося в обличчя небезпеці та робимо перший крок до розуміння філософії open source.
Навіть якщо ви ніколи не мали справи з Linux, дух цієї системи присутній майже в усьому, чим ви користуєтеся щодня. Без Linux зупиниться робота серверів, банкоматів і платіжних терміналів, вийдуть з ладу майже всі розумні телевізори, а також 70% смартфонів по всьому світу.
При цьому, на відміну від Windows і macOS, Linux не належить жодній організації і розвивається незалежними розробниками по всьому світу. У статті ми зануримося у філософію цієї системи, дізнаємося, у відповідь на які виклики вона з’явилася і звідки взявся той самий логотип із пінгвіном.
Що таке Linux
Технічно Linux – це не єдина система, а ціле сімейство систем на базі ядра Linux. Ядро – це головний програмний модуль, який відповідає за базові можливості системи, наприклад роботу з пам’яттю і залізом.
Фішка ядра Linux у тому, що воно безкоштовне і поширюється за ліцензією open source. Це означає, що кожен розробник може взяти ядро і налаштувати на свій смак: додати модулі та програми, намалювати будь-який інтерфейс, впровадити просунуті алгоритми захисту тощо.
Коли на основі ядра Linux збирають свою операційку, результат називають дистрибутивом. Дистрибутивів безліч – за різними оцінками, близько 600. Як правило, вони вирішують якесь конкретне завдання – наприклад, Gentoo заточений на швидкість, Ubuntu – на простоту і зручність, а Kali Linux зроблений для інженерів з кібербезпеки.
Важливо розуміти, що, коли хтось каже «встановити Linux», зазвичай мається на увазі встановлення якогось дистрибутива на базі ядра Linux. Не існує окремого образу Linux, який можна швидко залити на флешку і встановити, – доведеться гуглити відмінності різних збірок і обирати, що ближче до духу. У цьому головна принадність філософії Linux.
Окей, з дистрибутивами розібралися. Але хто ж тоді створив саме ядро?
Як з’явилася Linux
Творець ядра Linux – легендарний фінський розробник Лінус Торвальдс, один із хрещених батьків вільного ПЗ, істинний гік, технар і бунтар, виходець із сім’ї лівих фінських журналістів.
Будучи студентом Гельсінського університету, Лінус познайомився з книжкою Ендрю Таненбаума «Проектування та організація операційних систем», у якій було описано навчальну систему для студентів під назвою Minix. Під впливом книги Лінус встановив Minix на свій новий комп’ютер Intel 386 і… повністю в ній розчарувався:
За офіційною версією – через обмеження ліцензії Minix, яка була заточена на використання в навчальних закладах. За розповідями однокурсників – через відсутність терміналу, за допомогою якого Лінус сподівався отримати доступ до вишівського комп’ютера і вивчати лекції просто з дому (так, він був віддаленим користувачем ще до того, як це стало мейнстримом).
Розсерджений, Лінус вирішив доопрацювати систему самостійно – почавши з терміналу, він додавав у систему нові й нові фішки, дедалі більше відходячи від взаємодії з Minix до роботи із залізом безпосередньо. Поступово навчальний посібник професора Таненбаума на його комп’ютері еволюціонував у щось схоже на сучасне ядро Linux.
25 серпня 1991 року Лінус Торвальдс випустив перший пост про свою ОС у новинній групі comp.os.minix мережі Usenet:
“Привіт усім, хто користується Minix. Зараз я працюю над безкоштовною операційною системою (просто хобі, не щось серйозне і професійне, як GNU) для комп’ютерів-клонів 386 (486) AT. Працюю над системою вже з квітня, і щось починає виходити.
Хотілося б дізнатися у вас, що люди люблять і не люблять у Minix, оскільки моя ОС чимось схожа на неї. Будь-які пропозиції вітаються, але не обіцяю, що я їх реалізую.” – Лінус (torvalds@kruuna.helsinki.fi)
Зараз дата розміщення поста вважається днем народження Linux. Щоправда, тоді система називалася по-іншому – freax. Це поєднання трьох слів: freaks (придурки), free (свобода) і Unix (система, на якій засновані Minix і Linux). Але мудрі товариші Лінуса наполягли на більш милозвучній назві Linux, замінивши провокаційну частину назви на ім’я засновника системи.
Через три тижні Лінус викотив першу версію ядра Linux Kernel 0.01, ще нескінченно сиру. Що важливо, ядро вийшло під громадською ліцензією GNU GPL, що дало змогу розробникам з усього світу брати участь у розробці та тестуванні. Це рішення різко підстьобнуло темпи розробки – тепер над ядром працювала вже не одна людина, а ціла команда ентузіастів. Така модель розвитку проекту зберігається і сьогодні.
Основним фактором, що гальмував розвиток Linux, була відсутність додатків для повноцінної роботи. Тоді Лінус зробив фінт вухами і об’єднав зусилля з іншим культовим діячем вільного ПЗ Річардом Столлманом, автором проєкту GNU, в арсеналі якого було безліч некомерційних програм, але не вистачало потужного і відкритого ядра. Дві операційки об’єдналися, і їхній гібрид став називатися GNU/Linux.
Це була класична ситуація win-win: у розпорядженні Столлмана опинилося швидке і Unix-сумісне ядро, а Торвальдс отримав право використовувати в Linux усі напрацювання проєкту GNU: командну оболонку Bash, графічне середовище GNOME, текстовий редактор Emacs та інші. Щоправда, Лінус виграв від цього злиття все ж трохи більше: більшість людей називає системи на основі GNU/Linux просто Linux, ігноруючи внесок Столлмана.
Незважаючи на це, Річард Столлман – особистість воістину легендарна для всієї computer science. Про проєкти і філософію цього геніального божевільного у нас виходив великий спецпроєкт із декораціями в дусі космічних аркад вісімдесятих.
У 1996-му вийшла версія Linux 2.0 з безліччю поліпшень і розширеною підтримкою під’єднуваного заліза. Тоді ж у Linux з’явився фірмовий талісман – пінгвін Tux. Його намалював програміст-дизайнер Ларрі Юінг, який виграв у конкурсі, оголошеному самим Торвальдсом.
Поступово популярність Linux зростала: про молоду операційку з відкритим вихідним кодом писали великі видання, зокрема Forbes і Dr. Dobb’s Journal. З’явилися організації, які допомагали її поширенню та розвитку: Linux International, Linux Expo, Linux World та інші.
Зараз у проєкті беруть участь мільйони розробників по всьому світу: одні контрріб’ютять у саме ядро, інші пиляють численні форки і дистрибутиви Linux. Свої збірки на базі Linux роблять і компанії. Загалом, справа дядечка Торвальдса цвіте пишним цвітом, та й сам він поки що навіть не думає про пенсію – розробка всіх нових версій ядра проходить під його наглядом.
Де використовується Linux
Linux використовується в безлічі галузей – від медицини до машинобудування, від робототехніки до платіжної інфраструктури. Коротко перерахуємо основні сфери, де без цієї операційки сьогодні не обійтися.
Суперкомп’ютери
Завдяки гнучкості та близькості до заліза Linux дає змогу вичавлювати максимум із суперкомп’ютерів. Усі 500 машин зі списку найпотужніших суперкомп’ютерів у світі працюють під управлінням Linux.
Веб-сервери
Linux використовується практично на всіх серверах у Мережі. Згідно з опитуваннями агентства W3Techs, 82% веб-сайтів розгорнуті на машинах зі встановленими Linux- і Unix-системами. Решта використовують Windows.
Смартфони
Операційна система Android, яка встановлена на більшості смартфонів у світі, працює на ядрі Linux. До речі, яблучна iOS, як і Android, – Unix-подібна система, тож не дуже й далеко одна від одної вони пішли в плані архітектури.
Роутери
Операційні системи, встановлені в Wi-Fi-маршрутизаторах, також засновані на ядрі Linux.
Розумний будинок
Linux використовують багато пристроїв у розумних будинках: холодильники, телевізори, пральні машини. Наприклад, прошивки для телевізорів Samsung, LG, Philips і Panasonic працюють на базі ядра Linux.
Авіація і транспорт
Linux встановлено на бортових комп’ютерах автомобілів Tesla і в машинах з автопілотом від Google. Ще Linux використовується в авіації: більшість американських систем для відстеження трафіку літаків розроблено на базі Linux.
З чого складається Linux
Як і будь-яка операційка, Linux – це посередник між софтом і залізом комп’ютера. Ось її основні компоненти.
Ядро
Серце будь-якої операційної системи. Пов’язує програмне й апаратне забезпечення, розподіляє ресурси комп’ютера між процесами, запускає процеси введення-виведення і передає їх на виконання центральному процесору. Під час запуску ОС ядро завантажується першим і залишається в оперативній пам’яті постійно. У коді ядра містяться драйвери, які завантажуються в пам’ять у міру необхідності.
Оболонка
Командний рядок, який дає змогу користувачеві взаємодіяти з ядром безпосередньо. Працює так: ви набираєте команди для оболонки спеціальною мовою, вона їх інтерпретує і передає операційній системі, а та запускає потрібні програми.
Найпопулярніша командна оболонка для Linux – Bash.
Утиліти
Програми, які виконують різні службові завдання: одні обслуговують файлову систему і диски, інші потрібні для ведення архівів даних, треті займаються діагностикою програм і обладнання.
Графіка
Складається з трьох головних компонентів:
- Графічний сервер – система для відтворення елементів інтерфейсу: вікон, кнопок і меню, а також для надання доступу до них за допомогою клавіатури і миші. Додатку не потрібно думати про те, як відобразити графіку, – все це бере на себе графічний сервер.
- Менеджер входу – той самий екран, який запитує у вас логін, пароль та інші дані аутентифікації перед входом у систему.
- Середовище робочого столу. Усе, що ви бачите на екрані під час роботи з системою: файловий менеджер, вікна, шпалери, статус-бари, панелі завдань та інші інструменти. Найчастіше в дистрибутивах Linux використовується середовище GNOME, що прийшло з вищезгаданої GNU.
Інше популярне середовище – KDE – сильно нагадує Windows, а тому його часто обирають користувачі, які переїжджають з однієї системи на іншу.
Компілятори
Перетворюють текст, написаний «людськими» мовами програмування, на машинний код. Зазвичай компілятори не входять до збірки з коробки – їх встановлюють окремо або разом із середовищем розробки.
Користувацький софт
Усе, що потрібно людині для роботи і чого немає в системі від самого початку: браузери, месенджери, офісні програми, програми для роботи з графікою і звуком та інші.
Дистрибутиви Linux
Як ми розповіли вище, Linux – це не єдина система, а ціла купа систем, призначених для вирішення різних завдань. Одні з’являються, інші зникають, деякі поділяються на окремі проекти, а деякі об’єднуються. Розробники і компанії створюють дистрибутиви:
- для наукової роботи – щоб спростити роботу співробітників університетів і дослідницьких лабораторій;
- для безпеки – щоб підвищити захищеність систем на режимних об’єктах;
- для швидкості – щоб підвищити продуктивність серверів і обчислювальних систем;
- для простоти – щоб звичайні користувачі теж могли насолоджуватися безкоштовним софтом і не годувати корпоративних босів із Кремнієвої долини 🙂
Існують навіть дистрибутиви для церков, і ми навіть одного разу про них писали.
У нас є великий путівник по дистрибутивах Linux для тих, хто вирішив переметнутися в стан лінуксоїдів. У цьому розділі коротко перерахуємо найпопулярніші з них з описом ключових фішок.
Debian
Один із найстаріших і «базових» дистрибутивів Linux, створений 1993 року програмістом Іеном Мердоком. На Debian засновано безліч інших дистрибутивів: Linux Mint, Kali Linux, Ubuntu та інші.
Debian-based-системи вирізняються високою надійністю, але стримані щодо експериментів. Усі нові пакети проходять ретельне тестування, перш ніж потрапити в офіційний репозиторій. Через це ви навряд чи першим зможете насолоджуватися новітніми фішками, зате будете впевнені в стабільності системи.
Чистий Debian в основному використовують на серверах, але це не означає, що він не підходить для користувачів. У системі є графічний інтерфейс – ба більше, ви навіть зможете вибрати оболонку за смаком: GNOME, KDE, Xfce або LXDE.
Ubuntu
Популярний debian-based-дистрибутив «для дому», розроблений компанією Canonical. Завдяки простоті встановлення і доброзичливому інтерфейсу добре підходить для найширшого кола користувачів.
Встановити і налаштувати Ubuntu не складніше, ніж Windows: у системі є велика база драйверів майже для будь-якого заліза. Багато з цих драйверів мають комерційну природу, через що розробників Ubuntu часто таврують відступниками від філософії вільного ПЗ.
Fedora
Спільна розробка компанії Red Hat і проекту Fedora Community. На відміну від Ubuntu, Fedora використовує тільки вільне ПЗ, закриті для вивчення програми використовувати заборонено – і це принципова позиція творців. Усі компоненти дистрибутива доступні для вільного використання, зміни та поширення.
OpenSUSE. Хороший варіант для тих, хто шукає компроміс між новизною і стабільністю: компоненти системи проходять тестування, але не таке педантичне, як в Ubuntu. Із плюсів: велика бібліотека вбудованих драйверів і широкий вибір додатків у репозиторіях.
Дистрибутив розробляє і підтримує спільнота OpenSUSE у співпраці з компанією SUSE Linux GmbH. Випускається у двох версіях: для звичайних і для корпоративних клієнтів.
Gentoo
Дозволяє гнучко налаштовувати систему під своє залізо. У Gentoo немає готових програм, оскільки весь софт збирається з вихідного коду. Збірка орієнтована насамперед на досвідчених користувачів – кажуть, щоб правильно встановити і налаштувати Gentoo, багато хто бере відпустку.
Фішка Gentoo в тому, що програми компілюються прямо на комп’ютері користувача, що покращує продуктивність за рахунок оптимізації для конкретного заліза. Користувач може навіть обирати, які функції та залежності програми будуть увімкнені або вимкнені під час складання.
Плюси і мінуси Linux
Для початку назвемо переваги цієї операційної системи:
- Open source. Це означає, що ядра всіх дистрибутивів, модулі та програмне забезпечення для роботи під Linux мають відкритий вихідний код. Кожен користувач може вивчати, модифікувати і поширювати будь-яку програму і саме ядро. Він може опублікувати результати своїх робіт відповідно до ліцензії.
- Безоплатність. Більшість дистрибутивів Linux, як і багато програм для них, можна безоплатно завантажити і встановити на свій комп’ютер.
- Безпека. У світі Linux сильна культура безпеки. Автори популярних дистрибутивів Linux регулярно випускають оновлення, які виправляють уразливості та забезпечують безпеку системи. Також майже всі збірки Linux включають засоби для налаштування мережевої безпеки: брандмауери, фільтрацію пакетів та інструменти для виявлення і запобігання атакам.
- Невимогливість до ресурсів. Багато дистрибутивів можна встановити навіть на старі комп’ютери з малопотужними процесорами і невеликим обсягом оперативної пам’яті. До таких дистрибутивів належать, наприклад, Tiny Core Linux, Puppy Linux, Slitaz та інші. А якщо в дистрибутиві немає графічного оточення, його можна запустити хоч на найдавнішому динозаврі з дев’яностих 🙂
- Інструменти для розробників. Linux підтримує безліч компіляторів, інтерпретаторів та інших засобів розробки. Наприклад, для C і C++ у Linux є компілятор GCC, для Python – CPython, для Ruby – JRuby. Також версії для Linux є у більшості популярних IDE, включно з Visual Studio, Sublime Text, Eclipse, IntelliJ IDEA та іншими.
- Зручне встановлення та менеджмент програм. Для цього в Linux є менеджери пакетів. Вони дають змогу керувати програмними пакетами: встановлювати, оновлювати та видаляти їх. Це, наприклад: APT (для Debian і Ubuntu), YUM (для CentOS і Fedora), Pacman (для Arch Linux) та інші.
Є й мінуси:
- Складність освоєння. Тим, хто звик працювати на Windows і macOS, буває складно переходити на Linux. У неї інша філософія, яка вимагає більшої участі в налаштуванні системи. Крім того, потрібно буде розібратися в менеджерах пакетів, репозиторіях, політиці безпеки та інших речах.
- Відсутність деяких популярних програм. Наприклад, для Linux не розроблені Photoshop, Microsoft Office, AutoCAD і багато іншого. Звичайно, їх можна запускати у віртуальній машині, а у багатьох програм є аналоги, але це не підходить тим, хто хоче працювати з неповторними оригіналами.
- Складнощі з драйверами. Так, у Linux є драйвери майже для будь-якого заліза, включно з процесорами і відеокартами, ОЗП і периферією. Але ключове слово – «майже». Буває так, що виробник не став морочитися з драйверами для Linux, а вільні розробники ще не встигли до нього дістатися – і не факт, що взагалі коли-небудь доберуться.
Цілком імовірна ситуація, коли після встановлення системи не працюватиме звук, тачпад або веб-камера і доведеться кілька годин танцювати з бубном, щоб знайти потрібний драйвер. І це в кращому випадку – в гіршому вам доведеться писати його самостійно.
«Зроби сам» – це взагалі квінтесенція філософії Linux, якщо вірити її творцеві Лінусу Торвальдсу 🙂
Чи варто переходити на Linux
Це залежить від ваших потреб і вподобань. Linux буде хорошим вибором, якщо ви шукаєте гнучку операційну систему з відкритим кодом, вам подобається адміністрування і робота з командним рядком. Але варто тримати в голові кілька факторів, які можуть ускладнити перехід:
- Софт. Якщо ви звикли до Photoshop і до можливості в будь-який момент встановити будь-яку гру планети, хімії з Linux може і не виникнути.
- Досвід. Якщо ви ніколи не мали справи з Linux, знадобиться час, щоб її освоїти.
- Драйвери. Не для всіх пристроїв і комплектуючих вони є.
Висновок
Щоб почати роботу з Linux, достатньо встановити один із дистрибутивів, які підходять під ваш рівень досвіду – від простих графічних до мінімалістичних термінальних. Система підходить для навчання, адміністрування, програмування, роботи з даними й навіть щоденного використання.
Основні переваги Linux – стабільність, висока безпека, відсутність плати за ліцензії та підтримка великою світовою спільнотою. Для студентів це чудовий спосіб навчитися розуміти, як влаштовані сучасні системи, і розвивати практичні ІТ-навички вже зараз.








