Обновить
256K+

Настройка Linux *

Вечный кайф

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

Блог на автопилоте: markdown в статику, выход статьи по дате и пинг в IndexNow только для новых страниц

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

У меня блог на 78 markdown-файлах, и руками я его не публикую уже больше недели. Статья выходит, когда наступает дата в её шапке: сборщик в тот день включает её в сайт, сервер замечает новую страницу, пишет о ней поисковику и обновляет sitemap с RSS. Ниже разбираю, как это собрано, и три места, где всё ломалось. Фреймворка тут нет, только один Python-файл примерно на 800 строк, bash-скрипт на 30 строк и cron.

Весь код упрощён, домен заменён на example.com, пути на /srv/blog и /srv/www.

Читать далее

Новости

Как мы регистрировали HConfig в реестре российского ПО

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

Привет, Хабр! На связи снова Алексей Постригайло, старший партнер ИТ-интегратора «Энсайн». 

В прошлой статье я рассказывал об HConfig — нашем консольном инструменте. Он задумывался как внутренняя утилита для решения проблемы воспроизводимости конфигураций, когда нам надоело настраивать Linux-серверы по памяти. 

Но одно дело — делиться утилитой как продуктом с коллегами-интеграторами, и совсем другое — внедрять ее у госзаказчиков и на объектах критической информационной инфраструктуры (КИИ), которые в силу своей специфики тщательно изучают устанавливаемые продукты. Так мы пришли к идее внести наш продукт в реестр российского ПО.

Соответственно, в этой статье я расскажу, как мы отстаивали независимость стека HConfig и на какие грабли наступили, прежде чем получить заветный реестровый номер 32983. Спойлер: с первого раза не получилось. Со второго тоже (см. рис. 1)

Читать далее

Что проверить, если RDP не подключается к Astra Linux

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

С весны мы ведём контекстную рекламу по запросам про удалённый доступ в Astra Linux и видим, что люди вбивают в поиск:

astra linux 1.8 remmina не подключается с уровнем конфиденциальности 1 astra linux fly-dm-rdp astra linux 1.8 локальный и удаленный rdp astra linux rdp к windows с буфером обмена установка remmina astra linux 1.7 remmina astra linux 1.4.43 скачать deb

За месяц таких запросов набирается больше сотни. Сценарий у них общий: человек берёт инструмент из мира Debian, ставит его в Astra и получает другой результат.

Мы в RuDesktop делаем ПО для удалённого доступа и управления парком компьютеров, а к самой Astra подключаемся через xrdp. Ниже — что ломается именно в Astra, как это увидеть и что поправить. Где мы пересказываем документацию, а не свой опыт, так и пишем.

Читать далее

Делаем RAG‑систему с нуля

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

У меня с давних времен сохранилась куча всяких заметок, в основном в виде простых текстовых файлов.
Самых разных: от скриптов и конфигов до всяких рецептов, всё что когда-то пригодилось или могло пригодиться.

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

Единственный минус, когда их много - для того чтобы что-то найти нужно пройтись по каталогам где они лежат и увидеть глазами.
Особенно - если их никто не пытался строго структурировать, и они лежат где-то так:
"Документы/старое/1/1/разобрать/старый диск/Документы/Работа/...".
Ну, это конечно запущенный случай, и надо бы разобрать, когда-нибудь, может быть - ну, собственно говоря, там так и написано...

Что если попробовать прикрутить к этому поиск?

Читать далее

Простая декларативная установка NixOS, часть 3 — создание flake.nix, две конфигурации и истинная воспроизводимость

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

Эта статья является прямым продолжением этой статьи, где мы подробно разбирали, что такое флейки и как работает установка пакетов в Nix.

Что мы будем делать сегодня?

Сегодня мы приступим к практике, напишем свой собственный flake.nix, а также рассмотрим несколько интересных функций механики флейков.

Какой практический результат у нас будет в конце?

1. Две конфигурации под два разных хоста(условно server_host и home_host) с разной разметкой дисков и разными настройками.

2. Доступ к двум каналам для скачивания пакетов: стабильному и нестабильному.

3. Полностью воспроизводимая конфигурация(вплоть до версий всех наших пакетов)

В конце концов у нас будет полностью воспроизводимая и рабочая конфигурация операционной системы. Это значит, что мы в следующий раз, зайдя с другого ПК, сможем выгрузить нашу конфигурацию из гитхаба, сделать nixos-install и просто ждать, пока наша система не установится.

Читать далее

Семь привычек Linux-инженера, которые спасают прод

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

Всем привет! Меня зовут Анна Васильева, я технический менеджер в K2 Cloud и люблю запускать утилиты с максимально возможным уровнем verbose.

Есть фраза, после которой расследование сбоя обычно становится интереснее: «Я ничего не менял». Через несколько часов выясняется, что изменения всё-таки были. Инженер распаковал архив, добавил сетевой интерфейс, обновил библиотеку или перенёс виртуальную машину на другой хост. Действие казалось безобидным, а его последствия проявились в неожиданном месте.

На митапе «Инженеры перебрали / кейсы по Linux» мы взяли семь реальных случаев и разобрали их вместе с экспертами:

Читать далее

Директ Коммандер на Linux: Работа над ошибками

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

Неделю назад я выложил статью про то, как запустил Директ Коммандер на Linux. А через пару дней выяснил, что половину той инструкции можно выкинуть.

Bottles там не нужен, хватает обычного Wine из репозитория WineHQ. Заодно разобрал автообновление: Коммандер вешает красную плашку «обновление будет установлено автоматически при следующем запуске», честно качает 134 мегабайта и не устанавливает ничего. Ни тогда, ни потом, и никак об этом не сообщает.

И отдельно расскажу, как я собственным скриптом удаления снёс себе рабочую установку. Там всё сломала одна подстрока.

Читать далее

Мониторинг SSL сертификатов в Zabbix

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

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

Читать далее

Безопасное извлечение флешки стало ритуалом. Но только в Windows

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

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

Читать далее

Как вы вообще живёте без POWERLINK…

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

Промавтоматика B&R после санкций, без шаманства и плясок с бубнами: как заменить умерший контроллер мини-ПК, оставить родные стойки и не переписывать проект. Драйвер под сетевые карты Intel I226, шлюз реального времени, ядро под задачу и проверка на настоящем железе.

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

Сначала контекст, чтобы было понятно, откуда что взялось. Проект автоматизации мойки у нас написан в Automation Studio, это среда разработки B&R, и исполняется он на контроллере B&R. Когда стало ясно, что контроллеры и модули больше не купить, мы начали переносить проекты на обычные ПК. Для новых моек это отлажено с 2022 года: около сотни объектов работают на мини-ПК, а вместо стоек B&R там стоят стойки другого производителя, на Modbus TCP. Проект при этом остаётся тем же, только переконфигурируется под новые модули.

А вот со старыми мойками так не выйдет. У них стойки родные, B&R, и общаются они с контроллером по POWERLINK. Это протокол жёсткого реального времени с циклом в две миллисекунды, и стоял он там не ради красоты: ПЛК на нём считал фронты расходомеров и формировал импульсы дозаторов. Умирает на таких объектах, как правило, именно контроллер, а стойки живут и готовы служить ещё лет десять. Менять их жалко и дорого, покупать контроллер тоже дорого, подержанный через серый импорт стоит от полумиллиона до трёх с половиной миллионов рублей, и это на каждый отказ. Вот про этот случай статья: как поставить вместо контроллера мини-ПК и не тронуть ни стойки, ни сам проект.

Читать далее

Ограничение скорости скачивания пользователей в Xray-core

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

Кто тут любит коммерческие прокси-сервисы? Я не вижу ваши руки? Да, я тоже не особый фанат. Но приходится признавать, что как только домашний Xray с вручную вписанными в JSON ключами выходит за пределы узкого круга непосредственных родственников, приходится разбираться в том же спектре проблем: гео-блоки со стороны сервисов, маршрутизация, слив и слишком обширное использование подписки, из-за чего пользователи начинают мешать друг-другу, а машины блокируются по превышению квоты. Знакомая ситуация? Жду вас под катом.

Читать далее

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

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

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

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

Всё хранится только на вашем компьютере, ничего не уходит в облако. Работает на Linux и Windows.

Рассказываю простыми словами, что она умеет и как её попробовать.

Читать далее

Grok 4.7, Claude Opus 5.5 и DeepSeek V4.1 Flash: какую модель брать в сентябре

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

За две недели обновились сразу три лаборатории — xAI, Anthropic и DeepSeek. Сравниваю новые модели по независимым замерам, по цене одной и той же задачи и по тому, как с ними работать из России.

Читать далее

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

Свежий OpenWrt на Xiaomi BE7000 без UART, или как три бага в драйвере Ethernet притворялись мёртвой платой

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

У меня есть Xiaomi BE7000, и железо там вполне приличное (IPQ9554, коммутатор QCA8084 на четыре порта 2.5G, QCN9274 на 5 ГГц, гигабайт памяти и 128 МБ NAND), а вот стоковая прошивка мне быстро стала тесной. Хотелось поставить нормальный OpenWrt из main с ядром 6.18, причём не через kexec поверх стока, а чтобы он грузился прямо с флеша.

Порт под этот роутер уже делает kravasuper в своей ветке xiaomi_be7000, так что я собрал его как есть и прошил, после чего получил быстро мигающий белый диод и полное отсутствие сети, Wi-Fi и SSH, а через четыре включения питания загрузчик сам вернул сток. В обсуждении порта на такое жалуются и другие владельцы, и обычно всё списывают на ревизию платы.

UART на плате есть, но он на 1.8 В, адаптера под такой уровень у меня не было, а обычный на 3.3 В цеплять не хотелось, так что искать причину пришлось вслепую, и как я это делал, как раз и есть большая часть текста.

Читать далее

Директ Коммандер на Linux: установщик не ставится, а программа работает

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

Официально Коммандер есть только под Windows и macOS. Установщик под Wine зацикливается намертво, но само приложение запускается — если знать одну деталь про сборку Wine. Разбор, почему не работает очевидный путь, и рабочая инструкция.

Читать далее

Как плагин обновлений Tauri ломает HTTPS на ALT Linux

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

Приложение на Tauri 2 проходит все тесты на Ubuntu, а на ALT Linux теряет HTTPS сразу после проверки обновлений. Разбираю, почему так происходит, как это воспроизвести и как исправить одной функцией в своём коде.

Читать далее

Рабочий стол за NAT: autossh, systemd и VNC

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

Домашний компьютер за NAT может сам достучаться до VPS и оставить дверь открытой только для вас. Собираем туннель, который переживает обрывы, смену IP и перезагрузки, и выводим через него рабочий стол.

Читать далее

DeepSeek напрямую или через подписку Ollama: что выгоднее харнессу

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

Одна и та же модель, один и тот же агент — разные маршруты и разные часы. Считаю на прайсе и на настоящих сеансах харнесса.

Читать далее

DeepSeek Harness: агент, который целиком собран из плагинов

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

Открытая платформа, где модель, песочница и даже хранение сеансов — заменяемые модули. Разбираем, как собрать агента под задачу и не потерять контроль.

Читать далее

От заката до рассвета…

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

Фотодатчик для управления ночным освещением - штука, считай, стандартная.
Маленькая коробочка, внутри фоторезистор, реле - да все знают.
Но есть нюанс...

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

Дело было вечером, лезть со стремянкой менять датчик было лень...
А собственно, зачем мне этот датчик? Он отправляет сигнал на управляющий сервер, который рассылает команды реле - но ведь можно просто включать вечером и выключать утром, сервер может сделать это сам. От заката - до рассвета.

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