Обновить
128K+

Linux *

Пишем под *nix

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

Как я придумывал замену Redis и что из этого получилось

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

Некоторое время назад мне пришла задача спроектировать высокопроизводительный балансировщик нагрузки для протокола Diameter. Через 3 месяца задача исчезла, так как как оказалось слишком долго и дорого, но в итоге балансировщик был сделан и имеется его MVP которое готово к установке как на реальное железо так и в облаке. В итоге продукт получился неплохим, и он с лихвой выигрывал имееющееся решение в той компании, по производительности был выигрыш раз в 6 по ресурсам раз в 100. Но суть не в этом, а в том что балансировщик был кластерным и умел хранить сессии в Redis. Решение было сделано, оно показало работоспособность, все хорошо, но меня не устраивала производительность. В тот момент я столкнулся с очень интересной проблемой - по каким то причинам я не мог пробить барьер в 5-7К Diameter Transactions per second. В принципе 5-7К TPS было неплохо, но проблемным участком как показал анализ был Redis. Проведя немного времени я смог добиться приемлемого результать и производительность поднялась до 20К TPS но там были другие проблемы.

Читать далее

Ubuntu Touch 24.04-2.0: что в свежем релизе мобильной Linux-системы

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

Несмотря на то что Canonical закрыла Ubuntu Touch почти девять лет назад, мобильная Linux-система продолжает развиваться силами фонда UBports и сообщества. Проект регулярно получает обновления и постепенно расширяет список поддерживаемых устройств. Новый релиз Ubuntu Touch 24.04-2.0 — очередной шаг в развитии ветки 24.04. Основные изменения затронули браузер, работу с современными дисплеями и ряд повседневных функций, которыми пользователи пользуются каждый день. Давайте разберемся, что получилось у разработчиков.

Читать далее

Proxmox: создание шаблона виртуальной машины с Cloud‑Init

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

Каждый раз при создании новой виртуальной машины проходить через ручную установку ОС, разметку дисков, создание пользователей и прокидывание SSH‑ключей — сомнительное удовольствие, забирающее кучу времени.

К счастью, в Proxmox VE можно один раз потратить 10 минут, настроить правильный «золотой» шаблон с Cloud‑Init и забыть о рутине, раскатывая свежие ВМ буквально в пару кликов. Но тут есть свои подводные камни: от правильного выбора видеоадаптера до хитростей с расширением дискового пространства через qm import.

Как собрать такой идеальный шаблон без лишней боли? Разберем по шагам.

Читать далее

Топ утилит и инструментов для проверки работоспособности VDS

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

В комментариях к прошлой подборке спросили: «Как понять, где проблема — на сервере или у провайдера?». И вопрос сейчас в целом актуальный, ведь теперь интернет не всегда стабилен, и непонятно, или упал сервер, или лёг канал, или с сетью беды. Эта подборка — про инструменты, которые отвечают на этот вопрос.

Читать

Установка КОМПАС-3D на «Альт Рабочая Станция 11» в закрытом контуре предприятия

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

Cегодня мы опишем сценарий развёртывания КОМПАС-3D для технических специалистов, работающих с операционной системой «Альт Рабочая Станция 11». В нашем материале эта система будет использоваться как для сервера локального репозитория, так и для клиентских машин.

Мы покажем последовательность действий на примере КОМПАС-3D, но общий сценарий сработает и для других приложений. В частности, точно таким же способом можно поставить любые доступные в публичном репозитории продукты Комплекса АСКОН.

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

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

Читать далее

Как я год проработал на Arch Linux, сдался и вернулся на скучную Ubuntu для реальной работы

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

Весь мой путь в Linux начался в студенческие годы, в момент, когда я получил предложение о работе от своего преподавателя в универе. Оказалось, что помимо преподавательской работы он также трудился в IT-компании, которая на тот момент искала интернов.

Собеседование заняло 10 минут, без единого вопроса про системы хранения или задачи с кодом. Мы просто поздоровались, технический директор Павел выдал мне доступы и объяснил суть: за полгода мне нужно пройти три модуля, по два месяца на каждый, удаленно с возможностью работать из офиса — путь от «понять, как устроено ядро» до «написать драйвер под реальное железо и собрать прошивку под FPGA».

Я дважды стирал себе диск, ради стажировки купил трехкилограммовый ноутбук за $50, потом воевал с Arch ради одной проприетарной программы — и в итоге вернулся туда же, откуда начинал, на Ubuntu. Это не история моего поражения (как некоторым хотелось бы), а притча об осознании. Осознании чего?

Читать далее

Введение в виртуальные сетевые интерфейсы Linux

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

Linux предоставляет широкие возможности виртуализации сети — на них строится работа виртуальных машин (ВМ), контейнеров и облачных сред. В этом руководстве разберем распространенные типы виртуальных сетевых интерфейсов: чем они отличаются и как их создать. Сосредоточимся на практике, без глубокого разбора кода. Статья рассчитана на читателей с базовыми знаниями сетей. Отдельно разберем интерфейсы, которые часто путают между собой.

Читать далее

VIM — великий и ужасный

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

Помню свое первое впечатление от знакомства с vi - случайно запущенный по неосторожности на сервере редактор оказался ловушкой: попробуй-ка выйти!
Знакомые по DOS/Windows-редакторам кнопки не работают, ужас, кошмар, плохой vi! И зачем он такой нужен?!
Но стало интересно, зачем же.

К счастью, если запустить vim без аргументов, без редактируемого файла - первое же, что он пишет - предложение почитать документацию, буквально RTFM.
Почитал, попробовал, понял - и вот уже много лет с тех пор не понимаю, как можно пользоваться другими, совершенно неудобными редакторами...
(даже не буду пытаться описывать все возможности - их слишком много, и постоянно до сих пор всплывает что-то новое и удобное)

Читать далее

«Выполнено» — самый дорогой неверный ответ. Как enterprise-функции вскрыли дефекты не в себе, а в стыке со старым кодом

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

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

Пум-пум...

Логирование в Angie

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

Надёжная работа любого сервиса опирается на возможности системы журналирования. С помощью логов можно решить широкий спектр задач: решение проблем, аналитика поведения пользователей, расследование инцидентов безопасности, мониторинг состояния системы и другие. В этой статье посмотрим на возможности и практические приёмы для работы с логами сервера Angie.

Читать далее

Kakehashi: запуск macOS бинарников на Linux ARM. Часть 1: рабочий 7zip, curl и успехи с Apple Git

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

В прошлой статье я писал о WIE - userspace эмуляторе, который через JIT позволяет запускать PE64 бинарники на Apple Silicon. Казалось бы проект шел хорошо - почему делаешь новое? Дело в том, что я уперся в ужасную скорость - 7zip реальный проект на 200+ мб сжимал в 80-100 раз медленнее, чем нативный macOS бинарник. И это исправить без радикальной переработки проекта и разрушения самой концепции невозможно. Поэтому его разработка к сожалению была приостановлена.

Но мне хотелось попробовать сделать то, что сохранит идею переноса бинарника одной OS на другую, но без JIT. И я нашел. И имя ему Kakehashi

Читать далее

5 странных гаджетов 2026 года: смартфоны с E‑Ink, Linux‑раскладушка, наладонник и кое‑что еще

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

В этой подборке — несколько самых необычных мобильных устройств 2026 года. Смартфоны с двумя разными экранами, раскладушка без браузера и социальных сетей, модульный E Ink‑телефон, карманный Linux®‑компьютер и другие гаджеты, которые идут против современных трендов. Некоторые из них выглядят странно, другие — неожиданно практично. Возможно, вы знаете о каких‑то необычных моделях, что не попали в список? В таком случае обязательно сообщайте о них в комментариях. Что ж, поехали!

Читать далее

Как распознать резьбу без помощи ИИ

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

При производстве воздушных клапанов отливают и обрабатывают деталь с отверстиями. Отверстия могут быть:
1. Сквозное гладкое
2. Сквозное с резьбой
3. С заглушкой

Важно, чтобы в партии деталей типы отверстий соответствовали образцу. Это проверяет визуально работник. Возможно ли автоматизировать процесс проверки?

Читать далее

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

UNIX-команды macOS, которых нет в Linux: от say и defaults до sysadminctl

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

macOS — сертифицированная UNIX система (формально — UNIX 03), и большая часть того, что набираешь в терминале, ведет себя, как в любом BSD: ls, grep, ps, ssh — все на месте. Но рядом лежит второй слой команд, которого нет ни в одном дистрибутиве Linux и нет в POSIX: defaults, sysadminctl, mdfind, say, afplay. 

Часть из них выросла из архитектуры Darwin, часть — из графической и звуковой подсистем, а часть существует исключительно ради управления экосистемой Apple.

Таких утилит в macOS не один десяток, а в статье мы разобрали самые интересные и востребованные, по критериям: команда входит в macOS по умолчанию, не имеет штатного аналога в Linux и создавалась под задачи экосистемы Apple.

Читать далее

Проект NextBSD ожил спустя десять лет. Что это за ОС и зачем ее возрождают?

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

Проект NextBSD, который многие уже успели забыть, неожиданно получил вторую жизнь. Его идея — объединить ядро FreeBSD с открытыми системными компонентами Darwin, такими как launchd, Mach IPC, Grand Central Dispatch и другими технологиями, которые сегодня лежат в основе macOS. Первая попытка была предпринята почти десять лет назад, но безуспешно. Сейчас разработку начали заново, используя современную кодовую базу FreeBSD и накопленный за это время опыт.

На первый взгляд, идея выглядит странно: зачем переносить системный слой одной операционной системы поверх ядра другой, если обе давно развиваются своими путями? Однако у разработчиков есть вполне практичная цель. Они не пытаются создать «бесплатную macOS», а хотят сделать FreeBSD более современной платформой, сохранив ее совместимость и сильные стороны. Разберемся, что именно уже удалось реализовать, зачем это вообще нужно и насколько жизнеспособным может оказаться такой подход.

Читать далее

Оптимизация Angie для высоких нагрузок

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

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

Читать далее

Бит в бит и без пауз: как я запилил gapless playback в своем плеере

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

Некоторые альбомы должны звучать как один длинный трек. Рассказываю, как это устроено в Kalinka Player.

Читать далее

Шлём своё видео через чужое радио или реверс инжиниринг BETAFPV P1 Air Unit

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

На рынке цифровых FPV-видеосистем внезапно появилась куча «новых» брендов — BetaFPV, HGLRC и другие. Вот только стоит вскрыть их модный HD-юнит, и выясняется кое-что любопытное про то, что скрывается под крышкой у всех сразу.

Я взял один такой и решил дойти до самого дна: рут-консоль, пароль, аппаратный энкодер и вопрос, который не давал покоя — а можно ли заставить FPV-очки показать то, чего камера никогда не видела?

Читать далее

x86 роутер из старого ПК на Athlon II

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

Приветствую всех читателей Хабра. В этой статье я расскажу как сделать маршрутизатор из компьютера на Linux. На самом деле, сделать такой роутер несложно. Для реализации этого проекта подойдет любое устройство на Debian/Ubuntu Server, имеющее парочку сетевых карт и возможность раздавать Wi-Fi. Важно учесть, использует ли ваш провайдер PPPoE, т. к. статья не описывает настройку девайса для работы с этим протоколом. У x86 роутера есть плюс: он может стать полноценным домашним сервером, ведь вы можете запускать другие сервисы на нем, а маршрутизация становится еще одной задачей для относительно мощного x86 железа.

Читать далее

В Go 1.27 завезли SIMD

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

Дядя Хашимото сказал разобраться, я попытался. Речь про его эссе «Everyone Should Know SIMD»: SIMD должен знать каждый разработчик; примеры там на Zig, но суть от языка не зависит. Мой язык - Go, и в февральском обзоре Go 1.26 я написал про новый SIMD-пакет грустную строчку: «поддержка ARM64 планируется в будущих версиях».

Будущее пришло быстрее, чем я ждал: в go1.27rc2 пакет simd стал портируемым, и один Go-код разворачивается в Neon на Apple Silicon и в AVX2 на Intel. У меня под рукой обе машины: Mac на M3 Pro, где собиралась первая версия этих бенчей, и Linux-десктоп на i9-14900KF. Впереди проверка обещания портируемости на живом железе: один исходник, два дизассемблера, две пачки замеров. Ассемблер писать не будем, весь код запускается копипастой; целиком он лежит в репозитории dsbasko/sandbox-simd.

Читать далее