Обновить
256K+

Linux *

Пишем под *nix

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

Сказ о локальной сети, homelab и надежности цифровой жизни

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

Привет, меня зовут Камиль, мне 23, я из Москвы и работаю аналитиком/инженером данных в банке. И не смотря на душную итшную работу, у меня есть еще более душное увлечение: homelabbing. Это хобби, когда люди создают у себя дома небольшие (кто-то и большие) серверные лаборатории и переносят часть личных задач, которые обычные люди решают сторонними сервисами, туда.

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

Почему я вообще про это рассказываю? Все мы видим, что сейчас происходит с интернетом и политиками распространения ПО, блокировками (подписки, зависимость от чужих серверов даже там, где это вообще не нужно и т. д). Меня это пугает и поэтому последний +- пол года-год я занимался тем, что по сути растил собственную сеть и инфраструктуру сервисов для себя самого.

Читать далее

Собираем NetFlow-статистику через eBPF: от физических серверов до K8s

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

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

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

Когда речь идёт о расследовании инцидентов, связанных с безопасностью своих ресурсов, «приблизительной» статистики недостаточно — нужны подробности. Однако, встроенные в сетевое оборудование решения (вроде sFlow/NetFlow) с этим, как правило, не справляются:

Читать далее

Linux: Пользователи и группы

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

Вторая часть серии о Linux для DevOps и DevSecOps — разбираем, как устроены пользователи и группы, UID/GID, /etc/passwd и shadow, sudo, безопасность и реальные сценарии администрирования.

Читать далее

Calico на Orange Pi не поднимается

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

Я ставил Kubernetes на Orange Pi (orangepi4pro) и наивно ожидал, что Calico «просто заведётся». В реальности DaemonSet calico-node ушёл в перезапуски, readiness/liveness-пробы падали, а в событиях Kubernetes мелькали BIRD и Felix.

Сначала это выглядит как «какая-то проблема Calico/BGP», но причина оказалась куда прозаичнее: в установленном ядре банально нет нужных netfilter/ipset/ipip модулей.

Читать далее

Первый опыт с Warp: медленный, но сообразительный помощник, который заставит вас глупеть

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

Потыкал я на досуге один из ИИ-терминалов и делюсь этим опытом. Об установке писать не буду, там все банально и просто: тыкаете мышкой и готово. А вот дальше — все очень занимательно. Экспериментировать я буду на своих реальных задачах, поэтому часть функционала в статье не упомяну. У всех разные задачи и потребности, здесь нет серебряной пули. Поехали!

Читать далее

Мой маленький мониторинг

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

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

~120 строк на Python.

Читать далее

strace: отладка Linux-приложений через системные вызовы

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

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

Читать далее

Возможости современных моделей в разработке кода: кейс автоматического решения сложной проблемы

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

Кейс полностью автономного траблшутинга нетривиальной системной проблемы с неработоспособностью NVENC в Docker-контейнере на Jetson Orin NX с помощью Claude Opus 4.6, как пример выхода больших языковых моделей за пределы квалификации middle-grade инженера. Около 40 минут заняло расследование проблемы, по мотивам которого, я попросил сеть написать статью, которую и предлагаю вашему вниманию как пример того, на что я мог потратить целый день, а большинство middle-grade инженеров бы не справилось вообще. Весь траблшутинг и статья сделаны в полностью автоматическом режиме без участия человека.

Читать далее

Linux + видеокарты AMD в играх оказались лучше Windows 11. Как такое вообще возможно

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

Когда-то фраза «игры на линуксе» звучала примерно как «рыбалка в ванне». Технически, наверное, реализуемо, но зачем - непонятно. Тем более что Linux всегда был системой для серверов, разработчиков и бородатых сисадминов, которые считали компиляцию ядра формой медитации. Но последние опыты показали, что считать геймерской ОС исключительно Windows по меньшей мере неправильно. Потому что в играх и на некоторых конфигурациях пингвин показал себя гораздо лучше.

Читать далее

Запускаем эмуляцию «Ну, погоди!» в Linux на слабом железе

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

У меня уже были статьи, посвящённые эмуляции «Ну, погоди!». Цель этой статьи — рассказать, с чем я столкнулся при переносе моего эмулятора на Linux, и почему вообще я не воспользовался готовым решением. Статья может послужить туториалом для тех, кто хочет начать разбираться в библиотеке SDL2.

Читать далее

Как мы провели «пересадку сердца» у бегущего марафон, миграция 50 000 АРМ с ALSE 1.7 на 1.8 через Ansible без простоя

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

Привет, Хабр. Я Александр Габидуллин, старший инженер внедрения в Группе Астра. Основная часть моей работы — автоматизация установки и разворачивания наших продуктов. Нередко заказчик ставит задачу, для которой нет готового «коробочного» решения — тогда я создаю своё.

Один из таких случаев — обновление парка из десятков тысяч рабочих станций с ALSE 1.7 на 1.8 без остановки бизнес-процессов.

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

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

Провести обновление тут...

По следам Linux, X11 и ассемблера

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

На написание этой статьи вдохновил этот пост: Learn x86-64 assembly by writing a GUI from scratch. Программу из статьи перепишем с nasm на fasmg и сократим размер исполняемого файла примерно на треть.

Читать далее

Запускаем старые игры на Linux с помощью Bottles

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

Steam активно портирует игры на Linux с помощью Proton, да и нативные версии игр (особенно учитывая популярность Steam Deck) сейчас не редкость. Но что делать с остальным софтом и играми? Для них есть проверенное решение — Wine и его удобная обертка Bottles.

Я решил проверить на практике, насколько сложно запустить олдскульную игру на моей Fedora 43. В качестве подопытного выбрал S.T.A.L.K.E.R.: Тень Чернобыля.

Читать далее

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

Основы системного администрирования Linux: от командной строки до веб-сервера

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

Меня периодически спрашивают — как стать системным администратором? С чего начать изучать эти ваши линуксы?

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

А потом я подумал — это же про линукс. Здесь, когда какая-то утилита тебя не устраивает, ты пишешь yet another tool.

Поэтому я взял и написал книгу.

Это буквально для тех, кто делает (или собирается делать) самые первые шаги.
Начиная от "как пользоваться консолью", заканчивая базовым CI (Что? Да!).

Разумеется, она не сделает читателя системным администратором.
Но я скромно надеюсь, что она даст направление. Знаю по себе, что часто очень важно знать куда копать. Поэтому я расставил указатели как мог.

Книга в markdown, готовый pdf в релизе.
https://github.com/strannick-ru/linux-book/

Читать далее

ocservice — bash инструмент для управления ocserv VPN сервером

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

Предыстория

У вас конечно же нет VPN сервера ocserv, но возможно у какого-то абсолютно незнакомого человека он есть — с десятками, а может сотней пользователей. И этот незнакомый человек наверняка знает эту боль: каждый раз при добавлении нового клиента нужно вспоминать команды, лезть в документацию, не забыть обновить CRL, правильно экспортировать .p12. Когда этот гипотетический человек в очередной раз забыл флаг --legacy в openssl и получил нечитаемый файл сертификата — он вероятно захотел бы какое-нибудь автоматизированное решение.

Я написал набор bash скриптов для этого человека, чтобы автоматизировать рутину. Скрипт изначально создавался именно под связку ocserv + easy-rsa, поэтому глубоко интегрирован с её структурой PKI. Потом я решил привести код в порядок и выложить — вдруг найдутся ещё люди, которым он пригодится.

Что такое ocservice

Я смотрел существующие решения — нашёл несколько репозиториев на GitHub, но все они заброшены 2-4 года назад и работают только с логин/пароль авторизацией через ocpasswd. Сертификаты не поддерживает никто. Есть популярный проект с веб-интерфейсом, но это совсем другая история: Docker, отдельный порт, база данных, и всё равно только логин/пароль без easy-rsa. Если вам нужно просто управлять пользователями прямо на сервере без дополнительной инфраструктуры — это избыточно.

ocservice — это набор интерактивных bash скриптов для управления ocserv прямо из командной строки. Никакого Docker, никаких веб-серверов и баз данных — только bash и стандартные инструменты которые уже есть на сервере. Главная особенность — полная интеграция с easy-rsa: создание сертификатов, экспорт в .p12, отзыв и обновление CRL всё это делается в несколько нажатий.

Читать далее

За что я полюбил FreeBSD

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

Когда я впервые заглянул во FreeBSD Handbook в 2002 году, то не мог поверить своим глазам. За шесть лет работы с различными дистрибутивами Linux, о чём у меня уже была статья, я научился выискивать документацию по кусочкам — часто неполную или устаревшую, причём иногда спустя всего год. Здесь же операционная система сопровождалась полноценным, точным и достаточно свежим подробным руководством. В то время я уже был убеждённым сторонником Open Source, но рассуждал очень практично. Если разработчики этой ОС вкладывают так много усилий даже в её документацию, то представьте, насколько проработанной должна быть сама система. Короче, я решил её попробовать. Тогда у меня был Sony Vaio, где не было места для второй операционки. В итоге я скопировал все данные на настольный ПК, собрался с духом и принял решение установить на этот ноут FreeBSD, а по завершению эксперимента снова вернуть на него Linux.

Спойлер: FreeBSD осталась на том ноутбуке навсегда.

Читать далее

Домашний NAS своими руками из подножного корма быстро и за 0 рублей (нет)

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

С момента моего погружения в мир Linux, я периодически приходил к мысли о том, что было бы неплохо прикупить домашний сервер, так как штука это очень полезная. Так как квартира небольшая и стационарного ПК дома нет (только ноутбуки, мой и жены), то конечно хотелось бы какое-то компактное решение. Однако периоды таких размышлений ограничивались только размышлениями и не приводили к целенаправленной деятельности, но до определенной череды событий...

Тык

Я купил ноутбук за 6.000 рублей на AliExpress, да ещё и на ARM. Что за экзотику предлагают китайцы за 60$?

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

Я уже много лет интересуюсь темой ноутбуков на нестандартных процессорных архитектурах. Благодаря чипсетам Snapdragon и Apple, ARM в ноутбуках для повседневного использования стал реальностью: ещё 10-15 лет назад ARM-лэптоп был экзотикой для гиков, а сейчас такие устройства покупают для использования в офисах, в дороге и, в случае Mac, для довольно тяжелой работы.

Однако меня больше интересуют устройства из нижнего сегмента рынка и я периодические мониторю предложения на китайских маркетплейсах. И недавно я нашёл там полноценный ARM-ноутбук всего за 6 000 рублей. Сегодня мы разберемся, что из себя представляет этот девайс на практике!

Читать далее

Шероховатости Linux

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

Linux (и когда то в далеком прошлом FreeBSD) как рабочую станцию я начинал использовать где то в 2002-2003 годах. Двигало мною и любопытство исследователя, и желание лучше освоить эти системы, и некоторая гордость (неТАкизм), а также желание быть не хуже сокурсников, которые уже умели что то ставить и настраивать.

Любой комп, неттоп, ноутбук, что попадал мне в руки, обязательно на какой то период был подвергнут установке той или иной версии Linux, тратилось изрядное количество часов на подбор нужного на тот момент программного обеспечения, браузеры настраивались на почту, синхронизацию паролей и вкладок, VPN подключения, RDP коннекты и т.п.

Тем не менее, я не оставался на Linux навсегда (хотя периоды были до пары лет). Рано или поздно мне приходилось либо ставить Windows как вторую ОС, либо запускать ее в виртуальной машине.

В начале года я снова, в который раз, поставил на рабочий ПК свежий Linux (в этот раз ALT Linux Workstation 11, KDE Edition) – и спустя почти 3 месяца меня прям «распирает» консолидировать ВЕСЬ прошлый опыт и сделать для себя некоторые выводы.

Читать далее

Свой Firewall Operator для Docker

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

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

За 7 лет работы с Docker я устал от этой рутины и решил написать простой инструмент, который решает проблему на уровне инфраструктуры как кода. В этой статье полезем под капот ядра Linux: разберемся, как безопасно прыгать по неймспейсам (netns) в Go, чтобы не сломать планировщик, почему я выбросил iptables в пользу бинарного протокола netlink и как сеты в nftables позволяют обновлять правила без потери трафика.

Читать далее