1. База Linux через CLI: установка, файловая система, пакеты
База Linux через CLI: установка, файловая система, пакеты
Эта статья закладывает фундамент: как поставить Linux так, чтобы дальше настраивать систему целиком через командную строку, как ориентироваться в файловой системе и как управлять пакетами. Это база, без которой настройка сети, графического окружения и сервисов будет постоянно «ломаться» о непонимание структуры системы.
Что значит «настроить систему с нуля через CLI»
В рамках курса это означает:
Установка Linux с прицелом на работу в CLI
Есть два типичных пути:
Официальные руководства (полезно держать под рукой):
Ключевые решения при установке
/boot/efi.
/ (root) и swap.
- Часто выделяют отдельный /home, чтобы проще переустанавливать систему.
sudo.
Минимальный набор, который стоит установить сразу
openssh-server (если планируете управлять системой удалённо по SSH)sudonano или vimcurl или wget, less, tarДиски, разделы и монтирование
Linux представляет диски и разделы как файлы устройств в /dev:
/dev/sda, /dev/nvme0n1 — физические диски/dev/sda1, /dev/nvme0n1p1 — разделыКак посмотреть, что подключено
lsblk — дерево дисков/разделов и точки монтированияblkid — UUID и тип файловой системыdf -h — сколько места занято на смонтированных файловых системахПримеры:
Форматирование и монтирование (осторожно)
/mnt во время установки):Автомонтирование при загрузке: /etc/fstab
Чтобы раздела монтировались автоматически при старте системы, используется файл /etc/fstab. В нём обычно указывают UUID, потому что имена устройств (/dev/sda2) могут меняться.
Пример логики:
blkid/etc/fstabОфициальная справка: man fstab
!Связь «диск → раздел → точка монтирования», которая лежит в основе установки и /etc/fstab
Файловая система Linux: где что лежит
В Linux почти всё выглядит как файлы и каталоги. Для системы важна иерархия (что где хранится), иначе сложно находить конфигурации и понимать последствия команд.
Абсолютные и относительные пути
/, например /etc/ssh/sshd_config../script.sh.. — текущий каталог.. — родительский каталогПолезные команды навигации:
Основные каталоги
| Каталог | Назначение |
|---|---|
| / | Корень файловой системы (отсюда начинается всё) |
| /home | Домашние каталоги пользователей (/home/alex) |
| /root | Домашний каталог пользователя root |
| /etc | Системные конфигурационные файлы |
| /var | Переменные данные: логи, кэши, очереди |
| /usr | Большая часть программ и библиотек пользовательского уровня |
| /bin, /sbin | Базовые утилиты (часто сейчас как ссылки внутрь /usr) |
| /boot | Файлы загрузчика/ядра (а при UEFI часто ещё /boot/efi) |
| /dev | Файлы устройств |
| /proc | Псевдо-ФС с информацией о процессах и ядре |
| /sys | Псевдо-ФС для взаимодействия с устройствами/ядром |
| /run | Временные runtime-данные (после загрузки, в RAM) |
| /tmp | Временные файлы (могут очищаться автоматически) |
| /mnt | Временное ручное монтирование |
| /media | Автомонтирование съёмных носителей |
Подробности и стандартизация: Filesystem Hierarchy Standard
Копирование, перемещение, удаление
Базовые команды:
Важно:
rm удаляет без корзины. Ключ -i добавляет подтверждение.rm -r, но используйте его максимально аккуратно.Поиск файлов и текста
find — поиск по файловой системеgrep — поиск текста в файлахПримеры:
Права доступа и владение: минимум, без которого нельзя
Большая часть настройки системы упирается в права: почему файл не редактируется, почему сервис не стартует, почему пользователь не имеет доступа.
Три уровня доступа
Для каждого файла есть права для:
И три базовых разрешения:
r — чтениеw — записьx — выполнение (для каталогов означает «можно заходить внутрь»)Посмотреть права:
Изменить владельца/группу:
Изменить права (пример: владельцу читать/писать, группе только читать):
Администрирование через sudo
Вместо постоянной работы под root обычно используют sudo:
sudoedit удобен тем, что безопаснее редактирует системные файлы (редактор открывает копию и затем применяет изменения).
Справка: man sudo
Пакеты и репозитории: как устанавливается софт
Пакетный менеджер решает несколько задач:
Главная идея: сначала ставим из официальных репозиториев, и только если там нет нужного — думаем про сторонние источники.
Термины, которые важно понимать
Шпаргалка по менеджерам пакетов
| Действие | Debian/Ubuntu (apt) | Fedora (dnf) | Arch (pacman) |
|---|---|---|---|
| Обновить индекс | sudo apt update | sudo dnf makecache | sudo pacman -Sy |
| Обновить систему | sudo apt upgrade | sudo dnf upgrade | sudo pacman -Syu |
| Установить пакет | sudo apt install htop | sudo dnf install htop | sudo pacman -S htop |
| Удалить пакет | sudo apt remove htop | sudo dnf remove htop | sudo pacman -R htop |
| Поиск | apt search htop | dnf search htop | pacman -Ss htop |
| Инфо о пакете | apt show htop | dnf info htop | pacman -Si htop |
Официальная справка:
Хорошая рутина обновлений
Пример для Debian/Ubuntu:
Практика безопасности
curl ... | sh, пока не понимаете, что именно будет выполнено.man и документацию пакета:Связь с тем, что будет дальше
Следующие темы курса (сеть, службы, графическое окружение) постоянно опираются на три навыка из этой статьи:
/etc, /var/log)/etc/fstab)