debian:install

Розбіжності

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

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

Порівняння попередніх версій Попередня ревізія
Наступна ревізія
Попередня ревізія
debian:install [2024/12/19 19:15] Methoddebian:install [2025/06/06 18:09] (поточний) – [Hystory key search] Method
Рядок 3: Рядок 3:
  
 ===== Встановлення системи ===== ===== Встановлення системи =====
-Ця інструкція написана для Debian 12.8+Ця інструкція написана для Debian 12.10
  
 Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі. Не буду розписувати як встановлювати Debian, скажу тільки те, що я використовую розмітку диска під LVM, все в одному розділі.
Рядок 13: Рядок 13:
 після перезавантаження вже у встановлену OS, даємо права рута своєму користувачеві після перезавантаження вже у встановлену OS, даємо права рута своєму користувачеві
 <code bash> <code bash>
 +apt install sudo
 /sbin/usermod -aG sudo ваш користувач /sbin/usermod -aG sudo ваш користувач
 </code> </code>
-якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'': +якщо не хочемо повторно вводити свій пароль при виконанні ''sudo'' змінимо налаштування для групи 'sudo':  
-  cat >> /etc/sudoers.d/nopasswd.conf <<< 'ваш_користувач ALL=(ALLNOPASSWD:ALL'+  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> 
 ===== Встановлення необхідних програм ====== ===== Встановлення необхідних програм ======
  
Рядок 23: Рядок 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-агент для зв'язку з гіпервізором
Рядок 47: Рядок 113:
 </code> </code>
  
-===== Hystory key search =====+===== Очищення локальної пошти =====
  
-Створіть файл ~/.inputrc і додайте ці рядки: 
 <code bash> <code bash>
-# Respect default shortcuts. +cat <<EOT > /etc/cron.daily/cleanup-clientmqueue 
-$include /etc/inputrc +#!/bin/sh 
- +find /var/spool/clientmqueue/ -type f -delete 
-## arrow up +EOT 
-"\e[A":history-search-backward +chmod +x /etc/cron.daily/cleanup-clientmqueue
-## arrow down +
-"\e[B":history-search-forward+
 </code> </code>
-зміни вступають в дію з насупним входом в систему або з виконанням 
-  bind '"\e[A": history-search-backward' 
-  bind '"\e[B": history-search-forward' 
  
 +===== Renew ssh certs & machine-id =====
  
-<code bash> +За потреби, особливо після клонування віртуалок, на новій вм бажано оновити сертифікати і ідентифікатор машини
-cat <<EOT >> ~/.bashrc +
-export HISTSIZE=10000 +
-export HISTFILESIZE=10000 +
-export HISTCONTROL=ignoreboth:erasedups +
-export HISTIGNORE='ls:ps:history*' +
-EOT +
-source ~/.bashrc +
-</code>+
  
-===== Disabling the IPv6 =====+  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
  
  
-  nano /etc/sysctl.conf +===== Change hostname =====
-add next +
-  # Disabling the IPv6 +
-  net.ipv6.conf.all.disable_ipv6 +
-  net.ipv6.conf.default.disable_ipv6 +
-  net.ipv6.conf.lo.disable_ipv6 1+
  
-execute +  hostnamectl set-hostname nod2.examle.org 
-  sudo sysctl -f +  nano /etc/hosts 
-  sudo update-initramfs -u+ 
 +===== 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>
  
-check +Перевіримо 
-  sudo sysctl net.ipv6.conf.all.disable_ipv6+  sysctl net.ipv6.conf.all.disable_ipv6
  
 ===== swapfile ===== ===== swapfile =====
Рядок 122: Рядок 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]]