Обновить
512K+

Linux *

Пишем под *nix

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

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

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

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

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

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

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

Читать

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

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

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

Читать далее

Regex песочница

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

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

Читать далее

Между tail и ELK: пытаюсь собрать логи с нескольких серверов одной командой

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

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

Одна жалоба повторялась достаточно часто: «Когда что‑то падает, приходится обходить несколько серверов, смотреть логи по отдельности и пытаться сложить картину вручную. ELK/syslog решают, но ради пары сервисов это перебор.»

После этого я решил собрать небольшой прототип LogRanger — CLI‑утилиты, которая по SSH забирает логи с нескольких серверов и открывает их в lnav одной командой. Ниже коротко расскажу, какую проблему хочу закрыть и что именно делаю.

Читать далее

Mini-Shell: Часть 2 — Pipes, фоновые процессы и управление задачами

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

Это продолжение серии. Если вы не читали первую часть, рекомендую начать с неё: https://habr.com/ru/articles/1000766/

Читать далее

Как я искал замену MinIO S3 и написал свой S4 на Rust

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

В начале 2025 года компания MinIO в лице сооснователя Harshavardhana начала поэтапно сворачивать свою версию Community Edition. В феврале из open-source версии был вырезан веб-интерфейс администрирования - управление политиками, мониторинг, репликация, IAM - всё это переехало в коммерческий продукт AIStor с ценником от $96 000 в год. Пользователям оставили лишь базовый object browser и CLI-утилиту mc. В мае последовало удаление поддержки OIDC-аутентификации. В октябре MinIO прекратил публикацию Docker-образов и готовых бинарников - причём аккурат в момент раскрытия критической CVE-уязвимости. А в декабре 2025-го проект официально перешёл в режим maintenance mode: никаких новых фич, pull request'ы не принимаются, только точечные security-фиксы по усмотрению компании.

Читать далее

Почти тонкий клиент на базе Linux с авторизацией через штрихкод и автоматическим запуском 1С в RDP сессии Windows

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

Почти тонкий клиент на базе Linux, с авторизацией через штрихкод и автоматическим запуском 1С в RDP сессии Windows.

После некоторых событий, на производстве появилась необходимость упрощения, удешевления и автоматизации входа постов (тонких клиентов) в 1С.

Какие основные моменты нужно было решить:

1. Убрать хранение пароля в ветке реестра Winlogon на ОС Windows
2. Убрать хранение пароля пользователя 1С в скрипте .bat
3. Попробовать дать вторую жизнь устаревшим компьютерам с 1-2 гб ОЗУ и процессорами Intel Atom D425, или старее
4. Автоматизировать вход до 1С сканированием единственного штрихкода/QR-кода на рабочем месте
5. Минимизировать время замены рабочей станции в случае аварии/выхода из строя
6. Сделать универсальный образ как для Legacy так и для UEFI совместимых компьютеров

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

Читать далее

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

Как ведет себя Podman в файловой системе

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

Механизм работы с файловой системой в Podman очень схож с Docker. Но есть несколько нюансов. Так как Podman разрабатывался с упором на безопасность и rootless, порой возникают неочевидные ошибки при монтировании volumes. Сегодня рассмотрим эти нюансы и поглубже заглянем в кроличью нору.

Читать далее

Как я определял дистрибутивы Linux по установленным пакетам, и при чем тут KUMA?

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

Как определить дистрибутив Linux? А что, если имеется только информация о пакетах, установленных на устройстве? История одного «велосипеда» или мы не нашли готового решения.

Представьте, что вам нужно определить дистрибутивы, опираясь исключительно на установленные пакеты. Инвентаризация есть, но данные неполные — часто известно только имя хоста, IP и список установленных пакетов. Операционная система может быть указана как «Linux» без уточнения дистрибутива и версии. О создании алгоритма, работе с KUMA и написании код в данной статье.

Читать далее

sudo исполняется 45. Вашему контейнеру — всё равно

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

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

Этот бинарник — sudo.

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

Вот о чём эта статья: что это за работа, как она обросла такой сложностью, и как маленькая программа на C справляется с ней лучше.

Читать далее

Запускаем Doom на старом офисном телефоне

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

Когда-то давно мне подарили кучу VoIP-телефонов, которые списали на моей старой работе. Среди них были два Snom 360 Business, выпущенные в 2005 году. Изначально я хотел настроить АТС на основе Asterisk для всех доставшихся мне телефонов, но в процессе обновления прошивки на одном из аппаратов Snom 360 мне пришла в голову идея получше. У телефона есть экран и клавиатура... получится ли на нём запустить Doom?

Читать далее

Тайна Samsung, которая стоила жизни тысячам смартфонов

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

Вообще, я большой любитель экзотических гаджетов и разной диковинки. Порой мониторю барахолки в поисках чего-то такого, что не продавалось в условной «Евросети», а если гаджет попадается нерабочий, то стараюсь его восстановить. Особый кайф мне приносит ремонт материнских плат — объём дофамина от чувства того, что ты только что восстановил устройство, на котором поставили крест более 10 лет назад, просто невероятный!

Недавно мне в руки попал уникальный смартфон-игровая консоль JXD S5800, который при внешней целостности не подавал никаких признаков жизни. После короткой диагностики виновник нашелся быстро. В этой статье расскажу не только о ремонте и о том, причем здесь Samsung, но и детально разберу аппаратную платформу типичного смартфона тех лет. Если интересно — жду под катом.

Читать далее

Linux в Windows + VSC

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

Эта статья для тех, кто столкнулся с необходимостью иметь компьютер под управлением одной из систем семейства Linux и при этом имеется единственный компьютер под управлением Windows. Для таких случаев в Windows есть стандартное решение под названием WSL (Windows Subsystem for Linux). Конечно нельзя назвать данное решение полноценным. Но для тестирования проекта или обучения вполне может подойти. В моем случае решил использовать эту систему для обучения работы в Airflow. Что из этого вышло покажу дальше в статье. Забегая вперед скажу, что не все так однозначно ни с подсистемой Linux в Windows ни с дальнейшей работай проектов в ней.

Читать далее

Мастерство поиска в Linux: Grep и регулярные выражения

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

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

В качестве одного из возможных инструментов для поиска может применяться утилита grep. Grep (сокращение от global/regular expression/print) является одним из самых мощных и часто используемых инструментов в арсенале системного администратора и разработчика. На первый взгляд, её задача проста — найти строки в тексте, соответствующие шаблону. Например, вхождение какого-либо слова в текстовом файле Однако истинная мощь grep раскрывается при использовании регулярных выражений (regex).

В этой статье мы разберём три основных типа регулярных выражений, используемых в экосистеме grep: Basic (BRE), Extended (ERE) и Perl-compatible (PCRE) и рассмотрим несколько практических примеров.

Читать далее