Bash Days | Linux | DevOps


Гео и язык канала: Россия, Русский
Категория: Технологии


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

Зарегистрирован в РКН
Связанные каналы  |  Похожие каналы

Гео и язык канала
Россия, Русский
Категория
Технологии
Статистика
Фильтр публикаций


Мёртвое ядро или мой новый проект DK.

Чё тянуть кота за яйца, интригу закину https://deadkernel.ru, полный анонс будет чуть позже…

Где-то там плачет грустный хуй сервер, а у нас всё по взрослому.

Для студентов Linux Factory бонусы, но они и так уже про них знают и активно используют.


Неси своё слово, делись с коллегами годнотой 😻


☁️☁️☁️☁️☁️☁️☁️

24 сентября Yandex Cloud проведёт Yandex Scale 2026 — флагманскую технологическую конференцию, посвящённую облачным технологиям, инфраструктуре и искусственному интеллекту.

🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨
В программе четыре продуктовых трека — AI, Data, Security и Hybrid Infrastructure & DevOps, — и отдельный углублённый технологический трек DeepTech, который пройдёт только онлайн.

В треке Hybrid Infrastructure & DevOps откроем программу рассказом про главные инфраструктурные анонсы и новинки 2026 года. На примере Stackland расскажем, как построить свою внутреннюю платформу по методологии Platform Engineering и ускорить time to market. Разберём, зачем бизнесу кластеры Yandex Managed Service for Kubernetes на тысячи нод — на реальном продакшн-кейсе Mindbox. Расскажем, как получить предсказуемую и безопасную ИИ‑разработку с ИИ‑командой на платформе SourceCraft и максимизировать возврат инвестиций от ИИ. Разберём возможности построения реальной гибридной инфраструктуры на базе единой технологической платформы и то, как полноценно объединить локальную и облачную среды, включая выделенные серверы BareMetal. И на примере крупного банка рассмотрим, как создать полноценный гибрид, соблюдая требования безопасности, регуляторов и бизнеса одновременно.

🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨
Отдельно пройдут воркшопы по Hybrid Infrastructure & DevOps. Смоделируем аварию на физическом сервере и проверим, как гибридная архитектура на облаке и BareMetal держит отказоустойчивость. Научим разворачивать корпоративную ИИ-систему с RAG-сценарием на Yandex BareMetal и Stackland — чтобы модель работала с внутренней документацией и базами знаний. Разберём, как эффективно делить GPU-ресурсы Yandex Managed Service for Kubernetes между параллельными задачами обучения моделей. И покажем, как команда ИИ-агентов SourceCraft проходит путь от бизнес-требований до безопасного релиза — с проверкой на уязвимости на каждом шаге.

🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨
🎨🎨🎨🎨🎨🎨🎨🎨🎨🎨

На конференции будут не только треки — ещё демозоны, питчинг решений, IT-квест и мерч. Параллельно в онлайн-студии — розыгрыш призов и секретный гость.


Программа целиком — на сайте конференции, регистрация там же, а участие бесплатное!


Я начал практиковать собесы с закрытыми глазами.

Соль тут в том, что глаза закрывает кандидат. Естественно сразу большая часть кандидатов отваливается. Причины — кошка в камеру хуёв напихала, глаза не закрываются с рождения и т.п.

Но мы то знаем правду… 90% сидят на ИИшке и зачитывают ответы, это блядь просто смешно выглядит. Сначала кандидат выслушивает вопрос, потом 3 минуты начинает мычать вообще не по теме. А потом чудесным образом приходит в себя и начинает выдавать правильные ответы, что аж от языка отлетает.

На прошлой неделе я это сразу просек, попросил закрыть человека глаза и повторить ответ который он только что мне зачитал. Сука… он даже не запомнил, что прочитал. Подвели писю к носу. И что интересно, он не признался, что читал с экрана. Ну да хуй с ним.

Мир изменился, поэтому приходится придумывать новые фильтры. На любого хитрожопого, найдется более хитрожопый.

Суть тут не заставить человека страдать, а до собеса отсеять пидарасов, которые думают, что они умнее других и занимают чужие места.

Если человек заранее соглашается на собес с закрытыми глазами, то тут всё ясно, либо он будет говорить правду, либо это очередной хитрожопый, который придумал способ передачи информации через анальный зонд.

Смешно, но скоро так и будет — засунул себе поглубже и мозг наполняется нейросетевыми высерами.

Короче мозги не еби, будь честен, прозрачен, можешь припизднуть конечно, но всегда знай меру и балансируй по ситуации. Тыж головастый.

🛠 #workflow

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

9.5k 2 214 57 111

Выходные, которые настроят твой IT-путь – Сбер.Среда Weekend, 15-16 августа 🧩

Это нишевый фестиваль для своих: тех, кто уже в комьюнити, и тех, кто только ищет себя в IT.

Мы создали три среды — ты точно найдёшь свою:

🟢human.env — честные, смешные и местами беспощадные стендапы и рассказы про работу.

🟢growth.env — воркшопы и дискуссии от IT‑сообществ Сбера. С тебя — вопрос, с команды — ответ.

🟢 party.env — DIY, танцы и большая финальная вечеринка с музыкальными хедлайнерами — SALAME, Тима ищет свет и группа Лауд.

Выбирай свою среду — или пройди все три: пусть эти выходные станут началом чего‑то большего!


Всем привет. Вчера решал задачу фильтрации txt-файла и нашёл конструкцию на awk, от которой испытал эстетический оргазм. Решил с вами ею поделиться.

Итак, задача: есть _data.txt_ с данными и _filter.txt_ со списком фильтрации.

Строки data.txt обрабатываются, если есть совпадение в filter.txt. Это классическая задача фильтрации (например, обработка белых и чёрных списков).

И да, я знаю про программы comm и join, с помощью которых можно решать подобные вещи, но мне нравится awk, потому что делает это гибче благодаря наличию языка программирования и не требует предсортировки.

👍 Итак, сама конструкция:


awk 'NR == FNR { filter[$0] = 1; next } $0 in filter { print $0, "in filter" }' filter.txt data.txt

Обратите внимание: здесь два блока обработки строк, каждый со своим условием

1. NR == FNR { filter[$0] = 1; next }
2. $0 in filter { print $0, "in filter" }

Обычно выполняются оба блока: сначала первый, потом второй, но здесь это не так. Первый блок только считывает данные filter.txt в массив filter.

Второй обрабатывает только те строки, которые есть в массиве.

NR — встроенная переменная, номер записи ДЛЯ ВСЕХ файлов.
FNR — аналогична предыдущей, но начинается с 1 для каждого нового файла.
filter[$0] = 1 — сохраняем всю строку первого файла как ключ массива.
next — сразу переходит к обработке следующей строки.

Таким образом, связка условия NR == FNR и next будет работать только для первого файла (filter.txt).

Для второго файла условие NR == FNR уже не соблюдается, поэтому первый блок не выполняется, а второй выполняется, если строка данных присутствует в массиве filter.

Ну и пример из реальной жизни — filter.txt:

RU
BY

data.txt

RU 127.0.0.1
BY 127.0.0.2
US 127.0.0.3
KZ 127.0.0.4

awk 'NR == FNR { filter[$1] = 1; next } $1 in filter { print $2, "in filter" }' filter.txt data.txt

127.0.0.1 in filter
127.0.0.2 in filter

Обратите внимание: на выходе только нужные строки и только нужный столбец. Как же это круто!

Маленькое ограничение: содержимое filter.txt, загруженное в массив filter, должно помещаться в оперативную память. Иначе система может начать активно использовать swap, а процесс — завершиться из-за нехватки памяти.

man awk
man comm
man join


Всем работы без багов.

© Tagd Tagd

🛠 #devops #bash #linux

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

5.8k 1 104 11 64

Горячая вакуха от подписчика!

Страховая компания ищет DevOps/SRE уровня от крепкого мидла до синьора. Сейчас инфраструктура работает в мануальном режиме, поэтому предстоит не перекладывать чужие ямлики, а построить всё с нуля: IaC, сиайсиди, dev и продакшен контуры, резервное копирование, Disaster Recovery, мониторинг, логи и алерты.

Инфраструктура мультиоблачная, Селектел и таймвеб.

В стеке терра, ансибл, докер, k8s/k3s, хельм, ваульт, MinIO, гатхаб экшенс, гитлаб сиайсиди, графана, виктория, локи, nginx, посгря и редиска.

Короче, редкая возможность сначала построить легаси самостоятельно, а уже потом героически с ним бороться.

Условия

• Полная удалёнка
• Фултайм
• ГПХ с самозанятым или ИП
• Старт от 200 000 ₽
• Опыт в финтехе или иншуртехе будет плюсом

Писать сюда: @dtvbihezfohcvbzy

🛠 #вакансия

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog


Сообщество инженеров сопровождения Сбера продолжает агентизировать города.

📆13 августа собираем OPS, DevOps и SRE-инженеров Самары в необычном формате и только офлайн.

⛴Курсируем по Волге на двух теплоходах, где в формате барных стендапов и дискуссий обсудим, что умеют агенты в OPS, а что пока нет, как мы строим надёжность, как реагируем на инциденты, куда ведёт агентизация и что с этим делать.

13 августа, 18:30
Самара, Теплоходы "Вояж" и "Спутник"

👉Регистрация тут
Количество очных мест ограничено


Тут ёбнутая тема пошла, чтобы вы могли ходить на нашу апиху, нужно установить сертификаты от Минцифры.

Я долго это игнорил, пока всё к херам не сломалось.

Ошибка: cURL: SSL certificate problem: self-signed certificate in certificate chain


Да, в голову сразу пришло решение — ёбнуть SSL Ignore. Но это костыль и безопасники в жопу выебут.

Хули, пришлось разбираться. Как оказалось Angie и nginx трогать не надо и всё решается на уровне дистрибутива. У меня убунты старенькие торчат в продах, поэтому затачивал под них. Но смысл не меняется и можешь подкрутить под свои дистрибутивы.

Чтобы 100500 команд не вводить, сделал всё одной командой, запускаешь из консольки и всё сразу работает, без костылей и нападок на твой задний проход со стороны ИБешкников. Даже в скрипт сохранять не нужно.

Установка РФ-сертификатов:

(
set -e

cert_tmp="$(mktemp -d)"
trap 'rm -rf "$cert_tmp"' EXIT

curl -fsSL \
https://gu-st.ru/content/Other/doc/russian_trusted_root_ca.cer \
-o "$cert_tmp/root.crt"

curl -fsSL \
https://gu-st.ru/content/Other/doc/russian_trusted_sub_ca.cer \
-o "$cert_tmp/sub.crt"

openssl x509 -in "$cert_tmp/root.crt" -noout -subject |
grep -Fq "Russian Trusted Root CA"

openssl x509 -in "$cert_tmp/sub.crt" -noout -subject |
grep -Fq "Russian Trusted Sub CA"

root_fingerprint="$(
openssl x509 -in "$cert_tmp/root.crt" -noout -fingerprint -sha1 |
cut -d= -f2 |
tr -d ':'
)"

test "$root_fingerprint" = "8FF915CCAB7BC16F8C5C8099D53E0E115B3AEC2F"

openssl verify \
-CAfile "$cert_tmp/root.crt" \
"$cert_tmp/sub.crt"

install -m 0644 "$cert_tmp/root.crt" \
/usr/local/share/ca-certificates/russian_trusted_root_ca.crt

install -m 0644 "$cert_tmp/sub.crt" \
/usr/local/share/ca-certificates/russian_trusted_sub_ca.crt

update-ca-certificates

curl -fsSvo /dev/null https://business.t-bank-app.ru/
)

Ну и всё, если в куче мусора увидел — SSL certificate verify ok, значит всё прошло успешно. Перезапускаешь свои пыхи или чё там у тебя и можно дальше не париться.

Такие дела. Изучай.

🛠 #devops #security #bash

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog


Заберите девопса из РЖД, пока он там не автоматизировал вообще всё 🙃

Три года работает с живой инфраструктурой, в его хозяйстве около 300 серверов, кубер на 250+ подов, критичные системы и объекты КИИ. С отличием окончил Linux Factory.

Умеет в ансибл, баш, кубер, ArgoCD, Helm, гитлаб, докер, мониторинг и отказоустойчивый PostgreSQL.

Из интересного

• перевёл все линуксовые серверы на управление через ансибл
• сократил ввод нового серверного комплекса до 10 минут
• мигрировал критичные системы между ЦОД
• настроил автоматический failover PostgreSQL

Ему можно отдавать не только ямлики, но и прод. Умеет искать причины проблем, автоматизировать рутину и думает про отказоустойчивость.

Ищет удалёнку или гибрид в Санкт-Петербурге.

Пиши сюда: @mchernishovv

🛠 #биржатруда

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog


🔍Тестовое собеседование с Head of DevOps уже завтра

4 августа(уже завтра!) в 19:00 по мск
приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle DevOps-разработчика.

Как это будет:
📂 Александр Хренников, Head of DevOps в KTS с опытом 14+ лет, будет задавать реальные вопросы и задачи разработчику-добровольцу
📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью
📂 В конце можно будет задать любой вопрос Александру

Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для DevOps-разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы.

Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_devops_bot

Реклама.
О рекламодателе.


Когда говорят про рынок облаков, обычно обсуждают цены или новые сервисы. Но для тех, но требования заказчиков меняются вместе с рынком.

В новом исследовании Apple Hills Digital «Рынок IaaS в России: прогноз до 2030 года, ожидания заказчиков и позиционирование лидеров» как раз собраны ответы на этот вопрос. Аналитики изучили рынок с нескольких сторон: опросили корпоративных клиентов, провели интервью с руководителями облачных провайдеров и сопоставили результаты с собственной оценкой.

Картина получилась ожидаемой, но показательной. К 2030 году российский рынок публичного IaaS, по прогнозу, вырастет до 241 млрд рублей. При этом главным фактором выбора облака становится уже не стоимость. Для 72% компаний важнее надежность инфраструктуры, для 54% — безопасность и соответствие отраслевым требованиям.

Отдельный раздел посвящен технологическим трендам: росту AI/ML-нагрузок, переходу к гибридной инфраструктуре, распространению cloud-native-подходов и инструментов FinOps. Все это напрямую влияет на требования к платформам и архитектуре.

Если интересно посмотреть, как меняются ожидания рынка и какие технологии будут определять развитие IaaS в ближайшие годы, рекомендуем ознакомиться с исследованием.


👆👆👆

Здрасти, я тут собрал вместе с командой Selectel небольшую шпаргалку для случаев, когда нужно быстро проверить пачку адресов, сравнить конфиги на серверах или понять, куда опять делось место. Короче команды на каждый день, как ты любишь.

У ребят сейчас идет неделя сисадмина. Каждый день будут выходить новые полезные карточки, так что советую заглядывать и мотать на ус, глядишь сгодится в деле.

А к пятнице мы сообразили еще один небольшой и вкусный материал, так что следи за новостями.


Репост из: Selectel
Команды для спасения вечера сисадмина 💯

После 17:00 — самое подходящее время для срочных задач.

Сохраните заранее подборку консольных команд, чтобы сэкономить часы рутины. Собрали для вас самое нужное вместе с Романом Шубиным, СТО и автором канала Bash Days.

❤️ — если было полезно.



8.1k 1 168 7 49

В прошлом посте мы с тобой перелопалити приоритеты чтения sshd_config, сегодня добъем нюансы. Меня вчера 'https://t.me/bashdays/1501?comment=265745' rel='nofollow'>опередили в комментариях с Match но не страшно.

Сюда по классике не влезло, много буков, поэтому всё в блоге.

Читать: https://two.su/atcbh

🛠 #linux #devops

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog





7.7k 1 88 43 52

Здрасти мои хорошие, заранее прошу прощение за рекламные интеграции, был в отпуске, сейчас дача началась, короче время хватает только на проверку домашек. Но вкусных тем я уже понабрал, черновиков накидал, так что потихоньку буду возвращаться в рабочий ритм и радовать тебя всякой полезной хуйнёй.


Ну так вот. В очередной раз решил я с винды на линукс пересесть, потыкать Niri, да и винде уже 5 лет. Знатно засрана дерьмом, срок её подошел к логическому концу. Ну и вопрос встал ребром.

Все наработки и данные у меня в WSL на убунте. Логично что можно зайти в убунту и скопировать всё нужное в /mnt/c/backup, но это костыль, потому что будет потеря скорости, лишняя прокладка. Да, я честно пытался 40 гигов перетащить через copy и rsync, но прошло 2 часа и чет особо нихуя не продвинулось.

Ну не может же такого быть, должно всё нативненько бекапиться. Так и оказалось.

Заходим в powershell и выполняем:

wsl -l -v

Выведет список дистрибутивов, я работаю на Ubuntu 24.04, дальше делаю так:

wsl --shutdown
wsl --export "Ubuntu-24.04" D:\backup\wsl-ubuntu.tar

Жду 10 минут и получаю полноценный tar с полной копией файловой системы.

Ну великолепно же! Ну а дальше всё это я потом распакую и раскидаю уже по местам. Очередной пример того, что если не интересоваться новым и работать только с привычными инструментами, можно нехило деградировать, сидеть и ждать у моря погоды.

Знаю, будешь пытать меня в комментах насчет — а какой линукс ты поставил? Скажу так — пидорский. Но я только посмотреть, один раз не пидарас )

🛠 #linux #wsl #windows

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

7.8k 1 44 49 56

Сколько стоит фреймворк автоматизации

Я тут принёс тебе гостевой лонгрид, причём сразу в двух частях, потому что в одну всё уже физически не помещается.

Максим Братковский вещает, как с нуля собирал платформу автоматизации для десятилетнего Java-легаси: SOAP, REST, лицензии, конфиги, SNMP, SFTP, JMX и прочие радости, после которых ручной регресс длиной в пять недель начинает казаться котлом в аду.

В первой части будет много жабьего кунг-фу: CXF, JAX-WS, JAXB, Allure, генерация XML, параметризованные тесты и разбор граблей, которые пришлось собрать по дороге. По итогу из коллекции на 130 запросов выросла платформа с 2700 тестами, а пять недель ручного регресса превратились примерно в 30 минут автоматического прогона. Кайфушка!


Но это только половина истории. Вторую часть выкладываю сразу следом — там уже Docker, базы данных и дальнейшее развитие всей этой шайтан-машины.

Короче, материала получилось дофига, кода тоже дофига, практического опыта — ещё больше. Наливайте чай и погнали:

👉 Первая часть: https://two.su/yq61v

👉 Вторая часть: https://two.su/pjeqd

🛠 #qa #dev

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog


Безопасность Docker контейнеров

Я тут написал огромный пост про безопасность Docker контейнеров.

Разобрал, как нормально прикручивать security_opt, cap_drop, read_only, pids_limit, лимиты CPU/RAM, запуск не от root, seccomp, network_mode и почему privileged:true это не «чтобы заработало», а потенциальная дыра в жопе.

Без абстрактной душнины, зато с примерами, командами для проверки и объяснением, что именно ломается или защищается каждым параметром.

Если работаешь с Docker или хотя бы иногда пишешь композники, рекомендую почитать и ознакомиться. Там дохуя моментов, после которых захочется пойти и проверить свои контейнеры. Ну или по крайней мере будет запал на будущее, чтобы сделать всё в лучших практиках.

Читать тута: https://two.su/vnelv

🛠 #devops #security

💬 Bashdays 📲 MAX 🌐 LF 🔵 Blog

11.7k 1 288 15 66
Показано 20 последних публикаций.