Все потоки
Поиск
Написать публикацию
Обновить
105.07

Настройка Linux *

Вечный кайф

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

Погружение в инструменты диагностики Linux. Часть 1 — sysdig

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

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

Читать далее

Невидимый вывод grep при поиске, включающим конец строки в файлах с разделителем строк CRLF

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

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

Уже сталкивался с этим, но давно и причину вспомнил не сразу. Пофрустрировав, всё-таки припомнил, разобрался детальнее и решил написать небольшую заметку.

TL;DR: Причина – встреча символа возврата каретки CR (\r) с управляющей последовательностью \x1B[K : CR возвращает курсор в начало строки, а \x1B[K удаляет всё от курсора до конца строки. ОС - Ubuntu 24.04, терминал Terminator 2.1.3, шелл Bash.

Подробности

19. Nix в пилюлях: Основы stdenv

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров471

Эта глава посвящена деривации stdenv, благодаря которой собирается большинство пакетов из репозитория nixpkgs. Она поддерживает инструментарий GCC, GNU make, autotools и другие распространённые системы сборки.

Читать далее

Как перенести Linux Device Drivers на современные ядра

Время на прочтение13 мин
Количество просмотров7.7K

Наверное, каждый разработчик рано или поздно задумывается о том, что же происходит в операционной системе на уровне ядра. Для ОС на базе ядра Linux относительно простой точкой входа является написание своих модулей. Модули по своей сути — это драйверы устройств (символьные char device, блочные block device, сетевые network device и другие).

В книге Linux Device Drivers (LDD) подробно описано, как создать свой модуль ядра для интересующего класса устройств. Однако эта книга очень устарела, поскольку в ней рассматриваются случаи, справедливые для ядра версии 2.X.X. А в 2025 году третьему изданию Linux Device Drivers исполняется 20 лет!

На сегодняшний день большинство устройств используют ядра 5.X.X или 6.X.X, в которых многое изменилось. Так и появилась идея этой статьи — адаптировать информацию из LDD под современные ядра.

Под катом рассмотрим следующие классы устройств: char device, block device и network device.

Читать далее

18. Nix в пилюлях: Пути хранения Nix

Уровень сложностиСредний
Время на прочтение5 мин
Количество просмотров502

Для того, чтобы различать пакеты разных версий, Nix хранит их в каталогах с именами, которые содержат хеш. В главе 18 мы разберёмся, как вычисляется этот хеш для файлов, каталогов и tar-архивов.

Читать далее

Рабочий компьютер «мини» из ТВ-приставки

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

Продолжая тему «что можно сделать из обычной ТВ‑приставки» — можно сделать, например, очень экономичный и компактный десктоп.
В обычной жизни такое может быть никогда и не понадобится, но всякое в жизни бывает...

Питание такого компьютера — всего 5в, его можно подключить к аккумулятору через обычную USB‑автозарядку, в сочетании с 12-вольтовым монитором получится этакий «компьютер для автономщика», если конечно вы дружите с Линуксом.

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

Читать далее

17. Nix в пилюлях: Переопределение пакетов nixpkgs

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров380

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

Читать далее

Избавляемся от LUKS-шифрования корневого диска

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров2.3K

При установке любого дистрибутива мы имеем возможность зашифровать партиции на диске, иногда я шифрую корень системы
Но что делать, если хочется снять шифрование?

Сейчас разберемся под катом

P.S.: в конце опросничек

Читать далее

16. Nix в пилюлях: Параметры nixpkgs

Уровень сложностиСредний
Время на прочтение4 мин
Количество просмотров771

Вы начинаете сборку вашего пакета не на пустом месте. Репозиторий nixpkgs, куда входит ваш пакет, при запуске скрипта сборки передаёт ему параметры. В этой главе мы поговорим о двух основных параметрах: system и config.

Читать далее

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

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

Всем привет!!

Стоит внести небольшое предисловие, что пароль от учетки забыл не я, а мой товарищ, но я помог ему восстановить доступ

Как все было?

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

Что мы имеем?

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

Как решали?

Тут возможны два варианта.

Читать далее

Home Assistant на Raspberry Pi 5

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

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

Поскакали

С чего начать путь уверенного DevOps-бэкэндера: Гайд по Linux-командам для работы с системой

Уровень сложностиПростой
Время на прочтение3 мин
Количество просмотров18K

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

Читать далее

Нативный подмодуль в PostgreSQL Universal. Полный и инкрементальные режимы

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

В статье поговорим об особенностях работы и процессе установки PostgreSQL Universal. Материал рассчитан как на опытных пользователей, знакомых с RuBackup, так и на людей, интересующихся созданием резервных копий для личных и коммерческих целей.

Читать далее

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

15. Nix в пилюлях: Поисковые пути Nix

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

В Nix для поиска дериваций используется переменная окружения NIX_PATH. Она похожа на PATH, но есть и важные отличия. Разбираемся с тем, как устроен репозиторий nixpkgs.

Читать далее

Забытые технологии: CGI

Время на прочтение9 мин
Количество просмотров8.2K

Навеяло комментариями: у людей стойкая ассоциация между Perl как языком и CGI как технологией, использовавшейся в начале веб‑времен.

Всё логично: на тот момент Perl был одним из немногих распространенных скриптовых языков, и естественно что на нем делать CGI‑скрипты было удобнее, чем на shell, например.
Но это не означает что одно к другому было гвоздями прибито.

А вообще технология была по‑своему хорошая: установили вебсервер (как правило — Apache), настроили каталог, из которого запускаются скрипты — и запускай что хочешь.

Попробую показать к чему можно приспособить это в наше время...

Читать далее

Особенности удаленной работы в 2025

Время на прочтение6 мин
Количество просмотров6.9K

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

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

Но сейчас, видимо из-за санкций, такие простые решения как OpenVPN или вообще не работают, или работают крайне нестабильно. И даже не очень простые, типа Wireguard. И даже еще более непростые, не будем их тут называть.

Ну, вот еще один вариант решения проблемы, если переселяться в офис очень невыгодно: в принципе об этом недавно тут писали, но я остановлюсь именно на рабочем применении данной технологии.

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

На помощь приходит упоминавшаяся ранее технология i2p.

Читать далее

Cовмещаем Haproxy, Vless, WebSocket, VPN и сайт на одном порту

Уровень сложностиСложный
Время на прочтение13 мин
Количество просмотров26K

Cовмещаем Vless, WebSocket, VPN и сайт на одном порту средствами Haproxy, создаем альтернативу VPN на основе WebSocket.

Читать далее

Detection is easy. Устанавливаем Elastiflow для поиска угроз в сети

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

Начнем серию статей под названием Detection is easy, посвященных Detection engineering (DE), о чем я пишу в одноименном Telegram-канале. Один из этапов DE - определение источников событий и организация их сбора. В этой статье мы рассмотрим установку Elastiflow — это мощное решение для обработки и визуализации сетевых данных, построенное на основе стека ELK (Elasticsearch, Logstash, Kibana). Elastiflow предоставляет возможность собирать, обрабатывать и анализировать данные из различных сетевых протоколов, таких как NetFlow, sFlow и IPFIX. Основное преимущество Elastiflow по сравнению с классическим ELK-стеком заключается в оптимизированном агенте сбора сетевой телеметрии, а также в наличии готовых дашбордов и визуализаций, которые упрощают анализ сетевого трафика.

Изначально проект развивался на GitHub, однако разработчики перешли к коммерческому решению — flow-collector, который демонстрирует значительно более высокую производительность по сравнению с версией, доступной на GitHub. Более подробную информацию о различиях можно найти в документации. Политика лицензирования позволяет бесплатно использовать продукт, но если ты зарегистрируешься, то будет доступно порядка 480 полей и использование одного инстанса (4000 записей в секунду, без регистрации 500).

Читать далее

Подключаем WiFi вручную

Время на прочтение6 мин
Количество просмотров7.8K

И снова вспомню времена древние, староглиняные: когда-то настройка сети в UNIX-like OS была делом, требующим сложных технических знаний. Нужно было зайти в консоль под правами рутовыми, да указать вручную адрес IP для интерфейса сетевого. Примерно так:

ifconfig eth0 add inet 192.168.1.10 netmask 255.255.255.0 up

Или, ежели админ сети сподобился, да настроил сервер DHCP - то так:

ifconfig eth0 up

dhclient eth0

Да еще не забыть указать адрес сервера DNS:

echo "nameserver 8.8.8.8" > /etc/resolv.conf

А ежели надобность была чтобы оно при перезагрузке сохранялось - то записать эти заклинания в файл типа /etc/rc.local на память долгую.

Теперь-то другое дело: воткнул шнурок в разъем - сеть и появилась, как по щучьему велению.

И даже WiFi - нажал мышкой на иконку, выбрал название сети, ввел пароль - она и подключилась.

Красота, лепота какая! Но есть нюанс...

Читать далее

Новогодний плейлист инженера-программиста: что послушать в подкасте «Битовые маски»

Время на прочтение5 мин
Количество просмотров2.6K

Новогодние каникулы — отличное время не только для отдыха, но и для саморазвития. Если вы хотите узнать больше о низкоуровневой оптимизации, тонкостях работы с GPU или разобраться в архитектуре ядра Linux, эти выпуски подкаста «Битовые Маски» точно стоит добавить в свой плейлист. Эксперты с многолетним опытом обсуждают самые сложные темы из мира низкоуровневого программирования, делятся ценными инсайтами и реальными историями из профессиональной практики.

Читать далее

Вклад авторов