Чистый Debian 12 Bookworm ставится быстро и стабильно работает, но встречает пользователя спартански: нет привычных утилит, буквы на экране выглядят рыхло из-за неотрегулированного сглаживания, а на части ноутбуков молчит Wi-Fi адаптер. Всё это поправимо за один вечер, без переустановки и чужих скриптов. Дальше идёт порядок действий для системы с официального образа netinst: подключение репозиториев с несвободным ПО, установка прошивок, настройка sudo, шрифтов и базового арсенала администратора. Все команды приведены полностью, готовы к копированию и проверены на amd64-сборке bookworm с ядром 6.1, GNOME 43 и Plasma 5.27.
Репозитории contrib, non-free и non-free-firmware в списке источников
Дистрибутив делит пакеты на четыре компонента по чистоте лицензий. main содержит только полностью свободные программы, contrib собирает свободный софт, которому для работы нужна несвободная деталь, non-free хранит пакеты с ограниченной лицензией, а non-free-firmware, новый именно в двенадцатой версии, отгородили от non-free ради прошивок устройств. Логика в том, что прошивка нужна железу, а не человеку, и держать её в отдельном компоненте честнее. Свежая система знает только про main, поэтому список источников правится в первую очередь.
Один нюанс на старте. При заданном при установке пароле root утилиты sudo в системе ещё нет: наберите su -, введите пароль и опускайте префикс sudo в примерах. Если же пароль root оставили пустым, установщик сам поставил sudo и добавил первого пользователя в одноимённую группу.
Сначала резервная копия, затем правка файла:
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
sudo nano /etc/apt/sources.list
Файл приводится к такому виду, строки deb-src по умолчанию закомментированы и для повседневной работы не нужны:
deb http://deb.debian.org/debian bookworm main contrib non-free non-free-firmware
deb http://deb.debian.org/debian bookworm-updates main contrib non-free non-free-firmware
deb http://security.debian.org/debian-security bookworm-security main contrib non-free non-free-firmware
Первая строка тянет основной архив, вторая - исправления между точечными релизами, третья - обновления безопасности. Сохранение в nano по Ctrl+O, выход по Ctrl+X, затем обновление индексов и пакетов:
sudo apt update
sudo apt upgrade
Если в файле оставить один main, свежий apt при каждом обновлении напомнит про отсутствующий non-free-firmware. Напоминание гасится файлом /etc/apt/apt.conf.d/no-bookworm-firmware.conf с единственной строкой:
APT::Get::Update::SourceListWarnings::NonFreeFirmware "false";
Лучше просто добавить компонент в sources.list, но и такой запасной вариант полезно знать.
Прошивки для Wi-Fi адаптера и диагностика неработающей сети
Bookworm стал первым релизом, официальные образы которого несут несвободные прошивки по умолчанию, поэтому на типичном железе Wi-Fi оживает сразу после установки. Проблемы остаются у владельцев старых ноутбуков и редких USB-адаптеров. Диагностика занимает минуту, начните с модели карты и её драйвера:
lspci -k | grep -A 3 -iE "network|wireless"
Строка Kernel driver in use назовёт модуль ядра, например iwlwifi для адаптеров Intel. Дальше журнал ядра:
sudo dmesg | grep -i firmware
Типичная жалоба выглядит как "direct firmware load for iwlwifi-8265-26.ucode failed with error -2" и означает ровно одно: ядро ищет файл iwlwifi-8265-26.ucode в /lib/firmware, а его там нет. Пакет с прошивками выбирается по производителю: firmware-iwlwifi для Intel, firmware-realtek для Realtek, firmware-atheros для Qualcomm Atheros, firmware-brcm80211 для Broadcom. Общий метапакет firmware-linux притянет firmware-linux-free и firmware-linux-nonfree:
sudo apt install firmware-linux firmware-iwlwifi
Затем модуль перезагружается без перезапуска всей системы:
sudo modprobe -r iwlwifi && sudo modprobe iwlwifi
Имя модуля подставьте своё, из вывода lspci -k. Если после этого ip a показывает интерфейс вида wlp2s0, сеть жива. Проверить, не заблокирован ли адаптер переключателем или программно, умеет rfkill:
rfkill list
Строка Soft blocked: yes означает программную блокировку, снимается она сочетанием клавиш на ноутбуке или командой rfkill unblock all.
Замкнутый круг, когда Wi-Fi не работает, а интернет нужен для скачивания прошивок, решается телефоном: включите в нём режим USB-модема, соедините устройства кабелем, и Linux увидит новое проводное соединение, через которое и пройдёт установка firmware-пакетов.
Пакет sudo и отказ от постоянной работы под root
Проверить, установлен ли sudo, просто:
which sudo
Пустой вывод значит, что пакет ставится вручную от имени root:
su -
apt install sudo
usermod -aG sudo ivan
exit
Имя ivan замените на своего пользователя, а ключ -aG не потеряйте: без него usermod сотрёт все прочие членства. Изменения вступают в силу после повторного входа в сеанс, после чего groups покажет sudo в списке групп.
Права раздаёт файл /etc/sudoers со строкой %sudo ALL=(ALL:ALL) ALL, разрешающей группе sudo любые команды. Править его нельзя напрямую, только через visudo с проверкой синтаксиса: одна опечатка способна отрезать системе возможность повышать права, и чинить придётся уже с live-образа.
Некоторые после настройки sudo запирают прямой вход root командой sudo passwd -l root, но спешить не стоит: вход root с консоли экономит добрый час, когда сломается сеть или файловая система. Debian в этом смысле честнее многих систем, root и sudo спокойно уживаются.
Сглаживание шрифтов и метрически совместимые гарнитуры
Подсистема fontconfig в чистой системе работает, но самих шрифтов почти нет, один DejaVu. Первым делом расширим коллекцию:
sudo apt install fonts-liberation fonts-dejavu fonts-noto-core fonts-crosextra-carlito fonts-crosextra-caladea
Liberation метрически совместима с Times New Roman, Arial и Courier New, поэтому документы из офисных пакетов перестают расползаться. Семейство Noto закрывает редкие алфавиты, от греческого до корейского. Carlito и Caladea подменяют Calibri и Cambria с точным совпадением ширин букв, без них письма из Outlook видны с поехавшими отступами.
В GNOME 43 базовые значения сглаживания уже разумные, но проверить не мешает:
gsettings get org.gnome.desktop.interface font-antialiasing
gsettings get org.gnome.desktop.interface font-hinting
Ожидаемые ответы: rgba и slight. Первое включает субпиксельное сглаживание, делающее текст плотнее, второе задаёт мягкий хинтинг. Если значения иные, ставятся они так:
gsettings set org.gnome.desktop.interface font-antialiasing 'rgba'
gsettings set org.gnome.desktop.interface font-hinting 'slight'
В KDE Plasma путь такой: Параметры системы, раздел Шрифты, включить сглаживание, субпиксельная фильтрация RGB, хинтинг Слегка. В Xfce те же настройки живут в разделе Внешний вид на вкладке Шрифты.
Для программ, которые читают fontconfig напрямую и игнорируют настройки рабочего стола, есть системный тюнер:
sudo dpkg-reconfigure fontconfig-config
Утилита задаёт несколько вопросов про сглаживание, хинтинг и субпиксельный порядок и раскладывает ответы по файлам в /etc/fonts/conf.d. Полный контроль без диалогов даёт файл /etc/fonts/local.conf:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="hinting" mode="assign"><bool>true</bool></edit>
<edit name="hintstyle" mode="assign"><const>hintslight</const></edit>
<edit name="rgba" mode="assign"><const>rgb</const></edit>
</match>
</fontconfig>
После любых правок стоит обновить кеш шрифтов:
fc-cache -f
На панели Full HD 24 дюйма связка hintslight и rgba даёт ровные плотные буквы без мыла. На HiDPI-экранах с плотностью выше 200 ppi хинтинг лучше отключить вовсе, там пиксели слишком мелкие. Разница заметна к вечеру первого же дня, когда глаза перестают уставать от ряби на стыках линий.
Базовый набор утилит администратора одной командой
Чистый Debian сильнее всего ощущается голым при первой попытке узнать, какой процесс грузит процессор или куда ушло место на диске. Набор для повседневных задач ставится одной строкой, состав у него такой:
- htop для наблюдения за процессами, памятью и нагрузкой на ядра;
- mc, двухпанельный файловый менеджер с редактором и просмотрщиком;
- curl и wget для скачивания файлов и проверки веб-запросов;
- rsync для копирования больших объёмов данных и резервных копий;
- ncdu для наглядного поиска того, что съело место на диске;
- tree для просмотра структуры каталогов одним взглядом;
- unzip и p7zip-full для распаковки zip и 7z-архивов;
- net-tools и dnsutils для классических ifconfig, route и dig;
- mtr-tiny для поиска участка пути до хоста, где растут потери пакетов;
- bash-completion для автодополнения команд и аргументов по Tab.
Сама команда:
sudo apt install htop mc curl wget rsync ncdu tree unzip p7zip-full net-tools dnsutils mtr-tiny bash-completion
Вторым заходом ставится то, что администратор трогает почти каждый день:
sudo apt install git vim nano less man-db ca-certificates gnupg lsb-release apt-transport-https
Пара неочевидных позиций: lsb-release и apt-transport-https проверяют установочные скрипты сторонних репозиториев вроде Docker, ca-certificates нужен для сертификатов сайтов, gnupg для ключей их подписи. Для сборки из исходников добавьте build-essential, но без фанатизма, компилятор тянет сотни мегабайт.
sudo apt install build-essential
Сводку о железе, ядре и драйверах умеет рисовать inxi:
sudo apt install inxi
inxi -Fxz
В довесок идут iotop с картиной нагрузки на диск и iftop с распределением трафика, в момент проблемы они экономят десятки минут.
Служба ssh, имя компьютера и часовой пояс
Домашнему компьютеру ssh-доступ тоже нужен: подключиться с ноутбука, забрать файл, перезапустить службу. Ставится и включается двумя строками:
sudo apt install openssh-server
sudo systemctl enable --now ssh
Флаг --now запускает фоновую службу немедленно. Юнит называется ssh, хотя служба исторически носит имя sshd, в журналах это одна и та же вещь. Проверка со второй машины:
ssh Адрес электронной почты защищен от спам-ботов. Для просмотра адреса в браузере должен быть включен Javascript.
Адрес подскажет ip a, домашние сети обычно живут в диапазоне 192.168.1.0/24. Постоянным лучше сделать вход по ключу: с клиентской машины выполняется ssh-copy-id
Имя компьютера по умолчанию звучит просто debian, а в сети с десятком машин это гарантированная путаница:
sudo hostnamectl set-hostname workstation
Новое имя закрепляется после перезагрузки.
Часовой пояс определяется при установке не всегда верно:
timedatectl
sudo timedatectl set-timezone Europe/Moscow
Первая команда покажет текущие настройки и строку System clock synchronized, вторая ставит пояс, полный список зон даёт timedatectl list-timezones. Часы сверяет служба systemd-timesyncd, классический пакет ntp в этой версии переехал в ntpsec. Если синхронизация показывает no, служба включается штатно:
sudo systemctl enable --now systemd-timesyncd
Разошедшееся на минуты время ломает открытие сайтов по https, поэтому проверка часов не мелочь.
Финальная уборка и проверка состояния системы
Последний проход перед тем, как назвать систему готовой к ежедневной работе:
sudo apt update && sudo apt full-upgrade
sudo apt autoremove --purge
systemctl --failed
journalctl -p 3 -b
full-upgrade, в отличие от upgrade, разрешает удалять и заменять пакеты, поэтому после подключения новых компонентов прогонять стоит именно его. autoremove --purge вычищает осиротевшие зависимости за вечер. systemctl --failed обязан вернуть пустой список, каждая строка там означает проблему, которую разумно разобрать сразу. journalctl -p 3 -b показывает ошибки текущей загрузки: пара предупреждений от прошивок нормальна, а повторяющиеся сбои служб стоят разбора.
Дальше ритм простой: раз в неделю sudo apt update и sudo apt upgrade. Обновления безопасности для bookworm выходят до середины 2026 года, затем ветка LTS продлевает поддержку ещё на два года, так что о переезде на следующий релиз можно не думать до 2028 года.
В этой последовательности нет ни одного шага ради галочки. Прошивки возвращают сеть, репозитории дают доступ к пакетам, sudo снимает постоянные переключения под root, шрифты экономят глаза, утилиты дают управляемость. После них Debian 12 перестаёт быть системой для энтузиастов и становится просто удобным рабочим инструментом, который не приходится постоянно дотягивать напильником.