Показати сторінкуСтарі ревізіїПосилання сюдиЕкспорт до PDFПовернутися наверх Ця сторінка доступна тільки для перегляду. Ви можете продивитися вихідний текст, але не можете змінювати його. Якщо ви вважаєте, що це не вірно, зверніться до адміністратора. {{indexmenu_n>1}} ====== Debian configure ====== ===== Встановлення системи ===== Ця інструкція написана для Debian 12.10 Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі. При встановленні пакетів відзначаємо тільки: * SSH Server * Standart system utilities після перезавантаження вже у встановлену OS, даємо права рута своєму користувачеві <code bash> apt install sudo /sbin/usermod -aG sudo ваш користувач </code> якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'' змінимо налаштування для групи 'sudo': sudo sed -i 's/^%sudo\s\+ALL=(ALL:ALL)\s\+ALL/%sudo\tALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers ===== Hystory key search ===== Покращимо навігацію та зберігання історії введених команд <code bash> cat <<EOT >> ~/.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 </code> ===== Навігація в істрії команд стрілками ===== Створюємо файл ~/.inputrc: <code bash> cat <<EOT >> ~/.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' </code> ===== Встановлення необхідних програм ====== Після встановлення системи та налаштування мережі, підключаємось по SSH Налаштування будемо проводити під користувачем root <code bash> sudo -s вводимо пароль, якщо потрібно </code> оновимо репозиторій <code bash> apt -yq update -yq && apt -yq upgrade && apt full-upgrade && sync </code> Потім я встановлюю стандартний набір софту <code bash> 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 </code> Можемо зразу змінити текстовий редактор за замовчуванням командою select-editor вона покаже такий вивід: <code bash> 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]: </code> Я обираю ''nano'' Якщо система на віртуалці під KVM\QEMU, то установимо QEMU-агент для зв'язку з гіпервізором <code bash> apt install qemu-guest-agent systemctl enable qemu-guest-agent systemctl start qemu-guest-agent systemctl status qemu-guest-agent </code> ===== Очищення локальної пошти ===== <code bash> cat <<EOT > /etc/cron.daily/cleanup-clientmqueue #!/bin/sh find /var/spool/clientmqueue/ -type f -delete EOT chmod +x /etc/cron.daily/cleanup-clientmqueue </code> ===== 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 їх краще вимкнути <code bash> cat <<EOT > /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 </code> Перевіримо 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=<whatever UUID> RESUME=none sudo update-initramfs -uk all ===== Інше ===== [[https://www.aitishnik.ru/razmetka-diskov-v-debian-s-pomoschiu-lvm.html]] Увійти