Media is too big
VIEW IN TELEGRAM
▶️ ИНЖЕНЕР "ПРО РУТИНУ"
Специфичный юмор, заточенный под позднесоветскую ностальгию для тех, кому 40+, а может и все 50+. Сразу скажу, что у этого автора больше ничего не нравится. А этот ролик как-то запал. Не знаю почему. Мне он показался очень близким к современному крупному корпоративному IT с его удалёнкой, зачастую бессмысленной рутиной и кластерами Кубернетис, которые всё внедряют и внедряют.
"Везде все одинаковые. Всё вокруг одно и то же. Одно и то же по кругу, как на стадионе."
"Я уже неделю на работу хожу и ни разу туда не пришёл!"
"Мы изобрели какой-то провод странный, зачем он нужен? 5 лет работали над ним."
К сожалению, не обладаю хорошими навыками монтажа видео. В конце так и просится переделка в стиле:
"Мы внедрили кластер Kubernetes. Зачем он нужен? 5 лет работали над ним, монолит пилили."
И потом вот это видео в продолжении:❓ А у вас есть Кубернетис?
#юмор
Специфичный юмор, заточенный под позднесоветскую ностальгию для тех, кому 40+, а может и все 50+. Сразу скажу, что у этого автора больше ничего не нравится. А этот ролик как-то запал. Не знаю почему. Мне он показался очень близким к современному крупному корпоративному IT с его удалёнкой, зачастую бессмысленной рутиной и кластерами Кубернетис, которые всё внедряют и внедряют.
"Везде все одинаковые. Всё вокруг одно и то же. Одно и то же по кругу, как на стадионе."
"Я уже неделю на работу хожу и ни разу туда не пришёл!"
"Мы изобрели какой-то провод странный, зачем он нужен? 5 лет работали над ним."
К сожалению, не обладаю хорошими навыками монтажа видео. В конце так и просится переделка в стиле:
"Мы внедрили кластер Kubernetes. Зачем он нужен? 5 лет работали над ним, монолит пилили."
И потом вот это видео в продолжении:
#юмор
Please open Telegram to view this post
VIEW IN TELEGRAM
3👍62👎4
🎓 Известный титулованный питерский институт ИТМО, который готовит ИТ специалистов, выкладывает в сеть много обучающего материала. Точнее не он, а его лекторы на неофициальных каналах. Я как минимум 2 нашёл, где выложены полноценные академические лекции для студентов. К некоторым даже конспекты есть.
В уникальное время мы живём. Все знания доступны. Бери и пользуйся. Никакой сакрализации научных знаний. Каждому доступно университетское образование, причём на всех языках мира.
Я нашёл как минимум 2 насыщенных лекциями преподавателей ИТМО youtube канала. Сразу дам ссылки на конкретные курсы лекций:
Записи курса компьютерных сетей, который читается для студентов третьего года обучения программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в шестом семестре.
Лектор: Сергей Мельников
▶️ [s6 | 2023] Компьютерные сети
✍️ Конспект лекций
Лекции Артема Береснева по курсу Компьютерные сети в университете ИТМО
▶️ Лекции по курсу Компьютерные сети
Живая, аудиторная запись. Звук не очень, но атмосферу передает.
▶️ Администрирование Windows Server
Полный курс из 15-ти лекций по администрированию GNU/Linux
▶️ Администрирование в ОС GNU/Linux
Записи лекций по курсу «Разработка на Go», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в качестве курса по выбору.
Лектор: Панасюк И.А.
▶️ [SC | 2024] Разработка на Go
Записи лекций по курсу «Операционные системы», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: А. В. Маятин
▶️ [s3 | 2024] Операционные системы (light)
Записи лекций по курсу «Операционные системы (hard)», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: А. В. Романовский
▶️ [s3 | 2024] Операционные системы (hard) - лекции
Записи лекций по курсу «Операционные системы (hard) — практики», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: Никита Сычев
▶️ Операционные системы (hard) - практики
Стало интересно, что это вообще за институт. Посмотрел образовательные программы и программы обучения. Всё самое современное, типа DevOps в разработке и управлении информационными системами. Вспоминаю, как я учился в начале 2000-х и что тогда проходили в вузах. По IT вообще ничего актуального не было. Все в основном учились где и как попало, а потом сами всё изучали на работе. Я учился в МИРЭА на бюджете и потом в РосНОУ платно. Как хорошо, что я ушёл из МИРЭА. Там вообще ничего востребованного не преподавали в то время. В РосНОУ хоть что-то похожее на актуальные знания были: программирование, в том числе C++, Java, системное администрирование, операционные системы. Институт был новый, более-менее современный на тот момент.
Другое дело, что в том же ИТМО всё в основном платное. В среднем 450-550 т.р. за год. Дорого, конечно, но не запредельно, если у тебя мало детей. А если как у меня 4-ро, то денег для всех на такое обучение скорее всего не будет. Пока не знаю, как буду выкручиваться.
Мне интересно, есть примеры людей, которые не получили высшее образование, но учились по подобным лекциям в интернете? Они вообще хоть кем-нибудь изучаются или выкладываются в основном чтобы были?
#обучение
В уникальное время мы живём. Все знания доступны. Бери и пользуйся. Никакой сакрализации научных знаний. Каждому доступно университетское образование, причём на всех языках мира.
Я нашёл как минимум 2 насыщенных лекциями преподавателей ИТМО youtube канала. Сразу дам ссылки на конкретные курсы лекций:
Записи курса компьютерных сетей, который читается для студентов третьего года обучения программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в шестом семестре.
Лектор: Сергей Мельников
▶️ [s6 | 2023] Компьютерные сети
✍️ Конспект лекций
Лекции Артема Береснева по курсу Компьютерные сети в университете ИТМО
▶️ Лекции по курсу Компьютерные сети
Живая, аудиторная запись. Звук не очень, но атмосферу передает.
▶️ Администрирование Windows Server
Полный курс из 15-ти лекций по администрированию GNU/Linux
▶️ Администрирование в ОС GNU/Linux
Записи лекций по курсу «Разработка на Go», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в качестве курса по выбору.
Лектор: Панасюк И.А.
▶️ [SC | 2024] Разработка на Go
Записи лекций по курсу «Операционные системы», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: А. В. Маятин
▶️ [s3 | 2024] Операционные системы (light)
Записи лекций по курсу «Операционные системы (hard)», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: А. В. Романовский
▶️ [s3 | 2024] Операционные системы (hard) - лекции
Записи лекций по курсу «Операционные системы (hard) — практики», который читается для студентов программы «Прикладная математика и информатика» факультета ИТиП университета ИТМО в третьем семестре.
Лектор: Никита Сычев
▶️ Операционные системы (hard) - практики
Стало интересно, что это вообще за институт. Посмотрел образовательные программы и программы обучения. Всё самое современное, типа DevOps в разработке и управлении информационными системами. Вспоминаю, как я учился в начале 2000-х и что тогда проходили в вузах. По IT вообще ничего актуального не было. Все в основном учились где и как попало, а потом сами всё изучали на работе. Я учился в МИРЭА на бюджете и потом в РосНОУ платно. Как хорошо, что я ушёл из МИРЭА. Там вообще ничего востребованного не преподавали в то время. В РосНОУ хоть что-то похожее на актуальные знания были: программирование, в том числе C++, Java, системное администрирование, операционные системы. Институт был новый, более-менее современный на тот момент.
Другое дело, что в том же ИТМО всё в основном платное. В среднем 450-550 т.р. за год. Дорого, конечно, но не запредельно, если у тебя мало детей. А если как у меня 4-ро, то денег для всех на такое обучение скорее всего не будет. Пока не знаю, как буду выкручиваться.
Мне интересно, есть примеры людей, которые не получили высшее образование, но учились по подобным лекциям в интернете? Они вообще хоть кем-нибудь изучаются или выкладываются в основном чтобы были?
#обучение
YouTube
[s6 | 2023] Компьютерные сети, Сергей Мельников
Записи курса компьютерных сетей, который читается для студентов третьего года обучения программы «Прикладная математика и информатика» факультета ИТиП универ...
2👍136👎3
На прошлой неделе делал подборку инструментов для логирования действий пользователя в консоли. В комментариях справедливо заметили, что всё это умеет делать практически штатный инструмент - auditd. Его всегда рекомендуют включать и настраивать в контексте вопросов безопасности. Например, в руководствах CIS (#cis) о нём всегда упоминают.
Auditd я знаю, иногда настраиваю. Я о нём писал, как об инструменте для контроля за изменениями файлов. С его помощью это сделать относительно просто. Но честно скажу, не очень его люблю. Настройка неинтуитивна, логи перенасыщены информацией, чтобы просто посмотреть лог и что-то там найти, надо вспоминать команды или грепать текстовый лог.
Тем не менее, auditd это линуксовая база, так что знать его полезно. Настроим в нём логирование пользовательских команд. Auditd будет записывать не только запущенную команду, но и реально выполненную, а так же сопутствующую информацию: рабочая директория, файлы, связанные с выполнением, системный вызов, pid, uid, gid, tty и другие вещи.
Устанавливаем auditd:
Создаём правило, добавив в файл
По совету читателя добавил два правила: для пользователя root и для всех остальных. Правила идентичные, пользователя root идентифицировали через euid=0 и auid=0. Нулевые значения соответствуют root.
Применяем правила:
Теперь все команды пользователей записываются в соответствием с правилами. Смотрим команды root:
Вывалится большая портянка. Каждая команда в своём блоке, где будет указано:
◽️Дата и время выполнения
◽️PROCTITLE - выполненная команда
◽️PATH - файлы, связанные с выполнением (какие-нибудь библиотеки, сам исполняемый файл и т.д.)
◽️CWD - рабочая директория
◽️EXECVE - аргументы команды, если есть.
◽️SYSCALL - выполненный системный вызов со всеми свойствами в виде пользователя, pid, самой команды, исполняемого файла и т.д.
Как можно увидеть, информация исчерпывающая. Вроде и хорошо, что так подробно. С точки зрения безопасности полезная информация. Но быстро глянуть, кто тут что запускал, не получится. Например, если пользователь просто запустил mc, то в лог улетит не только эта команда, но и сопутствующие. Mc открывает свой bash и это тоже будет отражено в логе, также он запускает бинарники cons.saver, dircolors. Избыток подробной информации может сбивать с толку и усложнять аудит. С точки зрения безопасности это полезная информация, а с точки зрения посмотреть, кто тут что делал, не очень.
Может помочь команда, которая выведет список всех выполненных исполняемых файлов:
Также неудобно смотреть команды, запущенные через pipe. В auditd они будут отображены по отдельности.
По умолчанию auditd хранит логи в
Либо настроить пересылку логов в syslog. Для локального syslog сервера есть плагин с настройками в файле
Auditd – мощный инструмент для мониторинга событий операционной системы. Он взаимодействует напрямую с ядром, наблюдает за системными вызовами. Всё, что с ними связано, может записывать. Можно создавать отдельные правила для конкретных приложений и наблюдать за ними.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#auditd #ssh #security
Auditd я знаю, иногда настраиваю. Я о нём писал, как об инструменте для контроля за изменениями файлов. С его помощью это сделать относительно просто. Но честно скажу, не очень его люблю. Настройка неинтуитивна, логи перенасыщены информацией, чтобы просто посмотреть лог и что-то там найти, надо вспоминать команды или грепать текстовый лог.
Тем не менее, auditd это линуксовая база, так что знать его полезно. Настроим в нём логирование пользовательских команд. Auditd будет записывать не только запущенную команду, но и реально выполненную, а так же сопутствующую информацию: рабочая директория, файлы, связанные с выполнением, системный вызов, pid, uid, gid, tty и другие вещи.
Устанавливаем auditd:
# apt install auditd
Создаём правило, добавив в файл
/etc/audit/rules.d/audit.rules
несколько новых строк:-a always,exit -F arch=b64 -F euid=0 -F auid=0 -S execve -S execveat -k root_auth_command_execution
-a always,exit -F arch=b32 -F euid=0 -F auid=0 -S execve -S execveat -k root_auth_command_execution
-a always,exit -F arch=b64 -F auid!=-1 -S execve -S execveat -k generic_command_execution
-a always,exit -F arch=b32 -F auid!=-1 -S execve -S execveat -k generic_command_execution
По совету читателя добавил два правила: для пользователя root и для всех остальных. Правила идентичные, пользователя root идентифицировали через euid=0 и auid=0. Нулевые значения соответствуют root.
Применяем правила:
# auditctl -R /etc/audit/rules.d/audit.rules
Теперь все команды пользователей записываются в соответствием с правилами. Смотрим команды root:
# ausearch -k root_auth_command_execution
Вывалится большая портянка. Каждая команда в своём блоке, где будет указано:
◽️Дата и время выполнения
◽️PROCTITLE - выполненная команда
◽️PATH - файлы, связанные с выполнением (какие-нибудь библиотеки, сам исполняемый файл и т.д.)
◽️CWD - рабочая директория
◽️EXECVE - аргументы команды, если есть.
◽️SYSCALL - выполненный системный вызов со всеми свойствами в виде пользователя, pid, самой команды, исполняемого файла и т.д.
Как можно увидеть, информация исчерпывающая. Вроде и хорошо, что так подробно. С точки зрения безопасности полезная информация. Но быстро глянуть, кто тут что запускал, не получится. Например, если пользователь просто запустил mc, то в лог улетит не только эта команда, но и сопутствующие. Mc открывает свой bash и это тоже будет отражено в логе, также он запускает бинарники cons.saver, dircolors. Избыток подробной информации может сбивать с толку и усложнять аудит. С точки зрения безопасности это полезная информация, а с точки зрения посмотреть, кто тут что делал, не очень.
Может помочь команда, которая выведет список всех выполненных исполняемых файлов:
# aureport -x -i
Также неудобно смотреть команды, запущенные через pipe. В auditd они будут отображены по отдельности.
По умолчанию auditd хранит логи в
/var/log/audit/audit.log
. Читать их или грепать напрямую неудобно. Там всё сплошным потоком, без дат. Можно через ausearch
или aureport
выгружать их в файлы:# aureport -x -i > /var/log/audit_exec_summary.log
Либо настроить пересылку логов в syslog. Для локального syslog сервера есть плагин с настройками в файле
/etc/audit/plugins.d/syslog.conf
. С локального можно на внешний пересылать.Auditd – мощный инструмент для мониторинга событий операционной системы. Он взаимодействует напрямую с ядром, наблюдает за системными вызовами. Всё, что с ними связано, может записывать. Можно создавать отдельные правила для конкретных приложений и наблюдать за ними.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#auditd #ssh #security
4👍123👎2
Когда-то давно писал про одну полезную консольную команду, которой иногда пользуюсь. Она принудительно и моментально отправляет сервер с Linux в перезагрузку. Эффект аналогичен нажатию на кнопку reset:
Разница с консольными командами reboot или shutdown как минимум в том, что они обычные бинарники на диске.
Хотя на самом деле это уже давно не бинарники, а только ссылки на
Если с диском какие-то проблемы, либо он загружен так, что ни на что не отвечает, штатный reboot не состоится, либо будет долго исполняться. К тому же reboot пытается корректно отключить примонтированные диски. Очевидно, что если с одним из них проблемы, то тоже будет всё тупить и подвисать.
В случае же с приведенной командой, если вы уже находитесь в какой-то загруженной оболочке, сервер моментально перезапустится.
Недавно, кстати, в статье видел использование команды с принудительной перезагрузкой. Там автор наживую накатил на VPS поверх работающей системы RouterOS. Соответственно, текущую файловую систему он уничтожил, никакой бинарник запустить невозможно. А само ядро ОС всё ещё живёт в памяти и работает. Вот ему и можно отправить напрямую команду на перезагрузку.
Эта команда является частью так называемых Linux Magic System Request Key Hacks (sysrq). Магические сочетания клавиш, которые отправляют команды напрямую в ядро. Они реально привязаны к сочетаниям клавиш, выполняемых с управляющего терминала и подключенной клавиатуры. ALT + SysRq + <command key>. Клавиша SysRq часто совмещена с PrtSc. Уже не помню, когда последний раз сидел за экраном реального сервера, если это не мои домашние тестовые компы. Обычно везде хоть какой-то IPMI есть.
Ядро должно поддерживать эти команды. Обычно в популярных дистрибутивах это так:
◽️ 0 - sysrq отключен
◽️ 1 - sysrq полностью включен
◽️ >1 - включены отдельные функции
На Debian или Centos, с которыми я больше всего работал, перезагрузка всегда срабатывала.
Команд, которые можно отправить ядру, довольно много. Я лично использую только b для перезагрузки. Остальные не помню и никогда не использовал. А про reboot помню. Видел рекомендации, что перед перезагрузкой попробовать какие-то другие команды, типа тех, что отмонтируют диски, завершат процессы и т.д. Обычно если ты жёстко ресетишь сервер, то пробовать что-то не имеет большого смысла, потому что уже висим.
Если всё же интересно, то весь список команд можно запросить у ядра:
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #terminal
# echo b > /proc/sysrq-trigger
Разница с консольными командами reboot или shutdown как минимум в том, что они обычные бинарники на диске.
# type reboot
reboot is /usr/sbin/reboot
# type shutdown
shutdown is /usr/sbin/shutdown
Хотя на самом деле это уже давно не бинарники, а только ссылки на
/bin/systemctl
, но это не отменяет того, что последний тем не менее исполняемый файл. Он должен существовать, а во время выполнения пошуршать диском. У него куча ссылок на таргеты и службы systemd. Если с диском какие-то проблемы, либо он загружен так, что ни на что не отвечает, штатный reboot не состоится, либо будет долго исполняться. К тому же reboot пытается корректно отключить примонтированные диски. Очевидно, что если с одним из них проблемы, то тоже будет всё тупить и подвисать.
В случае же с приведенной командой, если вы уже находитесь в какой-то загруженной оболочке, сервер моментально перезапустится.
Недавно, кстати, в статье видел использование команды с принудительной перезагрузкой. Там автор наживую накатил на VPS поверх работающей системы RouterOS. Соответственно, текущую файловую систему он уничтожил, никакой бинарник запустить невозможно. А само ядро ОС всё ещё живёт в памяти и работает. Вот ему и можно отправить напрямую команду на перезагрузку.
Эта команда является частью так называемых Linux Magic System Request Key Hacks (sysrq). Магические сочетания клавиш, которые отправляют команды напрямую в ядро. Они реально привязаны к сочетаниям клавиш, выполняемых с управляющего терминала и подключенной клавиатуры. ALT + SysRq + <command key>. Клавиша SysRq часто совмещена с PrtSc. Уже не помню, когда последний раз сидел за экраном реального сервера, если это не мои домашние тестовые компы. Обычно везде хоть какой-то IPMI есть.
Ядро должно поддерживать эти команды. Обычно в популярных дистрибутивах это так:
# cat /proc/sys/kernel/sysrq
◽️ 0 - sysrq отключен
◽️ 1 - sysrq полностью включен
◽️ >1 - включены отдельные функции
На Debian или Centos, с которыми я больше всего работал, перезагрузка всегда срабатывала.
Команд, которые можно отправить ядру, довольно много. Я лично использую только b для перезагрузки. Остальные не помню и никогда не использовал. А про reboot помню. Видел рекомендации, что перед перезагрузкой попробовать какие-то другие команды, типа тех, что отмонтируют диски, завершат процессы и т.д. Обычно если ты жёстко ресетишь сервер, то пробовать что-то не имеет большого смысла, потому что уже висим.
Если всё же интересно, то весь список команд можно запросить у ядра:
# echo h > /proc/sysrq-trigger | less /var/log/kern.log
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#linux #terminal
👍268👎2
❗️Важная информация для тех, кто числится системным администратором и оформлен по этой специальности. А также для тех, кто оказывает услуги по ремонту и настройке компьютеров и серверов. Наши законотворцы не перестают удивлять и подготовили очередные нововведения. Они вроде бы и не про нас, но по касательной задевает. Новость не новая, но я только на днях увидел и слегка напрягся. Только недавно всех блогеров в реестр загнали, а тут и за технарей взялись.
Правительство России готовится утвердить проект реформирования интернет-отрасли. В обозримом будущем будет создано государственное полукоммерческое учреждение «МУП Интернет», в которое войдут все провайдеры сети Интернет, дата-центры, хостинги, регистраторы доменов, мессенджеры, серверы электронной почты, производители телекоммуникационного оборудования, системные администраторы а также частные предприниматели, оказывающие услуги по ремонту компьютеров.
.........................................................
Новая организация будет контролировать все TCP и UDP пакеты в стране, отвечать за их целостность, а также их соответствие критериям, установленным госбезопасностью. Ей поручат организовать досмотр всех исходящих и входящих пакетов как автоматизированными средствами, так и операторами ЭВМ вручную. Системных администраторов и прочих технических специалистов смежных специальностей внесут в соответствующий реестр для привлечения к анализу внештатных всплесков сетевого трафика на магистральных каналах связи. Выезд заграницу таким специалистам будет ограничен.
⇨ Подробности по ссылке
#разное
Правительство России готовится утвердить проект реформирования интернет-отрасли. В обозримом будущем будет создано государственное полукоммерческое учреждение «МУП Интернет», в которое войдут все провайдеры сети Интернет, дата-центры, хостинги, регистраторы доменов, мессенджеры, серверы электронной почты, производители телекоммуникационного оборудования, системные администраторы а также частные предприниматели, оказывающие услуги по ремонту компьютеров.
.........................................................
Новая организация будет контролировать все TCP и UDP пакеты в стране, отвечать за их целостность, а также их соответствие критериям, установленным госбезопасностью. Ей поручат организовать досмотр всех исходящих и входящих пакетов как автоматизированными средствами, так и операторами ЭВМ вручную. Системных администраторов и прочих технических специалистов смежных специальностей внесут в соответствующий реестр для привлечения к анализу внештатных всплесков сетевого трафика на магистральных каналах связи. Выезд заграницу таким специалистам будет ограничен.
⇨ Подробности по ссылке
#разное
ИА Панорама
В России будет создано ФОУ АГО ГУП «МУП Интернет»
Организация будет отвечать за все TCP- и UDP-пакеты в рунете.
7👍190👎27
🔝 ТОП постов за прошедший месяц. Все самые популярные публикации по месяцам можно почитать со соответствующему хэштэгу #топ. Отдельно можно посмотреть ТОП за прошлые года: 2023 и 2024.
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://www.tg-me.com/boost/srv_admin.
📌 Больше всего пересылок:
◽️Записи лекций института ИТМО (513)
◽️Сервис newreleases.io для отслеживания обновлений ПО (399)
◽️Подборка бесплатных почтовых серверов (399)
📌 Больше всего комментариев:
◽️Выбор рабочего ноутбука (1095 😱)
◽️Мысли на тему своего почтового сервера (240)
◽️Рассуждения на тему Docker (173)
📌 Больше всего реакций:
◽️Работа со службами в systemd (219)
◽️Настройка протокола HTTPv3 в веб сервере (173)
◽️Подборка бесплатных почтовых серверов (172)
📌 Больше всего просмотров:
◽️Управление WireGuard в консоли через wg-cmd (10532)
◽️Сервис newreleases.io для отслеживания обновлений ПО (9804)
◽️Очередная подборка авторских IT роликов (9314)
#топ
Пользуясь случаем, хочу попросить проголосовать за мой канал, так как это открывает некоторые дополнительные возможности по настройке: https://www.tg-me.com/boost/srv_admin.
📌 Больше всего пересылок:
◽️Записи лекций института ИТМО (513)
◽️Сервис newreleases.io для отслеживания обновлений ПО (399)
◽️Подборка бесплатных почтовых серверов (399)
📌 Больше всего комментариев:
◽️Выбор рабочего ноутбука (1095 😱)
◽️Мысли на тему своего почтового сервера (240)
◽️Рассуждения на тему Docker (173)
📌 Больше всего реакций:
◽️Работа со службами в systemd (219)
◽️Настройка протокола HTTPv3 в веб сервере (173)
◽️Подборка бесплатных почтовых серверов (172)
📌 Больше всего просмотров:
◽️Управление WireGuard в консоли через wg-cmd (10532)
◽️Сервис newreleases.io для отслеживания обновлений ПО (9804)
◽️Очередная подборка авторских IT роликов (9314)
#топ
Telegram
ServerAdmin.ru
🎄🔝 Под конец года имеет смысл подвести некоторые итоги. В повседневной жизни я не привык это делать. Обычно только доходы/расходы анализирую. А вот в разрезе канала было интересно посмотреть итоги.
Я подготовил ТОП публикаций за прошедший год. Это было…
Я подготовил ТОП публикаций за прошедший год. Это было…
👍22👎2
Иногда перед запуском контейнеров в Docker Compose хочется выполнить какой-нибудь скрипт или просто набор команд. У данной задачи может быть много различных решений. Предлагаю одно из них, когда перед запуском основных контейнеров запускается какой-то малюсенький c оболочкой, например, sh.
С помощью такого трюка можно запустить какие-то миграции для БД или залить туда какой-то дамп с данными или схемой, сгенерировать какой-нибудь конфиг, создать нужные директории или просто что-то записать, если по какой-то причине вам это надо сделать именно там (куда же без костылей). Для того, чтобы не тащить внешние скрипты, выполним всё прямо в command первого контейнера.
Удобно для этого взять busybox, потому что там много всего есть и он маленький. Но можно обойтись и голым alpine.
Прямо в compose файле создали конфигурацию Nginx и добавили статическую страничку. Вместо длинной строки command можно записать более наглядно:
Если что-то пойдёт не так и команда не будет выполнена успешно, то второй контейнер не запустится из-за
Если надо что-то сделать на самом хосте перед запуском контейнеров, то просто через volumes подключаем директорию хоста и делаем там всё, что нам надо.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#docker #devops
С помощью такого трюка можно запустить какие-то миграции для БД или залить туда какой-то дамп с данными или схемой, сгенерировать какой-нибудь конфиг, создать нужные директории или просто что-то записать, если по какой-то причине вам это надо сделать именно там (куда же без костылей). Для того, чтобы не тащить внешние скрипты, выполним всё прямо в command первого контейнера.
Удобно для этого взять busybox, потому что там много всего есть и он маленький. Но можно обойтись и голым alpine.
services:
init-nginx:
image: alpine
command: ["/bin/sh", "-c", "echo 'server { listen 80; root /usr/share/nginx/html; }' > /config/nginx.conf && echo 'Compose Exec' > /html/index.html"]
volumes:
- nginx_config:/config
- nginx_html:/html
nginx:
image: nginx:latest
volumes:
- nginx_config:/etc/nginx/conf.d
- nginx_html:/usr/share/nginx/html
ports:
- "8080:80"
depends_on:
init-nginx:
condition: service_completed_successfully
volumes:
nginx_config:
nginx_html:
Прямо в compose файле создали конфигурацию Nginx и добавили статическую страничку. Вместо длинной строки command можно записать более наглядно:
entrypoint: /bin/sh
command:
- "-c"
- |
echo 'server { listen 80; root /usr/share/nginx/html; }' > /config/nginx.conf
echo 'Compose Exec' > /html/index.html
Если что-то пойдёт не так и команда не будет выполнена успешно, то второй контейнер не запустится из-за
condition: service_completed_successfully
.Если надо что-то сделать на самом хосте перед запуском контейнеров, то просто через volumes подключаем директорию хоста и делаем там всё, что нам надо.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#docker #devops
1👍103👎2
На прошлой неделе был на конференции Deckhouse Conf. Это не рекламная публикация, у меня её никто не заказывал. Моё посещение было самостоятельным. Публиковал рекламу о событии на канале и сам записался. Ничего о себе особо не указывал, оставил обычную заявку. Мне её подтвердили, так что съездил. Событие было интересное, поэтому решил поделиться с вами некоторыми новыми для себя вещами.
🟢 Конференция в первую очередь была посвящена программному продукту Deckhouse. А точнее экосистеме, которая состоит из множества компонентов. Основные - Kubernetes Platform и Virtualization Platform. Конференция в основном была посвящена Kubernetes и всему, что с ним связано.
Deckhouse Platform представлена в том числе в бесплатной редакции Community Edition с открытым исходным кодом. Развернуть и использовать можно без ограничений в рамках возможностей этой версии. Не знаю, насколько эта версия в реальности функциональна. Не нашёл табличку со сравнением Enterprise и Community. По картинкам и техническому описанию всё выглядит очень красиво. Много своих разработок, о которых технический директор продукта больше часа рассказывал.
🔥 В рамках построения своей платформы Флант полностью переписали мониторинг Prometheus на C++, чтобы снизить нагрузку, которую он создаёт. По словами разработчиков он потребляет до 10 раз меньше памяти, чем обычный Prometheus и до 3 раз эффективней, чем VictoriaMetrics. Что значит эффективней, не знаю. Проект назвали Prom++, он open source, попробовать может каждый. У него полная совместимость с оригинальным Prometheus, так что можно просто заменить один на другой и попробовать. Очень интересный продукт. Если он реально полностью совместим и в 10 раз легче, то не вижу причин его не использовать.
🔴 На замену Ingress в Kubernetes разработали новый инструмент Gateway API. Самый популярный бесплатный Ingress Controller, или один из самых популярных, Ingress Nginx не будет его поддерживать. Планов по развитию бесплатной версии нет. Вроде как там что-то новое появилось, но я не уточнял. Так что сейчас использовать бесплатный Ingress Nginx большого смысла нет.
🟡 Несмотря на наличие развитых отказоустойчивых сетевых хранилищ для данных и протоколов их доставки, локальные диски остаются вне конкуренции по производительности и отклику. Особенно при использовании современных NVMe дисков. Для Deckhouse написан свой оператор для управления локальными хранилищами с использованием технологии LVM. Для отказоустойчивости можно добавить DRBD.
Вроде всё, что можно в формате короткой заметки написать. Было интересно. Я с Kubernetes вообще не работаю, хотя и знаю его. Могу развернуть и использовать. Знаю основные сущности и принцип работы. Тут за один день получил все обновлённые знания по разным темам: какой CNI-плагин что умеет и что лучше выбрать, как cilium доставляет пакеты в обход стандартной маршрутизации linux с использованием iptables (они всё ещё актуальны в кубере), как решаются вопросы с размещением statefull приложений, из чего состоит типовой кластер Kubernetes, какие актуальны ingress контроллеры и что они умеют, и т.д.
#devops #kuber
🟢 Конференция в первую очередь была посвящена программному продукту Deckhouse. А точнее экосистеме, которая состоит из множества компонентов. Основные - Kubernetes Platform и Virtualization Platform. Конференция в основном была посвящена Kubernetes и всему, что с ним связано.
Deckhouse Platform представлена в том числе в бесплатной редакции Community Edition с открытым исходным кодом. Развернуть и использовать можно без ограничений в рамках возможностей этой версии. Не знаю, насколько эта версия в реальности функциональна. Не нашёл табличку со сравнением Enterprise и Community. По картинкам и техническому описанию всё выглядит очень красиво. Много своих разработок, о которых технический директор продукта больше часа рассказывал.
🔥 В рамках построения своей платформы Флант полностью переписали мониторинг Prometheus на C++, чтобы снизить нагрузку, которую он создаёт. По словами разработчиков он потребляет до 10 раз меньше памяти, чем обычный Prometheus и до 3 раз эффективней, чем VictoriaMetrics. Что значит эффективней, не знаю. Проект назвали Prom++, он open source, попробовать может каждый. У него полная совместимость с оригинальным Prometheus, так что можно просто заменить один на другой и попробовать. Очень интересный продукт. Если он реально полностью совместим и в 10 раз легче, то не вижу причин его не использовать.
🔴 На замену Ingress в Kubernetes разработали новый инструмент Gateway API. Самый популярный бесплатный Ingress Controller, или один из самых популярных, Ingress Nginx не будет его поддерживать. Планов по развитию бесплатной версии нет. Вроде как там что-то новое появилось, но я не уточнял. Так что сейчас использовать бесплатный Ingress Nginx большого смысла нет.
🟡 Несмотря на наличие развитых отказоустойчивых сетевых хранилищ для данных и протоколов их доставки, локальные диски остаются вне конкуренции по производительности и отклику. Особенно при использовании современных NVMe дисков. Для Deckhouse написан свой оператор для управления локальными хранилищами с использованием технологии LVM. Для отказоустойчивости можно добавить DRBD.
Вроде всё, что можно в формате короткой заметки написать. Было интересно. Я с Kubernetes вообще не работаю, хотя и знаю его. Могу развернуть и использовать. Знаю основные сущности и принцип работы. Тут за один день получил все обновлённые знания по разным темам: какой CNI-плагин что умеет и что лучше выбрать, как cilium доставляет пакеты в обход стандартной маршрутизации linux с использованием iptables (они всё ещё актуальны в кубере), как решаются вопросы с размещением statefull приложений, из чего состоит типовой кластер Kubernetes, какие актуальны ingress контроллеры и что они умеют, и т.д.
#devops #kuber
GitHub
GitHub - deckhouse/deckhouse: Kubernetes platform from Flant
Kubernetes platform from Flant. Contribute to deckhouse/deckhouse development by creating an account on GitHub.
2👍59👎3
Каждый практикующий линуксоид хотя бы раз в жизни сталкивался с OOM Killer, который просто приходит и грохает какое-нибудь приложение. Чаще всего от этого страдают СУБД, так как они обычно самые жирные по потреблению памяти.
Небольшая инструкция на тему того, что делать, если на сервере кончается память и к вам приходит OOM Killer.
1️⃣ Первым делом я бы проверил системные логи на тему работы OOM Killer. Если у вас включены текстовые логи syslog, то сделать это проще всего так:
Если текстовых логов нет, не знаю, как быстро посмотреть. Я всегда включаю текстовые логи. Надо запускать journalctl и там через поиск искать то же самое. Я всегда забываю горячие клавиши, которые управляют результатами поиска, поэтому предпочитаю текстовые логи.
Может так получиться, что у вас уже давно время от времени прибиваются разные процессы, но заметили вы это только тогда, когда прибили то, что не умеет само подниматься.
2️⃣ Запускаем батю-скрипт на bash, который построит красивую табличку по приоритетным целям для OOM Killer:
Этот скрипт гуляет по комментариям и статьям. Я как-то заморочился и вроде бы нашёл автора, но не уверен, что это именно он. Однострочник только выглядит страшно. Если его записать с форматированием, то там простая структура. Её удобно взять за основу для формирования любых табличек с использованием ps и различных метрик. Может заморочусь и сделаю подборку из прикладных вещей, типа потребления памяти, сетевых соединений и т.д.
3️⃣ Теперь мы знаем, кого прибивает наш киллер, и видим в табличке OOM Score и OOM Adjustment. Чем выше первое значение, тем больше шансов, что процесс будет прибит. Если стоит 0, то не будет прибит никогда. Кто-то может подумать, что хорошо бы сделать нужному процессу Score 0, но это плохая идея. Если процесс течёт по памяти, то тупо виртуалка зависнет. Обычно так не делают. Второе значение - поправочный коэффициент для управления Score. Чем ниже этот коэффициент, в том числе с минусовыми значениями, тем меньше шансов, что OOM Killer убьёт нужный процесс.
Система этих очков и коэффициентов замороченная. Большого смысла в ней разбираться нет. Главное выставить приоритеты так, чтобы нужный вам процесс имел приоритет на убийство ниже остальных.
4️⃣ Прежде чем менять коэффициенты, идём в свои приложения и настраиваем в них потребление памяти, чтобы она на сервере не кончалась. Настраиваем мониторинг, если его нет. Чаще всего этого будет достаточно и трогать параметры OOM Killer не придётся.
5️⃣ Если используемые вами приложения не имеют своих настроек по потреблению памяти, то настроить их и поведение OOM Killer можно с помощью Systemd. У меня была отдельная заметка по этой теме. Там ничего сложного.
6️⃣ Когда всё настроили и хотите посмотреть, как себя поведёт система, если вдруг памяти не останется, то займите её всю чем-нибудь. Например, утилитой stress. Или просто в консоли запустите:
Заняли 1GB памяти. Подберите своё значение, чтобы памяти не осталось (2147483648 - 2GB, 3221225472 - 3GB и т.д.). После этого можно воспользоваться магической командой, про одну из которых я недавно писал:
Она принудительно вызывает OOM Killer. Пример, конечно, так себе, потому что OOM Killer скорее всего грохнет запущенную команду (хотя в моих тестах первым умер systemd). Чтобы этого избежать, надо дать ей низкий Score:
Ещё раз вызываем киллера и смотрим, кого он прибьёт:
У меня systemd умер первым.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#terminal #linux
Небольшая инструкция на тему того, что делать, если на сервере кончается память и к вам приходит OOM Killer.
1️⃣ Первым делом я бы проверил системные логи на тему работы OOM Killer. Если у вас включены текстовые логи syslog, то сделать это проще всего так:
# grep -i Killed /var/log/syslog
Если текстовых логов нет, не знаю, как быстро посмотреть. Я всегда включаю текстовые логи. Надо запускать journalctl и там через поиск искать то же самое. Я всегда забываю горячие клавиши, которые управляют результатами поиска, поэтому предпочитаю текстовые логи.
Может так получиться, что у вас уже давно время от времени прибиваются разные процессы, но заметили вы это только тогда, когда прибили то, что не умеет само подниматься.
2️⃣ Запускаем батю-скрипт на bash, который построит красивую табличку по приоритетным целям для OOM Killer:
printf 'PID\tOOM Score\tOOM Adj\tCommand\n'
while read -r pid comm; do [ -f /proc/$pid/oom_score ] && [ $(cat /proc/$pid/oom_score) != 0 ] && printf '%d\t%d\t\t%d\t%s\n' "$pid" "$(cat /proc/$pid/oom_score)" "$(cat /proc/$pid/oom_score_adj)" "$comm"; done < <(ps -e -o pid= -o comm=) | sort -k 2nr
Этот скрипт гуляет по комментариям и статьям. Я как-то заморочился и вроде бы нашёл автора, но не уверен, что это именно он. Однострочник только выглядит страшно. Если его записать с форматированием, то там простая структура. Её удобно взять за основу для формирования любых табличек с использованием ps и различных метрик. Может заморочусь и сделаю подборку из прикладных вещей, типа потребления памяти, сетевых соединений и т.д.
3️⃣ Теперь мы знаем, кого прибивает наш киллер, и видим в табличке OOM Score и OOM Adjustment. Чем выше первое значение, тем больше шансов, что процесс будет прибит. Если стоит 0, то не будет прибит никогда. Кто-то может подумать, что хорошо бы сделать нужному процессу Score 0, но это плохая идея. Если процесс течёт по памяти, то тупо виртуалка зависнет. Обычно так не делают. Второе значение - поправочный коэффициент для управления Score. Чем ниже этот коэффициент, в том числе с минусовыми значениями, тем меньше шансов, что OOM Killer убьёт нужный процесс.
Система этих очков и коэффициентов замороченная. Большого смысла в ней разбираться нет. Главное выставить приоритеты так, чтобы нужный вам процесс имел приоритет на убийство ниже остальных.
4️⃣ Прежде чем менять коэффициенты, идём в свои приложения и настраиваем в них потребление памяти, чтобы она на сервере не кончалась. Настраиваем мониторинг, если его нет. Чаще всего этого будет достаточно и трогать параметры OOM Killer не придётся.
5️⃣ Если используемые вами приложения не имеют своих настроек по потреблению памяти, то настроить их и поведение OOM Killer можно с помощью Systemd. У меня была отдельная заметка по этой теме. Там ничего сложного.
6️⃣ Когда всё настроили и хотите посмотреть, как себя поведёт система, если вдруг памяти не останется, то займите её всю чем-нибудь. Например, утилитой stress. Или просто в консоли запустите:
# python3 -c 'a="a"*1073741824; input()'
Заняли 1GB памяти. Подберите своё значение, чтобы памяти не осталось (2147483648 - 2GB, 3221225472 - 3GB и т.д.). После этого можно воспользоваться магической командой, про одну из которых я недавно писал:
# echo f > /proc/sysrq-trigger
Она принудительно вызывает OOM Killer. Пример, конечно, так себе, потому что OOM Killer скорее всего грохнет запущенную команду (хотя в моих тестах первым умер systemd). Чтобы этого избежать, надо дать ей низкий Score:
# echo -16 > /proc/$(pgrep python3)/oom_adj
Ещё раз вызываем киллера и смотрим, кого он прибьёт:
# echo f > /proc/sysrq-trigger
# grep -i Killed /var/log/syslog
У меня systemd умер первым.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#terminal #linux
5👍142👎2
Утром писал о том, что нравятся текстовые логи в том числе потому, что привык их грепать. А в journalctl искать не так удобно. После этого задумался, как удобнее всего погрепать логи systemd.
Пошёл по самому простому пути и посмотрел man:
Оказывается, есть ключ
Причём этот параметр там был не всегда. Я точно знаю, что раньше не было. Зашёл на сервер с Centos 7 и проверил:
Ключ появился в каком-то обновлении.
На самом деле очень удобно. Я решил сделать об этом заметку и не кидать сюда другие команды journalctl, чтобы не размывать тему. Просто запомните, если не знали, что с помощью journalctl можно грепать логи. А так как он ищет по всему системному логу, который может быть очень большим, это удобнее, чем смотреть по разным файлам syslog или как-то их объединять, чтобы охватить бОльший период.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#systemd #logs
Пошёл по самому простому пути и посмотрел man:
# man journalctl
Оказывается, есть ключ
-g
или --grep
, который делает примерно то же самое, что и утилита grep. Из всего журнала выводит строки с нужным тебе выражением. Поддерживает в том числе регулярки.Причём этот параметр там был не всегда. Я точно знаю, что раньше не было. Зашёл на сервер с Centos 7 и проверил:
# journalctl --grep ovpn
journalctl: unrecognized option '--grep'
Ключ появился в каком-то обновлении.
На самом деле очень удобно. Я решил сделать об этом заметку и не кидать сюда другие команды journalctl, чтобы не размывать тему. Просто запомните, если не знали, что с помощью journalctl можно грепать логи. А так как он ищет по всему системному логу, который может быть очень большим, это удобнее, чем смотреть по разным файлам syslog или как-то их объединять, чтобы охватить бОльший период.
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#systemd #logs
4👍260👎2
Последнее время слушал много различных интервью на тему работы и найма в IT. Не знаю, зачем мне это надо. Сам по найму работать уже не планирую. По крайней мере если жизнь не заставит. Добровольного желания нет, но кто знает, как сложится. В общем, мне это не надо, но зачем-то слушаю. Просто интересно.
Обратил внимание, что многие отмечают низкий уровень владения базой у соискателей. То есть человек, к примеру, разработчик, может не первый год писать код, но при этом не понимать, как работает служба DNS. Какой-нибудь новичок devops, по крайней мере так себя позиционирующий, может не знать, как работает маршрутизация или TLS шифрование. Сертификаты добавлять научился, а как всё это функционирует, не понимает.
Запомнился один вопрос, на котором по словам интервьюера, уже даже не помню, кого именно, заваливается чуть ли не половина кандидатов на должность devops инженера.
❓ Какой самый минимальный Dockerfile может быть?
Если бы меня спросили, мог бы растеряться, потому что создавать свои контейнеры почти не приходится. Даже и не помню, когда это делал последний раз. Обычно используешь уже готовое и только добавляешь параметры к запуску или подключаешь конфигурации. Но когда слушал, интуитивно в голове дал правильный ответ.
или
То есть просто использование какого-то базового образа. В таком виде это уже контейнер с минимальным объёмом Dockerfile.
Контейнер запустится и сразу завершится, так как он пустой, у него нет команды на выполнение. Можно добавить что-то простое для выполнения:
Контейнер после запуска напишет в консоль фразу и завершится.
Написал я это всё к тому, что на рынке очень много соискателей, которые не обладают базовыми знаниями. Чтобы выделиться среди них, изучайте базу – Linux, сети, Ansible, Docker. А потом уже всё остальное. Причём вся эта база представлена очень обширно на базе бесплатных материалов.
Я некоторые базовые вещи изучал уже имея несколько лет рабочего стажа. Просто некогда было системно учиться. Уже не помню, был ли у меня Linux в институте. Администрирования вроде не было. Я вышел из института Windows администратором, а дальше всему обучился сам. Учился неправильно и несистемно, хотя пока семьи не было, было время для этого. Рекомендую его использовать с пользой. Когда появятся дети, свободного времени будет намного меньше. Лучше сразу на курсы пойти, желательно очные, и максимально сжато и ёмко изучить какую-то тему.
#совет
Обратил внимание, что многие отмечают низкий уровень владения базой у соискателей. То есть человек, к примеру, разработчик, может не первый год писать код, но при этом не понимать, как работает служба DNS. Какой-нибудь новичок devops, по крайней мере так себя позиционирующий, может не знать, как работает маршрутизация или TLS шифрование. Сертификаты добавлять научился, а как всё это функционирует, не понимает.
Запомнился один вопрос, на котором по словам интервьюера, уже даже не помню, кого именно, заваливается чуть ли не половина кандидатов на должность devops инженера.
❓ Какой самый минимальный Dockerfile может быть?
Если бы меня спросили, мог бы растеряться, потому что создавать свои контейнеры почти не приходится. Даже и не помню, когда это делал последний раз. Обычно используешь уже готовое и только добавляешь параметры к запуску или подключаешь конфигурации. Но когда слушал, интуитивно в голове дал правильный ответ.
FROM scratch
или
FROM alpine
То есть просто использование какого-то базового образа. В таком виде это уже контейнер с минимальным объёмом Dockerfile.
# echo 'from alpine' > Dockerfile
# docker build -t docker-minimal
# docker run docker-minimal
Контейнер запустится и сразу завершится, так как он пустой, у него нет команды на выполнение. Можно добавить что-то простое для выполнения:
FROM alpine
CMD ["sh", "-c", "echo 'Hello from Container!'"]
Контейнер после запуска напишет в консоль фразу и завершится.
Написал я это всё к тому, что на рынке очень много соискателей, которые не обладают базовыми знаниями. Чтобы выделиться среди них, изучайте базу – Linux, сети, Ansible, Docker. А потом уже всё остальное. Причём вся эта база представлена очень обширно на базе бесплатных материалов.
Я некоторые базовые вещи изучал уже имея несколько лет рабочего стажа. Просто некогда было системно учиться. Уже не помню, был ли у меня Linux в институте. Администрирования вроде не было. Я вышел из института Windows администратором, а дальше всему обучился сам. Учился неправильно и несистемно, хотя пока семьи не было, было время для этого. Рекомендую его использовать с пользой. Когда появятся дети, свободного времени будет намного меньше. Лучше сразу на курсы пойти, желательно очные, и максимально сжато и ёмко изучить какую-то тему.
#совет
👍153👎7
⇨ Файловый сервер Linux с доступом для всех
⇨ Файловый сервер Linux с простым ограничением прав к ресурсу
⇨ Файловый сервер Linux. ACL и наследование прав
Серия содержательных и полезных уроков по настройке Samba. Если не ошибаюсь, автор - один из активных комментаторов в чате. Вроде по его ссылке на канал попал.
⇨ Linux - Как Писать Скрипты - Пишем Конфигурируемый Скрипт | Linux Scripting with Config file
Пример написания bash скрипта с парсингом конфигурации из json файла. Хороший пример, который можно взять себе за образец.
🔥Checkmk, self-hosted IT monitoring for just EVERYTHING!
Очень подробный обзор мониторинга Checkmk. Мне самому эта система понравилась. Два раза с интервалом в 2 года её разворачивал и тестировал. Обратите внимание, кому нравится Nagios подобный мониторинг. Checkmk его далёкий форк, уже сильно переработанный, но концепция осталась похожей. Автор тоже впечатлился, нахваливает мониторинг. Он open source, так что можно свободно пользоваться.
⇨ Установка и настройка Syncthing на Synology
Автор - большой любитель Synology. Записывает много роликов по этой теме. В данном случае акцент на интересный софт Syncthing для синхронизации файлов между несколькими хранилищами. Кто не знаком с ним, рекомендую посмотреть. Популярная и полезная программа.
🔥Обзор NanoKVM Full маленький да удаленький
Обзор очень прикольной миниатюрной KVM для сервера или компьютера.
⇨ Битва ИИ-кодеров: Claude 3.7 vs Deepseek v3 0324 vs OpenAi o1. Кто пишет лучший Python код?
Сравнение популярных ИИ в написании кода. Это продолжение предыдущего ролика с более масштабным тестом. Тут уже победители того теста пишут развитие приложения. Все ИИ допустили ошибки. Автор их с помощью этих же ИИ исправил и получил рабочий код. То есть в целом все выдали результат. В лоб сравнить трудно, кто лучше. Сам автор чаще всего использует Claude 3.7. Было интересно и полезно посмотреть, как автор работает с ИИ для написания кода. Они очень упрощают и ускоряют разработку.
⇨ Протокол UDP | Компьютерные сети 2025 - 26
⇨ Протокол UDP в Wireshark | Компьютерные сети 2025 - 27
Очередные обновлённые уроки хорошего бесплатного курса по сетям.
⇨ Home Lab Automation with Terraform, Ansible, and CI/CD pipelines!
Мысли автора по поводу современной автоматизации и несколько конкретных практических примеров: использование Terraform с Proxmox, Ansible для обновления Ubuntu и несколько примеров настройки CI/CD.
⇨ GitLab CI CD automation (Docker, Kubernetes, Terraform, and more…)
Подробный разбор настройки CI/CD с помощью Gitlab и его раннеров. Видео для тех, кто не знаком с темой. Даётся база.
🔥LocalSend - Airdrop for us All!
Обзор отличной программы LocalSend, которую я сам регулярно использую для передачи файлов между компьютерами и смартфонами. Отличное решение для дома и всех домашних пользователей.
⇨ New Docker Hub pull rate limits? What you have to do…
С 1-го апреля Docker Hub ввёл лимиты на использование сервиса. Я только из этого видео о них узнал. Для неаутентифицированного пользователя будет доступно только 10 pulls в час. Не скажу, что мне этого мало, но иногда, когда что-то тестируешь и разворачиваешь разные версии, запросто упрёшься в это ограничение. Как вариант, использовать аутентификацию. Тогда лимит уже 100 pulls в час. Автор рассказал, как зарегистрировать и использовать аутентификацию на практике.
#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Файловый сервер Linux с доступом для всех. №1
Плейлист по samba: https://www.youtube.com/playlist?list=PL148XRxlt8ShhdC1--UM-nWASRFS3m3qk
Содержимое smb.conf
[global]
workgroup = WORKGROUP
map to guest = Bad User
guest ok = yes
cups options = raw
security = user
load printers…
Содержимое smb.conf
[global]
workgroup = WORKGROUP
map to guest = Bad User
guest ok = yes
cups options = raw
security = user
load printers…
2👍75👎2
Media is too big
VIEW IN TELEGRAM
Давно смотрел видео на тему прохождения современных собеседований. Особого значения не придал, потому что считал, что она больше актуальна для программистов. Но вчера как-то активно начали обсуждать и в контексте нашей профессии то же самое. Я вспомнил про этот ролик.
⇨ 100% способ взломать найм / Паровозик собеседований
Сразу скажу, что автора не знаю, не слежу за ним и его деятельностью. Видел только этот ролик, который показался любопытным и запомнился.
Автор делает акцент на том, что современные собеседования превратились вещь в себе, которая оторвана от реальной работы. К собеседованиям приходится отдельно готовиться, как к экзаменам, чтобы просто попасть на работу и заниматься там совершенно другими делами, про которые на собеседованиях почти не спрашивают. Есть даже курсы для обучения прохождения собеседований.
Он предложил способ для сотрудников, как упростить свой приём на работу и побыстрее пройти собеседования без больших усилий. Нужно объединиться в группу и отправить первого человека на разведку. Он запоминает вопросы и передаёт их остальным участникам. Потом идёт второй, уточняет вопросы. Когда становится понятен набор вопросов тот, кто реально хочет туда устроиться, готовит ответы и идёт на собеседование. Вероятность его пройти сильно увеличивается.
Получается такая кооперация, когда те, кому реально не нужна работа, просто идут на разведку, а тот, кто уже хочет устроиться, идёт позже. В целом, рабочая метода. К тому же просто полезно, даже если у тебя есть работа, иногда ходить на собеседования, чтобы понимать, на что ты можешь рассчитывать в другом месте. Это помогает держать свой доход в рынке, общаться по зарплате с работодателем и не бояться увольнения.
Автор анонсирует свои чаты, где можно найти помощников для "паровозика". Я в эти группы не ходил, не знаю, что там.
Такая вот необычная идея. Видео короткое, на 11 минут, можно глянуть.
#найм
⇨ 100% способ взломать найм / Паровозик собеседований
Сразу скажу, что автора не знаю, не слежу за ним и его деятельностью. Видел только этот ролик, который показался любопытным и запомнился.
Автор делает акцент на том, что современные собеседования превратились вещь в себе, которая оторвана от реальной работы. К собеседованиям приходится отдельно готовиться, как к экзаменам, чтобы просто попасть на работу и заниматься там совершенно другими делами, про которые на собеседованиях почти не спрашивают. Есть даже курсы для обучения прохождения собеседований.
Он предложил способ для сотрудников, как упростить свой приём на работу и побыстрее пройти собеседования без больших усилий. Нужно объединиться в группу и отправить первого человека на разведку. Он запоминает вопросы и передаёт их остальным участникам. Потом идёт второй, уточняет вопросы. Когда становится понятен набор вопросов тот, кто реально хочет туда устроиться, готовит ответы и идёт на собеседование. Вероятность его пройти сильно увеличивается.
Получается такая кооперация, когда те, кому реально не нужна работа, просто идут на разведку, а тот, кто уже хочет устроиться, идёт позже. В целом, рабочая метода. К тому же просто полезно, даже если у тебя есть работа, иногда ходить на собеседования, чтобы понимать, на что ты можешь рассчитывать в другом месте. Это помогает держать свой доход в рынке, общаться по зарплате с работодателем и не бояться увольнения.
Автор анонсирует свои чаты, где можно найти помощников для "паровозика". Я в эти группы не ходил, не знаю, что там.
Такая вот необычная идея. Видео короткое, на 11 минут, можно глянуть.
#найм
4👍90👎10
Для Nginx существует очень много всевозможных веб панелей для управления. Сегодня расскажу об ещё одной, которая отличается от большинства из них. Речь пойдёт об open source проекте Nginx UI. Сразу перейду к сути и отмечу то, что понравилось больше всего:
🟢 Nginx UI не меняет стандартную структуру каталогов и расположение конфигурационных файлов, которые приняты в системе. Я проверял в Debian, всё на своих местах в
🟢 Вся панель - это бинарник
Остальные возможности Nginx UI:
◽️Управление виртуальными хостами, в том числе для проксирования: добавление, удаление, редактирование конфигурации через браузер.
◽️Получение и использование сертификатов от Let's Encrypt.
◽️Дашборд с базовыми метриками мониторинга сервера.
◽️Просмотр логов.
◽️Доступ к консоли сервера.
◽️Есть на выбор наборы готовых настроек для типовых проектов под веб сервер, типа wordpress, drupal и т.д. Они просто добавляют некоторые правила в виртуальные хосты.
◽️Своё состояние хранит в локальной sqlite базе рядом с конфигурационным файлом.
В целом ничего особенного, но сделано легко и аккуратно. Приятный и удобный веб интерфейс. Я быстро развернул сервер, всё настроил, попробовал.
Установка простая:
Я посмотрел скрипт, там ничего особенного. Скачивается бинарник, формируется конфигурация, создаётся юнит systemd. Есть собранный контейнер Docker. Не смотрел его.
После установки можно идти по IP адресу сервера на порт 9000 и выполнять настройку. У панели есть русский язык, но есть непереведённые разделы. Проект живой, поддерживается и развивается.
Можно посмотреть demo: https://demo.nginxui.com, учётка - admin / admin.
Панель в целом понравилась. Осталось приятное впечатление. Пользоваться удобно. Возможности ограничены только управлением стандартными конфигурациями Nginx. Для кого-то это будет плюс, для кого-то, возможно, минус.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#nginx #webserver
🟢 Nginx UI не меняет стандартную структуру каталогов и расположение конфигурационных файлов, которые приняты в системе. Я проверял в Debian, всё на своих местах в
/etc/nginx
. Формат конфигурационных файлов такой, что можно свободно туда заглянуть, поправить, забрать и использовать там, где nginx-ui нет вообще. Если удалить панель, то Nginx со всеми настройками будет работать без неё.🟢 Вся панель - это бинарник
/usr/local/bin/nginx-ui
и конфигурационный файл к нему /usr/local/etc/nginx-ui/app.ini
(чувствуется старая школа в выборе размещения файлов). Указал конечное расположение файлов, если использовать предложенный скрипт для установки. Он скачивает исполняемый файл, формирует конфигурацию и создаёт службу в systemd.Остальные возможности Nginx UI:
◽️Управление виртуальными хостами, в том числе для проксирования: добавление, удаление, редактирование конфигурации через браузер.
◽️Получение и использование сертификатов от Let's Encrypt.
◽️Дашборд с базовыми метриками мониторинга сервера.
◽️Просмотр логов.
◽️Доступ к консоли сервера.
◽️Есть на выбор наборы готовых настроек для типовых проектов под веб сервер, типа wordpress, drupal и т.д. Они просто добавляют некоторые правила в виртуальные хосты.
◽️Своё состояние хранит в локальной sqlite базе рядом с конфигурационным файлом.
В целом ничего особенного, но сделано легко и аккуратно. Приятный и удобный веб интерфейс. Я быстро развернул сервер, всё настроил, попробовал.
Установка простая:
# apt install nginx
# bash -c "$(curl -L https://raw.githubusercontent.com/0xJacky/nginx-ui/main/install.sh)" @ install
Я посмотрел скрипт, там ничего особенного. Скачивается бинарник, формируется конфигурация, создаётся юнит systemd. Есть собранный контейнер Docker. Не смотрел его.
После установки можно идти по IP адресу сервера на порт 9000 и выполнять настройку. У панели есть русский язык, но есть непереведённые разделы. Проект живой, поддерживается и развивается.
Можно посмотреть demo: https://demo.nginxui.com, учётка - admin / admin.
Панель в целом понравилась. Осталось приятное впечатление. Пользоваться удобно. Возможности ограничены только управлением стандартными конфигурациями Nginx. Для кого-то это будет плюс, для кого-то, возможно, минус.
⇨ 🌐 Сайт / Исходники
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
#nginx #webserver
3👍196👎3
Случайно заметил, что одна из моих старых статей имеет очень большое количество просмотров. Не обращал на это внимание. Это статья про программы, которые использую в работе. Я её первый раз написал в 2018, потом в 2020 обновил. Потом переключился на Telegram канал и практически перестал актуализировать старые материалы. Очень хлопотно и трудоёмко. Всё постоянно меняется.
И вот решил обновить в очередной раз, раз уж люди её читают:
⇨ Мои программы для системного администрирования
Не хотелось удалять старое содержимое, несмотря на то, что многие описанные ранее программы уже не использую. Адаптировал, как мог, что-то удалив, а что-то добавив. Посмотрите, может вам будет интересно.
Всё, что описано в статье, публиковалось на канале в разное время. Но тут постарался всё собрать в единый материал. Из-за большого разбега по датам написания, повествование немного рваное.
#статья
И вот решил обновить в очередной раз, раз уж люди её читают:
⇨ Мои программы для системного администрирования
Не хотелось удалять старое содержимое, несмотря на то, что многие описанные ранее программы уже не использую. Адаптировал, как мог, что-то удалив, а что-то добавив. Посмотрите, может вам будет интересно.
Всё, что описано в статье, публиковалось на канале в разное время. Но тут постарался всё собрать в единый материал. Из-за большого разбега по датам написания, повествование немного рваное.
#статья
Server Admin
Программы системного администратора
Список полезных программ для системного администратора. Описал только то, что сам использую в реальной работе по системному администрированию.
4👍165👎4
В разное время у меня на канале были обзоры программ, а точнее веб сервисов, для хранения и совместного использования паролей. Решил для удобства объединить их в одну статью-подборку для публикации на сайте. Там будут ссылки на сами проекты и на их обсуждение в канале.
⇨ ТОП бесплатных программ для совместного хранения паролей
В обзоре только программы, которые можно развернуть у себя, и у которых есть бесплатная версия. Плюс, вроде бы все они open source. Сейчас список выглядит вот так:
▪️Bitwarden
▪️Vaultwarden
▪️Bearpass
▪️Psono
▪️Passbolt
▪️KeePassXC
▪️Padloc
▪️Syspass
▪️TeamPass
Все программы обозревались на канале, так что при желании можно посмотреть и заметку, и комментарии к ней. Обращаю внимание на единственную отечественную программу Bearpass. Отдельно отмечу, что Syspass давно не развивалась, а TeamPass политизирована с призывами донатить известно куда. Не стал их убирать для полноты картины, чтобы всё в одном месте было.
#password #подборка #статья
⇨ ТОП бесплатных программ для совместного хранения паролей
В обзоре только программы, которые можно развернуть у себя, и у которых есть бесплатная версия. Плюс, вроде бы все они open source. Сейчас список выглядит вот так:
▪️Bitwarden
▪️Vaultwarden
▪️Bearpass
▪️Psono
▪️Passbolt
▪️KeePassXC
▪️Padloc
▪️Syspass
▪️TeamPass
Все программы обозревались на канале, так что при желании можно посмотреть и заметку, и комментарии к ней. Обращаю внимание на единственную отечественную программу Bearpass. Отдельно отмечу, что Syspass давно не развивалась, а TeamPass политизирована с призывами донатить известно куда. Не стал их убирать для полноты картины, чтобы всё в одном месте было.
#password #подборка #статья
Server Admin
ТОП бесплатных программ для совместного хранения паролей |...
Подборка бесплатных программ, которые можно развернуть у себя, для командной и персональной работы с паролями.
1👍72👎3
Есть общая рекомендация по использованию дисков в Linux – сначала создать раздел на диске, а потом использовать его по назначению. Даже если у вас будет один раздел на весь диск, сделайте его. То есть использовать не
Какой-то одной явной причины делать именно так нет, и чаще всего всё будет в порядке даже без разделов, но в некоторых ситуациях могут возникать проблемы. Я опишу некоторые из них.
Один читатель жаловался на то, что у него после перезагрузки разваливался рейд mdadm, хотя создавался без ошибок. Он выяснил, что есть версии BIOS, которые пишут какую-то информацию в начало диска и тем самым затирают метаданные mdadm. После того, как он создал разделы и собрал массив из них, он перестал разваливаться. Подозреваю, что это какая-то древняя версия BIOS, но тем не менее, случай реальный.
Ещё один случай от подписчика. У него коллега всегда использовал, как в текущей рекомендации, разделы. Как-то раз на сервере, где не им был добавлен в работу и использовался новый диск без разделов, он его по ошибке отредактировал, так как добавив другой новый диск ожидал именно его увидеть пустым, без разделов. По факту он ошибся, но если бы работающие диски были с разделами, этой ошибки бы не возникло.
В примере выше ошибся человек, но может ошибиться и программа. Некоторый софт считает диски без таблицы разделов неинициализированным или неиспользующимися и может предложить соответствующие действия с ним, которые могут привести к потере данных. Это больше относится к каким-то графическим приложениям нежели консольным. Также актуально, если диск будут куда-то переносить. Новая система может посчитать его неинициализированным.
В стародавние времена утилиты lsblk и blkid некорректно показывали информацию об идентификаторах, типах файловой системы на дисках без разделов.
Вся эта история тянется из прошлого. Как я уже сказал, сейчас возможно проблем и не будет, но тем не менее, лучше перестраховываться и создавать разделы. Я сам одно время не парился и если использовался весь диск, раздел не создавал. Потом узнал эту информацию и стал перестраховываться. Всегда создаю разделы, просто на всякий случай.
#совет #linux
/dev/sdb
, а сделать на нём раздел, например с помощью cfdisk /dev/sdb
, а потом уже использовать /dev/sdb1
.Какой-то одной явной причины делать именно так нет, и чаще всего всё будет в порядке даже без разделов, но в некоторых ситуациях могут возникать проблемы. Я опишу некоторые из них.
Один читатель жаловался на то, что у него после перезагрузки разваливался рейд mdadm, хотя создавался без ошибок. Он выяснил, что есть версии BIOS, которые пишут какую-то информацию в начало диска и тем самым затирают метаданные mdadm. После того, как он создал разделы и собрал массив из них, он перестал разваливаться. Подозреваю, что это какая-то древняя версия BIOS, но тем не менее, случай реальный.
Ещё один случай от подписчика. У него коллега всегда использовал, как в текущей рекомендации, разделы. Как-то раз на сервере, где не им был добавлен в работу и использовался новый диск без разделов, он его по ошибке отредактировал, так как добавив другой новый диск ожидал именно его увидеть пустым, без разделов. По факту он ошибся, но если бы работающие диски были с разделами, этой ошибки бы не возникло.
В примере выше ошибся человек, но может ошибиться и программа. Некоторый софт считает диски без таблицы разделов неинициализированным или неиспользующимися и может предложить соответствующие действия с ним, которые могут привести к потере данных. Это больше относится к каким-то графическим приложениям нежели консольным. Также актуально, если диск будут куда-то переносить. Новая система может посчитать его неинициализированным.
В стародавние времена утилиты lsblk и blkid некорректно показывали информацию об идентификаторах, типах файловой системы на дисках без разделов.
Вся эта история тянется из прошлого. Как я уже сказал, сейчас возможно проблем и не будет, но тем не менее, лучше перестраховываться и создавать разделы. Я сам одно время не парился и если использовался весь диск, раздел не создавал. Потом узнал эту информацию и стал перестраховываться. Всегда создаю разделы, просто на всякий случай.
#совет #linux
👍133👎5