Обновить
512K+

Linux *

Пишем под *nix

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

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

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

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

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

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

Читать далее

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

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

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

Читать далее

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

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

В начале 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.8K

Почти тонкий клиент на базе 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 мин
Охват и читатели8K

Как определить дистрибутив 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 мин
Охват и читатели18K

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

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

Читать далее

Linux в Windows + VSC

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

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

Читать далее

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

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

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

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

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

Читать далее

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

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

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

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

Читать далее

Can bus на Orange pi 4 pro

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

В этой статье я хочу поделиться своим опытом настройки подключения 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.4K

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

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

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

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

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

Читать далее

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

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

Начинаю серию «Linux Base» из 11 частей — структурированная база для DevOps, DevSecOps и всех, кто работает с Linux.

Часть 1 — Файлы, навигация и поиск: разбираем структуру каталогов (/etc, /proc, /var и др.), навигацию, работу с файлами, просмотр содержимого и поиск через grep, awk, sed.

в конце также вас ждет Linux commands cheatsheet!

Читать

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

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

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

Читать далее

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

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

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

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

Читать далее

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

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

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

Читать далее

Чёрное окошко Linux: погружение в подсистему TTY

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

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

Читать далее

Разработка кастомного плагина FreeIPA для работы с ролями ALD PRO

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

В работе с системами управления идентификацией, такими как ALD PRO (решение на базе FreeIPA), администраторы часто сталкиваются с рутинными операциями, которые в веб-интерфейсе выполняются долго и не поддаются автоматизации. Одна из таких задач — массовое создание и клонирование ролей с сохранением политик и привилегий.

Я хотел решить именно эту проблему: быстро копировать существующие роли в ALD PRO для новых организационных подразделений (OU), сохраняя все настройки и права. Веб-интерфейс не позволял делать это быстро, а главное — не давал возможности интегрироваться с системами автоматизации.

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

Читать далее