{{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]]