{{indexmenu_n>1}}
====== Debian configure ======
===== Встановлення системи =====
Ця інструкція написана для Debian 12.10
Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі.
При встановленні пакетів відзначаємо тільки:
* SSH Server
* Standart system utilities
після перезавантаження вже у встановлену OS, даємо права рута своєму користувачеві
apt install sudo
/sbin/usermod -aG sudo ваш користувач
якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'' змінимо налаштування для групи 'sudo':
sudo sed -i 's/^%sudo\s\+ALL=(ALL:ALL)\s\+ALL/%sudo\tALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers
===== Hystory key search =====
Покращимо навігацію та зберігання історії введених команд
cat <> ~/.bashrc
eval "$(dircolors -b)" # Підтримка кольорів у терміналі
export LS_OPTIONS='--color=auto'
alias ls='ls $LS_OPTIONS'
alias ll='ls $LS_OPTIONS -l'
alias l='ls $LS_OPTIONS -lA'
alias df='df -h -x tmpfs'
alias du='du -sh'
# ===== [ІСТОРІЯ КОМАНД] =====
# Увімкнути розширення історії лише в інтерактивному режимі
if [[ $- == *i* ]]; then
# shopt -s histappend 2>/dev/null # Додає до історії, а не перезаписує
# shopt -s cmdhist 2>/dev/null # Команди в одному рядку записуються повністю
shopt -s lithist 2>/dev/null # Зберігає багаторядкові команди з перенесенням
fi
export PROMPT_COMMAND="history -a; history -n" # Зберігає історію в реальному часі (після кожної команди)
export HISTSIZE=10000 # Кількість команд у сесії
export HISTFILESIZE=20000 # Кількість команд у файлі
export HISTCONTROL=ignoreboth:erasedups # Ігнорує дублікати та команди з пробілом; знищує дублікати з історії
export HISTIGNORE='ls:ps:history*:cd ..:clear:EOT:EOL:EOF' # Не зберігати певні команди в історії
# ===== [АВТОДОПОВНЕННЯ] =====
if [ -f /etc/bash_completion ]; then
. /etc/bash_completion
elif [ -f /usr/share/bash-completion/bash_completion ]; then
. /usr/share/bash-completion/bash_completion
fi
EOT
source ~/.bashrc
===== Навігація в істрії команд стрілками =====
Створюємо файл ~/.inputrc:
cat <> ~/.inputrc
# Respect default shortcuts.
\$include /etc/inputrc
## arrow up
"\e[A":history-search-backward
## arrow down
"\e[B":history-search-forward
EOT
bind '"\e[A": history-search-backward'
bind '"\e[B": history-search-forward'
===== Встановлення необхідних програм ======
Після встановлення системи та налаштування мережі, підключаємось по SSH
Налаштування будемо проводити під користувачем root
sudo -s
вводимо пароль, якщо потрібно
оновимо репозиторій
apt -yq update -yq && apt -yq upgrade && apt full-upgrade && sync
Потім я встановлюю стандартний набір софту
apt -yq install linux-headers-$(uname -r) gcc make gnupg net-tools wget curl mc htop nano
apt -yq install libperl-dev cpanminus subversion git
apt -yq autoremove
Можемо зразу змінити текстовий редактор за замовчуванням командою
select-editor
вона покаже такий вивід:
Select an editor. To change later, run 'select-editor'.
1. /bin/nano <---- easiest
2. /usr/bin/mcedit
3. /usr/bin/vim.tiny
Choose 1-3 [1]:
Я обираю ''nano''
Якщо система на віртуалці під KVM\QEMU, то установимо QEMU-агент для зв'язку з гіпервізором
apt install qemu-guest-agent
systemctl enable qemu-guest-agent
systemctl start qemu-guest-agent
systemctl status qemu-guest-agent
===== Очищення локальної пошти =====
cat < /etc/cron.daily/cleanup-clientmqueue
#!/bin/sh
find /var/spool/clientmqueue/ -type f -delete
EOT
chmod +x /etc/cron.daily/cleanup-clientmqueue
===== Renew ssh certs & machine-id =====
За потреби, особливо після клонування віртуалок, на новій вм бажано оновити сертифікати і ідентифікатор машини
rm -v /etc/ssh/ssh_host_*
dpkg-reconfigure openssh-server
cat /var/lib/dbus/machine-id /etc/machine-id
rm /etc/machine-id /var/lib/dbus/machine-id && dbus-uuidgen --ensure && systemd-machine-id-setup
cat /var/lib/dbus/machine-id /etc/machine-id
===== Change hostname =====
hostnamectl set-hostname nod2.examle.org
nano /etc/hosts
===== Disabling the IPv6 =====
В разі не використання IPv6 їх краще вимкнути
cat < /etc/sysctl.d/no_ipv6.conf
# Disabling the IPv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
EOT
sysctl -f
update-initramfs -u
Перевіримо
sysctl net.ipv6.conf.all.disable_ipv6
===== swapfile =====
/swapfile
[[https://linuxize.com/post/how-to-add-swap-space-on-debian-10/
]]
11 sudo swapoff -a
13 sudo su
lvdisplay
14 lvremove /dev/mapper/debian-vg-swap_1
15 sudo fallocate -l 8G /swapfile
16 sudo chmod 600/swapfile
17 sudo mkswap /swapfile
18 sudo swapon /swapfile
19 sudo nano /etc/fstab
20 /swapfile swap swap defaults 0 0
21 echo 'RESUME=none' > /etc/initramfs-tools/conf.d/resume
22 lvresize -l +100%FREE /dev/mapper/debian--vg-root
22 resize2fs /dev/mapper/debian-vg-root
23 update-initramfs -u
24 update-grub
25 reboot
26 sudo su
if completly remove swap - comment line in /etc/fstab.conf
in /etc/initramfs-tools/conf.d/resume set
# RESUME=UUID=
RESUME=none
sudo update-initramfs -uk all
===== Інше =====
[[https://www.aitishnik.ru/razmetka-diskov-v-debian-s-pomoschiu-lvm.html]]