98 lines
8.1 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

## Оглавление
1. [Настройка сервера](#настройка-сервера)
2. [Пакетный менеджер](#пакетный-менеджер)
3. [Сеть](#сеть)
4. [База](#база)
### Настройка сервера
- `groups username` - группы пользователя
- `sudo addgroup groupname` - добавить группу
- `sudo adduser username` - добавить пользователя
- `sudo usermod -aG groupname username` - для добавления пользователя в группу без удаления его из других групп
- `su -`: если добавить - (или --login), это переключит вас на пользователя root и загрузит окружение, как если бы вы вошли в систему как root. Это означает, что все переменные окружения будут инициализированы для пользователя root, и вы будете находиться в домашнем каталоге root.
- `lsb_release -a` или `hostnamectl` - версия ОС
### Пакетный менеджер (apt)
- `apt remove --purge` или `sudo apt purge` - удаляет как сам пакет, так и все связанные с ним конфигурационные файлы
- `sudo apt autoremove` - используется для удаления пакетов, которые были автоматически установлены в качестве зависимостей для других пакетов, но больше не нужны
- `sudo apt update` - система скачивает список пакетов и их версий с серверов репозиториев, но **не устанавливает и не обновляет пакеты**.
- `sudo apt upgrade` - обновляет все установленные пакеты до последних доступных версий, основываясь на информации, полученной с помощью `apt update`, однако эта команда не устанавливает новые пакеты или не удаляет старые. Если для обновления пакета требуются новые зависимости, они не будут установлены.
- `sudo apt full-upgrade` - не только обновляет пакеты, но и может устанавливать новые зависимости и удалять старые пакеты, если это необходимо для завершения обновления
- `sudp apt install` - устанавливает пакет
- `supo apt search ` - поиск пакета по имени
- `sudo apt show` - инфо о пакете
- `sudo apt autoclean` - для удаления старых неиспользуемых файлов
- `sudo apt clean` - APT хранит загруженные .deb файлы в кэше на диске, чтобы очистить этот кэш. Эта команда удаляет все файлы в dir `/var/cache/apt/archives/`
- `/etc/apt/sources.list` - основной файл, где перечислены все репозитории. Этот файл указывает, откуда APT будет загружать пакеты.
- `/etc/apt/sources.list.d/` - в этот каталог можно добавлять дополнительные файлы для подключения новых репозиториев.
> Есть ещё `apt-get`, но это более старая команда, которая в основном используется для скриптов, потому что не предусматривает интерактивную работу с системой
APT работает поверх более низкоуровневого инструмента `dpkg`, который непосредственно устанавливает .deb пакеты.
- `sudo dpkg -i package_name.deb` - для установки `.deb` пакета
- `sudo apt --fix-broken install` - если возникли проблемы с зависимостями
### Сеть
- `cat /etc/ssh/sshd_config | grep Port` - показывает на каком порту открыт ssh
- `ss -tulpn` - информация о текущих сетевых соединениях и портах
- `curl ifconfig.me` - узнать внешний ip машины
### База
- `cp -p` - сохранить атрибуты файлов (время создания, права, владельца)
- `cp -v` - выводить информацию о каждом копируемом файле
- `mv -v` - подробный вывод при перемещении.
- `chmod 644 /etc/passwd` - изменение прав доступа к файлам и директориям
- `chown root:root /etc/hosts` - изменение владельца и группы
- `ps -aux` - выводит список всех процессов с информацией о пользователях, загрузке, времени и командах
- `ps -ef` - полная информация о процессах с идентификаторами владельцев
- `top -o %CPU` - сортировка процессов по указанному полю (например, по CPU)
- `kill -9 1234` - принудительное завершене процесса (1234 — PID процесса)
- `df -h` - информация о файловых системах
- `df -i` - иноды
- `du` - отображение размера файлов и каталогов
- `s` - отображает только итоговый размер
- `--max-depth=1` - выводит размер каталога и его подкаталогов
- `ifconfig` - информация о сетевых интерфейсах
- `ss -tulpn` - информация о сетевых соединениях
- `ping` - проверка доступности хоста
- `traceroute` - через какие маршрутизаторы проходит пакет до хоста
- `nslookup` - информация о DNS-сервере
- `sudo useradd -m username` - добавление нового пользователя (`-m` - создание домашнего каталога)
- `sudo passwd username` - установка или изменение пароля пользователя
- `sudo usermod -aG sudo username` - добавить пользователя в группу `sudo`
- `sudo groupadd developers` - создание новой группы
- `tail -f /var/log/*` - логи (`-f` - обновление в реальном времени)
- `journalctl` - утилита для просмотра логов служб, управляемых `systemd`
- `-u <service_name>` - просмотр логов конкретной службы
```bash
journalctl -u nginx
```
- `journalctl -u nginx -f` - просмотр логов в реальном времени
- `journalctl -n 100` - последние 100 строк
- `journalctl --since "2024-10-03 12:00:00" --until "2024-10-03 14:00:00"` - логи за конкретный период
- `journalctl -p err` - можно показывать только ошибки
- emerg (0): Аварийные сообщения.
- alert (1): Требуют немедленных действий.
- crit (2): Критические ошибки.
- err (3): Ошибки.
- warning (4): Предупреждения.
- notice (5): Важные события.
- info (6): Информационные сообщения.
- debug (7): Отладочные сообщения.
- `tar` - работа с архивами
- `-cvf` - создать архив
- `-xvf` - извлечь архив
- `-z` - использовать сжатие `gzip`
```bash
tar -xvfz backup.tar.gz /var/www
```
### Разное