Содержание
Команды и настройки линукс
Сервисы на ноутбуке
Стартовая страница ноутбуке Linux http://195.46.164.136:9093/
Из файла на форточках
C:\Windows\System32\drivers\etc\host
192.168.1.106 site1.loc
192.168.1.106 site2.loc (на PHP)
192.168.1.106 site3.loc
192.168.1.106 phpmyadmin.loc
192.168.1.106:4781 nexcloud.loc
торрент-клиент transmission http://192.168.1.106:9091
мониторинг http://192.168.1.106:19999
шара
/home/dima/Шара/Чтение
/home/dima/Шара/Общедоступные
/home/dima/Шара/Общедоступные/Архивы
Служба ДНС Dnsmasq
sudo systemctl start dnsmasq.service sudo systemctl status dnsmasq.service
Настройки сайтов Nginx
каталог с сайтами
/usr/share/nginx/html
каталог с настройками сайтов
/etc/nginx/sites-available/
активация нового сайта
sudo ln -s /etc/nginx/sites-available/имя_сайта.conf /etc/nginx/sites-enabled/имя_сайта.conf
пример настройки сайта с PHP
server { listen *:80; server_name site1.loc; root /usr/share/nginx/html/site1.loc; index index.php; location ~ \.php$ { include snippets/fastcgi-php.conf; fastcgi_pass unix:/var/run/php/php8.1-fpm.sock; } }
Настройка NextCloud
Частые команды
сеть и интернет
сетевые интерфейсы
ip a (по старому igconfig)
таблица маршрутизации
ip r
пинг сайта или хоста (преобразовать имя в ip)
ping ya.ru
локальный файл хостов
cat /etc/hosts
выполните эту команду, чтобы убедится, что вы не допустили ошибок с настройками nginx
sudo nginx -t
перечитайте конфигурацию nginx:
sudo nginx -s reload
просмотр открытых (слушающих=listen) портов
ss -tlpn
проверка, свободен ли порт
grep -w 80 /etc/services
проверка версии PHP
php -v
перезапуск самба
sudo systemctl reload smbd
просмотр интерфейсов
sudo tcpdump -D
просмотр интерфейсов с ip-адресами
sudo ip -c addr
имя компьютера в локальной сети
cat /etc/hostname
опрос DNS серверов (преобразовать имя в ip)
dig ya.ru
преобразовать ip-адрес в имя
nslookup 5.255.255.242
вывод ip-адреса DNS-сервера по умолчанию
cat /etc/resolv.conf
пользователи и права
разрешаем выполнять скрипт
sudo chmod ugo+x samba_backup.sh
создаём каталог
sudo mkdir /каталог
изменяем (назначение) права на каталог
sudo chmod -R 777 /opt/seafile/
смена владельца файла
chown dima webdav.conf
Добавление пользователя в группу
sudo gpasswd -a dima sudo
переключение на суперпользователя
sudo -i
создаём пользователя
sudo useradd quest
создадим пароль пользователя quest (quest)
sudo passwd quest
пакеты
установка пакета
sudo apt install пакет
обновление базы данных пакетов
sudo apt update
обновление установленных пакетов
sudo apt upgrade
полное удаление пакета (с вычищением настроек)
sudo apt -p remove vsftpd
сервисы и скрипты
автозапуск сервера при перезагрузки
sudo systemctl enable vsftpd.service
старт сервиса
sudo systemctl start vsftpd.service
или
sudo service smbd restart
остановка сервиса
sudo systemctl stop vsftpd.service
обновление конфигурации сервиса на лету
sudo systemctl reload vsftpd.service sudo systemctl reload smbd
статус сервиса
sudo systemctl status vsftpd.service
Разрешаем выполнять скрипт
sudo chmod ugo+x samba_backup.sh
файлы и каталоги
переименование файла
sudo mv файл1 файл2
удаление файла
sudo rm файл
очистка содержимого файла
>файл
удаление каталога
sudo rm -R каталог
создаём жёсткую ссылку
sudo ln /etc/cron.daily/backup /scripts/
создаём символическую ссылку
sudo ln -s /etc/cron.daily/backup /scripts/
Сжатие файлов и каталогов
tar -czvf test.conf.old.tar.gz test.conf.old tar -cjvf test.conf.old.tar.bz2 test.conf.old
Здесь
-с –create Создать новый архив
-z компрессор gzip
-j компрессор bzip2
-v –verbose Выводить подробную информацию процесса
-f –file Вывести результат в файл
распаковка
tar -xzvf archive.tar.gz tar -xjvf archive.tar.bz2
Здесь
-x –extract Извлечь файлы из архива
gzip быстрее работает, bzip2 лучше жмёт
вывод различной информации о ПК и системе
виртуальные файловые системы
Каталоги /proc/, /sys/, /dev/
команда free (информация об оперативной памяти) вытягивает её из файла
cat /proc/meminfo
информация о ЦП
cat /proc/cpuinfo
Оперативная память в мегабайтах (-m)
free -m
по умолчанию в килобайтах
free
Оперативная память в байтах (-m)
free -b
Полная информация об оперативке
cat /proc/meminfo
информация о ЦП
cat /proc/cpuinfo
список процессов
ps -efl
Просмотр информации о дистрибутиве (лучше)
cat /etc/os-release
Версия Линукс
cat /proc/version
просмотр логов вывод последних 10 строк
tail файл
просмотр логов в интерактивном режиме (в режиме онлайн - новые строки постоянно подгружаются)
tail -f файл (например tail -f /var/log/nginx/access.log)
Просмотр логов crontab
grep CRON /var/log/syslog
всего обращений к серверу nginx
awk '{print $1}' /var/log/nginx/access.log | wc -l
число уникальных обращений к серверу nginx
awk '{print $1}' /var/log/nginx/access.log | sort -u | wc -l
выведем список обращений с уникальных ip-адресов вместе с количеством обращений
awk '{print $1}' /var/log/nginx/access.log | sort | uniq -c | sort -n
Вывод версии ядра
uname -a
Информация о модулях ядра
lsmod
Информация об устройствах PCI
lspci
Информация о шине USB
lsusb
Детальная информация о комплектующих
sudo lshw
Накопители данных
Вывод информации о накопителях данных в системе
fdisk -l
Вывод информации о разметке дисков
lsblk
Работа с диском
sudo cfdisk /dev/sda
Конфигурации
FTP
протокол передачи: FTP
шифрование: Без шифрования
имя хоста: 192.168.1.106
порт: 4242
имя пользователя: ftp1
пароль: 1
Конфигурационный файл /etc/vsftpd.conf
listen=NO listen_ipv6=YES anonymous_enable=NO local_enable=YES write_enable=YES dirmessage_enable=YES use_localtime=YES # Activate logging of uploads/downloads. xferlog_enable=YES connect_from_port_20=YES connect_from_port_20=YES pasv_enable=YES pasv_addr_resolve=YES pasv_address=192.46.164.136 pasv_min_port=4242 listen_port=4242 chroot_local_user=YES secure_chroot_dir=/var/run/vsftpd/empty pam_service_name=vsftpd rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key ssl_enable=NO
SAMBA
В винде \\192.168.1.106
Часть конфигурационного файла /etc/samba/smb.conf
[smb-free] path = /var/www/smb/free/ browsable = yes writeable = yes quest ok = yes read only = no [free2] comment = Public Folder path = /var/www/smb/free2 public = yes writable = yes read only = no guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_stable] path = /var/www/smb/smb_stable public = no writable = yes read only = no guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_read-only-quest] comment = Public Folder Read Only path = /var/www/smb/free2 public = yes writable = yes read only = yes write list = dima guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_torrents] comment = Public Folder Read Only path = /var/www/smb/torrents public = yes writable = yes read only = yes write list = dima guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_dokuwiki] comment = site dokuwiki path = /usr/share/nginx/html/dokuwiki.loc public = yes writable = yes read only = yes write list = dima guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_site] comment = site smb path = /usr/share/nginx/html/site_smb.loc public = yes writable = yes read only = yes write list = dima guest ok = no create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [www_notebook_linux] comment = www path = /usr/share/nginx/html public = yes writable = yes read only = yes write list = dima guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [www_notebook_linux2] comment = www path = /var/www/html public = yes writable = yes read only = yes write list = dima guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777 [smb_sites-available] comment = Torrents path = /etc/nginx/sites-available public = yes writable = yes read only = yes write list = dima guest ok = yes create mask = 0777 directory mask = 0777 force create mode = 0777 force directory mode = 0777
Настройки докер-контейнеров
Настройки файлов docker-compose.yml
Запуск
docker-compose up -d
Остановка
docker-compose down
В yml файл необходимо добавлять
restart: always
Для автоматического запуска после перезагрузки!
Мониторинг
Dozzle - мониторинг нагрузки контейнеров
https://hub.docker.com/r/amir20/dozzle
version: "3" services: dozzle: container_name: dozzle image: amir20/dozzle:latest volumes: - /var/run/docker.sock:/var/run/docker.sock ports: - 9999:8080
NetData - мониторинг нагрузки сервера
https://hub.docker.com/r/titpetric/netdata
Команда
docker run -d --cap-add SYS_PTRACE \ -v /proc:/host/proc:ro \ -v /sys:/host/sys:ro \ -p 20000:19999 \ --restart unless-stopped \ titpetric/netdata
Красивая web-панель для навигации
Heimdall
https://hub.docker.com/r/linuxserver/heimdall
version: "2.1" services: heimdall: image: lscr.io/linuxserver/heimdall:latest container_name: heimdall environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC volumes: - /DATA/AppData/heimdall/config:/config ports: - 94:80 restart: unless-stopped
Облака, расшаривание файлов
Nextcloud
version: '3' volumes: nextcloud: db: services: db: image: mariadb:10.6 restart: always command: --transaction-isolation=READ-COMMITTED --log-bin=binlog --binlog-format=ROW volumes: - './db:/var/lib/mysql' environment: - MYSQL_ROOT_PASSWORD=1 - MYSQL_PASSWORD=1 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud app: image: nextcloud restart: always ports: - 86:80 links: - db volumes: - './data:/var/www/html' environment: - MYSQL_PASSWORD=1 - MYSQL_DATABASE=nextcloud - MYSQL_USER=nextcloud - MYSQL_HOST=db
Веб-серверы
Nginx+PHP+MySQL
version: '3' services: php: image: php:8.2-fpm volumes: - './public_html:/var/www/html' nginx: image: nginx ports: - 80:80 volumes: - './public_html:/usr/share/nginx/html' - './nginx/conf.d:/etc/nginx/conf.d' mysql: image: mysql:8 environment: - MYSQL_ROOT_PASSWORD=1
Торрент-качалки
Transmission
https://hub.docker.com/r/linuxserver/transmission
version: "2.1" services: transmission: image: lscr.io/linuxserver/transmission:latest container_name: transmission environment: - PUID=1000 - PGID=1000 - TZ=Etc/UTC - USER=dima #optional - PASS=1 #optional volumes: - /DATA/AppData/transmission/config:/config - /DATA/Downloads:/downloads - /DATA/AppData/transmission/watch:/watch ports: - 9091:9091 - 51413:51413 - 51413:51413/udp restart: unless-stopped