debian:install

Розбіжності

Тут показані розбіжності між вибраною ревізією та поточною версією сторінки.

Посилання на цей список змін

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
debian:install [2025/04/30 11:07] – [Встановлення системи] Methoddebian:install [2025/06/06 18:09] (поточний) – [Hystory key search] Method
Рядок 3: Рядок 3:
  
 ===== Встановлення системи ===== ===== Встановлення системи =====
-Ця інструкція написана для Debian 12.8+Ця інструкція написана для Debian 12.10
  
 Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі. Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі.
Рядок 18: Рядок 18:
 якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'' змінимо налаштування для групи 'sudo':  якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'' змінимо налаштування для групи 'sudo': 
   sudo sed -i 's/^%sudo\s\+ALL=(ALL:ALL)\s\+ALL/%sudo\tALL=(ALL:ALL) NOPASSWD:ALL/' /etc/sudoers   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>
 +
 ===== Встановлення необхідних програм ====== ===== Встановлення необхідних програм ======
  
Рядок 24: Рядок 74:
 Налаштування будемо проводити під користувачем root Налаштування будемо проводити під користувачем root
 <code bash> <code bash>
-su +sudo -s 
-пароль рута+вводимо пароль, якщо потрібно
 </code> </code>
  
 оновимо репозиторій оновимо репозиторій
 <code bash> <code bash>
-apt-get update -yq && apt-get upgrade -yq && sync+apt -yq update -yq && apt -yq upgrade && apt full-upgrade && sync 
 </code> </code>
  
 Потім я встановлюю стандартний набір софту Потім я встановлюю стандартний набір софту
 <code bash> <code bash>
-apt-get install linux-headers-$(uname -r) libperl-dev gcc make gnupg net-tools sudo wget curl mc htop nano cpanminus subversion git -yq +apt -yq install linux-headers-$(uname -r) gcc make gnupg net-tools wget curl mc htop nano 
-apt autoremove+apt -yq install libperl-dev cpanminus subversion git 
 +apt -yq autoremove
 </code> </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-агент для зв'язку з гіпервізором Якщо система на віртуалці під KVM\QEMU, то установимо QEMU-агент для зв'язку з гіпервізором
Рядок 48: Рядок 113:
 </code> </code>
  
-===== Hystory key search =====+===== Очищення локальної пошти =====
  
-Створюємо файл ~/.inputrc: 
 <code bash> <code bash>
-cat <<EOT >> ~/.inputrc +cat <<EOT > /etc/cron.daily/cleanup-clientmqueue 
-Respect default shortcuts. +#!/bin/sh 
-\$include /etc/inputrc +find /var/spool/clientmqueue/ -type f -delete
- +
-## arrow up +
-"\e[A":history-search-backward +
-## arrow down +
-"\e[B":history-search-forward+
 EOT EOT
 +chmod +x /etc/cron.daily/cleanup-clientmqueue
 </code> </code>
-зміни вступають в дію з насупним входом в систему або з виконанням: 
-  bind '"\e[A": history-search-backward' 
-  bind '"\e[B": history-search-forward' 
  
 +===== Renew ssh certs & machine-id =====
  
-<code bash> +За потреби, особливо після клонування віртуалок, на новій вм бажано оновити сертифікати і ідентифікатор машини
-cat <<EOT >> ~/.bashrc+
  
-# Зберігає історію команд в реальному часі +  rm -v /etc/ssh/ssh_host_* 
-export PROMPT_COMMAND="history -a; history -n"+  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
  
-# Кількість команд в поточній сесії 
-export HISTSIZE=10000 
  
-# Кількість команд в файлі історії +===== Change hostname =====
-export HISTFILESIZE=20000+
  
-# Кількість команд в файлі історії +  hostnamectl set-hostname nod2.examle.org 
-export HISTCONTROL=ignoreboth:erasedups+  nano /etc/hosts
  
-# Ігнорує перелік вказаних команд +===== Disabling the IPv6 =====
-export HISTIGNORE='ls:ps:history*'+
  
-# Додає нові записи до історії, а не перезаписує +В разі не використання IPv6 їх краще вимкнути
-shopt -s histappend+
  
 +<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 EOT
-source ~/.bashrc+sysctl -f 
 +update-initramfs -u
 </code> </code>
  
-===== Disabling the IPv6 ===== +Перевіримо 
- +  sysctl net.ipv6.conf.all.disable_ipv6
- +
-  nano /etc/sysctl.conf +
-add next +
-  # Disabling the IPv6 +
-  net.ipv6.conf.all.disable_ipv6 = 1 +
-  net.ipv6.conf.default.disable_ipv6 = 1 +
-  net.ipv6.conf.lo.disable_ipv6 = 1 +
- +
-execute +
-  sudo sysctl -f +
-  sudo update-initramfs -u +
- +
-check +
-  sudo sysctl net.ipv6.conf.all.disable_ipv6+
  
 ===== swapfile ===== ===== swapfile =====
Рядок 140: Рядок 189:
  
   sudo update-initramfs -uk all   sudo update-initramfs -uk all
- 
-===== Renew ssh certs ===== 
-  rm -v /etc/ssh/ssh_host_* 
-  dpkg-reconfigure openssh-server 
- 
- 
-===== Change hostname ===== 
-  hostnamectl set-hostname nod2.examle.org 
-  nano /etc/hosts 
- 
-===== Очищення ===== 
- 
-<code bash> 
-tee /etc/cron.daily/cleanup-clientmqueue<<EOF 
-#!/bin/sh 
-find /var/spool/clientmqueue/ -type f -delete 
-EOF 
-chmod +x /etc/cron.daily/cleanup-clientmqueue 
-</code> 
  
 ===== Інше ===== ===== Інше =====
- 
- 
  
 [[https://www.aitishnik.ru/razmetka-diskov-v-debian-s-pomoschiu-lvm.html]] [[https://www.aitishnik.ru/razmetka-diskov-v-debian-s-pomoschiu-lvm.html]]