Обновить
64K+

*nix *

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

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

Один, лучший или все вместе? Семь багов, четыре ремонтника и семеро сборщиков

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

Один сломанный bash-скрипт. Семь настоящих багов — от косметических (устаревшие имена файлов в комментариях) до фатальных: сводная таблица, которая всегда показывает нули, что бы на самом деле ни произошло.

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

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

Читать далее

Новости

Танец с NFS — Как переобуть кластер на лету и не убить виртуалки

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

Представьте: пятница, 17:45, вы уже мысленно в пивной. И тут тишина... Мониторинг орет красным. Ваш Proxmox кластер из 4 нод превратился в группу статуй. Ни одна VM не отвечает, команды qm list висят, а в логах — таинственные вопросительные знаки на месте дисков.

😱 Диагноз: NFS-сервер упал, а монтирование было с опцией hard. Все ноды дружно вошли в D-state (непрерываемый сон) и отказались просыпаться.

Мораль: hard монтирование в NFS — это как клей Moment. Склеивает намертво. И оторвать потом невозможно.

Читать далее

Простая декларативная установка NixOs, часть 1 — Настройка конфигурации

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

Эта статья является прямым продолжением этой статьи, посвящённой декларативной разметке диска через disko.

Что мы будем делать сегодня?

Мы с вами составим минимально-рабочий конфиг для нашей системы. Под "минимально-рабочим" я имею в виду: без графического окружения(XFCE, GNOME и прочее), углублённых настроек(установка zsh, например). Мы настроим: загрузчик, сеть, пользователя, звук, локализацию, подключим наш файл disko-config.nix.

Читать далее

Декларативная разметка дисков в NixOS с помощью Disko: от конфига до готовой ФС

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

Каждый, кто хоть раз устанавливал Linux вручную, знает этот ритуал: загрузиться с Live‑образа, запустить fdisk или parted, создать таблицу разделов, отформатировать их в btrfs/ext4, создать субтома, а затем вручную примонтировать всё это в /mnt.

Конечно, такой подход можно использовать и при установке NixOs. Но вопрос — зачем?

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

В этой статье мы этим вопросом и займёмся, а поможет нам в этом известная утилита disko. Мы напишем чистый декларативный конфигурационный файл в ДВУХ вариантах:

Читать далее

OmniOS. Подключаем ИБП и попутно знакомимся с IPS

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

Задача:

Есть "коробка" с работающей 24/7 OmniOS. Со временем в "коробке" накопилось столько всего важного, что стоимость этой информации превысила стоимость самой "коробки". Наиболее вероятная угроза информации - это фатальный сбой файловой системы при сбоях электропитания. Нужно научить OmniOS "слушать" сообщения от ИБП и самостоятельно выключаться пока ИБП выдает напряжение.

Читать далее

Сертификаты Минцифры — как им не доверять

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

Ну что же — то, чего все ожидали (не путать с «ждали») случилось. Многие российские сайты и сервисы начали переходить на сертификаты Минцифры — и у пользователей начали ломаться работавшие ранее сервисы, пользователи начали получать сообщения, что подлинность ресурса не может быть проверена. Кто‑то просто не смог продлить свой сертификат, у других сертификаты вообще были отозваны — но, в конечном итоге, это приводит к одному и тому же результату — из-за проблем с сертификатом сайты некоторых российских компаний перестают открываться через HTTPS (каковой де‑факто уже давно стал стандартом), а получить новые сертификаты становится проблемой.

Для того, чтобы обойти это ограничение, многие российские подсанкционные компании начали использовать так называемые сертификаты Минцифры — сертификаты, подписанные российскими удостоверяющими центрами с корневым сертификатом, вылущенным Минцифры. Чем это грозит пользователю?

Читать далее

Зачем нужен ещё один инструмент обхода блокировок, если уже есть VPN

Время на прочтение4 мин
Охват и читатели31K

День выдался долгий и по‑настоящему безрадостный. Сегодня произошло то, чего мы больше всего не любим: Туннельный Котик перестал помогать многим людям, и мы, вероятно, потеряли изрядную долю доверия.Больнее всего это ударило по самым старым и лояльным пользователям — тем, кто был с нами практически с самого начала. Брешь всё ещё приходится латать, и заниматься этим придётся не один день.

Больнее всего это ударило по самым старым и лояльным пользователям — тем, кто был с нами практически с самого начала. Брешь всё ещё приходится латать, и заниматься этим придётся не один день.

Но раз уж вечер располагает к разговору — самое время ответить на вопрос, который нам регулярно задают: зачем вообще нужен ещё один проект, если есть множество готовых VPN‑сервисов и решений вроде AmneziaWG? Можно в конце концов поднять свой собственный VPN, а кто не умеет — тот, в общем, сам виноват.

В целом всё это верно. За исключением того, что мы решаем совершенно другую задачу.

Читать далее

Pulsar. eBPF-based programmable networking dataplane (Статус: MVP)

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

Технология eBPF (extended Berkeley Packet Filter) берет свое начало от классического BPF, разработанного в начале 1990-х годов как механизма фильтрации сетевых пакетов, который впоследствии был реализован в Linux и других UNIX-подобных системах. Со временем возможности BPF значительно расширились, и появился eBPF — универсальная виртуальная машина, позволяющая безопасно выполнять пользовательские программы непосредственно внутри ядра без необходимости разрабатывать отдельные модули ядра. Сегодня eBPF применяется далеко не только для обработки сетевого трафика. Он используется для трассировки, мониторинга производительности, обеспечения безопасности, балансировки нагрузки, реализации сетевых политик и многих других задач. Перед загрузкой программа проходит проверку специальным верификатором ядра, гарантируя ее завершаемость, корректность обращений к памяти и соблюдение требований безопасности ядра. Благодаря этому eBPF позволяет расширять функциональность ядра без необходимости писать или загружать собственные модули ядра…

Читать далее

Claude Code History Viewer: история сессий Claude Code в браузере

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

Claude Code History Viewer читает ~/.claude/projects и превращает машинный JSONL в нормальный интерфейс: диалоги с тулколлами и сабагентами, глобальный поиск, статистика по токенам и стоимости, плюс истории ещё 27 клиентов вроде Codex CLI и Cursor. Показываю, как поднять его headless-режим в Docker на сервере без иксов (готовый бинарь + тонкий образ), что показывает Global Overview на 3,4 ГБ истории, как дёргать те же команды по HTTP через POST /api/<имя> и на какие мелочи я наступил — от обрезанного в логе токена до лимита памяти 512 МБ в официальном compose.

Читать дальше &rarr;

Почему после восстановления Bitrix24 через restore.php перестают работать сессии, Push и WebSocket

Время на прочтение4 мин
Охват и читатели6.6K

Недавно мне потребовалось перенести корпоративный портал Bitrix24 на новую BitrixVM.

По документации всё выглядело достаточно просто:

Читать далее

Как делается каталог на отдельный LVM-том

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

Бывает задача: «каталог лежит в корне, надо чтобы он был отдельно, гигов на пять». Вот как это делается .

Читать далее

VPN с российским IP: что о вашем адресе видно на самом деле

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

Поднял сервер за границей, всё летает - а потом маркетплейс просит капчу, банк отказывает в операции, сайт объявлений не открывается. Совет один: сделай обратный впн. Рецептов несколько, и работают они по-разному.

Собрал их у себя и посмотрел не на описания, а на то, что о вашем адресе видно снаружи. «Российский IP» оказался не одним свойством, а тремя, и закрывает все три только один вариант из четырёх.

Читать далее

Прерываемые ноды Selectel MKS: как устроено вытеснение и как настроить graceful shutdown подов

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

Прерываемые ноды в Managed Kubernetes появились ещё в феврале 2025 года, и Selectel анонсировал их отдельной статьёй в своём блоге — про экономию до 70% и про то, что «нода оперативно вернётся в кластер, а восстановление займёт не более минуты». Про поды, которые в этот момент на ноде работают, там не сказано ничего: ни про SIGTERM, ни про drain, ни про PDB, ни про потерю данных. Как раз эту дырку мы и полезли закрывать.

Читать далее

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

Я попытался расшифровать манускрипт Войнича. Спойлер: не расшифровал — но выяснил, почему это не удалось и АНБ

Время на прочтение9 мин
Охват и читатели15K

Слотовая марковская модель из ~200 строк Python воспроизводит статистику манускрипта Войнича с точностью до сотой бита. Разбор четырёх экспериментов: как я нашёл «признак смысла» в тексте, а потом сам же его опроверг контрольным тестом — и почему без внешнего ключа манускрипт не расшифрует никакая статистика. Код и данные открыты.

Читать далее

Как я, владелец сервисного центра, задолбался от чужих CRM и сделал свою на AI и выложил в open source

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

Всем привет. Меня зовут Александр, у меня сервисный центр по ремонту техники.

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

Долгое время жил на облачных CRM, от работы в excel создавая каждый раз папку с датой и файлик с данными клиента и заявкой, далее что то удалось сделать на Microsoft Access, далее полноценно на лет 5 перешел на remonline и вроде все устраивало но очень долго они вводили новые функции, и как всегда те которые мне не нужны были, ну и далее всем известные события и они отвалились навсегда из российского сегмента, потом перешел на helloclient тоже просидел пару лет пока не начали вводить белые списки, к сожалению из за постоянных проблем с сетью у провайдера при включении белых списков система был недоступна часами, и в голове уже много лет была мысль создать свою CRM для себя , с возможностью быстрой доработки под конкретные задачи и хотелки мастеров и меня, сначала решил учить языки программирования), около года учился на пайтон разработчика, и под конец понял что это затянется надолго и решил использовать Cursor для дополнения кода, ну и затем вовсе перешел на полноценную работу в агенте , и спустя 4 месяца работы выпустил релиз в работу, мастера оценили , мы сидели и придумывали новые фишки на лету чтобы ускорить приемку , выдачу, шаблоны печати и расчет зарплаты, от идеи до ее реализации одна ночь, вечером мы что то обсуждали по нововведениям и уже утром все было готово, так однажды из за отключения сети мы придумали чат в браузере со звуком сообщения Аськи), до сих пор многие клиенты думают что мы используем ICQ в работе.

Читать далее

Linux-переход

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

В жизни каждого IT специалиста однажды это случается. Linux-переход. Не надо этого стесняться так как это совершенно естественно. Причины перехода у каждого свои.

На одинаковом железе под Windows и Linux запустил бенчмарки. Получил прирост времени автономной работы с Linux в 30% при кратном сокращении потребления системных ресурсов без потерь производительности.

Предлагаю обсудить карту навигации по GNU/Linux.

Читать далее

«С блэкджеком и CI/CD»: APT-репозиторий на базе GitHub и Cloudflare Workers

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

В Linux с давних пор киллерфичей была возможность централизованного управления (поиск, установка, удаление, обновление, разрешение зависимостей) софтом при помощи пакетных менеджеров (apt, yum, pacman и т.д.).

Однако существует большое количество интересных и полезных программ, которые распространяются разработчиками либо через собственный сайт, либо через релизы на GitHub, либо в виде статического бинарника, либо вообще исключительно в исходниках (при этом под той же Windows у того же проекта часто есть нормальный инсталлятор с автопроверкой обновлений).

Когда таких программ накапливается достаточное количество, их сопровождение превращается в настоящий цирк.

Я решил для себя этот вопрос создав собственный apt репозиторий.

Читать далее

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

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

В первой части мы собирали свой собственный минимально необходимый образ системы с рабочим столом 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 мин
Охват и читатели20K

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

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

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

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