Якщо ви тільки встановили Debian 12 із мінімальною конфігурацією, система, ймовірно, має базовий набір інструментів. Для комфортної роботи її варто трохи “допилити”. У цій статті я розповім, які програми та утиліти на мою думку варто встановити, що налаштувати, і як переконатися, що в подальшому трішки полегшить життя.
Почати, мабуть варто, з перевірки – якщо встановлювали систему не ви, то можна переглянути що це за система і якої ревізії, зробити це можна так:
cat /etc/*-rel*
Крім того, якщо систему встановлюва не ви – доцільно буде змінити пароль, особливо актуально для серверів що встановлюються провайдерами. Якщо ви користуєтесь root акаунтом – це можна зробити командою passwd, якщо є інші акаунти – треба додати їх логін після команди.
paaswd
passwd user1
1. Оновіть систему
Перед тим як щось налаштовувати, переконайтеся, що всі пакети у системі оновлені. Це важливо, оскільки нові версії пакетів містять виправлення помилок, патчі безпеки та нові можливості. Також оновлення мінімізують ризик конфліктів при встановленні нових програм.
apt update && apt upgrade -y
2. Базові утиліти для зручності
Ці утиліти необхідні для виконання повсякденних задач:
wget — завантажує файли через HTTP, HTTPS і FTP, працює навіть у мінімальних середовищах без графічного інтерфейсу.
curl — дозволяє відправляти запити до серверів і отримувати відповіді (наприклад, для перевірки API).
mc (Midnight Commander) — файловий менеджер із простим інтерфейсом, що дозволяє працювати з файлами прямо в консолі.
htop — монітор системи, який показує процеси, використання CPU, пам’яті та дозволяє їх зручно керувати.
apt install wget curl mc htop -y
3. Утиліти для розробки
Розробникам часто потрібні інструменти для компіляції, версійного контролю та роботи з конфігураціями. Навіть якщо ви не збираєтесь займатись розробкою прямо зараз, ці інструменти можуть знадобитись для встановлення складніших пакетів.
build-essential — набір основних інструментів для компіляції (компілятор gcc, make, тощо).
git — дозволяє клонувати репозиторії, працювати з гілками і спільно розробляти проєкти.
pkg-config — менеджер конфігурацій, який допомагає збирати пакети, знаходячи залежності.
software-properties-common — розширює можливості роботи з репозиторіями, додаючи підтримку PPA.
apt install build-essential git pkg-config software-properties-common -y
4. Автодоповнення команд
Автодоповнення економить час і знижує ризик помилок у введенні команд. Наприклад, ви можете набрати перші пару літер команди і натиснути Tab, щоб швидко доповнити назву пакету чи файлу. bash-completion активує цю функцію для багатьох команд, як apt, git чи навіть імена файлів.
apt install bash-completion -y
source /etc/bash_completion
5. Перевірка версій важливих компонентів
Перевірити, які версії ядра, ОС та пакетів встановлені, — це важливий етап для розуміння, з чим ви працюєте. Ця інформація допоможе вам діагностувати проблеми або порівняти налаштування з документацією.
lsb_release -a — показує версію Debian.
uname -a — показує інформацію про ядро.
dpkg -l — список встановлених пакетів.
lsb_release -a
uname -a
dpkg -l
6. Логування та моніторинг
Логи важливі для аналізу помилок і діагностики проблем. Без автоматичної ротації логи можуть займати занадто багато місця.
logrotate — автоматично архівує та видаляє старі лог-файли.
ncdu — аналізатор використання диска, який допомагає знайти зайві або великі файли.
apt install logrotate ncdu -y
7. Додаткові пакети для роботи в консолі
Консольні утиліти спрощують виконання базових завдань:
screen та tmux — дозволяють запускати кілька сесій у терміналі, навіть після виходу з SSH.
nano або vim — текстові редактори, які підходять для редагування конфігурацій.
net-tools — набір мережевих утиліт (наприклад, ifconfig, netstat), який іноді зручніший, ніж базовий ip.
apt install screen nano net-tools -y
8. Зміна часового поясу
В більшості випадків час на серверах вказано з урахуванням часового поясу, де він знаходиться. Мені зручніше, коли я можу порівняти файли, записи в лозі і інші речі по часовому поясі, де знаходжуся я. Якщо у вас немає команди, що знаходиться по світу – раджу робити так само.
dpkg-reconfigure tzdata
9. Налаштування SSH
Одним з інструментів захисту ssh є зміна порту, це допоможе уникнути атак перебором паролів з підключенням до стандартного порту. Змініть порт на нестандартний (наприклад, 2222).
nano /etc/ssh/sshd_config
Port 2222
і перезапустіть SSH:
systemctl restart sshd
10. Резервне копіювання та автоматизація
Rsync дозволяє створювати швидкі та ефективні резервні копії, передаваи файли, тощо. Cron допоможе автоматизувати завдання, наприклад, виконання бекапів кожної ночі. Можливо, я теж напишу чергову статтю про те як цими інструментами користуватись, але раджу встановити і мати їх на сервері.
apt install rsync cron -y
11. Захист системи
Базовий фаєрвол — це важливий елемент безпеки. ufw дозволяє налаштувати правила з мінімальними зусиллями.
Зверніть увагу, після встановлення фаєрвола всі підключення до серевера будуть недоступні, і для кожного нового сервіса буде необхідно створювати окреме правило, що дозволить його використовувати.
Фаєрвол – не єдиний інструмент для захисту системи, і колись створю окрему статтю про інструменти захисту сервера.
apt install ufw -y
ufw allow 2222/tcp
ufw enable
12. Зручності для роботи
Додаткові утиліти для зручності роботи в консолі:
neofetch — красиво виводить інформацію про систему.
bat — альтернатива cat із підсвіткою синтаксису.
exa — сучасний аналог ls із кольоровим відображенням та підтримкою деревовидного вигляду.
apt install neofetch bat exa -y
Це приблизний список улюблених утіліт, які в більшості випадків я встановлюю на чисту систему, можливо у вас є свої – долучайтесь до коментарів, будемо доповнювати статтю разом!