Перейти до вмісту

Linux

Матеріал з K2 ERP Wiki Ukraine — База знань з автоматизації та санкцій в Україні

Linux — це сімейство Unix-подібних операційних систем, побудованих навколо Linux kernel — ядра, створеного Лінусом Торвальдсом у 1991 році. У повсякденній мові словом Linux часто називають не тільки ядро, а й повноцінні операційні системи на його основі: Ubuntu, Debian, Fedora, Arch Linux, Linux Mint, openSUSE, Red Hat Enterprise Linux, AlmaLinux, Rocky Linux та багато інших.

Linux використовується на серверах, суперкомпʼютерах, хмарній інфраструктурі, контейнерах, Android-пристроях, embedded-системах, маршрутизаторах, телевізорах, промисловому обладнанні, робочих станціях розробників і desktop-компʼютерах.

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

Коротко

Параметр Значення
Назва Linux
Тип Unix-подібна операційна система / ядро операційної системи / екосистема дистрибутивів
Автор ядра Лінус Торвальдс
Перший реліз ядра 1991 рік
Актуальна stable-гілка ядра станом на 2026 рік Linux kernel 7.0.x
Ліцензія ядра GNU GPL v2
Основні дистрибутиви Debian, Ubuntu, Fedora, Arch Linux, Linux Mint, openSUSE, RHEL, AlmaLinux, Rocky Linux
Основні сфери Сервери, DevOps, cloud, Docker, Kubernetes, embedded, Android, desktop, security, розробка
Типові файлові системи ext4, XFS, Btrfs, ZFS, F2FS та інші
Типові оболонки Bash, Zsh, Fish, sh
Графічні середовища GNOME, KDE Plasma, Xfce, Cinnamon, MATE, LXQt

Головна ідея Linux

Головна ідея Linux — створити відкриту, гнучку й надійну основу для операційних систем, яку можна використовувати, змінювати, поширювати й адаптувати під різні задачі.

Linux може бути:

  • серверною системою;
  • desktop-системою;
  • системою для розробника;
  • платформою для контейнерів;
  • основою Android;
  • системою для маршрутизатора;
  • embedded-платформою;
  • основою хмарної інфраструктури;
  • навчальним середовищем;
  • платформою для DevOps.

Спрощена схема Linux-системи:

Користувач
→ Shell / Desktop Environment
→ Applications
→ System Libraries
→ Linux Kernel
→ Drivers
→ Hardware

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

Важливі акценти

Статус Теза Пояснення
Ключове Linux є основою сучасної серверної інфраструктури Величезна частина web-серверів, cloud-платформ, контейнерів і DevOps-інструментів працює на Linux.
Ключове Linux — це не один продукт Існують сотні дистрибутивів з різними цілями, пакетними менеджерами й політиками оновлень.
Ключове Linux є відкритим програмним забезпеченням Код ядра відкритий, а більшість компонентів системи поширюється під вільними або open source-ліцензіями.
Ключове Linux дуже важливий для DevOps Bash, SSH, systemd, Docker, Kubernetes, CI/CD і cloud-інфраструктура часто базуються на Linux.
Важливо Linux потребує розуміння командного рядка Desktop Linux можна використовувати графічно, але для серверів і адміністрування потрібен shell.
Увага Linux-дистрибутиви відрізняються між собою Команди, пакети, версії бібліотек, init-системи й налаштування можуть бути різними в Debian, Ubuntu, Fedora, Arch або RHEL.

Linux і GNU/Linux

Термін Linux має два поширені значення.

Термін Що означає
Linux kernel Ядро операційної системи, яке керує процесами, памʼяттю, драйверами, файловими системами й обладнанням
Linux-дистрибутив Повна операційна система на базі Linux kernel, системних бібліотек, shell, пакетного менеджера, утиліт і застосунків
GNU/Linux Назва, яка підкреслює роль GNU-утиліт і вільного програмного забезпечення в Linux-системах

Строго технічно Linux — це ядро. Але в побуті Linux часто означає повну операційну систему на базі цього ядра.

Історія

Linux kernel був створений Лінусом Торвальдсом у 1991 році як вільне Unix-подібне ядро для персональних компʼютерів.

Важливі етапи розвитку:

  • 1991 — перші версії Linux kernel;
  • 1990-ті — поява ранніх дистрибутивів;
  • розвиток Debian, Slackware, Red Hat;
  • поширення Linux на серверах;
  • поява GNOME і KDE;
  • розвиток Apache, MySQL, PHP, LAMP;
  • поява Ubuntu у 2004 році;
  • активне використання Linux у cloud;
  • розвиток Docker і Kubernetes;
  • масове використання Linux у DevOps;
  • Linux як основа Android;
  • Linux у supercomputing, IoT, embedded і enterprise.

Linux починався як хобі-проєкт, а став однією з головних основ сучасного інтернету, хмари, мобільних пристроїв і серверної інфраструктури.

Linux kernel

Linux kernel — це ядро системи.

Воно відповідає за:

  • процеси;
  • памʼять;
  • файлові системи;
  • драйвери;
  • мережу;
  • безпеку;
  • системні виклики;
  • планування задач;
  • роботу з обладнанням;
  • ізоляцію;
  • cgroups;
  • namespaces;
  • контейнери.

Спрощено:

Застосунки
→ системні виклики
→ Linux kernel
→ драйвери
→ обладнання

Версії ядра Linux

Linux kernel має різні гілки:

Тип гілки Пояснення
mainline Найновіша гілка розробки перед stable-релізом
stable Поточна стабільна гілка з виправленнями
longterm / LTS Довгостроково підтримувані гілки ядра
distribution kernel Ядро, яке постачає конкретний дистрибутив із власними патчами й підтримкою

Офіційний сайт kernel.org показує поточні mainline, stable і longterm-гілки Linux kernel. Станом на травень 2026 року stable-гілка — 7.0.x, а також підтримуються longterm-гілки 6.18.x, 6.12.x та інші. :contentReference[oaicite:1]{index=1}

Дистрибутив Linux

Дистрибутив Linux — це готова операційна система, зібрана з ядра Linux і набору програм.

Дистрибутив зазвичай включає:

  • Linux kernel;
  • bootloader;
  • system libraries;
  • shell;
  • core utilities;
  • package manager;
  • init system;
  • services;
  • network tools;
  • security tools;
  • desktop environment або server tools;
  • документацію;
  • репозиторії пакетів.

Дистрибутив — це Linux, зібраний у практичну систему для конкретних задач: сервера, desktop, безпеки, embedded, навчання або enterprise.

Популярні дистрибутиви Linux

Дистрибутив Основа / сімейство Для чого часто використовується
Debian Debian Сервери, стабільні системи, основа для інших дистрибутивів
Ubuntu Debian Desktop, сервери, cloud, навчання, DevOps
Linux Mint Ubuntu/Debian Зручний desktop для користувачів
Fedora Red Hat Сучасний desktop, нові технології, developer workstation
Red Hat Enterprise Linux Red Hat Enterprise-сервери, корпоративна підтримка
AlmaLinux RHEL-сумісний Enterprise-сервери, заміна CentOS
Rocky Linux RHEL-сумісний Enterprise-сервери, RHEL-compatible середовище
Arch Linux Arch Rolling release, досвідчені користувачі, кастомізація
openSUSE SUSE Desktop, сервери, enterprise-подібні сценарії
Kali Linux Debian Безпекове тестування в контрольованих і законних сценаріях

Debian

Debian — один із найважливіших і найстаріших дистрибутивів Linux.

Debian відомий:

  • стабільністю;
  • великою кількістю пакетів;
  • вільним програмним забезпеченням;
  • роллю основи для Ubuntu, Linux Mint та інших систем;
  • сильним community;
  • використанням apt і dpkg;
  • стабільними релізами.

Поточний stable-випуск Debian — Debian 13 “trixie”; Debian 13.0 був випущений у серпні 2025 року, а оновлення 13.4 — у березні 2026 року. :contentReference[oaicite:2]{index=2}

Ubuntu

Ubuntu — популярний дистрибутив Linux на основі Debian, який розробляє компанія Canonical.

Ubuntu використовується для:

  • desktop;
  • серверів;
  • cloud;
  • DevOps;
  • навчання;
  • WSL;
  • контейнерів;
  • Kubernetes;
  • розробки.

Ubuntu має два основних типи релізів:

Тип Пояснення
LTS Long Term Support, довготривала підтримка для стабільних систем
Interim Проміжні релізи кожні 6 місяців із новішими пакетами, але коротшою підтримкою

Ubuntu офіційно пояснює, що LTS-релізи отримують 5 років стандартної підтримки та можуть мати розширену підтримку через Ubuntu Pro/ESM; проміжні релізи підтримуються 9 місяців. :contentReference[oaicite:3]{index=3}

Fedora

Fedora — сучасний Linux-дистрибутив, повʼязаний з екосистемою Red Hat.

Fedora часто використовується для:

  • developer workstation;
  • сучасного GNOME desktop;
  • тестування нових технологій Linux;
  • контейнерів;
  • open source-розробки;
  • роботи з новими версіями пакетів.

Fedora часто отримує нові технології раніше, ніж enterprise-дистрибутиви.

Red Hat Enterprise Linux

Red Hat Enterprise Linux або RHEL — комерційний enterprise-дистрибутив Linux.

Використовується для:

  • корпоративних серверів;
  • банківських систем;
  • enterprise apps;
  • cloud;
  • OpenShift;
  • сертифікованого ПЗ;
  • довгострокової підтримки;
  • compliance;
  • критичної інфраструктури.

AlmaLinux і Rocky Linux

AlmaLinux і Rocky Linux — RHEL-сумісні дистрибутиви.

Вони часто використовуються як:

  • серверні системи;
  • заміна старого CentOS;
  • платформа для hosting;
  • enterprise-like Linux;
  • середовище для legacy RHEL-compatible застосунків.

Arch Linux

Arch Linux — rolling release дистрибутив для досвідчених користувачів.

Особливості:

  • rolling updates;
  • pacman;
  • AUR;
  • мінімальна базова система;
  • висока кастомізація;
  • потужна документація Arch Wiki;
  • потребує розуміння Linux.

Arch Linux дає багато контролю, але вимагає від користувача більше відповідальності й знань.

Linux Mint

Linux Mint — зручний desktop-дистрибутив, орієнтований на користувачів, які хочуть просту й знайому систему.

Відомий завдяки:

  • Cinnamon desktop;
  • зручності для новачків;
  • Ubuntu/Debian-основі;
  • мультимедійній готовності;
  • схожості на класичний desktop UX.

openSUSE

openSUSE — дистрибутив Linux із SUSE-екосистеми.

Варіанти:

  • Leap — стабільніший реліз;
  • Tumbleweed — rolling release.

Особливості:

  • YaST;
  • Btrfs snapshots;
  • сильна системна конфігурація;
  • desktop і server-сценарії.

Desktop Linux

Desktop Linux — це Linux як операційна система для персонального компʼютера.

Desktop Linux підходить для:

  • web browsing;
  • програмування;
  • офісної роботи;
  • навчання;
  • роботи з файлами;
  • пошти;
  • легкого дизайну;
  • розробки;
  • DevOps;
  • privacy-oriented використання.

Але потрібно враховувати:

  • сумісність із програмами;
  • драйвери обладнання;
  • підтримку периферії;
  • ігри;
  • офісні формати;
  • потребу в Terminal;
  • різницю між дистрибутивами.

Графічні середовища Linux

Linux може мати різні desktop environments.

Середовище Особливості
GNOME Сучасний мінімалістичний desktop, типовий для Ubuntu/Fedora
KDE Plasma Дуже гнучке й налаштовуване середовище
Xfce Легке й стабільне середовище
Cinnamon Зручне класичне desktop-середовище, популярне в Linux Mint
MATE Класичний desktop, продовження ідей GNOME 2
LXQt Дуже легке середовище для слабших компʼютерів

GNOME

GNOME — одне з найпопулярніших desktop-середовищ Linux.

Використовується в:

  • Ubuntu;
  • Fedora Workstation;
  • Debian GNOME;
  • RHEL Workstation;
  • багатьох інших дистрибутивах.

GNOME відомий:

  • простим інтерфейсом;
  • Activities Overview;
  • Wayland;
  • GNOME Software;
  • extensions;
  • гарною інтеграцією з сучасним Linux desktop.

KDE Plasma

KDE Plasma — потужне й гнучке desktop-середовище.

Переваги:

  • багато налаштувань;
  • сучасний вигляд;
  • ефективність;
  • підтримка тем;
  • потужний файловий менеджер Dolphin;
  • хороша робота з multi-monitor;
  • схожість із класичним desktop.

Xfce

Xfce — легке середовище, яке добре підходить для старіших або слабших компʼютерів.

Воно цінується за:

  • швидкість;
  • простоту;
  • стабільність;
  • низьке споживання ресурсів;
  • класичний desktop.

Shell

Shell — командна оболонка Linux.

Найпоширеніші shell:

  • Bash;
  • Zsh;
  • Fish;
  • sh.

Приклад команди:

echo "Hello, Linux"

Bash

Bash — одна з найпоширеніших shell-оболонок у Linux.

Використовується для:

  • командного рядка;
  • shell-скриптів;
  • DevOps;
  • CI/CD;
  • backup;
  • адміністрування;
  • автоматизації;
  • Docker entrypoints;
  • cron-задач.

Приклад:

#!/usr/bin/env bash

set -euo pipefail

echo "Backup started"

Основні команди Linux

Команда Що робить
pwd Показує поточний каталог
ls Показує файли
cd Переходить у каталог
cp Копіює файли
mv Переміщує або перейменовує файли
rm Видаляє файли
mkdir Створює каталог
cat Виводить вміст файлу
less Переглядає файл посторінково
grep Шукає текст
find Шукає файли
chmod Змінює права
chown Змінює власника
ps Показує процеси
kill завершує процес

Приклад роботи з файлами

pwd
ls -la
mkdir reports
cp file.txt reports/file.txt
mv reports/file.txt reports/report.txt
cat reports/report.txt

Права доступу

Linux має систему прав доступу до файлів.

Типові права:

Символ Значення
r read, читання
w write, запис
x execute, виконання

Приклад:

ls -l

Результат може виглядати так:

-rwxr-xr--

chmod

chmod змінює права доступу.

Зробити скрипт виконуваним:

chmod +x script.sh

Встановити права 755:

chmod 755 script.sh

chown

chown змінює власника файлу або каталогу.

Приклад:

sudo chown user:user file.txt

Рекурсивна зміна власника:

sudo chown -R user:user /var/www/site

Команди chmod -R і chown -R потрібно виконувати обережно, бо вони масово змінюють права або власників файлів.

sudo

sudo дозволяє виконати команду з підвищеними правами.

Приклад:

sudo apt update

sudo означає, що команда може змінити систему. Перед запуском потрібно розуміти, що саме вона робить.

Root

root — суперкористувач у Linux.

Root має повний доступ до системи.

Звичайна робота під root небажана, бо:

  • можна випадково видалити системні файли;
  • програма з помилкою може пошкодити систему;
  • зростає ризик безпеки;
  • складніше контролювати доступ.

Краще використовувати звичайного користувача й sudo для окремих адміністративних дій.

Пакетні менеджери

Пакетний менеджер встановлює, оновлює й видаляє програми.

Сімейство Пакетний менеджер Дистрибутиви
Debian/Ubuntu apt, dpkg Debian, Ubuntu, Linux Mint
Red Hat/Fedora dnf, rpm Fedora, RHEL, AlmaLinux, Rocky Linux
Arch pacman Arch Linux, Manjaro
openSUSE zypper, rpm openSUSE, SUSE
Universal Flatpak, Snap, AppImage Різні дистрибутиви

apt

apt використовується в Debian, Ubuntu та похідних дистрибутивах.

Оновити список пакетів:

sudo apt update

Оновити систему:

sudo apt upgrade

Встановити пакет:

sudo apt install nginx

Видалити пакет:

sudo apt remove nginx

dnf

dnf використовується у Fedora, RHEL-подібних системах та їхніх нащадках.

sudo dnf update
sudo dnf install nginx
sudo dnf remove nginx

pacman

pacman використовується в Arch Linux.

sudo pacman -Syu
sudo pacman -S nginx
sudo pacman -R nginx

Flatpak, Snap і AppImage

У Linux існують універсальні формати поширення застосунків.

Формат Особливості
Flatpak Популярний для desktop-застосунків, sandbox-підхід
Snap Поширений в Ubuntu-екосистемі, підтримує desktop і server apps
AppImage Один виконуваний файл без класичної установки

systemd

systemd — система ініціалізації й керування службами в багатьох сучасних Linux-дистрибутивах.

systemd відповідає за:

  • запуск системи;
  • служби;
  • timers;
  • logging через journald;
  • dependencies;
  • targets;
  • sockets;
  • user services.

Керування службою:

sudo systemctl start nginx
sudo systemctl stop nginx
sudo systemctl restart nginx
sudo systemctl status nginx

Увімкнути автозапуск:

sudo systemctl enable nginx

journald

journald — система журналювання в systemd.

Переглянути логи служби:

journalctl -u nginx

Стежити за логом у реальному часі:

journalctl -u nginx -f

Процеси

Linux має процесну модель.

Корисні команди:

ps aux
top
htop
kill 1234

Знайти процес:

ps aux | grep nginx

Файлова система Linux

Типові каталоги:

Каталог Для чого
/ Корінь файлової системи
/home Домашні каталоги користувачів
/etc Конфігураційні файли
/var Дані, що змінюються: логи, кеші, бази, spool
/usr Програми, бібліотеки, документація
/bin Основні виконувані файли
/sbin Системні утиліти
/tmp Тимчасові файли
/opt Додаткове програмне забезпечення
/dev Пристрої як файли
/proc Віртуальна файлова система процесів і ядра
/sys Інформація про пристрої й ядро

Файлові системи

Linux підтримує багато файлових систем.

Файлова система Для чого
ext4 Найпоширеніша стабільна файлова система Linux
XFS Добре підходить для великих файлових систем і серверів
Btrfs Snapshots, checksums, subvolumes
ZFS Потужна файлова система з snapshots і checksums, частіше через окрему підтримку
F2FS Flash-friendly file system для flash storage
tmpfs Тимчасова файлова система в RAM

ext4

ext4 — одна з найпоширеніших файлових систем Linux.

Переваги:

  • стабільність;
  • хороша продуктивність;
  • широка підтримка;
  • зрозуміле адміністрування;
  • надійність;
  • підходить для desktop і server-сценаріїв.

Btrfs

Btrfs — сучасна файлова система з розширеними можливостями.

Підтримує:

  • snapshots;
  • subvolumes;
  • checksums;
  • compression;
  • send/receive;
  • RAID-сценарії;
  • rollbacks.

XFS

XFS — файлова система, популярна в enterprise і server-сценаріях.

Переваги:

  • робота з великими обсягами даних;
  • стабільність;
  • продуктивність;
  • використання в enterprise-дистрибутивах.

Мережа в Linux

Linux дуже сильний у мережевих сценаріях.

Використовується для:

  • web-серверів;
  • routers;
  • firewalls;
  • VPN;
  • DNS;
  • DHCP;
  • reverse proxy;
  • load balancing;
  • containers networking;
  • Kubernetes networking.

Корисні команди:

ip addr
ip route
ping example.com
ss -tulpn
curl https://example.com
dig example.com

SSH

SSH — основний спосіб віддаленого адміністрування Linux-серверів.

Підключення:

ssh user@example.com

Підключення з ключем:

ssh -i key.pem user@example.com

Копіювання файлів:

scp file.txt user@example.com:/home/user/

Firewall

У Linux існують різні інструменти firewall.

Інструмент Де використовується
nftables Сучасна система фільтрації пакетів
iptables Старіша, але досі поширена система правил
ufw Простий firewall frontend, популярний в Ubuntu
firewalld Часто використовується у Fedora/RHEL-подібних системах

Приклад ufw:

sudo ufw allow ssh
sudo ufw enable
sudo ufw status

SELinux і AppArmor

Linux має системи примусового контролю доступу.

Система Де часто використовується Особливості
SELinux RHEL, Fedora, CentOS-подібні системи Потужна політика безпеки
AppArmor Ubuntu, Debian-подібні системи Профілі для обмеження застосунків

Linux і безпека

Безпека Linux включає:

  • оновлення пакетів;
  • права доступу;
  • sudo;
  • SSH keys;
  • firewall;
  • SELinux або AppArmor;
  • шифрування дисків;
  • audit logs;
  • мінімізацію служб;
  • least privilege;
  • резервні копії;
  • моніторинг;
  • регулярну перевірку конфігурації.

Linux може бути дуже безпечним, але безпечність залежить не тільки від системи, а й від налаштувань, оновлень і дисципліни адміністратора.

Оновлення Linux

Оновлення залежать від дистрибутиву.

Debian/Ubuntu:

sudo apt update
sudo apt upgrade

Fedora/RHEL-like:

sudo dnf update

Arch:

sudo pacman -Syu

Linux на серверах

Linux є однією з головних серверних платформ.

Використовується для:

  • web-серверів;
  • API;
  • баз даних;
  • mail servers;
  • DNS;
  • proxy;
  • VPN;
  • file servers;
  • CI/CD runners;
  • monitoring;
  • logging;
  • containers;
  • Kubernetes;
  • cloud infrastructure.

Web-сервери на Linux

Типові web-компоненти:

  • Nginx;
  • Apache HTTP Server;
  • Caddy;
  • PHP-FPM;
  • Node.js;
  • Python apps;
  • Java apps;
  • Go services;
  • reverse proxy;
  • TLS certificates;
  • Let’s Encrypt.

Приклад перевірки Nginx:

sudo systemctl status nginx

Linux і бази даних

На Linux часто працюють:

  • PostgreSQL;
  • MySQL;
  • MariaDB;
  • SQLite;
  • MongoDB;
  • Redis;
  • ClickHouse;
  • Elasticsearch/OpenSearch;
  • Oracle Database у підтримуваних enterprise-сценаріях.

Приклад PostgreSQL backup:

pg_dump database_name > backup.sql

Linux і Docker

Linux є природним середовищем для Docker-контейнерів.

Docker використовує можливості Linux kernel:

  • namespaces;
  • cgroups;
  • overlay filesystems;
  • networking;
  • capabilities.

Команди:

docker ps
docker images
docker compose up -d
docker logs container_name

Linux і Kubernetes

Kubernetes — платформа оркестрації контейнерів, яка зазвичай працює на Linux-вузлах.

Linux важливий для Kubernetes через:

  • контейнери;
  • cgroups;
  • namespaces;
  • container runtime;
  • networking;
  • storage;
  • cloud-native infrastructure.

Linux і DevOps

Linux є базовим середовищем DevOps.

Використовується для:

  • CI/CD;
  • Docker;
  • Kubernetes;
  • Terraform;
  • Ansible;
  • GitLab Runner;
  • GitHub Actions runners;
  • Jenkins;
  • monitoring;
  • logging;
  • deployment;
  • backup;
  • server automation.

Linux і хмара

У cloud-середовищах Linux використовується дуже широко.

Платформи:

  • AWS;
  • Google Cloud;
  • Microsoft Azure;
  • DigitalOcean;
  • Hetzner;
  • Oracle Cloud;
  • private cloud;
  • OpenStack.

Типові cloud-сценарії:

  • virtual machines;
  • containers;
  • managed Kubernetes;
  • databases;
  • web services;
  • load balancers;
  • VPN;
  • monitoring.

Linux і Android

Android використовує Linux kernel, але Android не є звичайним Linux-дистрибутивом.

Linux desktop/server Android
GNU/Linux userland Android Runtime і Android framework
Звичайні Linux shell-утиліти Android tools і app model
Дистрибутиви Debian, Ubuntu, Fedora тощо Android Open Source Project і Google/виробник firmware
Desktop/server packages APK/AAB застосунки

Linux і embedded

Linux широко використовується в embedded-системах.

Приклади:

  • маршрутизатори;
  • телевізори;
  • NAS;
  • промислові контролери;
  • автомобільні системи;
  • медіаплеєри;
  • касові термінали;
  • IoT gateways;
  • мережеве обладнання.

Linux і суперкомпʼютери

Linux домінує у сфері суперкомпʼютерів.

Причини:

  • відкритість;
  • гнучкість;
  • можливість оптимізації;
  • робота з HPC-кластерами;
  • драйвери для high-performance hardware;
  • скриптова автоматизація;
  • мережеві можливості;
  • наукове ПЗ.

Linux і розробка програм

Linux популярний серед розробників.

Мови й інструменти:

  • C;
  • C++;
  • Python;
  • Go;
  • Rust;
  • Java;
  • JavaScript / Node.js;
  • PHP;
  • Ruby;
  • Bash;
  • Git;
  • Docker;
  • Make;
  • CMake;
  • GCC;
  • Clang.

Linux і C/C++

Linux дуже важливий для C і C++.

Типові інструменти:

  • GCC;
  • Clang;
  • Make;
  • CMake;
  • GDB;
  • Valgrind;
  • perf;
  • strace;
  • ltrace.

Приклад компіляції C:

gcc main.c -o app
./app

Linux і Python

Python часто використовується на Linux для:

  • scripts;
  • automation;
  • web backend;
  • data processing;
  • DevOps;
  • AI/ML;
  • CLI tools;
  • testing.

Приклад:

python3 script.py

Linux і K2 ERP

Для K2 ERP Linux може бути важливою серверною платформою.

Можливі сценарії:

  • backend-сервери;
  • API;
  • web frontend;
  • PostgreSQL або інші бази даних;
  • Docker-контейнери;
  • Kubernetes;
  • Redis;
  • message queue;
  • backup;
  • logging;
  • monitoring;
  • CI/CD;
  • інтеграційні сервіси;
  • reverse proxy;
  • SSL/TLS;
  • файлові обміни;
  • cron-задачі.

Типова схема:

Користувачі
→ Browser / Desktop / Mobile app
→ Reverse proxy на Linux
→ K2 ERP backend
→ Database
→ Storage / Queue / Cache
→ Monitoring / Backup

Linux особливо сильний для серверної частини ERP: backend, бази даних, API, контейнери, резервне копіювання, моніторинг і автоматизація.

Linux у ERP-інфраструктурі

Linux може виконувати різні ролі в ERP.

Роль Приклад
Web server Nginx або Apache перед ERP backend
Application server Backend-сервіси ERP
Database server PostgreSQL, MySQL, MariaDB
Cache Redis або Memcached
Queue RabbitMQ, Kafka, Redis Queue
Storage Файли, документи, вкладення
Backup server Резервні копії баз і файлів
Monitoring Prometheus, Grafana, Zabbix
CI/CD runner GitLab Runner, GitHub Actions runner, Jenkins agent

Backup у Linux

Linux часто використовується для резервного копіювання.

Інструменти:

  • rsync;
  • tar;
  • pg_dump;
  • mysqldump;
  • borgbackup;
  • restic;
  • duplicity;
  • snapshots;
  • cron;
  • systemd timers.

Приклад backup:

#!/usr/bin/env bash

set -euo pipefail

date=$(date +%Y-%m-%d)
backup_dir="/backups/$date"

mkdir -p "$backup_dir"

tar -czf "$backup_dir/etc.tar.gz" /etc

echo "Backup completed: $backup_dir"

Cron і systemd timers

Для запуску задач за розкладом використовуються:

  • cron;
  • systemd timers.

Cron-приклад:

0 2 * * * /home/user/backup.sh

Systemd timer часто краще інтегрується з systemd і logging.

Monitoring

Для Linux-серверів важливий моніторинг.

Перевіряють:

  • CPU;
  • RAM;
  • disk usage;
  • I/O;
  • network;
  • services;
  • logs;
  • database;
  • HTTP endpoints;
  • SSL certificates;
  • backup status.

Популярні інструменти:

  • Prometheus;
  • Grafana;
  • Zabbix;
  • Nagios;
  • Netdata;
  • Loki;
  • Alertmanager.

Логи

Логи в Linux можуть зберігатися в:

  • /var/log;
  • journald;
  • application logs;
  • container logs;
  • database logs;
  • web server logs.

Приклади:

tail -f /var/log/syslog
journalctl -xe
journalctl -u nginx -f

Linux і Windows

Linux часто порівнюють із Windows.

Linux Windows
Відкритий код ядра й більшості компонентів Закрита комерційна система Microsoft
Дуже сильний на серверах Дуже сильна desktop-платформа для бізнесу й ігор
Багато дистрибутивів Єдина лінійка Windows із редакціями
Shell і конфігураційні файли дуже важливі GUI, PowerShell, Registry, Group Policy
Пакетні менеджери й репозиторії Інсталятори, Microsoft Store, winget
Менше Windows-only програм Більше desktop-ПЗ, драйверів, ігор і бізнес-клієнтів

Linux і macOS

Linux і macOS мають Unix-подібну природу, але дуже різні екосистеми.

Linux macOS
Відкрита екосистема дистрибутивів Закрита система Apple для Mac
Сильний на серверах і cloud Сильна desktop-система для Mac, iOS-розробки й творчості
Багато desktop environments Єдиний Apple UI
Працює на різному hardware Офіційно працює на Mac
Пакетні менеджери дистрибутивів App Store, Homebrew, dmg/pkg

Linux і FreeBSD

Linux і FreeBSD обидві Unix-подібні системи, але мають різну історію й архітектуру.

Linux FreeBSD
Ядро Linux + дистрибутиви Цілісна система FreeBSD
GPL-ліцензія ядра BSD-ліцензія
Дуже широке hardware і cloud-поширення Сильна серверна й мережна система
Багато дистрибутивів Єдина базова система

Переваги Linux

Перевага Пояснення
Відкритість Код ядра й багатьох компонентів доступний для вивчення, зміни й поширення
Стабільність Добре підходить для серверів і довготривалої роботи
Безпека Потужна модель прав, регулярні оновлення, SELinux/AppArmor, audit
Гнучкість Можна налаштувати систему під різні задачі
Серверна сила Linux дуже поширений у web, cloud, containers і DevOps
Пакетні менеджери Програми встановлюються з репозиторіїв
Автоматизація Shell, scripts, cron, systemd, Ansible
Безкоштовність багатьох дистрибутивів Більшість Linux-дистрибутивів можна використовувати без купівлі ліцензії

Недоліки Linux

Недолік Пояснення
Складність для новачків Часто потрібно розуміти shell, права, пакети й конфігурації
Фрагментація Багато дистрибутивів, пакетних менеджерів і desktop environments
Не всі програми доступні Частина Windows/macOS програм не має Linux-версії
Ігри й драйвери Ситуація покращилась, але Windows досі сильніша для PC gaming
Периферія Деякі принтери, сканери, POS або фіскальні пристрої можуть мати слабку Linux-підтримку
Enterprise-підтримка залежить від дистрибутиву Для бізнесу важливо обирати систему з підтримкою й оновленнями
Неправильні команди можуть пошкодити систему Shell дає багато влади, але потребує обережності

Типові помилки новачків у Linux

Помилка Чому це проблема
Працювати постійно під root Підвищує ризик пошкодити систему
Копіювати команди без розуміння Можна змінити права, видалити файли або зламати конфігурацію
Ігнорувати backup Помилка диска або команда може призвести до втрати даних
Змішувати репозиторії без розуміння Можна отримати конфлікти пакетів
Не оновлювати систему Залишаються вразливості
Не читати логи Складно знайти причину проблем
Плутати дистрибутиви Команди з Ubuntu не завжди підходять Fedora або Arch

Коли Linux — хороший вибір

Задача Чи підходить Linux?
Web server Дуже добре
Backend API Дуже добре
Docker / Kubernetes Дуже добре
DevOps automation Дуже добре
Database server Добре
Developer workstation Добре
Desktop для звичайного користувача Можливо, залежить від задач і програм
Windows-only ERP-клієнт Не основний вибір
PC gaming Можливо, але Windows часто простіша

Рекомендований шлях вивчення Linux

Етап Що вивчати
1 Що таке Linux kernel і дистрибутив
2 Встановлення Ubuntu або Debian у VM
3 Terminal, shell, Bash
4 Файлова система: /home, /etc, /var, /usr
5 Основні команди: ls, cd, cp, mv, rm, cat
6 grep, find, pipes, redirect
7 Права доступу: chmod, chown, sudo
8 Пакетний менеджер: apt або dnf
9 systemd і systemctl
10 Логи: journalctl, /var/log
11 SSH
12 Мережа: ip, ss, curl, dig
13 Firewall
14 Backup
15 Docker
16 Monitoring

Мінімальний набір адміністратора Linux

Інструмент Для чого
ssh Віддалений доступ
systemctl Керування службами
journalctl Перегляд логів
apt / dnf Пакети й оновлення
top / htop Процеси й ресурси
df / du Диски й місце
ip / ss Мережа й порти
rsync Синхронізація файлів
tar Архівація
cron / systemd timers Задачі за розкладом
vim / nano Редагування конфігурацій

Корисні команди Linux

uname -a
lsb_release -a
cat /etc/os-release
whoami
hostname
df -h
free -h
uptime
ip addr
ss -tulpn
systemctl status
journalctl -xe

Простими словами

Linux — це відкрита операційна система, яка може бути сервером, робочим компʼютером, контейнерною платформою, основою Android або прошивкою пристрою.

Якщо Windows — це готовий офісний компʼютерний світ, то Linux — це конструктор і двигун, з якого можна зібрати сервер, хмару, маршрутизатор, робочу станцію, контейнерну платформу або embedded-систему.

Висновок

Linux — одна з найважливіших технологій сучасного IT.

Він важливий для:

  • серверів;
  • хмарної інфраструктури;
  • DevOps;
  • Docker;
  • Kubernetes;
  • web-серверів;
  • баз даних;
  • Android;
  • embedded;
  • суперкомпʼютерів;
  • розробників;
  • кібербезпеки;
  • open source;
  • ERP-інфраструктури;
  • автоматизації;
  • monitoring;
  • backup.

Linux не завжди найпростіший для новачка й не завжди ідеальний для Windows-only desktop-програм, але для серверів, cloud, DevOps, backend, контейнерів і відкритої інфраструктури він є однією з найсильніших платформ.

Linux — це операційна система для тих, кому потрібні відкритість, контроль, надійність, автоматизація й гнучкість. Саме тому Linux став фундаментом сучасного інтернету, серверів, контейнерів і хмарних платформ.

Джерела