Media is too big
VIEW IN TELEGRAM
Эффективная работа в Midnight Commander
Midnight Commander - эффективный инструмент администратора Linux. Рассмотрим в ролике некоторые его возможности, удобные функции.
источник
👉@linuxchmod
Midnight Commander - эффективный инструмент администратора Linux. Рассмотрим в ролике некоторые его возможности, удобные функции.
источник
👉@linuxchmod
👍6🥰1👏1😁1
Cамые нужные команд SSH
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
А так — перезагрузить ее:
Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
А так можно скопировать вывод команды:
Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
Создать каталог для подключения «сетевого диска»:
И подключить его:
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
А затем создай соединение:
👉@linuxchmod
Запускай команды быстро
Чтобы выполнить всего одну удаленную команду, совсем не обязательно подключаться к SSH, вводить команду, а затем отключаться. Можно сделать это сразу. Например, так можно посмотреть заполненность ФС удаленной машины:
$ ssh user@host df -h
А так — перезагрузить ее:
$ ssh user@host sudo reboot
Составляй списки команд и запускай их разом
Если у тебя есть целый список команд, которые следует выполнить, их можно записать в файл и скормить этот файл SSH:
$ ssh user@host "`cat file.txt`"
Редактируй удаленные файлы локальным редактором
Чтобы отредактировать файл на удаленной машине, не требуется заходить на нее и использовать консольный редактор. На самом деле файл можно открыть в твоем любимом текстовом редакторе на локальной машине (gvim заменяем на свой редактор):
$ gvim scp://user@host//путь/к/файлу
Копируй содержимое удаленного файла в буфер обмена
Если необходимо скопировать содержимое удаленного файла или вывод команды в буфер обмена, не обязательно выводить его на экран или открывать в текстовом редакторе и копировать вручную. Можно использовать следующую команду:
$ ssh user@host cat /путь/к/файлу | xclip
А так можно скопировать вывод команды:
$ ssh user@host uname -a | xclip
Сравнивай удаленный и локальный файл без копирования
Похожий прием можно использовать для сравнения двух файлов:
$ ssh user@host cat /путь/к/удаленному/файлу | diff /путь/к/лoкальному/файлу -
Работай с удаленными файлами с помощью локального файлового менеджера
Не всегда удобно работать с большим количеством файлов с помощью консольных команд или mc, запущенного на удаленной машине. Но всегда можно подключить любой каталог удаленной машины как сетевой диск. Для этого достаточно установить sshfs:
$ sudo apt-get install sshfs
Создать каталог для подключения «сетевого диска»:
$ mkdir remote_files
И подключить его:
$ sshfs user@host:/home/user ~/remote_files/
Теперь все файлы удаленного каталога /home/user будут видны в каталоге ~/remote_files/ и с ними можно работать, как с обычными.
Копируй ключи быстро
Хоть и копирование публичного ключа на удаленный сервер — задача простая, но она требует выполнения нескольких действий вручную. Если тебя это напpягает, скопировать ключ можно в автоматическом режиме:
$ ssh-copy-id user@host
При этом не обязательно копировать основной ключ, с помощью флага -i можно указать любой другой:
$ ssh-copy-id -i ~/my_key.pub user@host
Создай постоянное соединение с машиной
Если в течение дня ты часто подключаешься к одной машине, в том числе на несколько минут или секунд (чтобы просто запустить одну команду, например), есть смысл создать с ней постоянное соединение. Твой комп будет держать соединение открытым и использовать его для каждого подключения к машине. Это намного быстрее и экономичнее с точки зрения трафика и нагрузки на процессор.
Добавь следующие строки в ~/.ssh/config:
Host host
ControlPath ~/.ssh/master-%r@%h:%p
ControlMaster no
А затем создай соединение:
$ ssh -MNf user@host
👉@linuxchmod
👍6🔥1
Контроль оплаты домена через Zabbix
Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.
На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.
https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-12-17
👉@linuxchmod
Позвонил клиент, говорит почта не работает. Стал смотреть – домен отключен за не оплату, бухгалтерия забыла оплатить счет. Подумалось, что неплохо бы видеть какие домены в ближайшее время тоже потребуют продления. Будем для этого использовать Zabbix.
На сервере с Zabbix’ом установим Zabbix-агент. Он и будет у нас заниматься проверкой наших доменов.
https://telegra.ph/Kontrol-oplaty-domena-cherez-Zabbix-12-17
👉@linuxchmod
👍5
Проброс и перенаправление портов в iptables
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-12-17
👉@linuxchmod
Проброс трафика за NAT или проброс трафика на другой сервер
Чаще всего проброс трафика используется, если мы находимся в локальной сети и от внешнего мира отделены шлюзом. Для того, чтобы открыть доступ для локальных служб (ssh, web, ftp), нам необходимо пробросить порты. Поскольку в качестве шлюза мы будем использовать сервер на Linux, то осуществлять данные действия будем с помощью iptables.
https://telegra.ph/Probros-i-perenapravlenie-portov-v-iptables-12-17
👉@linuxchmod
👍5
Gitlab ci/cd
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉@linuxchmod
В прод с помощью GITLAB CI/CD. На простом примере. Основы.
GITLAB CI/CD vs JENKINS. Что выбрать для своих CI CD pipeline?
GITLAB CI CD сокращаем код. Gitlab ci include, extends, reference, remote, local
Docker BUILD в GITLAB CI CD и kubernetes. Как правильно? Бонус настройка gitlab runner
источник
👉@linuxchmod
👍7
Проверяем доступность портов с использованием nmap/netcat/telnet/nc
Доступность tcp-порта
netcat
сканер портов:
запустить netcat на хосте и слушать на tcp порте 4444:
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
telnet
nmap
Доступность udp-порта
netcat
nc
nmap
👉@linuxchmod
Доступность tcp-порта
netcat
netcat [options] host port
сканер портов:
netcat -z -v domain.com 1-1000
запустить netcat на хосте и слушать на tcp порте 4444:
netcat -l 4444
а на другой машине проверить подключение к netcat, запущенному на другом хосте:
netcat domain.com 4444
nc
nc -vt <ip> <port>
telnet
telnet <ip> <port>
nmap
порт 25 tcp: nmap -p25 11.11.11.11
Доступность udp-порта
netcat
netcat -u host port
nc
nc -vu <ip> <port>
nmap
доступность порта udp 53: nmap -sU -p U:53 11.1.11.12
👉@linuxchmod
👍9
Стандартные инструменты для диагностики системы Linux
Ядро:
*
*
*
* l
*
Ввод/вывод:
*
*
*
*
blktrace
Системные и библиотечные вызовы:
*
*
Аппаратные счётчики:
*
*
Сеть:
*
*
*
*
*
*
*
*
Процессы:
*
*
*
*
Процессор:
*
*
*
Универсальные:
*
*
*
*
*
👉@linuxchmod
Ядро:
*
perf
— (в прошлом performance counters for Linux) — доступ к различным внутренним счётчикам ядра; незаменимый инструмент для выполнения профайлинга ядра/операционной системы*
ftrace
— трассировщик вызовов функций внутри ядра Linux*
stap
— скриптовый язык и инструмент для комплексной диагностики ядра и процессов Linux* l
ttng
— (Linux Trace Toolkit Next Generation) инструмент для трассировки ядра, программ и библиотек Linux*
bcc
(BPF) — (сравнительно) новый и очень мощный инструмент для трассировки и манипуляции ядром Linux, основанный на Berkeley Packet Filter, позволяет делать космические вещиВвод/вывод:
*
iostat
(sysstat) — статистика ввода/вывода по заданному устройству (количество операций записи/чтения в единицу времени, скорость записи/чтения)*
pidstat
(sysstat) — нагрузка на процессор, память и устройства от конкретного процесса (заданного по имени или номеру)*
pcstat
— использование кэша (какой процент файла попадает в кэш, какой нет)*
lsof
— информация об открытых процессом файлахblktrace
Системные и библиотечные вызовы:
*
strace
— информация о системных вызовов, выполняемых процессом, позволяет понять или по крайней мере лучше разобраться, почему процесс висит или потребляет много ресурсов*
ltrace
— трассировка библиотечных вызовов (которые не обязательно являются системными)Аппаратные счётчики:
*
tiptop
— информация о процессах в реальном времени, похожа на top, но в отличие от него данные преимущественно берутся с аппаратных счётчиков*
numastat
— просмотр информации об использовании памяти процессами/процессорами в системах с NUMA-архитектуройСеть:
*
netstat
— классический инструмент для просмотра конфигурации сети (сокетов, интерфейсов и так далее)*
ss
— socket statistics, позволяет получить информацию об открытых сокетах и их состоянии (похожа на netstat, но умеет больше)*
ethtool
— просмотр настроек и состояния ethernet-интерфейса*
snmpget
— получение данных по SNMP*
lldptool
— настройка LLDP и просмотр данных LLDP*
nicstat
— статистика использования сетевой карты (сетевого интерфейса)*
ip
— конфигурация и статистика стека TCP/IP Linux*
ifstat
— статистика использования сетевого интерфейса в реальном времениПроцессы:
*
top
— информация о наиболее активных (наиболее ресурсоёмки) процессах + общая информация о системе*
vmstat
— данные об использовании виртуальной памяти*
free
— информация о свободной памяти, кэше, буферах*
slabtop
— информация о заполнении SLAB-кэшаПроцессор:
*
mpstat
(sysstat) — общая информация об использовании процессора (одного или всех процессоров)*
turbostat
(kernel-tools) — информация о топологии процессора, частоте, питании, температуре*
rdmsr
— (Read from Model Specific Register) чтение из моделезависимых регистров (позволяет оценить использование LLC-кэша и прочее)Универсальные:
*
sar
— (system activity report) информация о системной активности в реальном времени (диск, память, процессор и так далее)*
dstat
— универсальный инструмент для сбора информации о системе (vmstat, iostat, netstat, ifstat и ещё много других в одном флаконе)*
dmesg
— журнал сообщений ядра с момента загрузки системы*
/proc
— псевдофайловая система предоставляющая доступ к внутренним данным/счётчикам ядра*
sysdig
— универсальный инструмент для сбора и анализа данных о системе (сотни различных источников скомбинированные вместе)👉@linuxchmod
👍10🥰1
Горячие клавиши для работы в терминале Linux
Перемещение по строке
или
Сочетания клавиш для редактирования строки в терминале.
Редактирование строки
Backspace,
Сочетания клавиш для просмотра истории команд.
История команд
Сочетания клавиш для управления выводом информации на экран.
Вывод на экран
👉@linuxchmod
Перемещение по строке
← , →
или Ctrl + b
, Ctrl + f
Смещение курсора на один символ левее или правее.Ctrl + →
, Ctrl + ←
или
Alt + b
, Alt + f
Смещение курсора на одно слово влево или вправоCtrl + a
, Home Установить курсор в начало строкиCtrl + e
, End Установить курсор в конец строкиCtrl + xx
Переход между двумя последними позициями курсораСочетания клавиш для редактирования строки в терминале.
Редактирование строки
Tab, Ctr + i
Автодополнение команды или путиTab, tab
или Alt + ?(Shift+/)
Представление вариантов автодополненияBackspace,
Ctrl + h
Удаление символа перед курсоромCtrl + d
Удалить символ за курсоромCtrl + w
или Alt + Backspace
Удалить все символы от курсора до пробела слеваAlt + d
, Esc + d
Удалить символы от курсора до конца словаCtrl + y
Вставить слова, которые были удалены с помощью Alt+d, Ctrl+wAlt + \
Удалить любое количество пробелов вместе, где стоит курсор.Alt + r
, Esc + r
Отменить все изменения внесенные в строкуAlt + c
Изменить регистр буквы под курсором на заглавный и переместить курсор в конец словаAlt + u
Изменить регистр всех букв от курсора до конца слова на верхний регистрAlt + l
Изменить регистр всех букв от курсора до конца слова на нижний регистрAlt + t
Поменять местами слово под курсором и предыдущее словоCtr + t
Переместить символ перед курсором под курсорCtrl + _(Sift+-)
Откат редактирования (Undo)Сочетания клавиш для просмотра истории команд.
История команд
Ctrl + r
Поиск ранее введенной команды в истории↑, ↓
или Ctrl + p
, Ctrl + n
Перемещение по истории ранее введенных команд и путейCtrl + o
Вызвать последнею введенную командуAlt + .
или Esc + .
Вставить аргумент команды, выполненной ранееAlt + < (Shift+,)
Повторить первую команду в буфере историиСочетания клавиш для управления выводом информации на экран.
Вывод на экран
Ctrl + l
Очистка окна терминалаCtrl + s
Заморозить терминалCtrl + q
Продолжить работу терминалаCtrl + c
Прервать работу терминальной утилитыCtrl + z
Перевести работу терминальной утилиты в фоновый режимCtrl + d
Выйти из командной оболочки bash👉@linuxchmod
👍7
Создаем логические тома LVM на Linux
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
👉@linuxchmod
Система хранения данных – один из тех кардинальных компонентов, без которых ваш сервер не может обойтись, и поэтому требует к себе пристального внимания, несмотря ни на что.
Это краткое руководство по внедрению LVM на вашем linux-сервере или рабочей станции.
👉@linuxchmod
👍4
Шпаргалка по работе с Tmux
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
После этого вы попадаете в полноценную консоль.
В одной сессии может быть сколько угодно окошек:
В одном окошке может быть много панелей:
Недостаток — непривычным становится скроллинг:
👉@linuxchmod
tmux — это менеджер терминалов, к которому удобно подключаться и отключаться, не теряя при этом процессы и историю. Как screen, только лучше (в первую очередь потому, что использует модель клиент—сервер).
Очень хороший способ запустить tmux:
tmux attach || tmux new
— делая так, вы сперва пытаетесь подключиться к уже существующему серверу tmux, если он существует; если такого ещё нет — создаёте новый.После этого вы попадаете в полноценную консоль.
Ctrl+b d
— отключиться. (Точно так же вы отключитесь, если прервётся соединение. Как подключиться обратно и продолжить работу — см. выше.)В одной сессии может быть сколько угодно окошек:
Ctrl+b c
— создать окошко;Ctrl+b 0...9
— перейти в такое-то окошко;Ctrl+b p
— перейти в предыдущее окошко;Ctrl+b n
— перейти в следующее окошко;Ctrl+b l
— перейти в предыдущее активное окошко (из которого вы переключились в текущее);Ctrl+b &
— закрыть окошко (а можно просто набрать exit в терминале).В одном окошке может быть много панелей:
Ctrl+b %
— разделить текущую панель на две, по вертикали;Ctrl+b "
— разделить текущую панель на две, по горизонтали (это кавычка, которая около Enter, а не Shift+2);Ctrl+b →←↑↓
— переходить между панелями;Ctrl+b x
— закрыть панель (а можно просто набрать exit в терминале).Недостаток — непривычным становится скроллинг:
Ctrl+b PgUp
— вход в «режим копирования», после чего:PgUp, PgDown
— скроллинг;q
— выход из «режима копирования».👉@linuxchmod
👍9🥰1