Обновить
256K+

Linux *

Пишем под *nix

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

Свой видеохостинг с P2P и Fediverse: PeerTube

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

Всем привет! Сегодня я хочу вам рассказать о Peertube — некоммерческой децентрализованной видеоплатформе с открытым исходным кодом. В нем есть возможность загрузки контента, комментирования, поиска, а также изменения видео, когда оно уже опубликовано.

Peertube основан на технологии P2P (peer-to-peer) для обмена видео по принципу всех известных торрентов. Исторически PeerTube использовал WebTorrent, но уже несколько лет (начиная с версии 6.0) проект полностью перешел на протокол HLS в связке с WebRTC.

Что лучше — централизация или децентрализация? Что такое Fediverse? И наконец — как создать свой инстанс-сайт для сохранения видео на случай, например, блокировки ютуба? Давайте-ка погрузимся в теорию и практику!

В конце концов мы опубликуем свой децентрализованный видеохостинг!

Читать далее

Создание и подключение ISO образа как репозитория пакетов АСКОН

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

Привет Хабр! Этой статьей мы завершаем цикл материалов по развертыванию ПО АСКОН в закрытых внутренних сетях (предыдушие статьи: для Astra Linux, РЕД ОС, Альт Рабочая станция). Ее подготовил руководитель методического направления команды КОМПАС-3D.

Рассмотрим еще один сценарий: как скачанные пакеты КОМПАС-3D «упаковать» в образ ISO и использовать его как готовый локальный репозиторий, не требующий никаких манипуляций на сервере. Не будем вас томить, выпуская отдельные статьи по каждой из поддерживаемых операционок. Расскажем сразу о всех трёх: Astra Linux SE 1.8, Альт 11 и РЕД ОС 8.0.

Читать далее

Почему HTTPS-прокси не видит трафик приложения

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

Если вы когда-нибудь пытались просмотреть сетевые запросы десктопного или мобильного приложения через HTTPS-прокси, то наверняка сталкивались со странной ситуацией: прокси настроен, корневой сертификат установлен и доверен, системный прокси прописан, а в списке запросов пусто. Или приложение начинает выдавать ошибку сразу после включения перехвата.

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

Читать далее

Что такое ARP‑Spoofing и как от него защититься

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

«ARP‑Spoofing», или же «Отравление ARP‑кеша» — это тип кибератаки уровня L2, чья работоспособность до сих пор держится лишь на огромной дыре в безопасности Address Resolution Protocol. Основная суть данной атаки — испортить ARP‑кеш устройства путём рассылки пакетов с поддельными данными в своей подсети. В этой статье я по шагам покажу весь процесс этой атаки на своих домашних устройствах типа MITM (Man In The Middle), а также расскажу, как от неё защититься.

Читать далее

Эволюция планировщиков ядра Linux — от O(1) до CFS и EEVDF

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

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

Привет! Я Никита, разработчик системного ПО в Selectel. В этой статье рассмотрим эволюцию трех наиболее известных планировщиков Linux: O(1), CFS (Completely Fair Scheduler) и EEVDF (Earliest Eligible Virtual Deadline First).

Читать далее

Stapler: текстовый «рецепт» сборки и управление пакетами в ОС «Альт»

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

Stapler: текстовый «рецепт» сборки и управление пакетами в ОС «Альт»

Во время установки «Альт Рабочей станции» 11.2 можно загрузить инструмент, позволяющий использовать приложения из различных источников, включая сторонние репозитории. Его также можно установить в других ОС «Альт» на платформе p11. Речь идет о Stapler.

Читать далее

Как я автоматизировал сборку образов с Ansible и Packer и попал в community.ansible

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

Полночь, деплой горит, а ты вручную поднимаешь десятый сервер за неделю: копируешь ISO, тыкаешь Enter в консоли анакон­ды, правишь fstab, чинишь grub — и на утро выясняешь, что забыл gpg-ключ репозитория на трех машинах из десяти. Признавайтесь, бывало? Эта статья для тех, кто устал платить временем и нервными клетками за ручную сборку образов.

В этой статье расскажу, как построил полностью автоматизированный пайплайн для сборки образов закрытого дистрибутива Linux на базе RedHat — без единого ручного клика после старта. Ansible управляет хостом-билдером, Packer с shell-провижионерами собирает сам образ, и в итоге мы получаем готовый RAW, оптимизированный для OpenStack. Подход не привязан к конкретной ОС: если у вас другой дистрибутив, достаточно заменить ks.cfg на preseed.cfg или любой другой автоустановщик — остальная логика пайплайна должна работать без изменений. На десерт расскажу, как оформил часть решения в модуль для Ansible и отправил его в официальную коллекцию community.general.

Читать далее

XDP: практический гайд по разбору сетевого трафика с eBPF

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

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

Разобрать XDP

Пишем логи в journald с помощью Logback и FFM API

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

Разворачивать бэкенды для личного использования с помощью systemd удобно, но stdout плохо интегрируется с journald, а устанавливать софт только для просмотра логов не хочется. В статье - простой пример, как можно писать логи из Java-приложения в journald так, чтобы их потом удобно просматривать

Читать далее

OpenClaw и Hermes на одном VPS: чего стоит связать двух агентов безопасно

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

Поставил OpenClaw и Hermes на один VPS и связал их между собой: первый принимает задачи из Telegram, второй исполняет их в своей песочнице. Через час после установки обнаружил, что панель управления агентом открыта в интернет, а ещё через полчаса — что фаервола на сервере нет вообще. Хроника нескольких вечеров про то, чем ИИ-агент опасен на своём сервере и сколько стоит поставить его по-человечески.

Читать, что сломалось

«Bro, what…?» #1. Первый контакт с crackme на Linux x86-64

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

Вы запускаете программу, о которой ничего не знаете. Она вежливо просит строку, а в ответ на ваш ввод насмешливо отвечает: «Bro, what are you trying to do?» И правда, что мы пытаемся сделать? Пытаемся понять ее.

Перед нами crackme – программа-головоломка, написанная для тренировки навыков обратной разработки: бинарник под Linux x86-64 без исходников и документации, который издевается над каждым, кто не смог его разгадать. Это первая статья цикла из трех о гибридном анализе крякми Getting Started Keygen (Mazzottis). Мы осмотрим файл штатными утилитами, найдем main в Ghidra, расшифруем «бессмысленные» имена переменных в реальную раскладку стека и подтвердим гипотезы в GDB. По пути встретим оптимизированный пролог без RBP, «хитрое» беззнаковое условие и std::string, спрятавшийся в трех переменных, которые на первый взгляд никак не связаны.

Во второй части цикла – мутационное тестирование и реконструкция скрытой структуры, в третьей – полный разбор хеш-функции и восстановление алгоритма на Python.

Читать первую часть

АКПП Voith не включается выше второй передачи: разбираемся в J1939

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

Изучаю шину CAN J1939 через написание самописных утилит. Целенаправленно отключал датчик наддува для проверки своих программ.

И здесь случай: Идёт выпуск машин на маршрут. На одном из автобусов АКПП не включается выше второй передачи. Сканера нет читать нечем. Но есть C, Linux, CANable, map_id_j1939, viz_j1939.

Читать далее

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

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

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

Читать далее

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

Как я починил энергосбережение OnePlus 3T на mainline ядре

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

Первая часть закончилась тем, что телефон заработал, и какое-то время этим всё и ограничивалось. postmarketOS на mainline-ядре, сверху Docker, Tailscale и один небольшой сервис, которому от меня ничего не требовалось. Я убрал телефон на полку и перестал о нём думать — ровно этого я от него и хотел.

Сервис работал. Заодно выяснилось, что процессор всё это время держался на 70 °C. Не под нагрузкой, а в покое, днём и ночью, на устройстве без вентилятора и без радиатора, где тепло уходит только через собственный алюминиевый корпус.

Вопрос, который стоило задать сразу: чем он занят, что даёт такую температуру. Дальше — ответ на него.

Читать далее

Как я придумывал замену 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 мин
Охват и читатели14K

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать

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

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее