====== Данная статья посвящена тому, как сделать из Debian нормальную систему. ====== ===== Настройка системы ===== ==== Включаем перезагрузку с помощью команды reboot ==== С "завода" в данном поделии безумного шизика не работают команды **reboot** и **shutdown**. Их заменили команды **systemctl reboot** и **systemctl poweroff**, что является не просто сомнительным, а крайне идиотским решением, т.к короткие и лаконичные команды превращаются в подобие powershell. Чтобы исправить эту ситуацию (от рута) необходимо в конец файла **/root/.bashrc** добавить строчку export PATH=$PATH:/usr/sbin После этого делаем релог и радуемся жизни. ==== Установка iptables на Debian 11/12 ==== Т.к данный дистрибутив создавался гомосеками под полной и одновременно голубой луной, то установить **iptables**, да так чтобы оно работало можно только по средствам крайне извращенных анальных утех. Чтобы вам не щекотать себе очко, объясню, как это делается. - Удаляем **nftables** apt remove --purge nftables - Чисто на всякий случай зачищаем все, что могло бы (но не осталось) apt purge nftables - Устанавливаем **iptables** apt install -y iptables iptables-persistent - Добавляем службу в автозагрузку и запускаем ееsystemctl enable --now netfilter-persistent.service - Для проверки запущена ли служба можно выполнить как **systemctl status iptables** так и **systemctl status netfilter** (все же в угоду краткости команд) Теперь можно использовать iptables в Debian 12. ==== Bash вместо sh ==== Охуительным сюрпризом стал тот факт, что для всех, создаваемых вновь, пользователей вместо стандартного **bash** идет кусок параши пригодный только для контейнеров и других узких задач **sh**. Вот уж и правда, какого черта использовать в 2023 году нормальный шел?! Да кому он сдался, давайте зафигачим калечный **sh**. Идеи своей гениальностью затмевающая даже совершенно ШИКАРНУЮ идею с командами выключения и перезагрузки. Пришлось потратить какое-от время на изыскания, что именно происходит, т.к я не сразу понял какого черта, но когда **cat /etc/passwd** выдал мне в конце строки моего пользователя **/bin/sh**, я несколько офигел, чтобы не сказать круче. Ну что же, простой способ сменить shell для текущего пользователя - дописать **ba** перед **sh**, но ведь так не пойдет и в дальнейшем создавая пользователей с помощью того же ансибла, я **НЕ** хочу греть себе голову со сменой шелла. Значит нам нужно пойти и почитать справочку man useradd В результате чего мы узнаем, что для исправления этой ереси необходимо ввести следующую команду: useradd -D -s /bin/bash ==== Работа автодополнения в systemctl ==== Чтобы облегчить использование systemctl и обеспечить автодополнение при вводе имен служб с помощью клавиши Tab, вам необходимо убедиться, что ваш терминал поддерживает данную функцию. Обычно это работает автоматически, но если у вас возникли проблемы, попробуйте следующие шаги: === Убедитесь, что bash-completion установлен === Для автодополнения команд в bash используется пакет bash-completion. Убедитесь, что он установлен на вашей системе. Для Debian/Ubuntu: sudo apt update sudo apt install bash-completion Для CentOS/RHEL: sudo yum install bash-completion === Включите bash-completion === Если bash-completion установлен, убедитесь, что в вашем файле ~/.bashrc есть строки, которые подключают его. Откройте его в редакторе: nano ~/.bashrc Добавьте или раскомментируйте следующие строки: # Enable bash completion if [ -f /etc/bash_completion ]; then . /etc/bash_completion fi Сохраните изменения и выйдите. === Перезагрузите ваш терминал === После изменения конфигурации перезапустите терминал или загрузите измененный файл конфигурации: source ~/.bashrc === Показать все доступные службы === Теперь попробуйте ввести команду systemctl и нажмите Tab два раза для вывода всех доступных служб: systemctl === Проверка === Попробуйте начать вводить имя службы и использовать Tab для автодополнения. Например: systemctl status <часть_имени_сервиса>