Обновить
128K+

*nix *

Хаб про UNIX-подобные операционные системы

58,16
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Собираем свой Debian — корч. Ч.2: EFIstub вместо grub

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели5.5K

В первой части мы собирали свой собственный минимально необходимый образ системы с рабочим столом Mate и остановились на собраном архиве mate-rootfs.sqfs.

Во второй части мы сделаем установку образа на основной диск, произведём разметку диска, и сделаем загрузку нашего ядра Linux без посредников в виде grub, systemd-boot

Читать продолжение

Новости

Еще одна уведомлялка про обновления Docker — но с прокси и без автообновлений

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели13K

Простите, но я сделал еще один продукт, который уведомляет, если есть обновления. Многие следят за обновлениями своего зоопарка docker-контейнеров, и я не исключение. На рынке есть несколько готовых решений, и я честно попробовал самые популярные.
Watchtower на тот момент показался мне заброшенным (про живые форки я тогда не знал) и что-то с ним не задалось, что именно, если честно, уже не помню. Это был первый кандидат, когда активно начал использовать docker.
С Diun не сложилось из-за темплейтов уведомлений - я не осилил их настолько, чтобы получить читаемое сообщение, точнее позже осилил, но из коробки - это мрак.
WUD оказался ближе всего к тому, что я хотел, и честно, будь в нём прокси для уведомлений в телегу, я бы, скорее всего, на нём и остался. Но прокси не было, а напрямую до Telegram некоторые мои серверы не достают. Плюс особенность зашивать имя хоста в имя переменной конфига - это что-то с чем-то. Первым делом форкнул WUD, сделал патч и PR, чтобы добавить прокси для телеги. Посмотрел, как часто там выпускаются релизы, всплакнул и пошел пилить свое. Самое смешное, что PR в итоге приняли за неделю (спустя полгода от предыдущего релиза), но к тому времени я уже переехал полностью на свою поделку.

Читать далее

Легенда о хардкоре: Duke Nukem 3D, Watcom и FreeBSD

Уровень сложностиСредний
Время на прочтение19 мин
Охват и читатели17K

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

В моем, весьма специфическом случае такой нереализованной мечтой детства долгое время оставался... компилятор Watcom, дорваться до которого удалось лишь спустя почти тридцать лет.

Рассказываю об этом удивительном проекте.

Читать далее

Не отдам Gpick! Он хороший! Но крутить педали придётся…

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели13K

Исторически лучший Gpick в KDE на Wayland остался без пипетки, а штатные kcolorpicker-ы повергают в печаль и уныние. Что делать? Велосипедить! Написал лёгкий Python-скрипт, дёргающий родной XDG-портал.

UPD: Прокачал утилиту до полноценного комбайна — теперь она выдаёт чистые данные без префиксов, умеет копировать конкретные форматы (HEX, RGB, HSL) в буфер и идеально встаёт в любые shell-конвейеры и хоткеи. Больше велосипедов богу СПО!

Читать далее

Собираем свой Debian — корч ч.1 debootstrap

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели8.7K

Всегда задавал себе вопрос зачем мне в Debian: Libreoffice, pidgin, irc чаты и почему загрузочный образ весит аж 3 гигабайта. Вместо вычищения готовых образов мы сделаем радикальную вещь, свой дистрибутив Debian с нужным ПО без лишних программ.

В первой части статьи мы соберем свой собственный rootfs образ Debian stable без рекомендованых и мета-пакетов

Читать далее

После многих лет борьбы я получил ещё один шанс: Deep Brain Stimulation — Abbott Libberta RC

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели7.5K

Меня зовут Станислав Герасимов. Я программист С++/Qt, а также Go и выпускник магистратуры НИУ ВШЭ. С детства живу с тяжёлым неврологическим заболеванием — вторичной генерализованной дистонией с выраженными гиперкинезами. После многих лет лечения, нескольких нейрохирургических операций и многочисленных отказов в дальнейшем лечении в России я прошёл повторную операцию глубокой стимуляции мозга (DBS) в Турции у профессора Аттилы Йылмаза. На этом сайте я делюсь своей историей, рассказываю о лечении, программировании DBS, реабилитации, жизни с неврологическим заболеванием, а также о работе в сфере информационных технологий. Надеюсь, мой опыт окажется полезным и поддержит тех, кто также продолжает бороться за своё здоровье и качество жизни.

Читать далее

Памятник kubelet, Kubernetes != CRI

Уровень сложностиСредний
Время на прочтение17 мин
Охват и читатели7K

У обычной ноды Kubernetes жёсткий потолок в 110 подов (формально настраиваемый kubelet-флаг --max-pods, но поднимать его руками не рекомендуется даже апстримом: упирается в размер Pod CIDR на ноду, и выше 110 Kubernetes просто не валидируют, так что на практике это потолок дефакто), плюс налог на каждый контейнер: containerd или CRI-O (справедливости ради, у CRI-O ~20 МБ, но на хост, и около 1 МБ на под), ~20 МБ containerd-shim на каждый контейнер, а сам CRI добавляет заметный delay в операциях. На мощном железе это заставляет выбирать между недоутилизацией и гипервизорным слоем (KubeVirt, Kata) с его собственным налогом на microVM. На слабых VPS стандартный стек тяжёл ещё даже до первого workload: kubelet + containerd + kube-proxy + CNI — это уже 300-600+ МБ RSS прежде, чем в кластере появится хоть один рабочий под.

У меня была мечта: Kubernetes + systemd. Я начал свой путь не зная куда это приведет, проект за время разработки сменил 7 разных направлений, думаю я нашел главную цель: освобождение Kubernetes.

Результат на двух моих машинах (Xeon E5-2690 v4 + Intel N150): 1772 пода, 33 ноды, 2.5 миллиона запросов под нагрузкой с нулём ошибок и медианой 257 мкс. RSS демона — 365 МБ (замер от 04.04.26, сейчас уже ниже) на 1660 подов (~225 КБ на под).

Дальше расскажу, что такое Periapsis, как у меня появилась эта идея и что уже работает.

Читать далее

Реализация TUN GSO в кастомном VPN-сервере на Java

Уровень сложностиСложный
Время на прочтение13 мин
Охват и читатели8.4K

Как одна фича сократила число системных вызовов на TUN-интерфейсе моего VPN почти вдвое — а на bulk-трафике до 44 раз.

В этой статье пойдет речь о том как работает TUN GSO, зачем нужен virtio_net_hdr, какие подводные камни встретились во время реализации и почему эта технология способна заметно снизить нагрузку на VPN-сервер. Статья будет полезна разработчикам VPN серверов и клиентов.

Читать далее

Каскад на AmneziaWG: собираем два сервера, чтобы российские сайты шли напрямую

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели29K

Свой VPN на одном заграничном сервере хорош, пока не открываешь российские сайты: часть из них иностранные адреса просто не пускает - банки, Госуслуги, иногда стриминг. Остальные открываются с лишним крюком и с чужим IP.

Разбираю по шагам, как собрать каскад из двух серверов на AmneziaWG: российский трафик уходит в интернет напрямую с сервера-входа, всё остальное - через сервер за границей. Одно подключение на телефоне, вся логика деления на сервере, всё переживает перезагрузку само. И отдельно - грабли: кэши Google на российских адресах, отдача ниже приёма, /32-шлюз у Hetzner.

Читать далее

Как вынести данные с root FS без копирования сотен гигабайт

Уровень сложностиСредний
Время на прочтение15 мин
Охват и читатели8.1K

Привет, Хабр!

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

Многие Linux-серверы со временем сталкиваются с одной и той же проблемой: корневая файловая система постепенно «обрастает» данными приложений, снэпшоты виртуальных машин становятся слишком большими, резервное копирование занимает всё больше времени, а свободного места для классической миграции уже не остаётся. Особенно часто это встречается на старых системах, где изначальная разметка дисков создавалась без понимания того, какое прикладное программное обеспечение будет использоваться в будущем.

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

Читать далее

Как мы делаем онлайн-режим для браузерной инди-игры, когда бюджет на сервера — $10 в месяц

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели11K

В прошлых статьях мы рассказывали про архитектуру ГИГАХРУЩА — браузерного survival horror с процедурной генерацией, WebGL-рейкастером и полноценным симулируемым миром (A-Life, Самосбор, физика) без использования готовых движков вроде Unity или Godot. Проект работает полностью локально, загружаясь в браузер за секунды.

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

Обычно для таких задач пишут выделенный headless-сервер на Node.js или C++, который крутится 24/7. Но у нас жесткое правило: мы делаем независимый проект с инфраструктурным бюджетом в $10/month. Мы не можем держать десяток мощных серверов, постоянно просчитывающих сотни процедурных этажей для пустого мира.

Вот как мы решили эту архитектурную задачу. Спойлер: браузер одного из игроков работает как полноценный сервер симуляции, а Cloudflare Durable Objects используются только как легковесный релей.

Читать далее

Собираем ядро Linux под себя: localmodconfig, modprobed-db, menuconfig

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели6.1K

Конфигурируем, собираем и устанавливаем ядро Linux на свое железо. Отчищаем ядро от лишних модулей через make localmodconfig и modeprobed-db store, компилируем, обновляем GRUB.

Читать далее

Погружение в Kafka c KRaft

Уровень сложностиСредний
Время на прочтение5 мин
Охват и читатели11K

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

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

Читать далее

Ближайшие события

SIEM Wazuh: полезные API для диагностики

Уровень сложностиПростой
Время на прочтение3 мин
Охват и читатели9.5K

Wazuh - это бесплатная платформа класса XDR (Extended Detection and Response), которая сочетает в себе функции SIEM (Security Information and Event Management) и защиты конечных точек. Решение предназначено для мониторинга безопасности инфраструктуры: от локальных серверов до облачных сред.

Задача № 0

Шум в логах и тысячи false positive'ных алертов - это то, с чем сталкивается каждый SoC-инженер при работе с Wazuh в начале пути. Вендор и коммьюнити рекомендует решать проблему разработкой своих localrules или переопределением родительских правил (при условии твердого и четкого понимания того, что вы делаете).

Но как определить источники шума? Лучше всего использовать API-запросы

Как работать с API?

Есть два способа: через CLI на сервере, либо через Wazuh Dashboard. В первом случае вам понадобится api-token, api-user и api-password (о том, где это найти можно прочитать здесь). Во втором случае: переходим в контекстное меню -> вкладка "Indexer management -> "Dev Tools"

Читать далее

Автообновления Linux: почему сервер моргает по утрам, а кластер теряет кворум

Уровень сложностиСредний
Время на прочтение8 мин
Охват и читатели11K

Ubuntu Server ставит security-обновления сам, по умолчанию — это не настройка, которую кто-то включил, а поведение из коробки. У механизма два типичных следствия, которые админ месяцами не может опознать.

Одиночный сервер «моргает» каждое утро в районе 06:xx на 10–30 секунд: сервис остановлен и тут же запущен, виновного в журнале будто нет, и даунтайм списывают то на сеть, то на GC. Кластер из трёх–пяти узлов, который спокойно переживает падение одного узла, в какой-то момент роняет себя сам: обновление с перезапуском прилетело на все узлы в одно утро — кворума не осталось.

Источник у обоих один: таймеры автообновлений с узким окном после шести утра плюс needrestart, который перезапускает не только обновлённый сервис, но и всё, что слинковано с обновившейся системной библиотекой (libssl3, libc6, zlib1g). Разберём, как подтвердить диагноз за две минуты и как развести узлы во времени — от drop-in к таймеру до координации через Ansible и PodDisruptionBudget.

Читать далее

Свой AmneziaWG пару лет спустя: что ломается в быту и что я с этим делаю

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели22K

Поднять свой VPN на дешёвом VPS - дело на вечер. А что начинается через месяц-другой, обычно обходят молчанием: на мобильном рвёт, надо обновлять, раздавать доступ семье, кому-то нужен раздельный выход - российские сайты напрямую, остальное за границу. Собрал по своему серверу на AmneziaWG, который держу пару лет: что реально ломается в быту и что я делаю - от тонкой настройки маскировки под мобильных операторов до каскада из двух серверов.

Читать далее

Установка и немного опыта использования Arch Linux

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели9.3K

После многих лет домашнего использования попеременно то Debian GNU/Linux, то win10, у меня возникло желание побороть в себе консерватизм и поиграться с rolling-release дистрибутивом, но не debian-sid, это уже из чистого любопытства. Выбор пал на арч потому, что он удовлетворял критерию свежести софта и модели rolling-release, но не требует массы времени для сборки софта из исходников, как генту, плюс он достаточно популярен и у меня не возникло оснований выбрать что-то слишком малоизвестное. В юности не боялся и слаки, и ядро тогда собирать было не лень, но это было очень давно.

Устанавливал на комп с процессором intel core i9-10940, 96гб озу, 1 диск м2 ссд 1тб под систему и софт, 2 диск м2 ссд для данных (/var), 3 диск сата ссд 2тб для /home, видеокарта- nvidia 3090ti. Подключение к инету- по ethernet через роутер mikrotik hap ac2, так что при установке настройка wifi не потребовалась. В результате я хотел получить систему с оконным менеджером kde для домашних задач типа просмотра фильмов и переписки с друзьями, а также для работы, плюс хотел раздать через комп вайфай через amnezia+wireguard.

Читать далее

Я убил свой домашний NAS одной кнопкой в веб-панели — и пересобрал его правильно

Уровень сложностиПростой
Время на прочтение8 мин
Охват и читатели14K

Часть 2. Как «Сбросить права доступа» в один клик уносит всю систему, почему я переехал на Proxmox с контейнерами и как менял сетевую папку на Nextcloud с Immich.

Читать далее

Через тернии к Солнцу: уютный UNIX

Уровень сложностиПростой
Время на прочтение18 мин
Охват и читатели15K

Привет! Я Владимир Карагиоз, работаю техническим лидером по развитию гибридных облачных решений в Cloud.ru и увлекаюсь популярными в 90-х годах рабочими станциями Sun SPARCstation 5. У меня есть 30-летняя машина, которую я пытаюсь привести в чувство. Я уже вылечил детскую болезнь, связанную с севшей батарейкой модуля памяти, и подготовил машину к установке операционной системы — об этом рассказал в первой части истории. В этой статье поставим на машину Solaris 2.6 и начнем завозить уют для пользователя, привыкшего к комфорту современного Linux. 

Читать далее

Свой VPN для дома и семьи: дёшево, просто, без знаний Linux

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели100K

Несколько лет назад я перестал доверять чужим VPN. Не из паранойи, а по скучной причине: бесплатный сервис живёт на твоих данных, платный - на твоём доверии, и оба разом отваливаются, когда их блокируют. А блокируют сейчас волнами, под выходные особенно.

Свой сервер звучит как “ну, надо быть админом”. Не надо. У меня на одном таком сидят жена и пара друзей, подняли за вечер пару лет назад, и с тех пор я к нему почти не прикасаюсь. Ниже - как поднять свой VPN на дешёвом VPS, и про грабли, которые обычно обходят молчанием.

Читать далее
1
23 ...