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
This media is not supported in your browser
VIEW IN TELEGRAM
Как удалить файлы в системах Linux или UNIX с помощью команды rm
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
👉@linuxchmod
Как удалить файлы в операционной системе Linux / UNIX / * BSD / AIX / HP-UX с помощью параметров командной строки?
Чтобы удалить или удалить файл или папку в операционной системе Linux, FreeBSD, Solaris, macOS или Unix, используйте команду rm или команду unlink. В этой статье объясняется, как удалить определенный файл в Linux или Unix-подобной системе с помощью параметра командной строки.
👉@linuxchmod
👍4
Уроки по Linux
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉@linuxchmod
Команда AWK bash скрипты по-взрослому.
Редактируем текст в linux c SED
GREP регулярные выражения. Поиск в Linux
Менеджер пакетов apt. Установка из ppa virtualbox
Запуск задач по расписанию linux. Cron и его маленький секрет
Процессы Linux. От рождения до смерти. Делаем процесс милым (nice, renice)
источник
👉@linuxchmod
👍8🥰1
Все о DHCP!
1/ 🌐 DHCP (Dynamic Host Configuration Protocol) - это ключевой игрок в управлении сетью, упрощающий процесс назначения IP-адресов и связанной с ними информации о конфигурации устройств.
2/ 🔗 DHCP работает по модели клиент-сервер. Когда устройство (клиент) подключается к сети, оно отправляет запрос DHCP. В ответ DHCP-сервер предоставляет клиенту IP-адрес, маску подсети, основной шлюз, DNS-серверы и многое другое. Это как цифровой приветственный пакет! 🎉
3/ 🔄 DHCP динамически распределяет IP-адреса, что позволяет избежать головной боли, связанной с ручной настройкой. Такая гибкость особенно удобна в больших сетях, где назначение IP-адресов вручную было бы непрактичным.
4/ 💡 DHCP использует механизм аренды. Сервер предоставляет клиенту IP-адрес в аренду на определенный срок. Когда срок аренды истекает, клиент должен продлить его. В противном случае IP-адрес возвращается в пул доступных адресов.
5/ 📑 Сообщения DHCP включают в себя Discover, Offer, Request и Acknowledge. Клиент отправляет сообщение Discover, чтобы найти сервер, а сервер отвечает сообщением Offer. Клиент запрашивает предложенный IP-адрес, а сервер подтверждает.
6/ 🏢 В сети может существовать несколько DHCP-серверов. Чтобы предотвратить конфликты, клиенты DHCP следуют процессу выбора сервера, гарантируя, что они не примут конфликтующие предложения. Это похоже на выбор лучшего сигнала WiFi в переполненном районе! 📶
7/ 🚀 DHCP поддерживает IPv4 и IPv6, адаптируясь к развивающимся технологиям. IPv6 с его расширенным адресным пространством обеспечивает актуальность DHCP в постоянно развивающемся цифровом ландшафте.
8/ 🔒 Безопасность DHCP очень важна. Несанкционированные серверы DHCP могут посеять хаос, поэтому такие методы, как DHCP snooping, помогают выявить и смягчить потенциальные угрозы. Это как вышибалы на входе в сеть, чтобы держать все под контролем! 🕵️♂️
9/ 📚 Понимание DHCP является основополагающим для сетевых администраторов и ИТ-специалистов. Это безмолвный герой, который обеспечивает бесперебойное подключение наших устройств к огромной паутине сетей и их взаимодействие.
10/ 🔄 Знаете ли вы? DHCP не только назначает IP-адреса, но и предоставляет такую информацию, как адреса DNS-серверов и шлюзов по умолчанию. Это все равно что получить карту и ключ для навигации по огромному ландшафту Интернета! 🗺️🔑
11/ 🌐 Агенты ретрансляции DHCP расширяют зону действия серверов DHCP в разных сетях. Когда клиент находится в другой подсети, агенты ретрансляции пересылают сообщения DHCP, обеспечивая бесперебойную связь. Думайте о них как об эффективных перевозчиках почты для цифровых адресов! 📬🌐
12/ 🔍 Устранение проблем с DHCP?
Проверьте журналы событий! Серверы DHCP регистрируют важные события, помогая администраторам выявлять и устранять проблемы. Это как сетевой детектив, который оставляет улики для беспрепятственного расследования. 🔍🕵️♀️
13/ 📈 Масштабируемость - сильная сторона DHCP. От небольших домашних сетей до огромных корпоративных комплексов - DHCP легко масштабируется, управляя IP-адресами для нескольких устройств или тысяч. Универсальность на высоте! 💼🌐
14/ 🔄 DHCP может работать наряду со статическими IP-адресами. Некоторым устройствам, например серверам или принтерам, может быть полезен фиксированный адрес. DHCP позволяет им сосуществовать, обеспечивая лучшее из двух миров - гибкость и стабильность! 🔄🔒
👉@linuxchmod
1/ 🌐 DHCP (Dynamic Host Configuration Protocol) - это ключевой игрок в управлении сетью, упрощающий процесс назначения IP-адресов и связанной с ними информации о конфигурации устройств.
2/ 🔗 DHCP работает по модели клиент-сервер. Когда устройство (клиент) подключается к сети, оно отправляет запрос DHCP. В ответ DHCP-сервер предоставляет клиенту IP-адрес, маску подсети, основной шлюз, DNS-серверы и многое другое. Это как цифровой приветственный пакет! 🎉
3/ 🔄 DHCP динамически распределяет IP-адреса, что позволяет избежать головной боли, связанной с ручной настройкой. Такая гибкость особенно удобна в больших сетях, где назначение IP-адресов вручную было бы непрактичным.
4/ 💡 DHCP использует механизм аренды. Сервер предоставляет клиенту IP-адрес в аренду на определенный срок. Когда срок аренды истекает, клиент должен продлить его. В противном случае IP-адрес возвращается в пул доступных адресов.
5/ 📑 Сообщения DHCP включают в себя Discover, Offer, Request и Acknowledge. Клиент отправляет сообщение Discover, чтобы найти сервер, а сервер отвечает сообщением Offer. Клиент запрашивает предложенный IP-адрес, а сервер подтверждает.
6/ 🏢 В сети может существовать несколько DHCP-серверов. Чтобы предотвратить конфликты, клиенты DHCP следуют процессу выбора сервера, гарантируя, что они не примут конфликтующие предложения. Это похоже на выбор лучшего сигнала WiFi в переполненном районе! 📶
7/ 🚀 DHCP поддерживает IPv4 и IPv6, адаптируясь к развивающимся технологиям. IPv6 с его расширенным адресным пространством обеспечивает актуальность DHCP в постоянно развивающемся цифровом ландшафте.
8/ 🔒 Безопасность DHCP очень важна. Несанкционированные серверы DHCP могут посеять хаос, поэтому такие методы, как DHCP snooping, помогают выявить и смягчить потенциальные угрозы. Это как вышибалы на входе в сеть, чтобы держать все под контролем! 🕵️♂️
9/ 📚 Понимание DHCP является основополагающим для сетевых администраторов и ИТ-специалистов. Это безмолвный герой, который обеспечивает бесперебойное подключение наших устройств к огромной паутине сетей и их взаимодействие.
10/ 🔄 Знаете ли вы? DHCP не только назначает IP-адреса, но и предоставляет такую информацию, как адреса DNS-серверов и шлюзов по умолчанию. Это все равно что получить карту и ключ для навигации по огромному ландшафту Интернета! 🗺️🔑
11/ 🌐 Агенты ретрансляции DHCP расширяют зону действия серверов DHCP в разных сетях. Когда клиент находится в другой подсети, агенты ретрансляции пересылают сообщения DHCP, обеспечивая бесперебойную связь. Думайте о них как об эффективных перевозчиках почты для цифровых адресов! 📬🌐
12/ 🔍 Устранение проблем с DHCP?
Проверьте журналы событий! Серверы DHCP регистрируют важные события, помогая администраторам выявлять и устранять проблемы. Это как сетевой детектив, который оставляет улики для беспрепятственного расследования. 🔍🕵️♀️
13/ 📈 Масштабируемость - сильная сторона DHCP. От небольших домашних сетей до огромных корпоративных комплексов - DHCP легко масштабируется, управляя IP-адресами для нескольких устройств или тысяч. Универсальность на высоте! 💼🌐
14/ 🔄 DHCP может работать наряду со статическими IP-адресами. Некоторым устройствам, например серверам или принтерам, может быть полезен фиксированный адрес. DHCP позволяет им сосуществовать, обеспечивая лучшее из двух миров - гибкость и стабильность! 🔄🔒
👉@linuxchmod
🔥5👍3
Топ полезных команд
Отправить тестовое письмо:
Выполнить PHP функцию в консоли:
Отключить спящий режим на ubuntu server:
Для проверки набора переменных BASH_ENV:
Замер скорости диска:
Обновить locate:
👉@linuxchmod
Отправить тестовое письмо:
echo "test" | mail -s "Test Subject" [email protected]
Выполнить PHP функцию в консоли:
php -r "echo phpinfo();" | grep date.timezone
Отключить спящий режим на ubuntu server:
sudo systemctl mask sleep.target suspend.target hibernate.target hybrid-sleep.target
Для проверки набора переменных BASH_ENV:
$ env | grep BASH_ENV
Замер скорости диска:
dd if=/dev/zero of=testfile bs=4k count=1310720
dd if=testfile of=/dev/null bs=4k count=1310720
Обновить locate:
/usr/libexec/locate.updatedb
👉@linuxchmod
👍3
Топ полезных команд
Конвертировать HEIC в JPG:
Изменить текстовый редактор для конкретного случая:
Удалить snapd в Ubuntu Server:
Удалить старые данные telegraf в Influxdb 1.8:
будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
Выключаем IPv6:
👉@linuxchmod
Конвертировать HEIC в JPG:
ls *.HEIC -1 | sed -e 's/\.HEIC$//' | xargs -I {} convert {}.HEIC {}.JPG
Изменить текстовый редактор для конкретного случая:
export EDITOR=ee; crontab -e
Удалить snapd в Ubuntu Server:
$ sudo apt purge snapd
$ sudo apt-mark hold snapd
snapd помечен как зафиксированный.
Удалить старые данные telegraf в Influxdb 1.8:
$ docker exec -ti influxdb influx
Connected to https://localhost:8086 version 1.8.10
InfluxDB shell version: 1.8.10
> use telegraf;
Using database telegraf
> DELETE WHERE time < '2022-06-01'
будут удалены все записи до 2022-06-01
Работа с сетью
Изменением маршрута:
route change default 192.168.1.1
Выключаем IPv6:
sudo nano /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1
👉@linuxchmod
👍8
Информация о пользователях и системе в Linux
(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
👉@linuxchmod
whoami
или echo $USER
- выведем имя юзераgroups
- выведет группы пользователяid
- выведет User IDentifier, его имя, Group IDentifier и группы данного юзера с их GID(Обычно первая сотка/тысяча юзеров зарезервирована для системных)
В /etc/passwd записываются UIDs пользователей
В /etc/groups записываются GIDs пользователей
last
- список последних логинов в системуlast reboot
- список перезагрузок хоста по времениlast user1
- отобразить историю регистрации пользователя в системе и время его нахождения в нейw
- показывает активные сессии (дата, время, ip, простой, сколько было потреблено процессорного времени и что выполняет)echo $XDG_CURRENT_DESKTOP
- узнать какая графическая оболочкаhostname
- выведет имя хоста, hostname -i
- IP адресаuname -a
- выводит ОС, версию ядра, архитектуру и дату сборки, процессор, лицензию и так далее, т.е. вся информация о системе, сборке или lsb_release
-a или пакет neofetch
с полной информацией о системе или cat /etc/os-release
dmidecode
- информация о железеfree -w -t --mega
- выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)date
- полная дата с часовым поясомifconfig -a
- Настройки всех сетевых адаптеровip addr show
- Список всех сетевых интерфейсов и связанных IP-адресовwget -qO- eth0.me
- Узнать внешний IPuptime
man ls
- документация/инструкция по указанному пакету👉@linuxchmod
👍7