Премиум каналы

Bash Days | Linux | DevOps

🚀 Хотите узнать больше о мире DevOps, Linux и Bash? Подписывайтесь на мой авторский канал Bash Days! 📺 Здесь вы найдёте актуальные новости, советы и лучшие практики в области DevOps. Я буду делиться своими знаниями и опытом, чтобы помочь вам стать успешным специалистом. 🔧 На канале также будут обзоры полезных инструментов, инструкции и примеры скриптов на Bash, которые сделают вашу работу проще и эффективнее. 🚀 Не упустите возможность присоединиться и стать частью сообщества DevOps! 💪

Последние публикации с канала

Кластеры кубера для сладкой жизни!

Немного фактов:
▫️ Цена мастер-ноды: 0,00 ₽/мес.
▫️ Цена кластера в целом: от 304,65 ₽/мес. Ну прямо дешевле пачки пельменей😳
▫️ Автоматическое масштабирование и восстановление нод

Все классно, но вы кто?
Мы — современный провайдер серверов и услуг на базе дата-центров Selectel. Предлагаем инфраструктуру для любого проекта в удобной панели по выгодным ценам!

Еще у нас есть:

▫️ Выделенные серверы от 2,6 ₽/час (1900 ₽/месяц)
▫️ Облачные серверы от 0,26 ₽/час (187,61 ₽/месяц)

1 Гбит/с безлимитного интернета и бесплатная защита от DDoS-атак (L3/L4)!

Держи ПРОМОКОД на 300 рублей >>>>>>VSCALEKUBER300<<<<<<<<<
(для активации промокода нужно занести на баланс 100 рублей на кофе сисадмину)

Переходи по ссылке сразу в панель (1 минута на регистрацию, изи пизи) https://slc.tl/6bqcc

Реклама ООО «Селектел» erid 2VtzqvCyj1u

28.05.2024 / 07:05

📌 Воркшоп «Как быстро настроить сеть?»
🕓 28 мая, 16:00


Хотите узнать больше про масштабирование из выделенных серверов в облако? Коллеги из @Selectel подготовили онлайн-разбор практических кейсов🦖

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

Основные темы:
🔹 масштабирование выделенных серверов в облачную платформу через Глобальный роутер,
🔹 связность выделенных и облачных серверов,
🔹 связность выделенного сервера с Managed Kubernetes и облачными базами данных,
🔹 связность выделенного сервера и файлового хранилища (SFS).

Регистрируйтесь на мероприятие по ссылке, задавайте вопросы в форме и участвуйте в розыгрыше Тирекса ➡️ https://slc.tl/bakep

Реклама ООО «Селектел» erid 2VtzqvR3iTM

27.05.2024 / 11:05

Всех с понедельником! Начнем с простого, а вечером обсудим «сосо́чки».

Вопрос от подписчика: а можно ли после обновления linux ядра, сразу применить это ядро, без перезагрузки машины?

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

В продакшене такое делается так — поднимаешь параллельно новую машину с новым ядром и т.п. Если все устраивает, переключаешь DNS, апстримы и т.п. на новую машину и вуаля.

Теперь по утилитам. Из того что вспомнил, это kexec. Позволяет загрузить новое ядро, прямо из текущего работающего ядра.

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

kexec -l /boot/vmlinuz-new-kernel --initrd=/boot/initrd-new-kernel --command-line="root=/dev/sda1" kexec -e


Дальше существует Live Patching. Эта технология позволяет применять обновления ядра без перезагрузки.

- kpatch от Red Hat
- kGraft от SUSE
- Kernel Live Patching (KLP) с версии ядра 4.0

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

Ну и KernelCare. Это коммерческое решение, которое предоставляет возможность обновлять ядро Linux без перезагрузки. Оно поддерживает различные дистрибутивы Linux и позволяет администраторам систем применять критические обновления безопасности на лету.

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

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

Такие дела.

tags: #linux

🔔 @bashdays

27.05.2024 / 07:05

Хотите разобраться с регулярными выражениями для системного администратора Linux?

🎁 Ждём вас на бесплатно открытом практическом уроке от OTUS по Linux.

На уроке вместе с опытным экспертом:
- различие вариантов регулярных выражений;
- основной синтаксис шаблонов;
- составление выражения для парсинга логов.

💪 Спикер Николай Лавлинский — PhD Economic Sciences, опытный разработчик, автор курсов по администрированию и оптимизации веб-приложений, ведущий каналов «Ускорение сайтов» и «Поддержка сайтов».

Встречаемся 27 мая в 19:00 мск в рамках курса «Administrator Linux. Professional». Все участники вебинара получат специальную цену на обучение!

👉 Зарегистрируйтесь прямо сейчас, чтобы посетить бесплатный урок: https://otus.pw/Qclk/

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

26.05.2024 / 08:05
22.05.2024 / 11:05

Сегодня дождливый день, даже материться не хочется.

Поэтому потыкаем strace и файловый менеджер.

Для экспериментов я взял десктопный линукс на 22 убунте + gnome. Внутри моего гнома зашит файловый менеджер Nautilus. Но подойдет абсолютно любой дистрибутив и любой файловый менеджер например kde/dolphin.

Для начала создаём файл:

echo -ne '\x42\x5a\x68' > /tmp/bashdays


Этот файл я приправил магическими числами hex:42 5a 68, что равносильно формату файла: bz2.

Так, запускаем:

strace -o'|cat' -P /tmp/bashdays -qqqyf nautilus /tmp 2> /dev/null


Не забудь указать актуальное название своего файлового менеджера, у меня nautilus, у тебя может быть другой.

После запуска в файловом браузере откроется папка tmp, в ней мы увидим наш файл bashdays. Иконка у этого файла соответствует иконке bz2 архива.

Теперь возвращаемся в терминал с strace и смотрим что произошло.

openat("/tmp/bashdays", O_RDONLY) = 25</tmp/bashdays>
read(25</tmp/bashdays>, "BZh", 4096) = 3
close(25</tmp/bashdays>) = 0


В выводе наблюдаем обращение к файлу /tmp/bashdays, дополнительно видим что файл был прочитан. Также видим что была определена сигнатура файла BZh.

Отлично! Мы на верном пути. Теперь закрываем файловый менеджер, тормозит ранее запущенный strace. И добавляем к файлу расширение txt.

mv /tmp/bashdays /tmp/bashdays.txt


Снова запускаем strace:

strace -o'|cat' -P /tmp/bashdays.txt -qqqyf nautilus /tmp 2> /dev/null


И видим другую картину:

statx("/tmp/bashdays.txt")


Отсутствуют системные вызовы связанные с чтением файла. А файловый менеджер интерпретировал это как текстовый файл. Сменилась иконка.

Если сейчас кликнуть на этом файле 2 раза, то файл откроется в текстовом редакторе.

✔️ Делаем выводы

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

А если расширение не указано, то происходит анализ содержимого. В моём случае файловый менеджер нашел сигнатуру bz2 и автоматически решил что это архив.

Чтобы определить тип файла, можешь воспользоваться командой:

file /tmp/bashdays.txt


Вот такая вот логика зашита в кишочках.

Хорошей тебе рабочей недели, изучай!

tags: #linux #debug

🔔 @bashdays

20.05.2024 / 09:05

Грузить не буду, как-никак выходные. Подкину интересного чтива. Если коротко — автор статьи предлагает использовать в скриптах для комментариев, команду «:» вместо символа «#».

Это позволяет видеть комментарии в режиме отладки. Подход имеет ряд некоторых проблем, но общая концепция весьма интересна.

✔️ COLODEBUG: a simple way to improve bash script debugging.

Статья на иностранном, но с переводчиком всё понятно. Изучайте.

tags: #bash #linux

🔔 @bashdays

19.05.2024 / 10:05

новеньким, онбординг тута: https://t.me/bashday

Дима, подхватывай

18.05.2024 / 17:05

Привет. В Linux есть утилита basenc, которая входит в состав пакета coreutils. С помощью неё можно конвертировать данные в двоичный формат. Это который 00110010.

Видел на днях как люди упарывались и писали свои велосипеды, банально не зная о существовании этой утилиты и её возможностях.

А всё просто, давай закодируем название деревни:

echo 'пиздачосово' | basenc -w16 --base2msbf


По итогу получаем набор 0 и 1. Ключ -w16 я указываю, чтобы выводить по 16 символов в строке. Для удобства. Так как русские символы кодируются двумя байтами.

✔️ Вывод получился таким:

1101000010111111
1101000010111000
1101000010110111
1101000010110100
1101000010110000
1101000110000111
1101000010111110
1101000110000001
1101000010111110
1101000010110010
1101000010111110
00001010


А почему в последней строке какой-то обрубок?

Это не обрубок, это 8 бит! И эти 8 бит == символу новой строки, который закодирован одним байтом, о чем нам говорит левый бит первого и единственного октета (00001010).

А декодируется всё это безобразие так:

str="1101000010111111110100001011100011010000101101111101000010110100110100001011000011010001100001111101000010111110110100011000000111010000101111101101000010110010110100001011111000001010"

echo $str | basenc -d --base2msbf


Просто указываем ключ -d и вуаля!

Если тема интересна, можешь почитать более подробно про кодирование UTF-8 здесь.

Вага-вага!

Сегодня чуть позже (16:00 МСК) залетит еще один партнерский пост, но это будет не просто рекламная интеграция.

Ниже я сделаю кнопку (в 16:02 МСК). Нажав на нее ты сможешь выиграть 1 бесплатный купон на неплохую онлайн конфу. Всего будет 3 таких купона. Всю эту кухню контролирую лично я, поэтому наёба тут нет.

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

Короче если интересно, не пропусти. Давай, хорошего дня!

tags: #linux #bash

🔔 @bashdays

16.05.2024 / 09:05
Отзывы: - 0
Поделитесь вашим мнением! Оставьте отзыв:

Похожие

Избранное