Обновить
512K+

Linux *

Пишем под *nix

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

Двузвенный VPN. Любителям велосипедов посвящается

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

На Хабре нередко появляются статьи типа "я хотел настроить <черный ящик>, не углубляясь в доки подергал за рычаги и у меня всё получилось, сейчас я научу вас как надо". Не смотря на неэкспертный технический уровень они нередко вызывают интерес и бурные дискусии. Поэтому я решил вам рассказать про сисадмина Васю, который решил настроить себе двухзвенный VPN из подручных средств не выходя далеко за пределы Хабра.
UPD: добавил настрокий policy based routing, без nginx/network namespace

Читать далее

От «хочу в IT» до системного администратора: реальный план действий

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

Привет Хабр! Меня зовут Алексей и я Системный Администратор.

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

Читать далее

Jami в России: почему гениальный P2P-мессенджер не работает и как это исправить

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

Я не участвую в разработке Jami и не являюсь профессиональным разработчиком этого проекта. Однако я потратил достаточно времени, изучая архитектуру Jami, тестируя его в российских сетях и разбираясь в документации.

В процессе стало очевидно две вещи:

· У Jami огромный технический потенциал.
· В реальных сетевых условиях (особенно в мобильных сетях России) он работает значительно хуже, чем мог бы.

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

Если вы разработчик, знакомый с C++, сетевыми протоколами, ICE или распределёнными системами — возможно, этот разбор будет вам интересен.

Читать далее

Как жить с хобби и семьёй. Часть третья

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

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

Упор здесь будет также сделан на соотношение цена-качество, поэтому выбор софта сделан в пользу бесплатных продуктов, а харда не с самыми лучшими параметрами, но достойного выбора для домашнего использования. Дома у меня стоит операционка Linux Mint, а на рабочих машинках Windows 11, так что адекватность работы могу оценить по работе в этих системах. По поводу MacOS и Android пишите в комментариях.

Компьютер у меня старенький, 15 лет назад покупался как мощный: процессор – Intel Core i5, ОЗУ: 10 GB, ПЗУ: SSD 128 GB для системы, HDD 1.5 TB для хранения, видеокарта: 768 GB. Ноутбук сразу покупался как «печатная машинка» для творчества в командировках, но, на удивление, и на нём всё запускается: процессор: Intel Core i3, ОЗУ: 8 GB, ПЗУ: 320 GB. Один из приятных плюсов бесплатного софта – это скромность в потребляемых ресурсах. Линейка от Adobe большой любитель оперативной памяти, при сегодняшних ценах – агрейд становится «болючим» для кошелька. Минус бесплатного софта – это низкая интеграция. В больших компаниях происходит глубокая интеграция между сотрудниками. Проекты собирают буквально «на лету». Поэтому проект из одной программы, можно открыть в другой, сохранить, передать дальше. С «зоопарком» софта такого не получится. В лучшем случае, вы будете рендерить, а потом с этим рендером ковыряться. Ну, и при желании превратить хобби в профессию, у вас не окажется необходимого опыта, но его можно будет наверстать, поскольку бесплатный софт в последнее время делается с оглядкой на «мастодонтов» бизнеса.

Про хард и софт...

Как подружить KeeneticOS 5 с xHTTP

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

KeeneticOS из коробки закрывает большинство бытовых задач, но как только появляется требование рулить трафиком по-своему, быстро упираешься в нюансы. Я собрал рабочую схему на Keenetic Hopper: Entware + Xray-core (TUN) + policy-based routing через fwmark и отдельную таблицу маршрутизации. Главный фокус на эксплуатации, я покажу минимальный чек-лист диагностики, и как сделать конфигурацию самовосстанавливающейся, чтобы больше никогда не залазить руками. Статья - практическая инструкция: команды, конфиги и понятные критерии.

Читать далее

Vostok Linux

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

Vostok Linux

Это небольшой рассказ о маленьком проекте и большой мечте — сделать что-то классное. Но без помощи и поддержки, в одиночку, это сделать очень сложно, поэтому надеюсь, что у кого-то отзовется моя история.

Читать далее

Установка Arch Linux на ZFS

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

Привет! Меня зовут Денис, я 3D-художник и Linux-энтузиаст. Более 8 лет Arch Linux является моей основной и единственной операционной системой. Мне не удалось найти ни одного приличного гайда по установке Arch на ZFS: где-то была устаревшая информация, где-то использовался плохо подходящий для ZFS GRUB, где-то ядро на FAT. Так появилась идея написать свой гайд.

Почему страйп, а не зеркало? Однажды я решил собрать stripe (RAID 0) на ноутбуке с двумя дисками. Хотелось сохранить привычную структуру директорий и не думать о том, на каком диске что лежит. Ноутбук ношу с собой: его можно потерять, забыть в кафе, ноутбуки воруют. Всё важное в любом случае бэкапится на сервер, поэтому избыточная надёжность на ноутбуке мне не нужна. На сервере ZFS, поэтому Btrfs на ноутбуке мне не очень подходит.

Читать далее

Анатомия DPI анализа: что происходит с твоим пакетом за первые 16 КБ

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

Пошаговый разбор того, как ТСПУ анализирует трафик — от первого SYN до поведенческого ML. С конкретными числами, реальными алгоритмами и объяснением почему одни протоколы умирают на первом байте, а другие живут месяцами

Большинство объяснений про DPI звучат так: «система смотрит на пакеты и блокирует плохие». Это примерно как объяснить работу компилятора словами «берёт код и делает программу».

Давай пройдём по тому, что реально происходит с пакетом от момента выхода с твоего устройства до момента когда ТСПУ принимает решение. Пошагово, с числами, без абстракций.

Читать далее

Знакомьтесь, Барри Уорсо (цикл заметок о выдающихся питонистах)

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

Влюбился в Python в 1994-м, придумал PEP как систему управления изменениями в языке, спрятал пасхалку import this в стандартную библиотеку и годами прокладывал Python дорогу в Linux-дистрибутивы. Речь пойдёт о Барри Уорсо (Barry Warsaw) – первом неголландце в ядре Python.

Будет интересно!

Upgrade Enterprise Linux c версии 7 на версию 8 с сохранением данных

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

Давно уже наступил срок End of Life у Enterprise Linux 7, но возможно на ваших серверах он еще есть в работе. Затягивание процесса переноса могло произойти по разным причинам: сложные процессы миграции, необходимость в дополнительных мощностях для маневра, длительность процесса переноса, зависимость от бизнес-процессов заказчиков.

Зачастую upgrade ОС на месте — самый удобный способ. В данной статье я описываю инструменты и трудности, с которыми вы можете столкнуться в процессе.

Читать далее

Почему половина бытовой техники на самом деле — это маленькие Linux-компьютеры

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

Когда я впервые подключился по UART к обычному бытовому устройству, я ожидал увидеть примитивную прошивку на микроконтроллере. Но вместо этого на экране терминала внезапно появились строки загрузки Linux. С тех пор у меня появилась странная привычка: если какое-то устройство попадает ко мне в руки, я почти автоматически ищу на плате UART, JTAG или хотя бы тестовые пины.

И знаете что? Linux внутри оказывается намного чаще, чем можно ожидать.

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

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

Читать далее

Kawai-Focus 2.4: сборка приложения под Arch Linux

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

Всем доброго дня! В предыдущей статье Kawai-Focus 2.3: логика приложения на TypeScript:

1. Переписана логика с JS на TS;

2. Разобрана проблема запуска на Arch по issue Сергея (отключена сборка AppImage).

Сегодня я покажу, какие есть адекватные способы собрать приложение под Arch Linux без боли и лишних проблем. Для удобства тестирования и сборки я установил операционную систему Cachy OS, которая базируется на Arch Linux.

Читать далее

Пишем свои метрики для Zabbix по-быстрому

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

Коллеги, привет. Если вы когда-нибудь оказывались в ситуации, когда нужно срочно начать мониторить появление слова "CRITICAL" в логах приложения, а возиться с написанием экспортера для Prometheus совсем не хочется — этот пост для вас.

Читать далее

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

Квест на выживание: Настраиваем плагин Госуслуг и КриптоПро на Ubuntu 24.04 (Noble Numbat)

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

Настройка электронной подписи (ЭП) в Linux — это всегда приключение. Но попытка завести плагин Госуслуг на свежей Ubuntu 24.04 LTS превращается в настоящий хардкорный квест. Официальные инструкции безнадежно устарели, инсталляторы выдают ошибки, а техническая поддержка обычно разводит руками.

В этой статье я пошагово разберу, как заставить всё это работать, когда «всё против вас»: от конфликтов OpenSSL 3.0 до капризов Wayland и Native Messaging.

Читать далее

Мой плохой код — это ваша вина

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

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

Я как-то привык что если что-то ломается или плохо работает, то это я виноват. Это называется «брать ответственность за свои поступки» или, в случае программиста, за свой код, и это считается хорошим делом.

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

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

Сейчас я вам это покажу. Будет интересно, но впереди много боли. Я предупредил.

Хочу страдать

Что происходит, когда у сервера заканчиваются файловые дескрипторы

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

Сервер внезапно перестал отвечать, а в логах ошибка Too many open files? Дело не в нехватке памяти или перегруженном процессоре — просто ваш процесс исчерпал свои файловые дескрипторы. Под катом расскажу, что это такое, почему они заканчиваются, как быстро обнаружить проблему и как её пофиксить.

Читать

Cray: оживление легенды

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

В ИТ-индустрии существуют вещи, само существование которых давно стало красивым мифом, о котором принято вспоминать лишь шепотом и закатывая глаза от благоговения.

Читать далее

Regex песочница

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

В данной статье описывается процесс реализации песочницы для регулярных выражений с помощью платформы для контейнеризации Docker и утилит Linux. Цель - получить ограниченную среду, куда пользователь может подключиться по SSH и где у него будет минимум возможностей, чтобы он ничего не сломал, но мог свободно использовать регулярные выражения как со встроенными в среду txt заготовками, так и со своим произвольным пользовательским вводом.

Читать далее

Запускаем Tetris на домашнем роутерe

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

Интернет пестрит информацией о том, как запускают DOOM на различных устройствах. Захотелось и мне запустить Doom на своём стареньком TP-Link WR-841N. Как видно из заголовка статьи, у меня этого не получилось, но результатом стало понимание основ написания прошивок роутеров и работающий тетрис.

Читать далее

Гайд по быстрому мониторингу Linux-хостов в Grafana без Zabbix

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

Всем привет! Меня зовут Анатолий Зотов, я системный архитектор SOC в RED Security. Как центр мониторинга и реагирования на кибератаки, мы должны быстро и внятно видеть, что происходит с железом и ОС на хостах: не кончается ли место на диске, не улетела ли память и не уперся ли CPU в потолок. Как это реализовать, да еще и безопасно?

Когда мы только приступали к задаче, первой мыслью, конечно, был Zabbix, как и у половины планеты. Но у нас никто не горел желанием поднимать еще одну систему, раскатывать агенты, подбирать шаблоны и разбираться с нюансами. Времени, как обычно, не завезли. А вот Grafana у нас уже была, поэтому я подумал — а что, если просто использовать то, что уже есть? Так я и наткнулся на связку «node_exporter → Prometheus → Grafana».

Эта статья для тех, кто хочет быстро начать мониторить хосты и не готов тратить вечность на внедрение тяжелой системы, особенно если Grafana уже живет в вашей инфраструктуре. Если Grafana и Prometheus у вас еще нет, то дополнительно расскажу быстрый старт через Docker Compose.

Читать далее