2024-10-11 11:56:56 +03:00

11 KiB
Raw Blame History

Оглавление

  1. Настройка сервера
  2. Пакетный менеджер
  3. Сеть
  4. База
  5. Система

Настройка сервера

  • 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 машины
  • iptables -L - правила файрвола
    • iptables -L -v - подробный вывод
    • iptables -L --line-numbers
    • iptables -L -t nat - позволяет указать конкретную таблицу для просмотра. Например, для просмотра правил NAT
  • iperf3 - для измерения скорости передачи данных между серверами
  • speedtest-cli - спидтест
    • speedtest-cli --list - список серверов
    • speedtest-cli --server SERVER_ID

База

  • 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> - просмотр логов конкретной службы
    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): Отладочные сообщения.
  • df -sh /tml - развер директории

  • smartctl -a /dev/sda - смарт отчет диска, генерит сам диск

  • free -m - оперативная память

  • cat /proc/meminfo - подробно про память

  • cat /proc/cpuinfo - подробно про проц

  • traceroute - путь пакетов от сервера к серверу (промежуточные маршрутизаторы) (mtr покажет путь в лайве)

  • nslookup, dig @<dns-server> <dns-name> - инфа о DNS сервере

  • curl -Lv domain.ru - получить html страницу

  • curl -v telnet://127.0.0.1:22 - доступность порта

  • tcpdump -i any port 9100 -nn - пакеты через этот порт ъ

  • tar - работа с архивами

    • -cvf - создать архив
    • -xvf - извлечь архив
    • -z - использовать сжатие gzip
    tar -xvfz backup.tar.gz /var/www
    

dmesg -T - логи ядра системы

Система

  • lsof - Команда lsof (List Open Files) в Linux используется для отображения списка открытых файлов в системе. В Linux (и Unix-подобных системах) практически все является файлом, включая сетевые соединения и устройства.
    • lsof - просмотр всех открытых файлов
    • lsof -u username - файлы открытые конкретным пользователем
    • lsof -p 1234 - поиска файлов открытых определённым процессом
    • lsof -i :80 - соединения по конкретному порту
    • lsof /dev/sda1 - файлы использующие определённое устройство или файловую систему
    • lsof | grep filename - Если файл заблокирован и его нельзя удалить или переместить, lsof покажет, какой процесс его использует strace - системные вызовы

Разное