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 portnc
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" user@gmail.comВыполнить 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 http://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.confnet.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-releasedmidecode - информация о железеfree -w -t --mega - выводит данные об использовании ОЗУ и swap в мегабайтах (поле shared значит разделенная между процессами память, кэш это то, что часто используется и хранится, буфер это то, что приготовлено для записи, кэш и буфера это условно свободная память)date - полная дата с часовым поясомifconfig -a - Настройки всех сетевых адаптеровip addr show - Список всех сетевых интерфейсов и связанных IP-адресовwget -qO- eth0.me - Узнать внешний IPuptimeman ls - документация/инструкция по указанному пакету👉@linuxchmod
👍7
👍8
This media is not supported in your browser
VIEW IN TELEGRAM
duf - дисковая утилита для Linux, BSD, macOS и Windows
Мы используем команду
https://www.cyberciti.biz/open-source/command-line-hacks/duf-disk-usage-free-utility-for-linux-bsd-macos-windows/
👉@linuxchmod
Мы используем команду
df, чтобы показать, сколько свободного места на диске доступно на смонтированных файловых системах в Linux, macOS и подобных Unix системах. Также у нас есть команда du для оценки использования дискового пространства файлами. Теперь у нас появился новый, стильный и функциональный инструмент под названием duf, который отображает статистику свободного дискового пространства в Unix, Linux, macOS, *BSD, Android и Windows. Этот инструмент написан на языке Go.https://www.cyberciti.biz/open-source/command-line-hacks/duf-disk-usage-free-utility-for-linux-bsd-macos-windows/
👉@linuxchmod
👍7🔥3