У попередньому дописі ми розібрали приклад встановлення ОС Debian GNU/Linux. Після завершення інсталяції систему варто адаптувати для комфортної роботи й налаштувати під власні потреби. У цій статті поділюся базовими кроками, які зазвичай роблю сам. Цей підхід підійде для більшості дистрибутивів на базі Debian.


Оновлення системи#

Перший і обов’язковий крок - оновлення пакетів. Детальний розбір процедури дивіться тут.

Встановлення додаткового ПЗ#

# отримуємо права суперкористувача
sudo -s
# встановлюємо необхідні пакети
apt install vim

Коротка шпаргалка з редактора Vim#

Режими редактора: командний (Normal) та режим вставки (Insert).
Esc: вихід у режим Normal
i: увімкнути Insert перед курсором
a: увімкнути Insert після курсора
o: увімкнути Insert з нового рядка

Навігація:
h, j, k, l: рух ліворуч, вниз, вгору, праворуч (стрілки також працюють, але не завжди коректно)

Збереження та вихід (режим Normal):
:w  - зберегти
:q  - вийти
:wq - зберегти та вийти
:q! - вийти без збереження змін

Налаштування мережі#

Під час інсталяції системи працював DHCP, тому IP-адреса була виділена автоматично. Встановимо постійну статичну IP-адресу.

Зміна адреси на статичну#

Оскільки система встановлювалася без графічного інтерфейсу (серверний варіант), у Debian для управління мережевими інтерфейсами за замовчуванням використовується ifupdown.

Для Debian систем із графічним інтерфейсом (і за замовчуванням у сімействі RedHat) зазвичай за мережу відповідає NetworkManager. Його конфігурацію в цій статті ми не розглядаємо.

Відкриваємо мережеві налаштування в текстовому редакторі:

sudo -s
vim /etc/network/interfaces

interfaces1

Змінюємо режим роботи потрібного інтерфейсу (у нашому прикладі enp1s0) з dhcp на static, після чого вказуємо параметри address та gateway. Зберігаємо зміни та закриваємо файл.

interfaces2

Після відмови від DHCP необхідно вручну вказати адреси DNS-серверів:

vim /etc/resolv.conf

...
nameserver 10.10.1.1

Перезапускаємо мережеву службу. Будьте уважні, якщо працюєте із сервером через віддалену SSH-сесію, а не через фізичну/віртуальну консоль.

systemctl restart network

Додавання запису до DNS на MikroTik (приклад)#

/ip/dns/static/add address=10.10.1.81 comment=deb-lab1 name=deb-lab1.lan type=A

Повне вимкнення IPv6 (якщо не використовується)#

Редагуємо конфігураційний файл /etc/default/grub:

# Додаємо параметр ipv6.disable=1
GRUB_CMDLINE_LINUX_DEFAULT="quiet ipv6.disable=1"

Оновлюємо конфігурацію завантажувача та перезавантажуємо систему:

update-grub
shutdown -r now

Зміна системного редактора за замовчуванням на Vim#

Для вибору редактора використовуємо утиліту update-alternatives:

update-alternatives --config editor

change-editor

Конфігурація Vim для зручної роботи#

Створюємо або редагуємо конфігураційний файл .vimrc у домашній директорії користувача:

vim ~/.vimrc

Додаємо базові параметри:

" кольорова схема
colorscheme desert
" довжина табуляції у 2 пробіли
set tabstop=2
" заміна символу табуляції на пробіли
set expandtab
" кількість пробілів для автоматичного відступу
set shiftwidth=2
" автоматичне копіювання відступу з попереднього рядка
set autoindent
" розумні відступи
set smartindent
" підсвічування синтаксису
syntax on

Налаштування аліасів для командного інтерпретатора#

Вносимо зміни до файлу .bashrc у домашній директорії. Якщо потрібні рядки вже є в файлі і закоментовані, просто розкоментуйте їх:

alias grep='grep --color=auto'
alias ll='ls -l'

Вимкнення запиту пароля для sudo (опціонально) та збереження змінної HOME#

За потреби можна вимкнути повторне введення пароля під час виклику sudo. Зміна конфігурації виконується виключно через спеціальну утиліту visudo.

Під користувачем root виконайте команду:

visudo

Змініть рядок:

%sudo ALL=(ALL:ALL) ALL

на:

%sudo ALL=(ALL:ALL) NOPASSWD: ALL

Також додайте збереження змінної оточення HOME. Це дозволить зберігати налаштування alias та vim вашого користувача під час виконання команд через sudo:

Defaults    env_keep += "HOME"

Приклад конфігурації:

sudo-env_keep


Авторизація через SSH за допомогою публічного ключа#

Якщо на вашій робочій станції все ще немає пари SSH-ключів для безпечної автентифікації, час це виправити. Процес налаштування клієнта, генерації ключів та імпорту публічної частини на сервер ми детально розібрали в попередній статті.