Шпаргалка по командам linux (ubuntu, debian)
Просто рабочая шпаргалка по консоли linux (в основном ubuntu-подобному). Есть как простые моменты так и достаточно специфичные. C расчетом на то, что кому-то поможет через поиск найти что-то нужное в нужный момент.
- Перезагрузка из ssh: shutdown -r now
- Проверка работы почты
- порт sendmail netstat -tulpn | grep ':25 ' (lsof|grep :smtp)
- (echo Subject: test; echo; echo test)|/usr/sbin/sendmail -Am -i -v mail@gmail.com
- echo "test-body" | mailx -s "test-subject" mail@gmail.com
- telnet alt4.gmail-smtp-in.l.google.com 25
- mail mail@gmail.com -s sendmailtest
then
pushed ctrl-D
- Память ОЗУ с разбивкой по типам vmstat -s (аналог cat /proc/meminfo).
- Список всех заданий cron for user in $(cut -d':' -f1 /etc/passwd); do crontab -u $user -l; done :
- либо список cd / && run-parts --test /etc/cron.daily
- отработка cd / && run-parts --report /etc/cron.daily
- cron линукса лежит в/etc/cron.daily а его логи в /var/log/syslog
- Запуск logrotate отдельно logrotate -f /etc/logrotate.conf
- Запуск logwatch /usr/sbin/logwatch --output mail
- Проверка занимаемого места apt install ncdu -> ncdu /
- ИЛИ по-другому проверим место du -hx --max-depth=1 / или du -sh /var/log/* | sort -hr
- Как отлаживать программы: Для понимания причины добавляем в вызов запуска сервиса слежение за ним через strace с записью лога в файл. Для этого достаточно добавить полный путь до этой утилиты и набор ключей в строку запуска сервиса, например: ExecStart=/usr/bin/strace -f -ff -tt -o /tmp/strace.log <Ориг. команда запуска сервиса> Собственно так можно дебажить любое приложение. После перезагрузки смотрим в указанный нами файл, чтобы понять на чем сломалось.
- Файл крона находится по адресу например /etc/cron.daily/logrotate
- Отладка php-fpm /usr/sbin/php-fpm7.0 --nodaemonize --fpm-config /etc/php/7.0/fpm/php-fpm.conf
- Проверка nginx nginx -t
- Вывод модулей nginx nginx -V, анлог :
- nginx -V 2>&1|xargs -n1|grep module
- $ A=`nginx -V 2>&1`;B=`echo $A|sed 's/ --/# --/g'|tr '#' '\n'|sed -n '/^ --/p'|sort`;printf "$A"|head -2;printf "configure arguments:\n$B\n"
- ifconfig - сетевые карты
- top - процессы
- Свободная память cat /proc/meminfo: Результат работы:
MemTotal: 16376892 kB
MemFree: 2200444 kB
Buffers: 480652 kB
Cached: 12708152 kB
SwapCached: 0 kB
Active: 1958840 kB
Inactive: 11521124 kB
|
- Как видим, 11 Гб (11521124 kB), являются неактивной памятью и 1.95 Гб (1958840 kB), реально используется, т.е. является активной. Значит, в моем случае, избыточного потребления нет.
- Прослушиваемые порты netstat -tuwpln пример для весты:
- root@account:~# netstat -tuwpln
- Active Internet connections (only servers)
- Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
- tcp 0 0 0.0.0.0:143 0.0.0.0:* LISTEN 1/systemd
- tcp 0 0 188.188.188.51:80 0.0.0.0:* LISTEN 1131/nginx: worker
- tcp 0 0 0.0.0.0:465 0.0.0.0:* LISTEN 32407/exim4
- tcp 0 0 0.0.0.0:8083 0.0.0.0:* LISTEN 2242/nginx: master
- tcp 0 0 127.0.0.1:8084 0.0.0.0:* LISTEN 1131/nginx: worker
- tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 31555/sshd
- tcp 0 0 0.0.0.0:25 0.0.0.0:* LISTEN 32407/exim4
- tcp 0 0 0.0.0.0:2525 0.0.0.0:* LISTEN 32407/exim4
- tcp 0 0 0.0.0.0:993 0.0.0.0:* LISTEN 1/systemd
- tcp 0 0 0.0.0.0:995 0.0.0.0:* LISTEN 32454/dovecot
- tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 964/php-fpm: master
- tcp 0 0 127.0.0.1:9001 0.0.0.0:* LISTEN 964/php-fpm: master
- tcp 0 0 0.0.0.0:587 0.0.0.0:* LISTEN 32407/exim4
- tcp 0 0 0.0.0.0:5355 0.0.0.0:* LISTEN 2072/systemd-resolv
- tcp 0 0 0.0.0.0:110 0.0.0.0:* LISTEN 32454/dovecot
- tcp6 0 0 :::143 :::* LISTEN 1/systemd
- tcp6 0 0 :::22 :::* LISTEN 31555/sshd
- tcp6 0 0 :::993 :::* LISTEN 1/systemd
- tcp6 0 0 :::995 :::* LISTEN 32454/dovecot
- tcp6 0 0 :::3306 :::* LISTEN 31991/mysqld
- tcp6 0 0 :::5355 :::* LISTEN 2072/systemd-resolv
- tcp6 0 0 :::110 :::* LISTEN 32454/dovecot
- udp 0 0 127.0.0.53:53 0.0.0.0:* 2072/systemd-resolv
- udp 0 0 0.0.0.0:5355 0.0.0.0:* 2072/systemd-resolv
- udp6 0 0 :::5355 :::* 2072/systemd-resolv
- Службы пользователи и порты lsof -i
- Прослушиваем порт mysql через tcpdump(надо установить):
- tcpdump -l -i eth0 -w - src or dst port 3306|strings (заменить eth0 на enet0)
- Правила файервола iptables -nvL:
- либо iptables-save либо iptables -S
- сохранение iptables-save > /etc/iptables.rules ( /etc/iptables/rules.v4)
- Удаление правила по его номеру в цепочке: iptables -D INPUT 1
- вывод с номерами строк iptables -L --line-numbers
- добавить ftp:
- iptables -A INPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate ESTABLISHED,NEW -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
- iptables -A OUTPUT -p tcp -m tcp --dport 21 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT -m comment --comment "Allow ftp connections on port 21"
- Рестарт /etc/init.d/netfilter-persistent restart
- Для установки vesta:
- bash vst-install.sh --nginx yes --phpfpm yes --apache no --named no --remi yes --vsftpd no --proftpd no --iptables yes --fail2ban no --quota no --exim yes --dovecot yes --spamassassin yes --clamav yes --softaculous yes --mysql yes --postgresql no
- Обновляем (sudo) apt-get update и apt-get upgrade
- Логи сервера лежат /var/log/apache2/domains
- tar xf images.tar.gz - авто распаковка
- tar -cvf file.tar domain.ru запаковка архива
- со сжатием tar -cvzf filename.tar.gz dir_name
- cp -r /library/. копирование всех файлов и каталогов (без скрытых cp -r /library/*)
- chmod 700 cache/ - права на файл, папку
- chown -R admin:nogroup /home/admin/web/domain.ru - права на запись файлов для юзера (-R -m)
- cat /etc/issue версия ubuntu
- dpkg -l список пакетов
- Удаление пакетов apt-get:
- service spamassassin stop
- systemctl disable spamassassin.service
- remove spamassassin
- Полное удаление пакетов: Во-первых, вам нужно найти extact имя пакета из списка установленных пакетов, используя команду: dpkg --get-selections | grep -i roundcube Затем вы можете удалить его с помощью commnand: apt-get remove <package name>
- php -v версия php
- php artisan --version версия laravel (зайти в папку с artisan)
- rm -rf letters/ Удаление всей директории с содержимым
- sudo rm /var/lib/apt/lists/* -vf удаление старых данных перед обновлением
- service apache2 stop (start)
- Удаление пакетов:
- sudo apt-get remove synaptic
- sudo apt-get remove --auto-remove synaptic
- Purging your config/data too
- sudo apt-get purge synaptic
- Or similarly, like this synaptic
- sudo apt-get purge --auto-remove synaptic
- sudo apt-get autoremove
- sudo apt-get autoclean
- Поиск find / -iname filename (пусто если ничего нет)
- Удаление пакетов composer composer global remove mypack
- ПЕРЕЗАГРУЗКА
- sudo /etc/init.d/apache2 restart перезапуск apache
- /etc/init.d/nginx restart
- service php5-fpm restart
- grep -r --exclude-dir=dev --exclude-dir=sys --exclude-dir=proc PATTERN data поиск текста
- grep -ri "public_html" --exclude-dir={log,proc,sys} --exclude="*.log" (. - с точкой в конце - текущий каталог)
- Удаление кеша htcacheclean -r (не работает - нужен путь)
- cat /etc/passwd - посмотреть список юзеров
- Выход из vi :q!
- sudo userdel admin
- Настройки apache2.conf для экономии памяти:
- Поищите в файле /etc/apache2/apache2.conf debian/ubuntu
- /etc/httpd/conf/httpd.conf centos/redhat
- StartServers
- Там как раз будет указано количество запускаемых процессов.
- Отображение процессов:
Для того, чтобы увидеть, сколько % ЦПУ и памяти занимают запущенные вами процессы:
[user]$ ps –u
Чтобы узнать приоритет процесса и значение nice,
воспользуйтесь опцией -l:
[user]$
ps –l
Команда top
Команда ps позволяет сделать
как бы "моментальный снимок" процессов, запущенных в системе. В
отличие от ps команда top отображает состояние процессов и их
активность "в реальном режиме времени". На рисунке 8.5 изображено
окно терминала, в котором запущена программа top.
Сортировка по объёму памяти:
|
shift+M
|
Сортировка по времени:
|
shift+T
|
Выход из команды top
- q
- Кэширование файлов - free -h
- Вывод жирных процессов с сортировкой
- ps -eo size,pid,user,command --sort -size | awk '{ hr=$1/1024 ; printf("%13.2f Mb ",hr) } { for ( x=4 ; x<=NF ; x++ ) { printf("%s ",$x) } print "" }'
- Посмотреть процессы с php ps aux | grep php
- ЛИКБЕЗ ПОД ДИСТРИБУТИВАМ
- /etc/apache2/apache.conf - основные настройки сервера, глобальные для дистрибутива.
- /etc/apache2/httpd.conf - пользовательские настройки сервера, глобальные для дистрибутива. Обычно пустой, мало-мало, что туда можно РЕАЛЬНО написать с пользой для дела.
- /etc/apache2/conf.d/ - пользовательские настройки сервера для отдельных модулей, там тоже мало что можно настроить, но таки есть моменты...
- /etc/apache2/modules-available/*.load - файлы загрузки модулей. Обычно нет смысла их редактировать, но есть исключения. Я отрихтовал прогрузку DAV/DAV_FS/DAV_SVN, чтобы не срала в лог ошибками. Тикет на лаунчпаде.
- /etc/apache2/modules-available/*.conf - файлы настройки модулей.
- /etc/apache2/sites-available/* - сайты, настроенные в сиситеме.
- /etc/apache2/*-enabled/* - то, что реально включено и загружается при старте сервера.
- Включать - a2ensite/a2enmod. Выключать, соответственно, a2dis***.
Комментарии
Отправить комментарий