Обновить
512K+

Настройка Linux *

Вечный кайф

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

Собираем эмуляцию USB-устройства с помощью Buildroot с использованием USB Gadget для запуска в QEMU

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

В статье я расскажу, как эмулировать работу USB-устройства без наличия физического устройства. Для этого мы соберем маленький Linux-дистрибутив в Buildroot (~60мб), который с помощью USB Gadget будет притворяться реальным периферийным устройством - Modbus Slave (но можно любым дргим: мышкой, камерой и т.д.). Запустим несколько таких “устройств” с помощью QEMU, подключим их в Windows через USBip.

Читать далее

Новости

ROSA и ОСь репозитории CentOS 7

Время на прочтение5 мин
Охват и читатели8.2K
Всем привет.

Хочу с Вами поделиться информацией как к «российским» ОС прикрутить репозитории CentOS и заменить установленные пакеты.

Всё началось, когда нашу организацию обязали перейти на «российское» ПО. В первую очередь начал искать серверные ОС. Как оказалось наши разработчики предлагают ОС на базе Linux, а в организации 100% windows платформа. Организация не маленькая, примерно 150 серверов только в одном округе.

После изучения рынка «российских» ОС выбор пал на ROSA и ОСь. ROSA это платная ОС и стоит не маленьких денег, но так как не очень уж хочется платить за воздух я остановился на ОС ОСь. Далее начинается самое интересное далее. У ОСи добавлен репозиторий от РосТех и в версии пакетов добавлена как правило одна буква:

1. Пакет от ОСи — openssh-6.6.1p1-33z3.el7.x86_64
2. Стандартный пакет CentOS — openssh-6.6.1p1-33.el7.x86_64

Первопроходцем должен быть AD на samba4, но тут возникает проблема. При установке зависимостей для samba4 yum не чего не может сделать с пакетами ОСи и соответственно пакеты не устанавливаются из-за неразрешнных зависимостей.

Все действия я делал на ОС ОСь minimal.

В общем решение этой проблемы следующее:

1. Необходимо закоментировать существующие репозитории.
2. Создать новый файл с CentOS'совскими репозиториями.

vi /etc/yum.repos.d/centos7.repo

Вот сам файл centos7.repo
Читать дальше →

Отладка bash-скриптов: инструменты, о которых мало кто

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

В предыдущей статье я рассказал, как писал скрипт мониторинга системы с нуля от идеи до рабочего инструмента с меню, цветным выводом и уведомлениями в Telegram. Там же выяснилось, что большинство проблем при написании bash-скриптов возникает не из-за сложной логики, а из-за незаметных ошибок: забытых токенов-заглушек, тихих падений через pipe, команд которые молча возвращают не то. Именно тогда я понял, что echo для отладкиэто каменный век.

Скрипт мониторинга написан и работает. Теперь поговорим о том, что делать, когда он перестаёт работать или ведёт себя странно. Я собрал инструменты и приёмы, которые реально меняют то, как работать с bash. Не абстрактный список из документации, а вещи которые я использую сам и которые несколько раз спасали в ситуации «скрипт упал на проде, надо найти за пять минут».

Для тех, кто спешит: быстрая шпаргалка

Читать далее

CI/CD для продакшна: GitLab Registry, Docker in Docker и отказоустойчивость

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

Если ваш проект перерос стадию “просто собрать” и теперь требует бесперебойной работы в проде, простого пайплайна больше недостаточно. Главная боль — как исключить downtime и иметь возможность мгновенного отката? В третьей части цикла разбираемся с GitLab Container Registry.

Мы настроим хранение версий Docker-образов, разберем подводные камни Docker in Docker (dind) и SELinux, а также автоматизируем тестирование перед выкатом. Наконец простейший скрипт для запуска контейнера на production-сервере из вашего приватного Gitlab Registry.

Читать далее

Anything LLM для каждого [бизнеса]

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

Делюсь опытом. Как я настроил AnythingLLM для небольшой компании на базе VPS и своего домашнего компа. Заказчик хочет оценить все эти ваши GPT на практике, но не готов вкладываться и запрещает отдавать свои тайны публичным языковым моделям. Есть запрос - есть и предложение. Делаем решение из того, что уже есть: VPS на Ubuntu, домашний игровой комп, Mikrotik в качестве роутера. Один вечер и минимум вложений. Заказчик в восторге, я в плюсе!

Читать далее

Всё, что вы настроили в Linux, можно было не настраивать

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

Я использую Linux 15 лет. Ну, то есть как использую: первые года три я его настраивал, а не использовал. Это разные вещи, и мне понадобилось позорно много времени чтобы это понять.

Сейчас у меня Fedora. Из коробки. С GNOME. Почти без кастомизации. Я набираю в ней код, сижу в браузере, иногда монтирую видео для внутренних демок. Всё работает.

Пятнадцать лет назад я бы от такого описания плевался. Как это «из коробки»? А где i3? Где polybar? Где 400 строк .vimrc? Где кастомный скрипт на баше который при подключении второго монитора переключает раскладку DPI и температуру цвета?

Ну вот, нету. И ничего не сломалось.

Читать далее

Из мёртвого ноута — в домашний NAS: спасаем 100 ГБ фоток за 0 ₽

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

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

Читать далее

Linux: Процессы

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

Продолжаем серию о Linux. В прошлой части разбирали права доступа, а теперь переходим к одной из самых важных тем в Linux — процессам. Любая программа в системе в конечном итоге существует как процесс: nginx, postgres, docker, sshd, systemd, ваш shell и даже потоки ядра. Понимание того, как процессы создаются, живут, взаимодействуют с ядром и завершаются, — это база для понимания и диагностики Linux-систем. Цель этой статьи — рассказать кратко и простым языком всю нужную информацию как для начинающих, так и для опытных пользователей и админов, чтобы освежить знания. Важно: для практики, если обучаетесь, лучше всего использовать виртуалку с Linux.

Читать

Встречайте: muenvsubst — улучшенный envsubst

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

Все мы любим envsubst за простоту, но он примитивен. Переходить на Python с Jinja2 ради шаблонизации конфигов в CI/CD — всё равно что стрелять из пушки по воробьям, да и тащить рантайм ради пары переменных не хочется. В мире Go есть неплохие аналоги, но их вес в 100 МБ вгоняет в тоску, когда стремишься к минимализму в Docker-образах.

Теперь всё изменилось так как появился muenvsubst — замена стандартной утилите, написанная на C++17, заточенная под хардкорную шаблонизацию в инфраструктуре. В этой статье я расскажу, как уместить мощь, близкую к Jinja2 (включая циклы, условия, макросы и вызов shell), в статический бинарник весом менее 400 КБ.

Читать далее

Центр сертификации в собственной автономной системе

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

Привет!

В статье рассмотрим создание центров сертификации для автономной системы в реалиях 2026 года. Такой системой может выступать ваш дом, небольшой офис или другая локальная сеть, которая предоставляет пользователям сервисы. Простоты ради мы будем использовать пакет EasyRSA. Рассмотрим все шаги от создания корневого и промежуточного ЦС до выпуска клиентских и серверных ключей(и бонусом — пример их использования в моей домашней сети). Интересно? Тогда добро пожаловать под кат.

Читать далее

Мониторинг с RRD

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

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

Или наоборот: иногда происходит какое-то событие, достаточно редкое (сбой, или наоборот срабатывание), но хотелось бы понимать, насколько часто, и не меняется ли его частота в разные периоды - ведь это может быть признаком более серьезной проблемы.

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

Когда-то и я наступил на эти грабли - когда база на MongoDB распухла так, что не влезла в 32-битный компьютер. Но это другая история.

При этом мало кому нужно точно знать, какая температура была на датчике 26 июля 2016 года в 14:33:15 - чаще достаточно просто усредненных значений. Вот как раз для подобного давным-давно люди придумали RRD - Round-robin database

Читать далее

Делаем ностальгический фильмоскоп на Raspberry Pi Zero 2 W

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

Один из ярких воспоминаний детства — просмотр семьёй диафильмов. Выключался свет, и на самодельном экране из простыни мы смотрели сказки. Детское воображение дорисовывало детали, и картинки оживали.

Сейчас в эпоху интернета, мультимедиа и ИИ вроде бы как такой необходимости нет, но слишком сильное чувство ностальгии. Поэтому решил получить ностальгические воспоминания с использованием современных технологий, а заодно и попрактиковаться в использовании энкодеров, разработке программ на Си и настройке Linux на Raspberry Pi.

Читать далее

Загрузка PocketHandyBox Linux с помощью TinyPXE Server, iPXE и WinNFSd

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

Подготовлены .ini файл с настройками TinyPXE Server, скрипт запуска WinNFSd, загрузочные файлы iPXE и скрипт autoexec.ipxe. В общем все необходимое для запуска PocketHandyBox Linux через PXE на почти любом ПК в локальной сети, используя в качестве сервера любой ПК/ноутбук с Windows.

Благодаря поддержке в TinyPXE Server режима ProxyDHCP, при наличии в локальной сети основного DHCP сервера (без настроенной опции 67) / роутера - нет необходимости как либо вмешиваться в его работу. А также нет необходимости изменять IP адреса или файловые пути в каких либо конфигах.

Все необходимое для запуска серверной части на Windows находится в одной папке. Не требует установки каких либо служб или правки реестра. То есть просто копированием переносится между разными Windows ПК и разными локальными сетями.

Поддерживается загрузка через PXE как в UEFI так и в Legacy/CSM режимах. К сожалению Secure Boot не поддерживается и его требуется отключать.

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

Читать далее

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

Root в контейнере — это root на хосте? Разбираю важные особенности прав доступов в контейнерах Docker/Podman

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

Если назначить файлу владельца root на хосте — будет ли это тот же самый root внутри контейнера?

Если на хосте существует пользователь gtosss — можно ли переключиться на него внутри контейнера и получить доступ к файлу?

Если создать пользователя gtosss внутри контейнера и выдать ему права на файл — сможет ли хост обратиться к этому файлу под таким же пользователем?

Большинство разработчиков знают, что контейнеры изолируют процессы. Но мало кто задумывается о том, что происходит с правами, когда например директория с хоста монтируется внутрь контейнера через volume (bind mount).

Разобрал три конкретных сценария на Ubuntu с Docker и Fedora с Podman: как UID/GID влияют на доступ к файлам, почему root в контейнере может быть root на хосте и что с этим делает user namespace. Эксперименты, cli и доступные объяснения.

Читать далее

Свой AI-агент из почты, systemd и LLM

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

В прошлых статьях я строил домашнее облако на Proxmox. Теперь внутри него живёт кое-что поинтереснее — полностью автономный AI-агент, которого я могу пнуть письмом из обычного почтового клиента или сообщением в Telegram, и он ответит, подумав. Причём подумав по-настоящему: с многошаговым рассуждением, долговременной памятью и возможностью выполнять команды. Зовут его Threlium, и устроен он чертовски необычно и просто, например может модифицировать сам себя.

Зачем, почему и что получилось — расскажу ниже.

Читать далее

TorFlash — приложение для Linux: поиск торрентов, скачивание и копирование на флешку в одно нажатие

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

У меня телевизор, который читает файлы с USB-флешки. Флешка отформатирована в FAT32, а значит — максимум 4 ГБ на файл. Типичный вечер выглядит так:

Linux-приложение для тех, кто смотрит фильмы с USB-флешки. Поиск торрентов по Rutor, NoNaMe-Club и RuTracker, скачивание через libtorrent и автоматическое копирование на флешку с умным разбиением MKV-файлов под FAT32. Один бинарник, PyQt5, open source.

Читать далее

Когда памяти мало

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

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

Почему меня эта тема вообще заинтересовала: у меня, как уже писал раньше, сейчас такой весьма спартанский рабочий компьютер: перепрошитый под Debian TV-box, процессор ARM, питание всего 5 вольт от USB-зарядки.
Начиналось как прикольный эксперимент - а потом понравилось: не гудит, не шумит, электричества не жрёт, места почти не занимает, вопреки ожиданиям работает вполне неплохо.
Единственный минус - памяти всего 4 гигабайта, и увеличить ее физически нельзя.

Причем, для работы-то вполне достаточно, а вот браузер, зараза такая, любит покушать, точнее пожрать.
Не сам браузер - а некоторые сайты, чуть более чем полностью набитые всякими свистелками и анимацией (лучи радости создателям модных современных сайтов с многопоточными скриптами и HD-иконками, типа "img1920х1025.jpg style='width:100px'").
Соответственно, если запущены рабочие программы, и тут повезет открыть такой сайт - начинаются тормозааа, главное успеть его закрыть, пока всю память не выжрал.

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

Читать далее

Домашний сервер без белого IP: безопасная публикация сервисов через VPS, обратный SSH-туннель и Caddy

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

Как безопасно опубликовать домашний сервер без белого IP и проброса портов: домашний сервер сам устанавливает исходящее SSH-соединение к VPS, на VPS создаётся локальный endpoint обратного SSH-туннеля, а внешний доступ к сервисам отдаётся через Caddy по HTTPS. Backend-порты вроде Nextcloud, Home Assistant или Jellyfin не открываются напрямую в интернет, а остаются доступными только через loopback и reverse proxy. Отдельное внимание уделено hardening: ограниченный пользователь tunneluser, SSH-ключи, autossh, systemd, UFW, проверка sshd_config и диагностика типовых ошибок.

Поехали

WireGuard: простота и надёжность современного VPN-туннеля или секретное рукопожатие в тёмной комнате

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

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

Читать далее

iPXE без лишних слов, но с большим количеством пояснений

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

iPXE без лишних слов, но с большим количеством пояснений

Данная статья является туториалом и принципом "сделай сам", проект является завершённым и окончательным продуктом с возможностью дополнять и улучшать его до бесконечности, поскольку можно по аналогии добавлять свои пункты меню в iPXE или настроить графику под себя (подробнее в статье)

Весомым отличием статьи от остальных статей на тему pxe-загрузчиков по сети является то, что рассмотрены оба варианта, как UEFI так и Legacy режимы, настроен DHCP на уровне Active Directory с политиками определения по железу, кто Legacy, кто UEFI через Vendor Classes и 60 правило в DHCP
А также проект актуализирован для 2026 года и объяснены тонкости и нюансы автоустановки Linux Ubuntu, загрузчика sanboot, и принцип устройства BCD загрузчика WinPE и как его "отдавать" по сети для Legacy систем

Читать далее
1
23 ...