Содержание
Данная статья посвящена тому, как сделать из 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><Tab>
Проверка
Попробуйте начать вводить имя службы и использовать Tab для автодополнения. Например:
systemctl status <часть_имени_сервиса><Tab>