Недавно выяснили, что nginx позволяет нативно писать логи в json формате. Для этого в конфиг nginx.conf нужно добавить такой блок:
Получаем максимальную информацию о клиенте в json формате, которую пробиваем средствами nginx. И теперь все это можно легко скармливать всяким эластикам и т.п. без парсинга и прочего.
Хранить логи в файлах не айс — хорошо бы запихать их в system journal.
Добавим пару строк в nginx.conf и всё логирование будет перенаправлено в system journal.
А можно комбинировать, писать одновременно логи в файл в дефолтном шаблоне nginx’а и параллельно писать в system journal в json:
Чтобы посмотреть логи в system journal, воспользуйтесь командой: journalctl -f
log_format nginx_json escape=json '{"time_local":"$time_local", "cloud_ip":"$http_x_real_ip", "ip":"$http_cf_connecting_ip", "connection":"$connection", "request_completion":"$request_completion", "status":"$status", "rtime":"$request_time", "rlenght":"$request_length", "content_type":"$content_type", "content_length":"$content_length", "bytes_sent":"$bytes_sent", "body_bytes_sent":"$body_bytes_sent", "raddr":"$remote_addr", "ruser":"$remote_user","upstream_addr":"$upstream_addr", "upstr_resp_time":"$upstream_response_time", "upstr_cache_status":"$upstream_cache_status", "upst_status":"$upstream_status", "gzip_ratio":"$gzip_ratio", "http_x_forwarded_for":"$http_x_forwarded_for", "proxy":"$proxy_host:$proxy_port", "proxy_int_body_length":"$proxy_internal_body_length", "server_proto":"$server_protocol", "rmethod":"$request_method", "uri":"$uri", "args":"$args", "http_referer":"$http_referer", "uag":"$http_user_agent"}';
access_log /var/log/nginx/access.log nginx_json;
error_log /var/log/nginx/error.log;
Получаем максимальную информацию о клиенте в json формате, которую пробиваем средствами nginx. И теперь все это можно легко скармливать всяким эластикам и т.п. без парсинга и прочего.
Хранить логи в файлах не айс — хорошо бы запихать их в system journal.
Добавим пару строк в nginx.conf и всё логирование будет перенаправлено в system journal.
error_log syslog:server=unix:/dev/log;
access_log syslog:server=unix:/dev/log nginx_json;
А можно комбинировать, писать одновременно логи в файл в дефолтном шаблоне nginx’а и параллельно писать в system journal в json:
log_format nginx_json ...
log_format nginx_default ...
access_log /var/log/nginx/access_json.log nginx_json;
access_log /var/log/nginx/access_default.log nginx_default;
Чтобы посмотреть логи в system journal, воспользуйтесь командой: journalctl -f
👍24❤🔥21👏2❤1
Проблема, описываемая в статье, была связана с ndrive — внутренней файловой системой, реализованной с помощью FUSE. Автор расскажет, как он копался в /proc в поисках причины, и узнал, как на самом деле работает wait в ядре.
Читать статью
#гайд
Please open Telegram to view this post
VIEW IN TELEGRAM
Medium
Netflix Drive
A file and folder interface for Netflix Cloud Services
❤25👍6👏1
Самые полезные каналы для программистов в одной подборке!
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
Сохраняйте себе, чтобы не потерять 💾
🔥Для всех
Библиотека программиста — новости, статьи, досуг, фундаментальные темы
Книги для программистов
IT-мемы
Proglib Academy — тут мы рассказываем про обучение и курсы
#️⃣C#
Библиотека шарписта
Библиотека задач по C# — код, квизы и тесты
Библиотека собеса по C# — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Вакансии по C#, .NET, Unity Вакансии по PHP, Symfony, Laravel
☁️DevOps
Библиотека devops’а
Вакансии по DevOps & SRE
Библиотека задач по DevOps — код, квизы и тесты
Библиотека собеса по DevOps — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
🐘PHP
Библиотека пхпшника
Вакансии по PHP, Symfony, Laravel
Библиотека PHP для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по PHP — код, квизы и тесты
🐍Python
Библиотека питониста
Вакансии по питону, Django, Flask
Библиотека Python для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Python — код, квизы и тесты
☕Java
Библиотека джависта — полезные статьи по Java, новости и обучающие материалы
Библиотека Java для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Java — код, квизы и тесты
Вакансии для java-разработчиков
👾Data Science
Библиотека Data Science — полезные статьи, новости и обучающие материалы
Библиотека Data Science для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Data Science — код, квизы и тесты
Вакансии по Data Science, анализу данных, аналитике, искусственному интеллекту
🦫Go
Библиотека Go разработчика — полезные статьи, новости и обучающие материалы по Go
Библиотека Go для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по Go — код, квизы и тесты
Вакансии по Go
🧠C++
Библиотека C/C++ разработчика — полезные статьи, новости и обучающие материалы по C++
Библиотека C++ для собеса — тренируемся отвечать на каверзные вопросы во время интервью и технического собеседования
Библиотека задач по C++ — код, квизы и тесты
Вакансии по C++
💻Другие профильные каналы
Библиотека фронтендера
Библиотека мобильного разработчика
Библиотека хакера
Библиотека тестировщика
💼Каналы с вакансиями
Вакансии по фронтенду, джаваскрипт, React, Angular, Vue
Вакансии для мобильных разработчиков
Вакансии по QA тестированию
InfoSec Jobs — вакансии по информационной безопасности
📁Чтобы добавить папку с нашими каналами, нажмите 👉сюда👈
🤖Также у нас есть боты:
Бот с IT-вакансиями
Бот с мероприятиями в сфере IT
Мы в других соцсетях:
🔸VK
🔸YouTube
🔸Дзен
🔸Facebook *
🔸Instagram *
* Организация Meta запрещена на территории РФ
👍4
🧑🎓🧑🎓 Лекторий по SRE: Примеры сбоев
Плавное введение в тематику SRE.
Реальные примеры сбоев, которые повлияли на работу целых компаний, и как с этими сбоями работали.
Это целый курс по теории SRE. Пока там 14 видосов от основ, до детектирования и устранения сбоев, построения отказоустойчивых систем и прочего.
В общем — классная вещь! 👍
#туториал
Плавное введение в тематику SRE.
Реальные примеры сбоев, которые повлияли на работу целых компаний, и как с этими сбоями работали.
Это целый курс по теории SRE. Пока там 14 видосов от основ, до детектирования и устранения сбоев, построения отказоустойчивых систем и прочего.
В общем — классная вещь! 👍
#туториал
🙏15🤩10❤4👏2
🤔 Очередной #дайджест для DevOps-ов
♦️ Terraform module — Self-Hosted масштабируемые GitHub Actions на AWS
♦️ Рекомендации по масштабированию внедрения AWS SDK в вашей организации — стратегии и лучшие практики для ускорения внедрения CDK в вашей организации
♦️ 8 Лучших советов и хитростей по Docker — VirtioFS, Docker Build cache и прочее
♦️ Bitwarden в действии — автоматизация смены ключей и паролей для AWS
♦️ hadolint — интеллектуальный компоновщик Dockerfile, который помогает создавать Docker-образы
♦️ Terraform module — Self-Hosted масштабируемые GitHub Actions на AWS
♦️ Рекомендации по масштабированию внедрения AWS SDK в вашей организации — стратегии и лучшие практики для ускорения внедрения CDK в вашей организации
♦️ 8 Лучших советов и хитростей по Docker — VirtioFS, Docker Build cache и прочее
♦️ Bitwarden в действии — автоматизация смены ключей и паролей для AWS
♦️ hadolint — интеллектуальный компоновщик Dockerfile, который помогает создавать Docker-образы
❤7🥰5😁4👍3🔥3
🍊Подборка лучших статей «Библиотеки программиста» за декабрь: сохраняй в заметки, чтобы не пропустить #самыйсок
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
📈 Обзор рынка труда в ИТ: III квартал 2023 года
🔟🏢 ТОП-10 российских IT-работодателей
🤖🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу
🏆 Самые популярные языки программирования 2023
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
🐍❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье
🧠🧩 Зачем айтишнику психолог?
😺🐙✅ Как разобраться в Git: краткая инструкция для джунов
🎄🎁 10 абсурдных подарков программисту на Новый год
✍️ Почему отсутствие технической документации убьёт ваш проект?
🏖️ Чек лист идеального отдыха: 5 психологических техник расслабления
📈 Обзор рынка труда в ИТ: III квартал 2023 года
🔟🏢 ТОП-10 российских IT-работодателей
🤖🔤 Азбука SQL в примерах. Часть 1. Создаем базу данных и первую таблицу
🏆 Самые популярные языки программирования 2023
🌎 ТОП-10: рейтинг лучших зарубежных работодателей в IT
🐍❤️🙏 Путь к мечте: как инвалидность не помешала стать разработчиком и продолжить борьбу за здоровье
🧠🧩 Зачем айтишнику психолог?
😺🐙✅ Как разобраться в Git: краткая инструкция для джунов
🎄🎁 10 абсурдных подарков программисту на Новый год
✍️ Почему отсутствие технической документации убьёт ваш проект?
❤5👍2
MinIO Multi-Node Multi-Drive
Объектное хранилище — название отражает принцип работы, хранение данных в виде объектов с уникальным индексом.
Автор расcкажет о своем опыте работы с одним из них, а конкретно о MinIO, из‑за достаточно простой установки, настройки и не плохого функционала. Есть несколько вариантов инсталляции MinIO:
➖ Single‑Node Single‑Drive
➖ Single‑Node Multi‑Drive
➖ Multi‑Node Multi‑Drive
Далее кратко о первых двух и подробно о последнем варианте.
#почитать
Объектное хранилище — название отражает принцип работы, хранение данных в виде объектов с уникальным индексом.
Автор расcкажет о своем опыте работы с одним из них, а конкретно о MinIO, из‑за достаточно простой установки, настройки и не плохого функционала. Есть несколько вариантов инсталляции MinIO:
➖ Single‑Node Single‑Drive
➖ Single‑Node Multi‑Drive
➖ Multi‑Node Multi‑Drive
Далее кратко о первых двух и подробно о последнем варианте.
#почитать
❤4🔥1
su «substitute user» — заменить пользователя
sudo «substitute user and do» — подменить пользователя и выполнить
su требует пароль целевой учетной записи, на кого переключаемся.
sudo требует пароль текущего пользователя и запускает от его имени команды, которым требуются права суперюзера.
Например, мы сидим под пользователем user и хотим войти под John:
user@dev:/$ su john
Будет запрошен пароль, нужно ввести пароль именно от учетной записи john, а не от user.
А вот пример с sudo:
user@dev:/$ sudo -u john whoami
А здесь нужно ввести пароль от учетной записи user, а не от John или рута. Но для этого случая сперва необходимо добавить пермишены для пользователя user в файл /etc/sudoers.
user ALL=(ALL:ALL) ALL
Редактировать этот файл можно по средствам команды visudo. А свалидировать конфиг можно командой visudo -c. Редактирование этого файла через visodu хорошо тем, что если вы допустите ошибку, то при сохранении, оно сообщит о ней.
А для чего нужен дефис после su?
Для очистки переменных и чтобы пользоваться чистой оболочкой при переключении на другого пользователя.
Авторизуемся под пользователем user и экспортируем переменную:
ssh user@pc
export a="test"
Теперь у пользователя user есть переменная "a" которая = test.
Переключаемся на пользователя John и смотрим переменную "a"
su john
echo $a
Вывелась строчка test. То есть все что мы задали под user, перекочевало в оболочку john. А теперь добавим дефис:
su - john
echo $a
Переменная $a больше не выводится. Чистая оболочка. Кстати с этим дефисом часто косячат и потом долго не могут понять в чем причина. Переменные вроде были заданы, а потом куда-то пропали.
su (с дефисом) — сначала переключается пользователь, а затем запускается shell, зачищаются все переменные.
su (без дефиса) — переключает пользователя, оставляя переменные окружения старого пользователя.
У sudo есть подобные ключи -s -i
user@pc:/$ sudo -s
Запустится оболочка с правами root
user@pc:/$ sudo -i
Запустится оболочка, но уже с чтением файлов root/.profile/.bashrc и т.п. Можно попробовать добавить экспорт переменной в .profile, сделать sudo -s/-i и увидеть что с ключом -i переменная выведется на экран.
По сути sudo -i = команде sudo su -. Но обычно за sudo su - в приличных местах можно получить по шапке. Это плохая практика! Так как это порождает дополнительный процесс и больше гемора с набором самой команды.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥19👍6❤1🥰1
Forwarded from Библиотека задач по DevOps | тесты, код, задания
Чем отличается StatefulSet от Deployment?
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
Deployment — ресурс Kubernetes предназнваенный для развертывания приложения без сохранения состояния. При использовании PVC все реплики будут использовать один и тот же том, и ни один из них не будет иметь собственного состояния.
StatefulSet — поддерживают состояние приложений за пределами жизненного цикла отдельных модулей pod, например для хранилища. Используется для приложений с отслеживанием состояния, каждая реплика модуля будет иметь собственное состояние и будет использовать свой собственный том.
🔥21🎉14👍5❤1
🤔❓ Как добавить, использовать и обновить .terraform.lock.hcl без боли
В Terraform 1.4.0 были внесены изменения, которые нарушают прежнее непреднамеренное поведение. Раньше моно было игнорировать lockfile и использовать кэшированных провайдеров, если ограничения версий в коде соответствовали локальному кэшу. Начиная с версии 1.4.0, Terraform всегда проверяет lockfile перед тем, как зайти в каталог кэша. На практике это означает, что если вы проигнорируете файл блокировки или полностью удалите его, Terraform запустит полный init, независимо от того, что находится в вашем TF_CACHE_DIR или в каталоге .terraform.
Более подробно читайте здесь
#гайд
В Terraform 1.4.0 были внесены изменения, которые нарушают прежнее непреднамеренное поведение. Раньше моно было игнорировать lockfile и использовать кэшированных провайдеров, если ограничения версий в коде соответствовали локальному кэшу. Начиная с версии 1.4.0, Terraform всегда проверяет lockfile перед тем, как зайти в каталог кэша. На практике это означает, что если вы проигнорируете файл блокировки или полностью удалите его, Terraform запустит полный init, независимо от того, что находится в вашем TF_CACHE_DIR или в каталоге .terraform.
Более подробно читайте здесь
#гайд
🤩27❤4👍3
🤔 Очередной #дайджест для DevOps-ов
↘️ Stack Lifecycle Deployment — опенсорсный проект, определяющий и управляющий полным жизненным циклом ресурсов, используемых в облаке
↘️ Управление несколькими средами в Terraform — создание каталога для каждой среды и организацию кода инфраструктуры в этих каталогах
↘️ Демистификация OOM Killer в Kubernetes — отслеживание проблем с памятью
↘️ Б значит не Безумие, а Безопасность — кибербезопасность сейчас в тренде, безопасность инфраструктуры и ПО, располагаемого в ней, тоже — об этом и пойдет речь
↘️ 10 советов по управлению крупными инцидентами — просмотрите логи, поковыряйте мониторинг, обратитесь в службу поддержки и т. д.
↘️ Stack Lifecycle Deployment — опенсорсный проект, определяющий и управляющий полным жизненным циклом ресурсов, используемых в облаке
↘️ Управление несколькими средами в Terraform — создание каталога для каждой среды и организацию кода инфраструктуры в этих каталогах
↘️ Демистификация OOM Killer в Kubernetes — отслеживание проблем с памятью
↘️ Б значит не Безумие, а Безопасность — кибербезопасность сейчас в тренде, безопасность инфраструктуры и ПО, располагаемого в ней, тоже — об этом и пойдет речь
↘️ 10 советов по управлению крупными инцидентами — просмотрите логи, поковыряйте мониторинг, обратитесь в службу поддержки и т. д.
👍7😁6🎉6👏5❤4
#вопросы_с_собеседования
Что такое контейнеризация? Чем она отличается от виртуализации?
При виртуализации машины создаются с помощью гипервизора и все аппаратные составляющие создаются через него. Затем на него накатываются операционные системы. Соответственно, ресурсы машины будут уходить на поддержание работы запущенной операционной системы.
При контейнеризации аппаратные ресурсы выделяются с помощью ядра операционной системы, и изолируются пространством имен. Следовательно, они потребляют меньше ресурсов, и быстрее пересоздаются.
Что такое контейнеризация? Чем она отличается от виртуализации?
При виртуализации машины создаются с помощью гипервизора и все аппаратные составляющие создаются через него. Затем на него накатываются операционные системы. Соответственно, ресурсы машины будут уходить на поддержание работы запущенной операционной системы.
При контейнеризации аппаратные ресурсы выделяются с помощью ядра операционной системы, и изолируются пространством имен. Следовательно, они потребляют меньше ресурсов, и быстрее пересоздаются.
❤🔥33🔥3👍2
🧑💻 Статьи для IT: как объяснять и распространять значимые идеи
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
Напоминаем, что у нас есть бесплатный курс для всех, кто хочет научиться интересно писать — о программировании и в целом.
Что: семь модулей, посвященных написанию, редактированию, иллюстрированию и распространению публикаций.
Для кого: для авторов, копирайтеров и просто программистов, которые хотят научиться интересно рассказывать о своих проектах.
👉Материалы регулярно дополняются, обновляются и корректируются. А еще мы отвечаем на все учебные вопросы в комментариях курса.
❤2
✍️😎 Пишем Ansible-модули для управления разными системами хранения данных через Swordfish
Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.
О Swordfish и преимуществах спецификации
Swordfish — это стандарт управления хранилищами данных, разработанный SNIA (Storage Networking Industry Association). Эта организация объединяет производителей и пользователей СХД с целью разработки и поддержки отраслевых стандартов и технологий хранения данных. Swordfish предоставляет богатый функционал для управления ресурсами хранилищ данных, конфигурации и мониторинга систем, поддерживает механизмы аутентификации и авторизации для обеспечения безопасности. Спецификация Swordfish призвана решить большое количество проблем с универсальностью управления СХД в современной инфраструктуре, а за развитием и улучшением стандарта стоит активное сообщество.
Продолжение тут
#туториал
Большинство современных систем хранения данных (СХД) предоставляют REST API для управления ими, включая настройку, конфигурирование, выполнение различных команд, получение логов, работу с пользователями и т.д. В зависимости от производителя СХД REST API могут отличаться друг от друга. Если вы используете несколько разных систем, их одновременная поддержка становится проблемой: нужно учитывать многообразие протоколов, интерфейсов, команд и способов взаимодействия с API.
О Swordfish и преимуществах спецификации
Swordfish — это стандарт управления хранилищами данных, разработанный SNIA (Storage Networking Industry Association). Эта организация объединяет производителей и пользователей СХД с целью разработки и поддержки отраслевых стандартов и технологий хранения данных. Swordfish предоставляет богатый функционал для управления ресурсами хранилищ данных, конфигурации и мониторинга систем, поддерживает механизмы аутентификации и авторизации для обеспечения безопасности. Спецификация Swordfish призвана решить большое количество проблем с универсальностью управления СХД в современной инфраструктуре, а за развитием и улучшением стандарта стоит активное сообщество.
Продолжение тут
#туториал
🎉22❤5👍2
🤔✏️ Обзор одноцелевых дистрибутивов Linux
Многие из тех, кто устанавливает дистрибутив Linux для одной-единственной цели, например, для работы с контейнерами, предпочитают развёртывание по принципу «поставил и забыл». На конференции FOSDEM 2023, состоявшейся в Брюсселе, было представлено несколько проектов из разряда таких «минимальных дистрибутивов Linux». Все они — Fedora CoreOS, Ubuntu Core, openSUSE MicroOS и Bottlerocket OS — решают такие задачи по-своему. Из выступлений на FOSDEM можно составить интересную перспективу, демонстрирующую, в чём эти проекты отличаются на уровне применяемых подходов.
Изучить дистрибутивы
#гайд
Многие из тех, кто устанавливает дистрибутив Linux для одной-единственной цели, например, для работы с контейнерами, предпочитают развёртывание по принципу «поставил и забыл». На конференции FOSDEM 2023, состоявшейся в Брюсселе, было представлено несколько проектов из разряда таких «минимальных дистрибутивов Linux». Все они — Fedora CoreOS, Ubuntu Core, openSUSE MicroOS и Bottlerocket OS — решают такие задачи по-своему. Из выступлений на FOSDEM можно составить интересную перспективу, демонстрирующую, в чём эти проекты отличаются на уровне применяемых подходов.
Изучить дистрибутивы
#гайд
❤2👏2