Введение в Linux: Ключевые концепции и инструменты для тех, кто делает первые шаги Vadim Romanikov Ты привык к Windows, но сервер требует Linux, а черный экран терминала пугает неизвестностью. Vadim Romanikov берет за руку тех, кто делает первые шаги в этом мире: показывает, как устроено ядро системы, зачем нужны утилиты GNU, как Bash превращает команды в реальную силу. Пакетные менеджеры, SSH-подключения, права доступа и иерархия файлов перестают быть абракадаброй, когда видишь логику. Systemd, сетевые утилиты, графические окружения — каждый сложный механизм раскладывается на понятные блоки. Это не энциклопедия, а карта для самостоятельного путешествия: освоишь базу и поймешь, куда двигаться дальше, чтобы Linux стал рабочим инструментом, а не преградой. ==================== Введение в Linux: Ключевые концепции и инструменты для тех, кто делает первые шаги Данное руководство призвано структурировать фундаментальные представления об операционных системах семейства Linux. Оно будет особенно полезно разработчикам, продвинутым пользователям и системным администраторам, привыкшим к среде Windows, но столкнувшимся с необходимостью освоить Linux. Материал не претендует на энциклопедическую полноту, а служит надежной картой для дальнейшего самостоятельного изучения. 1. Что скрывается за именем «Linux»? Когда говорят о Linux, обычно имеют в виду одно из двух: Дистрибутивы GNU/Linux: полноценные операционные системы, собранные вокруг ядра (например, Ubuntu, Debian, CentOS, Red Hat). Ядро Linux: «сердце» системы, которое часто поставляется вместе с базовым набором утилит GNU. Важно понимать, что ядро Linux являетсямонолитным. В отличие от микроядер (которые содержат лишь минимальный набор функций: планировщик, управление памятью и механизмы межпроцессного взаимодействия), монолитное ядро включает в себя драйверы устройств, файловые системы и виртуальную файловую систему (VFS). Именно оно отвечает за управление процессами, памятью и обработку системных вызовов. 2. Базовые утилиты GNU (coreutils) Это фундаментальный набор инструментов, присутствующий практически в любой сборке Linux. С их помощью выполняются повседневные операции: ls — вывод содержимого каталога; cp / mv — копирование и перемещение (или переименование) файлов; rm / rmdir — удаление файлов и пустых директорий; mkdir — создание новых папок; chmod / chown — управление правами доступа и смена владельца файла; df / du — оценка свободного и занятого дискового пространства; touch — создание пустого файла или обновление его временных меток. 3. Командная оболочка (Shell) Bash (Bourne Again Shell) — это стандартный интерпретатор командной строки в большинстве дистрибутивов (RHEL, CentOS и др.). Если в Windows вы привыкли к cmd или PowerShell, то в Linux мир оболочек гораздо разнообразнее. Помимо Bash, широко используются zsh, dash (в Debian/Ubuntu) и другие. Все они совместимы со стандартом POSIX, но имеют свои уникальные особенности и синтаксические улучшения. Далее вы узнаете про пакетные менеджеры, систему инициализации systemb, первое подключение к серверу, управление учетными записями, сетевые утилиты и другое. 4. Пакетные менеджеры В Windows программы часто устанавливаются через скачивание .exe-файлов, которые размещают зависимости в своей папке. В Linux принят централизованный подход: пакетный менеджер не только устанавливает и обновляет ПО, но и автоматически разрешает зависимости, размещая общие библиотеки (файлы с расширением .so) в системных директориях для совместного использования разными программами. Два основных семейства: Семейство RPM: использует менеджеры yum или dnf (Fedora, RHEL, CentOS, Oracle Linux). Семейство DEB: опирается на apt и dpkg (Debian, Ubuntu, Linux Mint).(Также существуют уникальные менеджеры, например, pacman в Arch Linux). 5. Система инициализации systemd Это современный стандарт управления службами (демонами) в большинстве дистрибутивов. Основные инструменты для взаимодействия с ней: systemctl: управление службами. Например, systemctl status nginx покажет состояние сервиса, а systemctl restart mysql перезапустит его. journalctl: инструмент для просмотра системных логов и журналов событий. 6. Первое подключение к серверу Физический доступ к серверу требуется редко. Стандартный способ удаленного подключения — протокол SSH (демон sshd), работающий по 22-му TCP-порту. Аутентификация может осуществляться как по классической паре логин-пароль, так и по более безопасному методу SSH-ключей. 7. Управление учетными записями Новый сервер обычно доступен под суперпользователем root. Однако работать под ним постоянно — плохая практика из-за высоких рисков безопасности. Для повседневных задач создаются обычные пользователи: useradd — создание нового аккаунта (с ключом -d можно задать домашнюю директорию); usermod — модификация параметров существующего пользователя; userdel -r — полное удаление пользователя вместе с его домашней папкой; passwd — смена пароля для указанного аккаунта. 8. Сетевые утилиты Исторически для настройки сети использовался пакет net-tools (команды ifconfig, netstat). Сегодня он считается устаревшим и вытеснен более мощным и современным набором iproute2: Вместо ifconfig → ip addr или ip link; Вместо netstat → ss; Вместо netstat -r (таблица маршрутизации) → ip route. 9. Стандарт иерархии файловой системы (FHS) Понимание структуры каталогов критически важно для навигации в Linux. Базовая схема выглядит так: / — корень всей файловой системы; /bin и /sbin — основные исполняемые файлы (пользовательские и системные); /etc — глобальные конфигурационные файлы системы; /home — домашние директории обычных пользователей; /root — домашняя папка суперпользователя; /var — изменяемые данные (логи, кэш, базы данных); /tmp — временные файлы (часто очищаются при перезагрузке); /usr и /opt — директории для установленного пользовательского программного обеспечения; /mnt и /media — точки монтирования внешних и съемных носителей. 10. Графическая подсистема Миф о том, что Linux — это только черная консоль, давно устарел. Графический интерфейс в Linux архитектурно разделен на два уровня: Сервер отображения (Display Server): отвечает за низкоуровневую отрисовку графики. Исторически это X11 (X.Org), но ему на смену постепенно приходит более современный и безопасный Wayland. Окружение рабочего стола (Desktop Environment, DE): надстройка, которая дает привычный интерфейс с окнами, панелями и меню. Популярные варианты: GNOME, KDE Plasma, XFCE и другие. При наличии этих компонентов работа в Linux визуально и функционально мало чем отличается от работы в привычных настольных ОС. ----------