Обновить
256K+

Linux *

Пишем под *nix

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

В начале 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 мин
Охват и читатели8.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 мин
Охват и читатели13K

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

Читать далее

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

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

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

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

Читать далее

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

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

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

Читать далее

Linux в Windows + VSC

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

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

Читать далее

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

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

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

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

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

Читать далее

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

Контейнер под капотом, или Как четыре syscall'а изменили подход к эксплуатации ПО

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

Привет, Хабр! Меня зовут Олег, я работаю в VK Cloud в команде Key Management Service. Есть у меня такая привычка: когда пользуюсь каким-то инструментом изо дня в день, то рано или поздно хочется залезть внутрь и посмотреть, как оно там устроено. С контейнерами так и вышло: docker run, docker build — всё это прекрасно работает, но что именно происходит, когда мы «запускаем контейнер»?

В этой статье разберём контейнеры не на уровне «вот вам YAML, отправляйте в прод», а чуть глубже — на уровне системных вызовов Linux. По ходу дела напишем свой примитивный контейнер на Go, используя буквально четыре syscall'а, а в конце посмотрим, куда эта история развивалась дальше (сети, файловые системы) и почему виртуальные машины всё ещё живы.

Читать далее

Can bus на Orange pi 4 pro

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

В этой статье я хочу поделиться своим опытом настройки подключения canbus модуля с контроллером MCP2515 к одноплатнику OrangePi 4 Pro. Дальнейшее описание основано на экспериментировании, общении с чат-ботами, и изучении руководства пользователя OrangePi_4_Pro_A733_User Manual_v1.4
Как известно в экосистеме Raspberry pi присутствует множество различных шилдов, и canbus не является исключением. На просторах сети достаточно статей на эту тему. Например здесь описано, как подружить MCP2515 CAN Bus Module с Raspberry pi zero. В нашем случае эта статья также будет полезной. Orange pi как и Raspberry GPIO оперируют 3.3V. А на MCP2515-модуле находится трансивер TJA1050, которому нужно подавать 5V. Есть уже готовые решения, но мы не ищем легкого пути, иначе бы и эта статья не появилась бы. Но основная проблема интеграции canbus-контроллера с OrangePi 4 Pro кроется в отсутствии скомпилированных драйверов для canbus в Orange pi OS для чипа Allwinner A733.
Доступно про протокол CAN можно почитать, например, в этой статье или более основательно в стандарте ИСО 11898-1.

Читать далее

CTF от Aclabs? Не, не слышал…

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

Поскольку я только начинаю свой путь в ИБ, учась, в том числе и на платформе TryHackMe, было интересно получить практический опыт. CTF (Capture The Flag) онлайн соревнования отлично для этого подходят.

В январе проходил FIRST SHIFT CTF на THM, но там был уровень Medium. Я до такого уровня еще не дорос, поэтому продолжил обучение и просматривал различные CTF с низким порогом входа.

Параллельно обучению, смотрел видео на youtube. В рунете конечно меньше каналов, кто реально делает подробные разборы машин с популярных платформ.

18 декабря я нашел видео "IDOR для новичка. Простая веб уязвимость. Простая машина neighbour на TryHackMe, уровень легкий!" Мне очень понравился формат, я подписался на канал Mister Exploit, стал смотреть и другие видео. В одном из них было упоминание платформы aclabs.pro.

Автор канала вообще скромняга, он не рекламирует этот проект в каждом видео. Лишь в конце и то не каждого видео, он напоминает, что есть такая платформа. Если бы у меня был такой проект, я бы делал как каждый блоггер у которого <=100 подписчиков, просил бы подписаться через каждые 5 минут...

Читать далее

Linux: Файлы, навигация и поиск

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

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

Читать

Как я решил вкатиться в Android разработку через вайбкодинг. Часть 2. Ну или разработка мобильного приложения через ИИ

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

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

Читать далее

Подключаем дешёвый USB-сканер отпечатков пальцев Chipsailing CS9711 в Linux

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

Многие современные ноутбуки оснащаются сканерами отпечатков, но что делать, если ваш рабочий ПК или старый ноутбук такой возможности не имеет? Китайские маркетплейсы предлагают огромное количество USB-сканеров по цене 1000–2000 рублей. Однако при попытке использовать их в Linux пользователя ждёт сюрприз: официальные драйверы отсутствуют, а встроенная поддержка libfprint часто не работает.

В этой статье я расскажу, как заставить работать сканер Chipsailing CS9711 (ID 2541:0236) в Ubuntu и других дистрибутивах. Мы скомпилируем форк libfprint с поддержкой этого устройства, настроим демон fprintd и подключим аутентификацию по отпечатку в KDE (а также дадим подсказки для других окружений).

Читать далее

Как добавить каталог в PATH

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

Добавить каталог в PATH кажется тривиальной задачей – пока всё не перестаёт работать. Почему команда «не найдена», какой файл конфигурации действительно читает ваш shell и что именно вы добавляете в переменную окружения? В статье – аккуратный разбор этого процесса с практическими проверками и типичными ловушками, в которые регулярно попадают начинающие администраторы Linux.

Читать далее