uk
Feedback
Bash Days | Linux | DevOps

Bash Days | Linux | DevOps

Відкрити в Telegram

Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.ru

Показати більше

📈 Аналітичний огляд Telegram-каналу Bash Days | Linux | DevOps

Канал Bash Days | Linux | DevOps (@bashdays) у мовному сегменті Російська є активним учасником. На даний момент спільнота об'єднує 23 738 підписників, посідаючи 5 562 місце в категорії Технології та додатки та 27 921 місце у регіоні Росія.

📊 Показники аудиторії та динаміка

З моменту свого створення невідомо, проект продемонстрував стрімке зростання, зібравши аудиторію у 23 738 підписників.

За останніми даними від 31 липня, 2026, канал демонструє стабільну активність. Хоча за останні 30 днів спостерігається зміна кількості учасників на 5, а за останні 24 години на -7, загальне охоплення залишається високим.

  • Статус верифікації: Не верифікований
  • Рівень залученості (ER): Середній показник залученості аудиторії становить 21.66%. Протягом перших 24 годин після публікації контент зазвичай збирає 12.70% реакцій від загальної кількості підписників.
  • Охоплення публікацій: В середньому кожен допис отримує 5 142 переглядів. Протягом першої доби публікація в середньому набирає 3 015 переглядів.
  • Реакції та взаємодія: Аудиторія активно підтримує контент: середня кількість реакцій на один пост – 23.
  • Тематичні інтереси: Контент зосереджений навколо ключових тем, таких як bashdays, linux, bash, docker, скрипт.

📝 Опис та контентна політика

Автор описує ресурс як майданчик для висловлення суб'єктивної думки:
Авторский блог от действующего девопса Самобытно про разработку, devops, linux, скрипты, сисадминство, техдирство и за айтишную жизу. Автор: Роман Шубин Реклама: @maxgrue MAX: https://max.ru/bashdays Курс: @tormozilla_bot Блог: https://bashdays.r...

Завдяки високій частоті оновлень (останні дані отримано 01 серпня, 2026), канал підтримує актуальність та високий рівень охоплення публікацій. Аналітика показує, що аудиторія активно взаємодіє з контентом, що робить його важливою точкою впливу в категорії Технології та додатки.

23 737
Підписники
-724 години
+47 днів
+530 день
Архів дописів
Привет, Владивосток! 5 ноября вместе с экспертами из Сбера и Cloud․ru обсудим фундаментальные инженерные вопросы и главную технологическую тему — агентизацию 🔥 Агенты уже сейчас предвидят проблемы, принимают решения и работают как наши бессменные цифровые напарники — на OPS Meetup расскажем, как AI-агенты меняют привычные процессы и автоматизируют даже самые сложные сценарии. ➡️ AI SRE: AI Agent как напарник инженера — руководитель направления Cloud․ru Сергей Шапошников. ➡️ ML Predict в мониторинге — исполнительный директор ДИТ «Занять и Сберегать» в Сбере Павел Степуро. ➡️ Дашборды Grafana без боли: разбираем паттерны RED, USE, Four Golden Signals — DevOps-инженер Cloud․ru Антон Быстров. 📍Встречаемся 5 ноября в 18:00 в конференц-зале Lotte Hotel. Регистрируйся по ссылке и агентизируй Дальний Восток вместе с нами 😎

ради интереса глянул чё по кодам, итого найдено 148к рублей, причем в топе по поискам нашел 87к ) красавчики! видимо код писать проще чем копать )

Бэкапы — как привидения. Все о них слышали, но никто их не видел. Олег не делает бэкапы, последних сорок восемь лет. Давно ис
+5
Бэкапы — как привидения. Все о них слышали, но никто их не видел.
Олег не делает бэкапы, последних сорок восемь лет. Давно истлел уж на могилке букет.
Чтобы тебе не стать главным героем этой эпитафии, пройди тест и узнай, сумеешь ли ты защитить свою «инфраструктурную жопку». Ну а мы с ребятами из Selectel собрали самые сочные «факапы», про черных-черных блекхетов, заколдованного тимлида-гномика, утечки документов и запятнанную репутацию компаний. Участники историй поплатились за свою глупость, но мы знаем как это предотвратить и научим тебя.
В довесок каждый гарантировано получит бонусный промокод на 1 000 рублей, чтобы ты мог потыкать S3 в полевых условиях. Например, прикрутить S3 к своему домашнему Nexcloud или Truenas.
Пройти тест: https://slc.tl/0gt0w Реклама, АО «Селектел», erid: 2VtzqwFboo5

Как прокачать Minecraft сервер с помощью Angie Накидал пост о том, как мы мигрировали minecraft сервер на выделенный сервер и защитились от ботов с помощью Angie, просто и эффективно. Сюда по классике не влезло, всё в блоге 👇 Читать: https://two.su/bieb4 🛠 #angie #devops #security 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Олды могут помнить эту замечательную игруху, называлась она Star Trek, придумал и реализовал ее Майк Мэйфилд в 1971 году. ㅤ К
Олды могут помнить эту замечательную игруху, называлась она Star Trek, придумал и реализовал ее Майк Мэйфилд в 1971 году. Короче некий энтузиаст запилил ее на чистом Bash и притащил в современный мир под названием Bash Trek. Это пошаговая стратегия, да, прям в терминале. Цель игры — уничтожить всех клингонов в галактике, найдя их и вступив с в бой с помощью фазеров и торпед. Устанавливается просто:
cd /tmp
wget https://github.com/StarShovel/bash-trek/raw/main/bashtrek.sh
chmod +x bashtrek.sh
./bashtrek.sh
И погнали сводить скулы. Как играть: Нажми на цитату чтобы развернуть
— Галактика — это сетка 8×8 квадрантов, каждый квадрант — 8×8 позиций. — При навигации тебе будет предложено направление (0-7 как «ферзь» в шахматах, восемь возможных направлений) и расстояние (количество шагов). — Если есть препятствие (звезда, клингон, червоточина), то максимальная дистанция движения будет ограничена и интерфейс покажет это. — Червоточины («wormholes») могут появляться в квадрантах, если ты войдешь в червоточину, тебя телепортирует в случайное место в галактики. — При входе в квадрант с клингонами, они могут атаковать твой корабль. Щиты (SHI) защищают, но если они севшие — тебе пезда. — У тебя есть база (starbase), если ты подлетишь к базе, торпеды, щиты и энергия восстанавливаются. — Есть временные ограничения «stardate» (звёздная дата), до которой нужно уничтожить всех клингов, если не успеешь — тебе пезда.
Короче затягивает, протупил сегодня пару часов, ни разу так и не победил. Вечерком еще заход сделаю, довольно азартное мероприятие. Кстати подробный гайд можешь глянуть на ютубе. 🛠 #games #игры 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Если при слове ITSM у вас сразу всплывают бюрократия, отчёты и скучные таблицы — самое время пересмотреть подход. SRE-команды
Если при слове ITSM у вас сразу всплывают бюрократия, отчёты и скучные таблицы — самое время пересмотреть подход. SRE-команды, которые игнорируют ITSM, рано или поздно тонут в хаосе инцидентов, тикетов и бесконечных «костылей». На открытом уроке вы узнаете, как ITSM может стать вашим союзником, а не помехой: - Разберём, какие процессы реально помогают управлять инцидентами, изменениями и проблемами, а где стоит оставить место автоматизации. - Покажем, как ITSM-практики делают инфраструктуру предсказуемой и прозрачной, не превращаясь в бюрократию. - Вы поймёте, как выстроить процессы, которые работают на надёжность и скорость, а не мешают инженерам писать код. - Увидите, как навести порядок в SRE-команде без перегиба — с пользой для бизнеса и удовольствием для инженеров. 📌30 октября в 20:00 МСК. Открытый вебинар проходит в преддверии старта курса «SRE практики и инструменты». Регистрируйтесь и узнайте, как превратить ITSM из формальности в реальный инструмент стабильности: https://vk.cc/cQIfOj Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Дожились блядь, схватил погремуху на LF. (скрином поделился: Антон Жданов) публикую с его разрешения и с разрешения участника
Дожились блядь, схватил погремуху на LF. (скрином поделился: Антон Жданов) публикую с его разрешения и с разрешения участника диалога. Так что все блядь прозрачно и согласовано!
- Каждому лектору в жопу по вектору - Лучше в жопу сунуть глобус чем у ЦУМА сеть в автобус - Если ты не голубой нарисуй вагон другой
Новый бренд чтоль мутитиль - Сёледка под Шубой? Ладно хули, рутина. Дела, люди всем двором на LF идут, устраивают челеджи, кто на какой задачке вперед сдохнет )) Всех с пятницей, хороших тебе предстоящих выходных, ну и по классике — береги себя! 🛠 #рабочиебудни 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

У меня Obsidian бекапится в git, естественно он торчит наружу жопой. Репа конечно же приватная, но чем черт не шутит. Каких-то критичных данных я в заметках не храню, ну спиздят и спиздят, пусть читают как на bash программировать. Мне не жалко. Но недавно понадобилось мне зашифровать некоторые заметки. Поизучал я различные варианты и остановился на плагине — Meld Encrypt. Плагин ставится через морду Obsidian одной кнопкой, ничего настраивать из коробки не нужно. Слева появляется иконка — New Encrypt Note, забиваешь туда пароль, подсказку. Создается исходный файл в формате mdenc, а не нативный mardown с расширением .md. Внутри исходного файла json`чик вида:
{
  "version": "2.0",
  "hint": "My Hint",
  "encodedData": "tH/epIAOSgeGQQtO7FTcM="
}
Что прикольно, ты можешь зашифровать не всю заметку, а только её часть либо критические данные в каком-нибудь пайплайне. Выделяешь эти данные и слева жмешь иконку — Ecrypt Selection. Теперь этот файл .mdenc заливает в git и не зная правильного пароля хуй кто прочтет твою заметку, даже если её спиздят. Аналогично с заметками где ты зашифровал часть данных. Шифрованная часть внутри заметки выглядит так:
🔐β 💡My Hint💡ls92E5jV+HlAfZMML== 🔐
Короче полет нормальный. Хер знает насколько сильный там энкрипт, но от лишних глаз эта штука защищает. В одном из issue в репе есть комментарий — «I have reviewed the code and noticed that it uses AES-GCM with a fixed IV and a password-derived key.» Ну и по коду могу сказать что работает примерно так: ⚪ Пользователь задаёт пароль для шифрования. ⚪ Ключ генерится на основе пароля, скорее всего это PBKDF2. ⚪ Шифрование проходит по схеме AES-GCM. Шифр AES, режим Galois/Counter Mode с поддержкой аутентификации (В коде есть тэг MAC). ⚪ Не уверен, но возможно используется фиксированный IV инициализационный вектор. Автор плагина походу сам не знает, что он написал. Поэтому подстраховался и добавил в ридми — «Use at Your Own Risk», мол идите нахуй, если вас подломят я тут не причем. Присмотрись, штука довольно полезная. В хозяйстве сгодится. 🛠 #encrypt #obsidian #utilites 💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

Вчера сижу, проверяю домашки. Приходит СМС, мол Роман спасибо, что совершили покупку, с вашего бонусного счета списано 2450 рублей. Я репу почесал и хуй забил. Потом появилась минутка, думаю — а пойдука я разберусь чё это было. Нашел отправителя смс, нашел компанию. Да, я там обслуживаюсь иногда. Но схуяли с меня списали баллы? Я там давно не был и ничего не покупал. Азарт взял своё. Первым делом написал в саппорт, меня по шаблону послали нахуй. Окей… Ну раз так, значит найдем директора и позвоним ему. Звонить не стал, чет зассал. Но написал в мессенджере. Описал ситуацию, скрины приложил. На той стороне солидный мужчина (по аватарке) знатно охуел, но ответил — Принято, свяжусь с вами позже. Часа через три, звонок — Зрасти, так и так, сотрудник компании спустя месяц после испытательного, получил доступы в базу клиентов и теперь активно списывает балы с клиентов, кто больше полугода не обращался в компанию. Списывает в свою пользу, то есть оплачивает баллами товары для себя любимого. Охуительный план! Надежный! Спустили на тормозах, поржали. Сотрудник был выкинут на улицу. Мораль — сначала изучи как работает система и только потом мути свои грязные схемки. Если тебе мало платят или обижают, нахуй ты там вообще работаешь? Человека банально уволили из-за автоматического СМС, которое прикрутил какой-то айтишник в рамках рутинного спринта. А мне просто вчера было скучно, в другой день я бы возможно даже не обратил на это внимание.
Кстати потом следом пошел и еще одну компанию разъебал, давно хотел, тоже впарили услугу, но услугу не предоставили. Сегодня уже возврат упал на карточку.
Как говориться — с миру по нитке. Не давай себя в обиду 😲 🛠 #рабочиебудни @bashdays @linuxfactory @blog

Хорошие девопсы копируют, великие — воруют Я тут чет ёба дал и решил потихоньку расковыривать Макса, пока только начинаю, но до кишочков тоже доберемся. Под это дело, я завел отдельный телеграм канал. В котором мы с тобой создадим канал в Максе, раскрутим его с минимальными вложениями и выйдем на доход > 200к рублей в месяц.
Звучит хуёва, знаю, может ничего и не получится. Но я постараюсь применить все свои знания в маркетинге и поделиться с тобой. Да и это бесплатно для тебя. План надежный, как швейцарские часы.
Все шаги буду подробно описывать, можешь повторять и глядишь сможешь выйти на пассивный доход. 😇🙂🙃😉😌😍🥰😘 😗😙😚😋😛😝😜🤪 🤨🧐🤓😎🤩🥳😏😒 😞😔😟😕🙁☹️😣😖 😫😩🥺😢😭😤😠😡
Кстати сегодня закинул пост про создание канала без наличия 10к подписчиков. Пока хак работает, так что не проебись.
Если интересно понаблюдать за движухой, подписывайся, вместе веселее. Там и комменты глядишь подключим и лося выебем. Подписаться: Макс на Максимум

Не придумывайте планы на субботу — Сбер уже всё организовал! 👌 25 октября встречаемся на IT Community Day в Санкт-Петербурге, чтобы обсудить влияние AI на IT-тренды и будущее разработки. Выбирайте свой трек: ✔️ AI — от генерации кода до мультиагентных систем. ✔️ Java — архитектура, производительность, масштабирование. ✔️ QA+AI — новые подходы и практики разработки. ✔️ Soft skills — карьера и развитие инженера в эпоху AI. Регистрируйтесь по ссылке, пока места ещё есть. До встречи 25 октября в 11:20 по адресу: ул. Уральская, д.1 (литера Ч)!

Имба — Mail Archiver. В двух словах: Агрегатор и бекапер всех твоих почтовых ящиков с удобным поиском. ㅤ Ставишь как self-hos
Имба — Mail Archiver. В двух словах: Агрегатор и бекапер всех твоих почтовых ящиков с удобным поиском. Ставишь как self-hosted, добавляешь любые учетки по IMAP (+ M365) и вся твоя почта бекапится на локальный NAS или S3. Фича — можешь зачистить всю почту на серверах и потом одной кнопкой из бекапа обратно восстановить все письма. Как вариант если закончилось место, но письма удалять жалко. Например, можно перелить почту из одного сервиса в другой в пару кликов. А главное — Бесплатно! Короче знатная штука, однозначно оставляю у себя в proxmox, да и движение селф-хостеров её прям зарекомендовали на фоне других подобных решений.
Можешь на ютубе глянуть, там обзорчики уже наснимали.
🛠 #utilites #backup @bashdays @linuxfactory @blog

В сентябре Selectel запустил OpenFix – программу для тех, кто хочет делать open source безопаснее, чище и надежнее. Там пул задач по рефакторингу на Rust, пакетизацию приложений, исправление багов с оплатой от 30 000 до 350 000 ₽. При этом – ПО распространяется по пермиссивной лицензии, мейнтейнером остается автор, а код — в свободном доступе. Проект получился живым и крутым – команда получила много заявок, более 8 больших задач уже в работе. Весь движ – на странице проекта. Следите за тем, как идет работа над задачами, делитесь своим мнением и ждите дроп новых активностей! Реклама, АО «Селектел», erid: 2VtzqwEKGLE

Вот не пойму, это оно мне жопу нарисовала или сиськи? Радоваться или плакать? Но похоже больше на жопу... ㅤ 🛠 #рабочиебудни
Вот не пойму, это оно мне жопу нарисовала или сиськи? Радоваться или плакать? Но похоже больше на жопу... 🛠 #рабочиебудни #мониторинг @bashdays @linuxfactory @blog

Сегодня поделюсь историей, которая началась плохо, но закончилась хорошо. 🔤🔤🔤🔤🔤🔤🔤 В общем, у меня домашний шлюз - mini PC на debian. А поскольку мощность для шлюза избыточна, приходится использовать ее не по прямому назначению. Поставил туда transmission-daemon, и рулю в консоли через transmission-remote. Сами понимаете, что каждый раз в консоли набирать transmission-remote да еще с ключами — кнопки сотрутся, поэтому пользуюсь алиасами. И вот сегодня я накосячил с алиасом настолько знатно, что bash упал и я покинул чат. И после этого не смог подключиться по ssh. Если бы я правил sshd_config, я бы, конечно, подключился двумя сессиями, и все восстановил. Кто ж знал, что правка .bashrc тоже опасна. Думал уже придется лезть на чердак, снимать миниписюк и править файлы локально, но все оказалось гораздо проще. Оказывается есть даже два способа, чтобы поправить ситуацию. 1. Выполнить ssh user@host -t /bin/sh Вместо /bin/sh можно указать любую оболочку (их примерный список можно глянуть в /etc/shells). Понятно, что оболочка должна быть установлена на удаленной машине. 2. Подключиться по sftp, скачать .bashrc, локально отредактировать и залить обратно. В общем, все сработало нормально. Алиас исправил. Все работает. А подключился бы, как положено, при правке важных файлов двумя ssh-сессиями. И не было бы этой статьи. Кстати, использование именно первого пункта позволяет обходить тривиальные защиты ssh (типа скриптовой двухфакторной аутентификации или использование sleepshell для пользователя, которому только разрешен проброс портов), основанные на простой замене оболочки пользователя в /etc/passwd. При выполнении скрипта, хакер уже аутентифицирован в системе, и может просто заменить оболочку. 🛠 #linux #ssh #fix @bashdays @linuxfactory @blog

Fedora Post Install Набрёл тут на Bash поделку CRIMS0NH4T. В двух словах — делает за тебя необходимую рутину после чистой установки Fedora. — Настройка DNF — Установка RMP Fusion — Установка кодеков — GPU драйвера (Intel, Nvidia, AMD) — Тюнинг производительности — Оптимизация Gnome Как я понял, версия прям ранняя альфа-альфа и активно допиливается автором. Я бы минимально запатчил так:
- set -u
+ set -euo pipefail
+ IFS=$'\n\t'

- readonly LOG_FILE="/tmp/crimsonhat_$(date +%Y%m%d_%H%M%S).log"
+ LOG_FILE="$(mktemp /tmp/crimsonhat.XXXXXX.log)"
+ readonly LOG_FILE

- run_with_progress() { local message="$1" shift log INFO "$message" if "$@" >/dev/null 2>&1; then return 0 else return 1 fi }
+ run_with_progress() {
+  local message="$1"; shift
+  log INFO "$message"
+  if "$@" >>"$LOG_FILE" 2>&1; then
+    return 0
+  else
+    return 1
+  fi
+}

- disk_type=$(lsblk -d -o name,rota | awk 'NR==2 {print $2}')
- primary_disk=$(lsblk -d -o name,rota | awk 'NR==2 {print $1}')
+ read -r primary_disk disk_type < <(lsblk -dn -o NAME,ROTA | head -n1)
...
- current_scheduler=$(cmd < "$scheduler_path" 2>/dev/null | grep -o '\[.*\]' | tr -d '[]')
+ current_scheduler=$(tr -d '\n' < "$scheduler_path" | sed -n 's/.*\[\(.*\)\].*/\1/p')
Хотя set -euo pipefail тут конечно спорный вариант, можно наступить на грабли.
pipefail заставляет конвейер возвращать ошибку, если любая команда в скрипте упала. Так что применив set -u автор обезопасил себя от неочевидных багов.
Как концепт, вполне можно форкнуть и подсмотреть какие-то штуки, возможно в своих поделках тебе что-то сгодится. 🛠 #linux #tweaks @bashdays @linuxfactory @blog

🎥 Вебинар по Kubernetes: "Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом" ☝️ На вебинаре вы узнаете:
🎥 Вебинар по Kubernetes: "Kubernetes для непрерывной поставки (CI/CD). Интеграция с CI-сервисом" ☝️ На вебинаре вы узнаете: - Как Kubernetes используется в качестве среды для доставки и масштабирования приложений. - Интеграция Kubernetes с GitLab CI, GitHub Actions и другими популярными CI/CD-сервисами. - Лучшие практики построения пайплайнов, работающих с k8s. - Деплой приложений в кластер: helm, kubectl, ArgoCD и другие инструменты. - Типичные ошибки при организации CI/CD в Kubernetes и как их избежать. 💪 В результате вебинара вы: - Поймёте, как связать Kubernetes с CI/CD и зачем это нужно. - Научитесь строить эффективные пайплайны доставки для микросервисных приложений. - Получите практические примеры конфигураций и инструментов, которые можно применить сразу после занятия. 🎁 Все участники вебинара получат специальные условия на полное обучение курса "Инфраструктурная платформа на основе Kubernetes" 👉 Для участия зарегистрируйтесь: https://vk.cc/cQnW2z Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Фиксим кривой Exit Code в docker Во время работы с docker контейнером наткнулся на неочевидный код выхода (exit code).
Про exit codes (коды выхода) писал тут
Суть проблемы: Когда программа внутри контейнера падает с abort(), Docker возвращает неправильный код выхода. Вместо ожидаемого 134 (128 + SIGABRT), контейнер отдаёт 139 (128 + SIGSEGV). То есть контейнер маскирует реальную причину падения приложения. Соответственно дальнейший дебаг не имеет смысла, потому что код выхода не соответствует действительности. Давай проверим:
#include <cstdlib>

int main() {
    std::abort();
    return 0;
}
Пишем Dockerfile:
FROM ubuntu:22.04

RUN apt-get update \
    && apt-get -y install \
        build-essential \
    && rm -rf /var/lib/apt/lists/*

COPY ./ /src/
WORKDIR /src/
RUN g++ main.cpp -o app

WORKDIR /
CMD ["/src/app"]
Собираем и запускаем:
docker build -f ./Dockerfile -t sigabort_test:latest .
docker run --name test sigabort_test:latest ; echo $?
А на выходе у нас код: 139. В примере выше код выхода — 139 = 128 + 11, где 11 соответствует SIGSEGV (ошибка сегментации), а не 134 = 128 + 6, что был бы SIGABRT (аварийное завершение). Чтобы это пофиксить, нужно захерачить хак:
CMD ["bash", "-c", "/src/app ; exit $(echo $?)"]
docker run --name test sigabort_test:latest ; echo $?
bash: line 1: 6 Aborted /src/app
134
После этого контейнер будет возвращать корректный код 134. Вариант рабочий, но костыльный. Правильнее использовать ключ --init. Если запустить контейнер с флагом --init, используя исходную команду CMD ["/src/app"], мы получим ожидаемый 134 код. Что нам и нужно.
docker run --init --name test sigabort_test:latest ; echo $?

134
Почему init все починил? Давай копнём глубже. В Linux процесс с PID 1 (init) имеет нестандартную семантику сигналов: - Если у PID 1 для сигнала стоит действие «по умолчанию» (никакого обработчика), то сигналы с действием terminate игнорируются ядром. Это сделано, чтобы случайным SIGTERM/SIGINT нельзя было «уронить» init. - PID 1 должен забирать зомби-процессы (делать wait() за умершими детьми). Если этого не делать, накопятся зомби. - PID 1 обычно пробрасывает сигналы дальше — тому «настоящему» приложению, которое оно запускает. Когда мы запускаем контейнер без --init, приложение становится PID 1.
Большинство обычных приложений (на C/C++/Go/Node/Java и т.д.) не написаны как «инит-системы», они не настраивают обработку всех сигналов, не занимаются «реапингом» детей и не пробрасывают сигналы. В результате вылазиют баги.
Наш сценарий с abort() (который поднимает SIGABRT) упирается именно в правила для PID 1. abort() внутри процесса поднимает SIGABRT. Для обычного процесса с PID ≠ 1 это приводит к завершению с кодом 128 + 6 = 134. Но если процесс — PID 1, ядро игнорирует «терминирующие» сигналы при действии по умолчанию. В результате стандартные ожидания вокруг SIGABRT ломаются. Ну а дальше вступают в силу детали реализации рантайма/сишной библиотеки, как именно контейнерный рантайм считывает статус. На практике это может приводить к тому, что ты видишь 139 (SIGSEGV) вместо ожидаемого 134 (SIGABRT). И тут проблема не в docker, а в том, что приложение неожиданно оказалось в роли init-процесса и попало под его особые правила. Вот и вся наука. Изучай. 🛠 #docker #devops #linux #debug @bashdays @linuxfactory @blog

📆DevOps-митап с докладами от Altenar и Флант — встречаемся в центре Питера и онлайн вечером 30 октября. Ребята из международ
📆DevOps-митап с докладами от Altenar и Флант — встречаемся в центре Питера и онлайн вечером 30 октября. Ребята из международного разработчика ПО Altenar расскажут, как устроена их гибридная инфраструктура и: • Сравнят три способа подружить секреты из Vault с Kubernetes, которые опробовали в продакшене, а также рассмотрят альтернативные подходы. • Поделятся, как построили и поддерживают секьюрити-пайплайн на базе SonarQube, Trivy Operator и DefectDojo силами одного инженера. А также представитель Фланта поделится не так часто освещаемым опытом: как подойти к процессу сборки и доставки приложений в закрытые Kubernetes-кластеры. 👉🏻Все что нужно — зарегистрироваться. 📍Участие бесплатное, число мест в зале ограничено. Все зарегистрировавшиеся получат ссылки на трансляции в день мероприятия.

Сколько линуксоида не корми, он все равно на винду поглядывает. Накопал я тут тебе WinBoat. Эта штука запускает Windows-прило
+2
Сколько линуксоида не корми, он все равно на винду поглядывает. Накопал я тут тебе WinBoat. Эта штука запускает Windows-приложения прямо в Linux с максимально «нативной» интеграцией: окна приложений — как обычные X/Wayland-окна, общий доступ к файлам и даже полноценный Windows-десктоп. Что в коробке - Запустит любое приложение, которое работает в Windows — в том числе коммерческие программы. Ради прикола запустил Excel, ну что сказать, минимум приседаний и танцев с бубном. Работает прям отлично. - Окна приложений интегрируются в рабочий стол Linux, не просто RDP в едином окне, а RemoteApp-композитинг. - Автоматические инсталляции через GUI — выбираешь параметры, остальное делает WinBoat. - Файловая интеграция, домашний каталог монтируется в винду. - Полный Windows-десктоп по запросу (если нужно работать внутри полноценной виртуальной машины). Что под капотом Это Electron-приложение + сопутствующий «guest server». Windows запускается как VM внутри контейнера Docker. А между хостом и гостем общаются через WinBoat Guest Server. Затем для прорисовки отдельных окон используется FreeRDP + Windows RemoteApp — это и даёт ложное ощущение нативности. Штука интересная возможно бы я ее использовал, если бы плотно сидел на линуксе. Так что приглядись, глядишь установишь в хозяйстве приживется. 🛠 #утилиты #utilites #linux @bashdays @linuxfactory @blog