Представьте: вы пришли на первую работу разработчиком. Садитесь за компьютер, открываете рабочий чат, а там сообщение:

«Задеплой проект на прод. Там Ubuntu 22.04. Логи лежат в папке
/var/log/app, а конфиг — в папке/etc/nginx. Если что — подключись по SSH просто.»
Вы киваете, делаете умное лицо и открываете Google.
Если такая ситуация кажется знакомой — этот курс для вас. Если пока не кажется — тоже для вас, потому что рано или поздно разработчик сталкивается с серверами, логами, SSH, Docker и командами в терминале.
К концу курса вы сможете спокойно разобрать это сообщение по частям: где указана система, где лежат логи, где находится конфиг и каким способом подключиться к серверу. Начнём с базового вопроса: что такое Linux?
Обычно люди говорят «Linux» и имеют в виду операционную систему — примерно как Windows или macOS. Но технически Linux — это не вся операционная система целиком, а её центральная часть — ядро.
Проще всего представить это через автомобиль. Ядро — это двигатель и основные механизмы: без них машина не поедет. Но одним двигателем пользоваться невозможно: нужны кузов, руль, педали, приборная панель, сиденья. Только всё вместе становится автомобилем, которым можно управлять. С операционной системой так же: ядро отвечает за самую низкоуровневую работу, а вокруг него нужны программы, интерфейс, утилиты и настройки.

Ядро Linux создал финский студент Линус Торвальдс в 1991 году. Ему было 22 года, и он хотел бесплатную операционную систему для своего компьютера. Торвальдс написал первую версию ядра и выложил её в интернет с сообщением:
«Я делаю бесплатную операционную систему (просто хобби, ничего серьёзного и профессионального). Она не будет такой большой, как GNU.»
Проект вырос в нечто несравнимо большее. Сегодня Linux работает на серверах, в облаках, суперкомпьютерах, Android-устройствах и внутри большинства инструментов разработчика.
Что такое дистрибутив и зачем он нужен
В разговоре слово «Linux» часто используют шире, чем в строгом техническом смысле. Человек может сказать: «я установил Linux на ноутбук» или «сервер работает на Linux». Обычно он имеет в виду готовую систему, собранную вокруг ядра Linux.
Так говорят потому, что одного ядра недостаточно для повседневной работы. Ядро умеет работать с железом, но само по себе не даёт пользователю рабочую среду: место, где можно запускать программы, открывать и сохранять файлы, подключаться к сети, менять настройки и устанавливать новые приложения. Для этого вокруг ядра нужны системные утилиты, программы для настройки сети, текстовые редакторы, графический интерфейс или терминал и множество служебных компонентов.
Когда ядро Linux собирают вместе с таким набором программ, получается дистрибутив Linux.
Например, есть готовые Linux-системы с разными названиями: Ubuntu, Fedora, Debian, Arch Linux. Все они относятся к дистрибутивам: используют ядро Linux, но отличаются набором программ, способом установки пакетов, частотой обновлений и подходом к настройке. Подробно разберём эти различия в следующем уроке.
Почему Linux важен именно разработчику
Linux важен разработчику из-за роли в современной инфраструктуре. Серверы, на которых работают сайты и API, почти всегда запускают Linux. Docker-контейнеры используют механизмы ядра Linux для изоляции, даже когда запускаются на Windows или macOS. Системы сборки — GitHub Actions, GitLab CI, Jenkins — выполняют задачи на Linux-агентах. Облачные виртуальные машины в AWS, Google Cloud и Azure по умолчанию тоже Linux.
Можно какое-то время разрабатывать, почти не сталкиваясь с Linux напрямую. Но однажды приложение нужно развернуть на сервере, отладить пайплайн сборки или разобраться, почему код работает локально и падает в контейнере. В этот момент Linux перестаёт быть абстрактной темой из курса и становится рабочей средой.
Почему открытый код меняет правила игры
У Linux есть ещё одна сильная сторона: исходный код ядра открыт. Представьте не просто готовый прибор в закрытом корпусе, а устройство, к которому приложили чертежи. Его можно изучить, понять, как оно устроено, изменить деталь, собрать свою версию и предложить улучшение другим.
С Windows такой подход недоступен обычной команде разработчиков: исходный код ядра закрыт, поэтому нельзя взять его, переделать под свои задачи и выпустить собственную Windows-систему. С Linux ситуация другая. Разработчики могут изучать код ядра, собирать его с нужными настройками, добавлять драйверы и системные компоненты, а затем выпускать готовую систему для конкретной задачи.
Такой подход называется open-source, или открытый исходный код.
Именно открытость объясняет, почему вокруг Linux появилось так много дистрибутивов. Одна команда собирает систему для корпоративных серверов, другая — удобную систему для новичков, третья — лёгкий вариант для старого компьютера. Они могут использовать одно ядро Linux как основу, а дальше выбирать свой набор программ, настройки, инструменты установки и правила обновления.
Для разработчика открытость полезна и в повседневной работе. Когда поведение системы кажется непонятным, можно посмотреть документацию, найти обсуждение изменения в коде, изучить патч или разобраться глубже. Поэтому большое количество дистрибутивов здесь скорее преимущество: Linux можно адаптировать под разные задачи, не начиная каждый раз с нуля.
Именно к дистрибутивам мы сейчас и перейдём: разберёмся, почему их так много, чем они отличаются друг от друга и какой вариант удобнее выбрать для первого знакомства с Linux.
Linux — это ядро операционной системы, созданное Линусом Торвальдсом в 1991 году. Ядро управляет оборудованием и связывает программы с железом, но само по себе не даёт готовой системы для работы. Вокруг ядра собирают дистрибутивы — готовые операционные системы: Ubuntu, Fedora, Debian и многие другие.
Открытость исходного кода Linux (open-source) позволила сотням команд создать собственные системы на его основе и обеспечила глобальное развитие проекта. Разработчику Linux нужен для работы с серверами, Docker, CI/CD-системами и облачной инфраструктурой.
В следующем уроке разберёмся с дистрибутивами: чем Ubuntu отличается от Fedora, что такое семейства дистрибутивов и какой дистрибутив выбрать для начала.