Рубрика «системное администрирование» - 25

Bedrock Linux: лего-набор для создания идеального linux-дистрибутива - 1

С момента появления Linux достаточно скоро возникло множество дистрибутивов: Slack, RedHat, Debian, SUSE и т. д. Тогда же возникла и проблема выбора дистрибутива, ведь каждый из них имеет свои особенности и преимущества, которые делают его особенным. RedHat и Debian наиболее стабильные и консервативные из дистрибутивов, Ubuntu заточен на удобство и имеет прекрасный пользовательский интерфейс, Gentoo — свобода выбора и гибкость.

У каждого пользователя Linux были моменты, когда ему не хватало некоторых функций, реализованных в других дистрибутивах. Многим в свое время не понравилось, что Debian перешел на systemd и они создали на его основе новый дистрибутив — Devuan. Некоторые перешли на Gentoo, где пользователь может создать среду с двумя системами инициализации: как с openrc, так и с systemd.

В разных дистрибутивах этот вопрос решается по-разному. Установка пакета, который отсутствует в штатном репозитории, решается с помощью docker-контейнеров, или использованием систем самодостаточных пакетов snap и flatpak. Можно даже ставить RPM пакеты на системах с пакетным менеджером DEB. В Gentoo имеется поддержка RPM и DEB пакетов. Все это работает, однако плохо масштабируется и не очень стабильно.

Создатели Bedrock Linux пошли дальше и создали полноценный мета-дистрибутив. В нем возможно использование не только пакетов, но и компонент различных Linux дистрибутивов, как кубиков Лего. В одном окружении можно создать систему из нескольких Linux OS, например установку дополнительных пакетов Ubuntu поверх базовых компонент Debian и Arch. Установочный скрипт доступен для следующих платформ.

  • aarch64;
  • armv7hl;
  • armv7l;
  • mips64el;
  • mips64;
  • mips;
  • mipsel;
  • ppc64;
  • ppc64le;
  • ppc;
  • s390;
  • x86_64;
  • x86;

Читать полностью »

Unix и программы, работающие в этой ОС, существуют уже очень давно. В частности, библиотека GNU Readline появилась в 1989 году (как и Bash). Времени существования этой библиотеки (и подобных проектов) вполне достаточно для того чтобы она стала бы распространённым инструментов Unix-оболочек. В наши дни совершенно естественно воспринимать readline как нечто такое, что всегда было в Unix. Но, конечно, на самом деле это не так. Unix в её современном виде ведёт историю от V7 (1979) и 4.2. BSD (1983), поэтому множество Unix-дистрибутивов было разработано до появления readline. Это, в некоторой степени, сделало их такими, какими они были.

Заметки о Unix: история Unix до readline - 1
Читать полностью »

Как мы сэкономили 2000 USD на трафике из Amazon S3 с помощью nginx-кэша - 1

Читать полностью »

В материале, посвящённом причинам существования команды newgrp, мы узнали о том, что группам в Unix можно назначать пароли, о том, что эта команда позволяет пользователю менять свою (основную) группу. Мы выяснили, что эта команда появилась в Unix V6, что гораздо раньше, чем я ожидал. Меня тогда заинтересовал вопрос о том, как именно работала команда newgrp в Unix V7. Исходный код V7 (а так же — справку и другие материалы) можно найти на tuhs.org. Поэтому ничто не мешает нам почитать код реализации этой команды, находящийся в файле newgrp.c.

Заметки о Unix: как команда newgrp работала в Unix V7? - 1
Читать полностью »

Мониторим основные сервисы в AWS с Prometheus и exporter’ами для CloudWatch - 1

Если вы используете в облачных провайдерах managed-инсталляции серверных служб вроде RDS или ElastiCache от AWS, то скорее всего уже задавались темой мониторинга инфраструктуры, а главное — оповещений по произошедшим инцидентам. При реализации возникают понятные вопросы:

  1. Как можно настроить сбор данных с endpoint’ов в систему мониторинга?

  2. Читать полностью »

Хостим Bitwarden — open-source менеджер паролей - 1

Менеджеры паролей действительно полезны и важны как для отдельных пользователей, так и для организаций, и они пригодятся, когда у вас много разных учетных записей и паролей. Обычно люди не любят пользоваться сторонними менеджерами паролей с сервисной архитектурой — неизвестно, что происходит с данными на чужом сервере, и не будет ли он скомпрометирован. Самое безопасное решение это разместить менеджер на своём собственном (как следует защищенном) сервере. Разумеется, к такому self-hosted варианту возникает много требований, и большой список решений с открытым исходным кодом довольно быстро сужается до нескольких известных, проверенных продуктов. Среди них мне больше всего нравится Bitwarden, и сейчас я объясню почему.Читать полностью »

Ломаем и чиним Kubernetes - 1

Kubernetes отличная платформа как для оркестрации контейнеров так и для всего остального. За последнее время Kubernetes ушёл далеко вперёд как по части функциональности так и по вопросам безопасности и отказоустойчивости. Архитектура Kubernetes позволяет с лёгкостью переживать сбои различного характера и всегда оставаться на плаву.

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


Читать полностью »
Сравнение производительности HashiCorp Vault с разными бэкендами - 1

Vault — Open Source-решение от HashiCorp для управления секретами. Его изначальная ориентированность на модульность и масштабируемость позволяет запускать как небольшой dev-сервер Vault на своем ноутбуке, так и полноценный HA-кластер для production-сред.

Начиная работать с Vault, мы задались двумя вопросами:

  1. Какой бэкенд Читать полностью »

Restic — хорошо известная программа для резервного копирования. Она достаточно проста, чтобы переноситься на любую ОС, и, вероятно, поэтому с ней не прилагается полноценный пример настройки на среднестатистической Linux-системе. Исправим это данным постом.

Поставим задачу следующим образом:

  1. Автоматический бэкап запускается ежедневно.
  2. Бэкап хранит только важные файлы и данные.
  3. Бэкап также включает в себя содержимое баз PostgreSQL, которое можно восстановить psql -f.

TL;DR поста

Пишем два юнита / таймера для systemd, запускаем restic под выделенным пользователем с CAP_DAC_READ_SEARCH, для PostgreSQL архивируем результат pg_dumpall.

Читать полностью »

С каждым годом рекламы в интернете становится все больше, а подают ее с каждым разом все навязчивее. Дошло уже до почты: реклама в интерфейсе почтового ящика выглядит как первое непрочитанное письмо, которое машинально хочется открыть. Я не против рекламы, особенно когда она в тему и не сбивает с толку. Но маскировать её под непрочитанное письмо ‒ это перебор. Чувствуется, что следующим шагом рекламу начнут вставлять прямо в тело письма.

Читать полностью »

https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js