Debian дома

Сижу дома, никого не трогаю; было какое-то странное поведение системы, решил обновиться. Обновилось ядро на 5.17, перезагружаюсь, интернета нет. Ping показывает потерю 70% пакетов и больше. Ищу решение с телефона: увы, сломали совместимость с wi-fi картами одного производителя. Ну что же, теперь мне достоверно известно, что баги в ядре в Fedora случаются раз в 3-4 года.

С появлением flatpak, который позволяет в любой системе ставить последние версии наиболее используемых мной программ, проблема выбора дистрибутива не стоит так остро. ОК, мне нужно чуть больше стабильности, но я явно не готов мириться с костылями в Ubuntu. Для таких людей давно была CentOS, но она умерла, вместо неё вроде как Rocky Linux. В любом случае, мне нужен дистрибутив с deb или rpm, чтобы подключить принтер и сканер, поэтому если от системы требуется максимальная лёгкость и стабильность, то почему не Debian?

Вопрос в том, что Gnome не установишь из flatpak, поэтому придётся мириться с Gnome 3, зато с Adwaita – темой, которую давно пилит RedHat и которая очень хороша. Последний раз, когда я смотрел Debian (кажется, версии 9) там было всё не очень с дизайном, но теперь совсем другое дело. Итак, опишу свой опыт:

  1. Скачивание образа и установка
  2. Удаление лишнего
  3. Добавление нужного
  4. Разборки с VPN

До того, как всё это начинать, я составил список программ, которые мне нужны, и убедился, что есть документация по их установке. Чего и вам желаю, поскольку это сильно сокращает время настройки. Также следует учитывать, что это скорее серверный дистрибутив, и нехватка отдельных моментов, нужных пользователю, прям явно заметна, но в большинстве случаев это решается установкой программ. А вот в случае VPN и Network Manager лично у меня так не получилось.

Скачивание образа и установка

Это два этапа, на которых многие ломаются, начинают плакать, называть Debian плохим дистрибутивом, а также изобретают новые нецензурные выражения. Дело в том, что образ с драйверами в Debian есть, но называется неофициальным. Но именно он нам и нужен. Можно записать с помощью Fedora Media Writer, например.

На моменте разметки диска я застрял минут на 20. Хорошо хоть это был Live образ: можно было подключиться к интернету и посмотреть, в чём там дело. А дело в том, что установщик предложил мне только ручную разбивку диска, при этом, на самом деле он ожидал:

  • Выделения 600 Мб под fat32 с точкой монтирования /boot/uefi и установленным флагом boot
  • Выделения всего остального под файловую систему на выбор с точкой монтирования /

Ну это минимально, причём показания различались: где-то было написано, что нужно выделить ещё разделы.

Удаление лишнего

По какой-то неведомой причине, именно этот образ (а может и все образы) идёт с поддержкой тамильского, традиционного китайского и некоторых других языков, которые... немного захламляют меню выбора программ. Также традиционно я удаляю LibreOffice (предпочитаю WPS) и Thunderbird (можно ничего не ставить, если пользуетесь веб-почтой). Лично я потратил несколько часов на поиски и выпиливание лишнего, ну а вы можете использовать одну команду:

sudo apt autoremove evolution libreoffice-* thunderbird gnome-games \
xterm task-thai-desktop xiterm+thai \
mlterm mlterm-common rhythmbox shotwell gnome-todo \
mozc-server mozc-data mozc-utils-gui fcitx*

Добавление нужного

Сначала поставим то, что можно поставить из deb:

sudo apt install gnome-tweaks vim geary deja-dup git gthumb

Но если вы используете бэкап на Google Drive, вам понадобится ещё пара команд:

sudo apt install python3-pip
pip install PyDrive

Дальше подключаем flatpak и ставим:

flatpak install wps telegram

Ну и для примера – что мне нужно поставить, чтобы поднять pelican (генератор этого сайта):

sudo apt install python3 python3-venv virtualenv python3-virtualenv

Создаём виртуальную переменную и ставим в неё:

python -m pip install "pelican[markdown]" pelican-tag-cloud pelican-sitemap

Ну и дальше уже на вкус, я ставлю из deb Chrome, Zoom, Minecraft. Для Minecraft ставлю Oracle JRE. Кстати, для Minecraft тоже есть flatpak, но на самом деле это же java, то есть получается контейнер (java) в контейнере (flatpak), поэтому, на мой взгляд, смысла не имеет.

Разборки с VPN

И тут при подключении к VPN меня ждал облом:

  1. OpenVPN плагин к Network Manager не установлен по умолчанию; не страшно, ставим
  2. Импортируем конфиг, не работает: смотрим логи, не хватает прав
  3. Ищем решение, его нет: запускайте openvpn из командной строки; причём отваливается периодически, можете откатываться на предыдущую версию openvpn

Но для запуска из командной строки нужны права root + каждый раз вводить логи и пароль. Это ещё ничего, я пробовал IPSEC, там ошибку просмотра конфига сразу выдаёт. Это ровно то, что я называю "серверный дистрибутив" – очевидно, в это место никто даже не заглядывал. И пришлось сделать на основе openvpn3:

Сначала прописываем в конфиге (.ovpn)

auth-user-pass login.conf

А в этом файле login.conf прописываем логин и пароль для vpn. Затем загружаем файл:

openvpn3 config-import --config openvpn.ovpn --persistent

И отключаем ipv6 (в моём случае):

openvpn3 config-manage --config openvpn.ovpn --ipv6 no

А после этого добавляем 3 alias в .bashrc:

alias vpn-start="openvpn3 session-start --config openvpn.ovpn"
alias vpn-stop="openvpn3 session-manage -D --config openvpn.ovpn"
alias vpn-status="openvpn3 sessions-list"

Нельзя сказать, что это костыль, всё работает, но в общем, вы поняли.

@Константин Овчинников
Теги: #linux

Комментарии