Совет по Linux 💡🐧
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
Пример:
Он также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
📲 Мы в MAX
👉 @i_odmin
Если вы хотите определить, сколько времени займет выполнение определенной команды или скрипта, используйте команду time.
Вот синтаксис:
$ time <команда>.Пример:
$ time find / -perm -u=s -type f &>/dev/nullОн также показывает использование системных ресурсов процесса, что делает его полезным инструментом для оценки эффективности конкретной команды.
📲 Мы в MAX
👉 @i_odmin
👍6❤1🔥1
Forwarded from Типичный Сисадмин
Please open Telegram to view this post
VIEW IN TELEGRAM
❤29😁5🤡2
🖥 1Panel - современная open-source панель для управления Linux-серверами
Если хочется управлять VPS не только через SSH и десятки конфигов, обратите внимание на 1Panel - бесплатную панель администрирования серверов с удобным веб-интерфейсом.
⚡ Что умеет 1Panel:
🔹 управление Linux-сервером через браузер
🔹 установка и управление Docker-контейнерами
🔹 развёртывание сайтов и настройка OpenResty
🔹 управление базами данных, включая MySQL и MongoDB
🔹 работа с SSL-сертификатами
🔹 файловый менеджер и встроенный редактор
🔹 управление SSH, firewall и системными процессами
🔹 мониторинг ресурсов и журналов
🔹 резервное копирование и восстановление
🔹 управление несколькими серверами
🔹 встроенный WAF для защиты сайтов
🔹 магазин приложений для быстрого развёртывания сервисов
🤖 Отдельно разработчики активно развивают AI-возможности. В 1Panel можно управлять моделями Ollama, разворачивать AI-агентов и работать с MCP Server прямо из панели.
Свежая на момент публикации версия v2.2.4 получила управление пользователями MySQL, диагностику процессов, просмотр системных журналов Linux, улучшения WAF и дополнительные возможности для управления несколькими узлами.
По сути, 1Panel может стать неплохой open-source альтернативой коммерческим панелям управления сервером - особенно если инфраструктура активно использует Docker.
https://github.com/1Panel-dev/1Panel
📲 Мы в MAX
👉 @i_odmin
Если хочется управлять VPS не только через SSH и десятки конфигов, обратите внимание на 1Panel - бесплатную панель администрирования серверов с удобным веб-интерфейсом.
⚡ Что умеет 1Panel:
🔹 управление Linux-сервером через браузер
🔹 установка и управление Docker-контейнерами
🔹 развёртывание сайтов и настройка OpenResty
🔹 управление базами данных, включая MySQL и MongoDB
🔹 работа с SSL-сертификатами
🔹 файловый менеджер и встроенный редактор
🔹 управление SSH, firewall и системными процессами
🔹 мониторинг ресурсов и журналов
🔹 резервное копирование и восстановление
🔹 управление несколькими серверами
🔹 встроенный WAF для защиты сайтов
🔹 магазин приложений для быстрого развёртывания сервисов
🤖 Отдельно разработчики активно развивают AI-возможности. В 1Panel можно управлять моделями Ollama, разворачивать AI-агентов и работать с MCP Server прямо из панели.
Свежая на момент публикации версия v2.2.4 получила управление пользователями MySQL, диагностику процессов, просмотр системных журналов Linux, улучшения WAF и дополнительные возможности для управления несколькими узлами.
По сути, 1Panel может стать неплохой open-source альтернативой коммерческим панелям управления сервером - особенно если инфраструктура активно использует Docker.
https://github.com/1Panel-dev/1Panel
📲 Мы в MAX
👉 @i_odmin
👍9❤3😁1💩1
Совет по Linux 🐧
Ты можешь включить отображение временных меток в истории команд bash, чтобы видеть, когда именно выполнялась каждая команда. Это удобно для отслеживания своей работы по времени.
Чтобы добавить временные метки, просто установи переменную окружения HISTTIMEFORMAT:
Теперь при просмотре истории или при поиске по ней ты увидишь дату и время перед каждой командой:
или короче:
Формат "%F %T" выводит дату (YYYY-MM-DD) и время (HH:MM:SS), но ты можешь настроить его по своему вкусу.
⚠ Обрати внимание: временные метки не появятся задним числом для команд, выполненных до установки HISTTIMEFORMAT, и эта функция доступна только в bash.
📲 Мы в MAX
👉 @i_odmin
Ты можешь включить отображение временных меток в истории команд bash, чтобы видеть, когда именно выполнялась каждая команда. Это удобно для отслеживания своей работы по времени.
Чтобы добавить временные метки, просто установи переменную окружения HISTTIMEFORMAT:
export HISTTIMEFORMAT="%F %T "Теперь при просмотре истории или при поиске по ней ты увидишь дату и время перед каждой командой:
history | tail -n 5или короче:
history 5Формат "%F %T" выводит дату (YYYY-MM-DD) и время (HH:MM:SS), но ты можешь настроить его по своему вкусу.
⚠ Обрати внимание: временные метки не появятся задним числом для команд, выполненных до установки HISTTIMEFORMAT, и эта функция доступна только в bash.
📲 Мы в MAX
👉 @i_odmin
👍8🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Настройки RADIUS клиента в Mikrotik RouterOS
Описание процесса настройки RADIUS клиента в Mikrotik RouterOS, создание отдельного Action и правила для подключения отдельного Log, в котором будут все RADIUS сообщения
источник
📲 Мы в MAX
👉 @i_odmin
Описание процесса настройки RADIUS клиента в Mikrotik RouterOS, создание отдельного Action и правила для подключения отдельного Log, в котором будут все RADIUS сообщения
источник
📲 Мы в MAX
👉 @i_odmin
👍10🔥4👏2
Система персональных шпаргалок прямо в терминале
Часто ли Вы сталкиваетесь с необходимостью искать в закладках/заметках "ту самую" важную, но редко необходимую команду? git log, который Вы не использовали полгода или спасительный docker compose с десятком флагов. Нередко подобный поиск превращается в пятиминутный квест.
В статье напишем функцию cheat, которая дополнит терминал личной "базой знаний" с Вашим личным перечнем команд. Вводим cheat docker - получаем проверенный список команд мгновенно, без поиска в браузере и чтения мануалов.
https://habr.com/ru/articles/955674/
📲 Мы в MAX
👉 @i_odmin
Часто ли Вы сталкиваетесь с необходимостью искать в закладках/заметках "ту самую" важную, но редко необходимую команду? git log, который Вы не использовали полгода или спасительный docker compose с десятком флагов. Нередко подобный поиск превращается в пятиминутный квест.
В статье напишем функцию cheat, которая дополнит терминал личной "базой знаний" с Вашим личным перечнем команд. Вводим cheat docker - получаем проверенный список команд мгновенно, без поиска в браузере и чтения мануалов.
https://habr.com/ru/articles/955674/
📲 Мы в MAX
👉 @i_odmin
👍8🔥3❤1💯1
Объединение файлов командой cat
Команду cat в большинстве случаев используют только для просмотра файлов. На самом деле одно из ее предназначений это конкатенация (объединение) файлов. А название команды происходит от слова catenate (сцепить), то есть присоединение одного после другого.
Под объединением файлов понимается их соединение. Например, если мы имеем два текстовых файла и в одном из них записана строка:
А в другом:
То после объединения мы получим файл с двумя строками:
То есть происходит простое соединение файлов. К содержимому одного добавляется содержимое другого. Это касается не только текстовых файлов, но и всех остальных (бинарных, например).
Чтобы объединить два файла командой cat нужно просто указать в качестве аргументов названия этих файлов и направить результат выполнения в новый файл. Например, мы хотим объединить два файла file1 и file2, а результат записать в новый файл file12. Тогда мы должны выполнить следующую команду:
Вы можете объединить неограниченное количество файлов. Например, чтобы объединить четыре файла и записать результат в файл myfile, выполните команду:
📲 Мы в MAX
👉 @i_odmin
Команду cat в большинстве случаев используют только для просмотра файлов. На самом деле одно из ее предназначений это конкатенация (объединение) файлов. А название команды происходит от слова catenate (сцепить), то есть присоединение одного после другого.
Под объединением файлов понимается их соединение. Например, если мы имеем два текстовых файла и в одном из них записана строка:
My text file 1А в другом:
My text file 2То после объединения мы получим файл с двумя строками:
My text file 1
My text file 2То есть происходит простое соединение файлов. К содержимому одного добавляется содержимое другого. Это касается не только текстовых файлов, но и всех остальных (бинарных, например).
Чтобы объединить два файла командой cat нужно просто указать в качестве аргументов названия этих файлов и направить результат выполнения в новый файл. Например, мы хотим объединить два файла file1 и file2, а результат записать в новый файл file12. Тогда мы должны выполнить следующую команду:
cat file1 file2 > file12Вы можете объединить неограниченное количество файлов. Например, чтобы объединить четыре файла и записать результат в файл myfile, выполните команду:
cat file1 file2 file3 file4 > myfile📲 Мы в MAX
👉 @i_odmin
👍6❤3🎉1
Структура файловой системы в Linux
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
🔵
Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
📲 Мы в MAX
👉 @i_odmin
/bin: Содержит исполняемые бинарные файлы различных служб, доступные для запуска всем пользователям сервера. Включает базовые команды, такие как echo, cat, cd, pwd, ls и другие./boot: Содержит файлы загрузчика и ядра операционной системы. Без этих файлов система не сможет запуститься./dev: Содержит файлы устройств, подключенных к серверу, такие как терминалы (tty*) и специальные устройства, такие как null, random, zero, а также диски и их разделы (vda*)./etc: Хранит конфигурационные файлы служб по умолчанию. Здесь можно настроить параметры работы различных служб./home: Предназначена для домашних каталогов пользователей. Здесь создаются домашние директории для локальных пользователей./lib и /lib64: Содержат библиотеки, необходимые для работы системных служб и файлы для загрузки системы и модуля ядра. /lib также является символьной ссылкой на /usr/lib./media: Автоматически монтирует внешние устройства, такие как USB и CD-ROM./mnt: Используется для временного монтирования внешних устройств, чаще всего вручную./opt: Предназначена для установки пользовательского программного обеспечения./proc: Хранит информацию о процессах и системную информацию в виде «виртуальной файловой системы»./root: Домашняя папка для корневого пользователя root./run: Включает данные, обрабатываемые и хранимые в оперативной памяти, такие как PID процессов и информация о ходе их выполнения./sbin: Содержит исполняемые бинарные файлы системных служб, запуск которых возможен только с правами администратора. Является символьной ссылкой на /usr/sbin./srv: Предназначена для общедоступных данных службы, таких как веб-сервер или FTP-сервер. По умолчанию не содержит данных./sys: Содержит виртуальную файловую систему, в которую экспортируются данные ядра операционной системы и его модулей./tmp: Используется для хранения временных файлов операционной системой и службами./usr: Хранит исполняемые файлы, библиотеки и файлы документации для внутренних служб, а также данные программ, установленных пользователями. /bin, /sbin, /lib и /lib64 являются символьными ссылками на соответствующие каталоги внутри /usr./var: Содержит часто изменяемые данные, такие как кэши, логи, очереди. Тут хранятся данные сайтов, баз данных, почтового сервера и др.Эта файловая структура помогает упорядочить данные и облегчает навигацию и управление операционной системой.
📲 Мы в MAX
👉 @i_odmin
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12❤4🔥2🤩1
Libtree
Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.
1. Скачиваем libtree:
2. Проверяем нужный нам файл:
При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем
Отобразить полный путь до файла на сервере можно с помощью опции
По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:
https://github.com/haampie/libtree
📲 Мы в MAX
👉 @i_odmin
Утилита, позволяющая получить список разделяемых библиотек (shared libraries) в виде дерева, либо в виде путей до этих библиотек в системе.
1. Скачиваем libtree:
$ wget https://github.com/haampie/libtree/releases/download/v3.0.1/libtree_x86_64 -O libtree
$ chmod +x libtree
2. Проверяем нужный нам файл:
$ ./libtree /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ └── libz.so.1 [default path]
├── libtinfo.so.6 [default path]
└── libncursesw.so.6 [default path]
└── libtinfo.so.6 [default path]
При необходимости углубиться и получить зависимости для отображаемых библиотек просто добавляем
-v, -vv или -vvv соответственно.
$ ./libtree -vvv /bin/nano
/bin/nano
├── libmagic.so.1 [default path]
│ ├── libz.so.1 [default path]
│ │ └── libc.so.6 [default path]
│ │ └── ld-linux-x86-64.so.2 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libncursesw.so.6 [default path]
├── libtinfo.so.6 [default path]
│ └── libc.so.6 [default path]
│ └── ld-linux-x86-64.so.2 [default path]
└── libc.so.6 [default path]
└── ld-linux-x86-64.so.2 [default path]
Отобразить полный путь до файла на сервере можно с помощью опции
-p:
$ ./libtree -p -vvv /bin/ping
/bin/ping
├── /lib64/libcap.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
├── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libidn2.so.0 [default path]
├── /lib64/libunistring.so.2 [default path]
│ └── /lib64/libc.so.6 [default path]
│ └── /lib64/ld-linux-x86-64.so.2 [default path]
└── /lib64/libc.so.6 [default path]
└── /lib64/ld-linux-x86-64.so.2 [default path]
По умолчанию, информация о некоторых библиотеках не выводится в libtree. Подробнее об этом в выводе команды:
$ ./libtree --help
https://github.com/haampie/libtree
📲 Мы в MAX
👉 @i_odmin
👍4❤2
alias — команда, позволяющая создавать более краткие или более привычные псевдонимы для часто используемых команд
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
А это пример более сложного псевдонима:
Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
📲 Мы в MAX
👉 @i_odmin
Команда alias позволяет всего лишь связать псевдоним с произвольной командой. Механизм псевдонимов позволяет устанавливать более короткие или привычные имена для часто используемых команд. Еще одним преимуществом данного механизма является возможность использования в составе псевдонимов аргументов команд. Впервые данный механизм был реализован в рамках командной оболочки csh, после чего он был перенесен в такие командные оболочки, как bash и другие.
Синтаксис команды для установки псевдонима зависит от используемой командной оболочки. В случае командных оболочек, основанных на Bourne shell (ksh, bash, и других, но не sh), синтаксис является следующим:
$ alias <псевдоним>=<команда>
В том случае, если при вызове команды должна осуществляться передача аргументов, следует использовать одинарные или двойные кавычки:
$ alias <псевдоним>="<команда> <аргумент> ..."
В случае же командных оболочек, основанных на csh (csh, tcsh и других), кавычки не требуются:
$ alias <псевдоним> <команда> [аргументы …]
Несложно заметить, что главное отличие в данном случае заключается в использовании знака равенства и необходимости использования кавычек. При вызове команды alias без аргументов будет выведен список объявленных в текущее время псевдонимов.
После установки псевдоним будет работать лишь в рамках текущей сессии командной оболочки. Для того, чтобы активировать этот псевдоним на постоянной основе, вам придется добавить его в один из файлов конфигурации используемой в текущее время командной оболочки. В случае командной оболочки bash псевдонимы для отдельных пользователей чаще всего размещаются в файле конфигурации ~/.bashrc, а общесистемные псевдонимы — в файле конфигурации /etc/profile. В случае командной оболочки tcsh аналогичными файлами конфигурации являются файлы ~/.tcshrc и /etc/login соответственно.
Примеры
Простой псевдоним для пользователей операционной системы DOS:
$ alias dir="ls -l"
А это пример более сложного псевдонима:
$ alias topcom='sort ~/.bash_history | uniq -ci | sort -r | less'
Данный псевдоним упрощает обращение к списку наиболее часто используемых команд и может стать шаблоном для новых псевдонимов.
А это еще один пример псевдонима для ознакомления со списком смонтированных дисковых разделов:
$ alias mnt='mount | grep -i /dev/[h]d[a..g] | sort'
Механизм функций командной оболочки может выполнять ту же работу, что и механизм псевдонимов, но он гораздо сложнее в использовании. В отличие от функций, псевдонимы не позволяют осуществлять подстановку значений переменных.
Например, даже такая простая функция, как
$ bak () { cp -a $1 $1.bak }
не может быть преобразована в псевдоним из-за использования переменной "$1".
Установка псевдонима на постоянной основе
Для установки псевдонима на постоянной основе для всех пользователей, всех командных оболочек (ksh, bash, …) и всех типов командных оболочек (использующихся и не использующихся для входа в систему) вам придется:
- модифицировать файл конфигурации /etc/profile для командных оболочек, использующихся для входа в систему
- модифицировать файл конфигурации /etc/bash_bashrc для командных оболочек, не использующихся для входа в систему
Деактивация псевдонима
Используйте команду unalias.
📲 Мы в MAX
👉 @i_odmin
👍9🤩1
Как отлаживать bash-script-ы по шагам
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам
Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
📲 Мы в MAX
👉 @i_odmin
Мне всегда хотелось иметь возможность отлаживать bash-scripts так же, как и любой другой код, т.е. по шагам, и bash такую возможность предусмотрел, но о ней не все знают. Несмотря на довольно большой опыт использования Linux, я дошёл до неё только недавно.
Волшебная строчка, которую нужно добавить после #!/bin/bash, чтоб скрипт можно было отлаживать по шагам
#!/bin/bash
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3Процесс отладки
Запускаем скрипт, перед выполнением каждой команды выводится то, что будет исполняться, затем интерпретатор начинает ожидать нажатия клавиши <ENTER>.
Если понимаем, что что-то пошло не так, нажимаем Ctrl+C и выходим из отладки.
Ингредиенты
команда trap, которая умеет перехватывать разные сигналы и в нашем случае она перехватывает сигнал DEBUG, посылаемый перед выполнением команды
команда read, которая умеет ожидать ввода чего-нибудь с клавиатуры (в данном случае нам нужно только либо ENTER либо Ctrl+C
переменная окружения $BASH_COMMAND, валидная внутри обработчика команды trap.
# Online Bash Shell.
# Code, Compile, Run and Debug Bash script online.
# Write your code in this editor and press "Run" button to execute it.
trap 'echo "# $BASH_COMMAND";read' DEBUG
echo line1
echo line2
echo line3
echo "Hello World";📲 Мы в MAX
👉 @i_odmin
👍8❤1🔥1
Защита от петель L2: что выбрать, если STP уже не устраивает. Бесплатный урок курса «Сетевой инженер. Продвинутый уровень»
STP остаётся классическим способом защиты локальных сетей от петель, но далеко не всегда отвечает современным требованиям к скорости восстановления и отказоустойчивости. В крупных инфраструктурах всё чаще используются альтернативные протоколы, позволяющие быстрее реагировать на изменения топологии и обеспечивать более предсказуемую работу сети.
На открытом уроке 24 августа в 20:00 разберём принципы работы ERPS, RRPP и REP, сравним их между собой и со STP. Поговорим о преимуществах и ограничениях каждого подхода, рассмотрим сценарии применения и обсудим, как выбрать протокол защиты от петель под конкретную инфраструктуру.
Урок не для тех, кто считает STP единственным возможным решением и не готов изучать современные подходы к построению отказоустойчивых сетей. Будет полезен сетевым инженерам, архитекторам и специалистам, которые проектируют и сопровождают корпоративные сети.
👉 Записаться: https://vk.cc/d0DT3C
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
STP остаётся классическим способом защиты локальных сетей от петель, но далеко не всегда отвечает современным требованиям к скорости восстановления и отказоустойчивости. В крупных инфраструктурах всё чаще используются альтернативные протоколы, позволяющие быстрее реагировать на изменения топологии и обеспечивать более предсказуемую работу сети.
На открытом уроке 24 августа в 20:00 разберём принципы работы ERPS, RRPP и REP, сравним их между собой и со STP. Поговорим о преимуществах и ограничениях каждого подхода, рассмотрим сценарии применения и обсудим, как выбрать протокол защиты от петель под конкретную инфраструктуру.
Урок не для тех, кто считает STP единственным возможным решением и не готов изучать современные подходы к построению отказоустойчивых сетей. Будет полезен сетевым инженерам, архитекторам и специалистам, которые проектируют и сопровождают корпоративные сети.
👉 Записаться: https://vk.cc/d0DT3C
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
❤4
Быстрый совет по Linux💡
Когда нужно создать сразу несколько каталогов, необязательно делать это по одному.
Команда mkdir поддерживает расширение фигурных скобок (brace expansion), позволяя создать несколько вложенных директорий за один раз.
Эта команда мгновенно создаёт папки для двух сайтов - у каждого будет свой каталог backup, monitoring и network.
Отличный способ сэкономить время и поддерживать порядок в структуре директорий.
📲 Мы в MAX
👉 @i_odmin
Когда нужно создать сразу несколько каталогов, необязательно делать это по одному.
Команда mkdir поддерживает расширение фигурных скобок (brace expansion), позволяя создать несколько вложенных директорий за один раз.
$ mkdir -p ~/scripts/{site-01,site-02}/{backup,monitoring,network}
Эта команда мгновенно создаёт папки для двух сайтов - у каждого будет свой каталог backup, monitoring и network.
Отличный способ сэкономить время и поддерживать порядок в структуре директорий.
📲 Мы в MAX
👉 @i_odmin
👍10❤2
Структура каталогов Linux
📁 /
∟ 📄boot
∟ 📁bin
∟ 📄ls
∟ 📄mkdir
∟ 📁dev
∟ 📄sda
∟ 📁etc
∟ 📄hostname
∟ 📄passwd
∟ 📄nginx .conf
∟ 📁home
∟ 📁user1
∟ 📄.bashrc
∟ 📁user2
∟ 📄notes.txt
∟ 📄.bashrc
∟ 📁lib
∟ 📄libcrypto .so
∟ 📄libssl .so
∟ 📁mnt
∟ 📁opt
∟ 📁app1
∟ 📄app1_executable
∟ 📁app2
∟ 📄app2_executable
∟ 📁proc
∟ 📁root
∟ 📁sbin
∟ 📄init
∟ 📄shutdown
∟ 📁srv
∟ 📁sys
∟ 📁tmp
∟ 📁usr
∟ 📁bin
∟ 📄gcc
∟ 📄python
∟ 📁include
∟ 📁lib
∟ 📄libncurses .so
∟ 📁local
∟ 📁bin
∟ 📄custom_app
∟ 📁lib
∟ 📄libcustom_lib .so
∟ 📁share
∟ 📁var
∟ 📁log
∟ 📄syslog
∟ 📄nginx .log
∟ 📁www
∟ 📁html
∟ 📄index .html
📲 Мы в MAX
👉 @i_odmin
📁 /
∟ 📄boot
∟ 📁bin
∟ 📄ls
∟ 📄mkdir
∟ 📁dev
∟ 📄sda
∟ 📁etc
∟ 📄hostname
∟ 📄passwd
∟ 📄nginx .conf
∟ 📁home
∟ 📁user1
∟ 📄.bashrc
∟ 📁user2
∟ 📄notes.txt
∟ 📄.bashrc
∟ 📁lib
∟ 📄libcrypto .so
∟ 📄libssl .so
∟ 📁mnt
∟ 📁opt
∟ 📁app1
∟ 📄app1_executable
∟ 📁app2
∟ 📄app2_executable
∟ 📁proc
∟ 📁root
∟ 📁sbin
∟ 📄init
∟ 📄shutdown
∟ 📁srv
∟ 📁sys
∟ 📁tmp
∟ 📁usr
∟ 📁bin
∟ 📄gcc
∟ 📄python
∟ 📁include
∟ 📁lib
∟ 📄libncurses .so
∟ 📁local
∟ 📁bin
∟ 📄custom_app
∟ 📁lib
∟ 📄libcustom_lib .so
∟ 📁share
∟ 📁var
∟ 📁log
∟ 📄syslog
∟ 📄nginx .log
∟ 📁www
∟ 📁html
∟ 📄index .html
📲 Мы в MAX
👉 @i_odmin
👍10❤1🤩1👀1
This media is not supported in your browser
VIEW IN TELEGRAM
24 сентября Yandex Cloud проведёт Yandex Scale 2026 — флагманскую технологическую конференцию, посвящённую облачным технологиям, инфраструктуре и искусственному интеллекту.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
В программе четыре продуктовых трека — AI, Data, Security и Hybrid Infrastructure & DevOps, — и отдельный углублённый технологический трек DeepTech, который пройдёт только онлайн.
В треке Hybrid Infrastructure & DevOps откроем программу рассказом про главные инфраструктурные анонсы и новинки 2026 года. На примере Stackland расскажем, как построить свою внутреннюю платформу по методологии Platform Engineering и ускорить time to market. Разберём, зачем бизнесу кластеры Yandex Managed Service for Kubernetes на тысячи нод — на реальном продакшн-кейсе Mindbox. Расскажем, как получить предсказуемую и безопасную ИИ‑разработку с ИИ‑командой на платформе SourceCraft и максимизировать возврат инвестиций от ИИ. Разберём возможности построения реальной гибридной инфраструктуры на базе единой технологической платформы и то, как полноценно объединить локальную и облачную среды, включая выделенные серверы BareMetal. И на примере крупного банка рассмотрим, как создать полноценный гибрид, соблюдая требования безопасности, регуляторов и бизнеса одновременно.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
Отдельно пройдут воркшопы по Hybrid Infrastructure & DevOps. Смоделируем аварию на физическом сервере и проверим, как гибридная архитектура на облаке и BareMetal держит отказоустойчивость. Научим разворачивать корпоративную ИИ-систему с RAG-сценарием на Yandex BareMetal и Stackland — чтобы модель работала с внутренней документацией и базами знаний. Разберём, как эффективно делить GPU-ресурсы Yandex Managed Service for Kubernetes между параллельными задачами обучения моделей. И покажем, как команда ИИ-агентов SourceCraft проходит путь от бизнес-требований до безопасного релиза — с проверкой на уязвимости на каждом шаге.
🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨 🎨
На конференции будут не только треки — ещё демозоны, питчинг решений, IT-квест и мерч. Параллельно в онлайн-студии — розыгрыш призов и секретный гость.
Программа целиком — на сайте конференции, регистрация там же, а участие бесплатное!
Please open Telegram to view this post
VIEW IN TELEGRAM
❤3💩1🤡1
Iptables-tracer
Утилита, позволяющая отследить путь прохождения пакетов через цепочки iptables на сервере.
Инструмент пришёл на помощь в ситуации, когда появилась необходимость увидеть, проходит ли трафик через нужные цепочки iptables.
Установка и сборка.
Здесь ничего сложного. Нам потребуются git и go в системе. Устанавливаем всё необходимое и собираем.
Результатом сборки будет бинарный файл iptables-tracer в директории.
Использование.
Важно понимать, что при остановке iptables-tracer (запущенного с параметрами или без), созданные правила удалены не будут, это нужно сделать самостоятельно, выполнив команду с аргументом -с:
Будучи запущенным без каких-либо аргументов, трейсер будет выводить информацию о udp трафике имеющем dport 53.
При этом, в списке правил iptables можно увидеть следующее:
При необходимости, мы можем отфильтровать только нужный нам трафик с помощью параметра -f и уже знакомого нам iptables синтаксиса. Например, отобразить информацию о трафике, поступающем с IP адреса 5.189.221.98 на порт 22. С помощью параметра -t мы указываем время в течение которого информация будет проверяться:
https://github.com/x-way/iptables-tracer
📲 Мы в MAX
👉 @i_odmin
Утилита, позволяющая отследить путь прохождения пакетов через цепочки iptables на сервере.
Инструмент пришёл на помощь в ситуации, когда появилась необходимость увидеть, проходит ли трафик через нужные цепочки iptables.
Установка и сборка.
Здесь ничего сложного. Нам потребуются git и go в системе. Устанавливаем всё необходимое и собираем.
Результатом сборки будет бинарный файл iptables-tracer в директории.
# dnf install git go
# git clone https://github.com/x-way/iptables-tracer
# cd ./iptables-tracer/
# go build
Использование.
Важно понимать, что при остановке iptables-tracer (запущенного с параметрами или без), созданные правила удалены не будут, это нужно сделать самостоятельно, выполнив команду с аргументом -с:
# ./iptables-tracer -c
Будучи запущенным без каких-либо аргументов, трейсер будет выводить информацию о udp трафике имеющем dport 53.
# ./iptables-tracer
12:36:02.455805 raw OUTPUT 0x00000000 0x00000000 IP 95.216.163.224.33873 > 185.12.64.1.53: 21597+ A? sysadmin.pm. (29) [In: Out:eth0]
...
12:36:02.456483 raw OUTPUT 0x00000000 0x00000000 IP 95.216.163.224.33873 > 185.12.64.1.53: 61055+ AAAA? sysadmin.pm. (29) [In: Out:eth0]При этом, в списке правил iptables можно увидеть следующее:
# iptables-save | grep nflog
-A PREROUTING -p udp -m udp --dport 53 -j NFLOG --nflog-prefix "iptr:4701:0" --nflog-group 22
-A INPUT -p udp -m udp --dport 53 -j NFLOG --nflog-prefix "iptr:4701:1" --nflog-group 22
-A OUTPUT -p udp -m udp --dport 53 -j NFLOG --nflog-prefix "iptr:4701:2" --nflog-group 22
...
-A OUTPUT -p udp -m udp --dport 53 -j NFLOG --nflog-prefix "iptr:4701:13" --nflog-group 22При необходимости, мы можем отфильтровать только нужный нам трафик с помощью параметра -f и уже знакомого нам iptables синтаксиса. Например, отобразить информацию о трафике, поступающем с IP адреса 5.189.221.98 на порт 22. С помощью параметра -t мы указываем время в течение которого информация будет проверяться:
# ./iptables-tracer -f "-s 5.189.221.98 -p tcp --dport 22" -t 90s
12:50:27.599117 raw PREROUTING 0x00000000 0x00000000 IP 5.189.221.98.59996 > 95.216.163.224.22: Flags [S], seq 446722502, win 64240, options [mss 1203,sackOK,TS val 2477044911 ecr 0,nop,wscale 7], length 0 [In:eth0 Out:]
12:50:27.599259 mangle PREROUTING 0x00000000 0x00000000 IP 5.189.221.98.59996 > 95.216.163.224.22: Flags [S], seq 446722502, win 64240, options [mss 1203,sackOK,TS val 2477044911 ecr 0,nop,wscale 7], length 0 [In:eth0 Out:]
12:50:27.599870 mangle INPUT 0x00000000 0x00000000 IP 5.189.221.98.59996 > 95.216.163.224.22: Flags [S], seq 446722502, win 64240, options [mss 1203,sackOK,TS val 2477044911 ecr 0,nop,wscale 7], length 0 [In:eth0 Out:]
12:50:27.600005 filter INPUT 0x00000000 0x00000000 IP 5.189.221.98.59996 > 95.216.163.224.22: Flags [S], seq 446722502, win 64240, options [mss 1203,sackOK,TS val 2477044911 ecr 0,nop,wscale 7], length 0 [In:eth0 Out:]https://github.com/x-way/iptables-tracer
📲 Мы в MAX
👉 @i_odmin
👍7❤2🔥1
🚀 Подборка полезных IT каналов в Max
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://xn--r1a.website/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Городские📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
https://max.ru/channel_krasnodar_novosty Краснодар Новости
https://max.ru/channel_novosibirsk_novosti Новосибирск
https://max.ru/channel_samara_novosti Новости Самары
https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга
https://max.ru/channel_kazan_novosti Новости Казани
https://max.ru/channel_omsk_novosti Новости Омска
https://max.ru/channel_moskva_24 Москва 24
Системное администрирование, DevOps 📌
https://max.ru/i_odmin Все для системного администратора
https://max.ru/bash_srv Bash Советы
https://max.ru/sysadminof Книги для админов, полезные материалы
https://max.ru/i_odmin_book Библиотека Системного Администратора
https://max.ru/i_devops DevOps: Пишем о Docker, Kubernetes и др.
https://max.ru/tipsysdmin Типичный Сисадмин
https://max.ru/channel_win_sysadmin Системный Администратор Windows
https://max.ru/channel_linux_admin Linux: Системный администратор
https://max.ru/channel_linuxmod Linux
https://max.ru/channel_i_linux Системный администратор
https://max.ru/channel_devopslib DevOps, SRE, Sysadmin
https://max.ru/channel_devops_star DevOps Star (Звезда Девопса)
Excel лайфхак 📌
https://xn--r1a.website/Excel_lifehack Excel лайфхак
Английский с нуля 🇬🇧
https://max.ru/UchuEnglish
1C разработка 📌
https://max.ru/odin1c_rus Cтатьи, курсы, советы, шаблоны кода 1С
https://max.ru/channel_DevLab1C 1С:Предприятие 8
Программирование C++📌
https://max.ru/cpp_lib Библиотека C/C++ разработчика
https://max.ru/channel_cpp_geek C++ geek
Программирование Go📌
https://max.ru/golang_lib Библиотека Go (Golang) разработчика
Программирование React📌
https://max.ru/react_lib React
Программирование Rust📌
https://max.ru/channel_rust_lib
Программирование Python 📌
https://max.ru/python_of Python академия.
https://max.ru/BookPython Библиотека Python разработчика
Java разработка 📌
https://max.ru/bookjava Библиотека Java разработчика
https://max.ru/channel_java_geek Java Geek
GitHub Сообщество 📌
https://max.ru/githublib Интересное из GitHub
Базы данных (Data Base) 📌
https://max.ru/database_info Все про базы данных
Фронтенд разработка 📌
https://max.ru/frontend_1 Подборки для frontend разработчиков
Библиотеки 📌
https://max.ru/programmist_of Книги по программированию
https://max.ru/proglb Библиотека программиста
https://max.ru/bfbook Книги для программистов
Программирование 📌
https://max.ru/bookflow Лекции, видеоуроки, доклады с IT конференций
https://max.ru/itmozg Программисты, дизайнеры, новости из мира IT
https://max.ru/php_lib Библиотека PHP программиста 👨🏼💻👩💻
Шутки программистов 📌
https://max.ru/itumor Шутки программистов
Защита, взлом, безопасность 📌
https://max.ru/thehaking Канал о кибербезопасности
https://max.ru/xakkep_1 Хакер Free
Книги, статьи для дизайнеров 📌
https://max.ru/odesigners Статьи, книги для дизайнеров
Математика 📌
https://max.ru/Pomatematike Канал по математике
https://max.ru/phismat_1 Обучающие видео, книги по Физике и Математике
Вакансии в IT📌
https://max.ru/progjob
https://max.ru/channel_rabotait
Мир технологий 📌
https://max.ru/mir_teh Канал для любознательных
Городские📌
https://max.ru/piterspb_78 Свежие новости Санкт-Петербурга
https://max.ru/mockva_life Свежие новости Москвы
https://max.ru/piterspb Питер Новости: Санкт-Петербург / СПБ / ДТП
https://max.ru/channel_krasnodar_novosty Краснодар Новости
https://max.ru/channel_novosibirsk_novosti Новосибирск
https://max.ru/channel_samara_novosti Новости Самары
https://max.ru/channel_ekaterinburg_novosti Новости Екатеринбурга
https://max.ru/channel_kazan_novosti Новости Казани
https://max.ru/channel_omsk_novosti Новости Омска
https://max.ru/channel_moskva_24 Москва 24
MAX
Системный Администратор | Sysadmin Windows & Linux Server. …
Купить рекламу: https://telega.in/m/i_odmin
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
Блог практикующего админа. Настройка Windows Server, Active Directory (AD), GPO и терминальных серверов (RDP). Раб…
💩18🤮1
Media is too big
VIEW IN TELEGRAM
Linux: настройка мониторинга за 15 минут с помощью Grafana и Prometheus
В этом видео показывается, как организовать мониторинг сервера/компьютера на операционной системе Linux с помощью Grafana, Prometheus и Node Exporter
источник
📲 Мы в MAX
👉 @i_odmin
В этом видео показывается, как организовать мониторинг сервера/компьютера на операционной системе Linux с помощью Grafana, Prometheus и Node Exporter
источник
📲 Мы в MAX
👉 @i_odmin
🔥9👍4
Вы уже заметили, что сайты банков и контрагентов стали открываться с предупреждением «Подключение не защищено»?
Дело в том, что GlobalSign отзывает SSL-сертификаты у российских компаний, и те переходят на сертификаты Национального удостоверяющего центра Минцифры (НУЦ). Chrome, Safari, Firefox и Edge таким сертификатам не доверяют — и сайты перестают открываться. Из-за этого встают платежи, работа с ЭДО и закупки на госплощадках.
Сертификаты отзывают постепенно, по мере истечения срока, так что список недоступных сайтов будет пополняться ещё месяцами. Вот что можно с этим сделать.
Способ первый: поставить корневые сертификаты НУЦ вручную. Ставить придётся на каждый компьютер, включая домашние ноутбуки и телефоны сотрудников, а потом проверять, что после обновления системы всё осталось на месте. В больших компаниях это займёт не один день.
Способ второй: разослать сертификаты сразу на все компьютеры, через систему управления устройствами или групповые политики. Это сработает, если такая система уже есть и все компьютеры подключены к домену. С личными устройствами сотрудников так не получится.
Способ третий: установить Яндекс Браузер для организаций. Он поддерживает все нужные сертификаты безопасности, поэтому сайты открываются в нём без ошибок. Настройками можно управлять централизованно, а соединение шифруется по TLS.
Установите Браузер в вашей компании!
Дело в том, что GlobalSign отзывает SSL-сертификаты у российских компаний, и те переходят на сертификаты Национального удостоверяющего центра Минцифры (НУЦ). Chrome, Safari, Firefox и Edge таким сертификатам не доверяют — и сайты перестают открываться. Из-за этого встают платежи, работа с ЭДО и закупки на госплощадках.
Сертификаты отзывают постепенно, по мере истечения срока, так что список недоступных сайтов будет пополняться ещё месяцами. Вот что можно с этим сделать.
Способ первый: поставить корневые сертификаты НУЦ вручную. Ставить придётся на каждый компьютер, включая домашние ноутбуки и телефоны сотрудников, а потом проверять, что после обновления системы всё осталось на месте. В больших компаниях это займёт не один день.
Способ второй: разослать сертификаты сразу на все компьютеры, через систему управления устройствами или групповые политики. Это сработает, если такая система уже есть и все компьютеры подключены к домену. С личными устройствами сотрудников так не получится.
Способ третий: установить Яндекс Браузер для организаций. Он поддерживает все нужные сертификаты безопасности, поэтому сайты открываются в нём без ошибок. Настройками можно управлять централизованно, а соединение шифруется по TLS.
Установите Браузер в вашей компании!
😁11👍5💩5🔥1🍌1