====== Данная статья посвящена тому, как сделать из 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 <часть_имени_сервиса>