Вчера провозился некоторое время с банальной ошибкой, про которую я прекрасно знаю, и даже когда-то наверняка тут писал, но вот сам забыл в моменте. Думаю, много тех, кто настраивает сервисы в Linux, с ней сталкивались.
Проксирую запросы к сервису через Nginx. Сам сервис работает локально, ничего особенного. Пример конфигурации беру из репозитория, то есть не сам пишу. На вид там всё стандартно, поменял только пути к сертификатам.
Сервис с дефолтными настройками запускается на
Разобрался чисто интуитивно. Вспомнил, что
Попадались на таком нюансе? Я уже не первый раз. Кстати, не понимаю, для чего localhost перевели на ipv6. В чём смысл? Даже не то, что перевели. В
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#linux #ошибка
Проксирую запросы к сервису через Nginx. Сам сервис работает локально, ничего особенного. Пример конфигурации беру из репозитория, то есть не сам пишу. На вид там всё стандартно, поменял только пути к сертификатам.
upstream app { server 127.0.0.1:8000;}..... location /app/ {..... proxy_pass http://app/;..... }Сервис с дефолтными настройками запускается на
http://localhost:8000. Пробую напрямую, всё работает. Через Nginx - никак, 502 ошибка, в логах стандартно - (111: Connection refused) while connecting to upstream. Думаю, что за ерунда. Напрямую же отвечает, почему через Nginx - нет. Ещё и приложение никаких своих логов не даёт, не понятно, что не так.Разобрался чисто интуитивно. Вспомнил, что
127.0.0.1 и localhost - это не одно и то же. Первый - адрес ipv4, а localhost на современных дистрибутивах резолвится в ipv6 (::1).Попадались на таком нюансе? Я уже не первый раз. Кстати, не понимаю, для чего localhost перевели на ipv6. В чём смысл? Даже не то, что перевели. В
/etc/hosts оставили оба адреса, и ipv4, и ipv6, но по современным RFC адреса v6 имеют приоритет над v4. Поэтому теперь localhost по умолчанию отвечает с адреса ::1, а не 127.0.0.1. Это можно вручную изменить, убрав запись с ::1 из /etc/hosts. Я одно время это делал, потом перестал. Нет смысла бороться с ветряными мельницами. Надо привыкать.———
ServerAdmin:
#linux #ошибка
Please open Telegram to view this post
VIEW IN TELEGRAM
👍114👎1
Хостинг без сложностей 👋
Запустить сайт, развернуть приложение, протестировать новую идею или перенести существующий проект — задачи разные, но требования к хостингу обычно похожи. Хочется понятных тарифов, адекватной стоимости и технической поддержки, к которой можно обратиться за помощью, а не за очередной порцией шаблонных ответов.
Если как раз ищете такие условия, заглядывайте в ИХЦ😏
У нас есть решения для самых разных задач:
🟡 Виртуальный хостинг — от 123 ₽/мес с бесплатным тестированием в течение 7 дней.
🟡 VPS в России — от 317 ₽/мес с возможностью попробовать сервер бесплатно в течение 3 дней.
🟡 VPS в Европе — от 290 ₽/мес с оплатой в рублях.
🟡 Выделенные серверы — для проектов, которым нужны собственные вычислительные мощности.
🟡 Дополнительные услуги — регистрация доменов, SSL-сертификаты, резервное копирование и другие полезные инструменты.
Гарантируем круглосуточную русскоязычную поддержку, защиту от DDoS на всех тарифах и вознаграждения до 50% от платежей по партнерской программе.
В общем, если в ваших планах есть запуск нового проекта или смена хостинг-провайдера, рекомендуем заглянуть к нам в ИХЦ. Возможно, подходящее решение уже ждёт вас😉
👉 Посмотреть тарифы и попробовать ihc.ru
Запустить сайт, развернуть приложение, протестировать новую идею или перенести существующий проект — задачи разные, но требования к хостингу обычно похожи. Хочется понятных тарифов, адекватной стоимости и технической поддержки, к которой можно обратиться за помощью, а не за очередной порцией шаблонных ответов.
Если как раз ищете такие условия, заглядывайте в ИХЦ
У нас есть решения для самых разных задач:
Гарантируем круглосуточную русскоязычную поддержку, защиту от DDoS на всех тарифах и вознаграждения до 50% от платежей по партнерской программе.
В общем, если в ваших планах есть запуск нового проекта или смена хостинг-провайдера, рекомендуем заглянуть к нам в ИХЦ. Возможно, подходящее решение уже ждёт вас
👉 Посмотреть тарифы и попробовать ihc.ru
Please open Telegram to view this post
VIEW IN TELEGRAM
👍26👎10
В программировании есть (или теперь про программирование стоит говорить было?) такое понятие, как парное программирование. Причём это не образное выражение, а вполне конкретная деятельность. Про парное администрирование никогда не слышал, но если вдруг надумаете такое устроить, то могу предложить инструмент - TermPair.
Это старая утилита, которую я тестировал ещё в 2021 году. С тех пор её не забросили, периодически обновляют и работает она неплохо. Я лично проверил. Мне понравилось. С помощью TermPair можно настроить совместный доступ к консоли сервера через браузер. Это может быть режим только для просмотра, либо и для равнозначного управления для всех участников.
Отмечу особенности TermPair:
▪️Все передаваемые данные шифруются
▪️Можно поднять свой сервер и все соединения пропускать через него
▪️TermPair состоит из одного бинарника, никаких зависимостей
▪️Очень простая настройка и использование
▪️Утилита кроссплатформенная - Linux, macOS, Windows
Мне видится польза от этого сервиса как минимум в трёх ситуациях, которые пришли в голову:
1️⃣ Сейчас популярны удалённые собеседования при приёме на работу, в том числе и технические части. Можно быстро и легко отправить кандидату консоль от сервера с какими-то задачами, которые ему нужно выполнить. Там можно совместно в режиме беседы взаимодействовать. Мне видится это самым простым и эффективным способом оценить квалификацию человека. Говорить можно много, а вот взять и что-то сделать - совсем другое дело. Можно специально что-то поломать и попросить починить.
2️⃣ Можно наблюдать за работой ии-агента или нескольких через браузер. Можно поделиться с кем-то сессией, чтобы он тоже взаимодействовал.
3️⃣ Если вы проводите обучение, то это удобный способ подключиться к ученику и совместно что-то сделать.
Есть публичный сервис для использования, но у нас он работает только через VPN, поэтому я не делаю на этом акцент. Сразу покажу, как можно поднять и использовать свой сервер. Там всё очень просто.
Скачиваем и распаковываем бинарник:
Это нужно сделать и на клиентах, и на сервере, который будет обслуживать соединения. Далее на сервере устанавливаем Nginx и Certbot:
Получаем сертификат для домена:
Рисуем конфигурацию для TermPair:
Создаём systemd unit для службы TermPair в файле /etc/systemd/system/termpair.service:
Запускаем службу:
Теперь на сервере, где мы хотим расшарить консоль, запускаем TermPair и указываем через ключ наш сервер:
В консоли получаем ссылку для подключения и переходим по ней браузером. Дальше используем по назначению. Доступ будет у всех, кто знает ссылку. Ограничить доступ только чтением можно ключом
❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#linux
Это старая утилита, которую я тестировал ещё в 2021 году. С тех пор её не забросили, периодически обновляют и работает она неплохо. Я лично проверил. Мне понравилось. С помощью TermPair можно настроить совместный доступ к консоли сервера через браузер. Это может быть режим только для просмотра, либо и для равнозначного управления для всех участников.
Отмечу особенности TermPair:
▪️Все передаваемые данные шифруются
▪️Можно поднять свой сервер и все соединения пропускать через него
▪️TermPair состоит из одного бинарника, никаких зависимостей
▪️Очень простая настройка и использование
▪️Утилита кроссплатформенная - Linux, macOS, Windows
Мне видится польза от этого сервиса как минимум в трёх ситуациях, которые пришли в голову:
Есть публичный сервис для использования, но у нас он работает только через VPN, поэтому я не делаю на этом акцент. Сразу покажу, как можно поднять и использовать свой сервер. Там всё очень просто.
Скачиваем и распаковываем бинарник:
# wget https://github.com/cs01/termpair/releases/download/v1.2.0/termpair-x86_64-unknown-linux-gnu.tar.gz# tar xvf termpair-x86_64-unknown-linux-gnu.tar# mv termpair /usr/local/bin/Это нужно сделать и на клиентах, и на сервере, который будет обслуживать соединения. Далее на сервере устанавливаем Nginx и Certbot:
# apt install nginx certbotПолучаем сертификат для домена:
# certbot certonlyРисуем конфигурацию для TermPair:
upstream termpair_app {
server localhost:8000;
}
server {
server_name 345265.simplecloud.ru;
listen 443 ssl;
ssl_certificate /etc/letsencrypt/live/345265.simplecloud.ru/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/345265.simplecloud.ru/privkey.pem;
location /termpair/ {
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header Host $host;
proxy_pass http://termpair_app/;
proxy_http_version 1.1;
proxy_set_header Upgrade $http_upgrade;
proxy_set_header Connection "upgrade";
}
}Создаём systemd unit для службы TermPair в файле /etc/systemd/system/termpair.service:
[Unit]
Description=TermPair server
After=network.target
[Service]
ExecStart=/usr/local/bin/termpair serve --port 8000
Restart=on-failure
RestartSec=1s
[Install]
WantedBy=multi-user.target
Запускаем службу:
# systemctl daemon-reload# systemctl enable --now termpair.serviceТеперь на сервере, где мы хотим расшарить консоль, запускаем TermPair и указываем через ключ наш сервер:
# termpair share --host "https://345265.simplecloud.ru/termpair/" --port 443В консоли получаем ссылку для подключения и переходим по ней браузером. Дальше используем по назначению. Доступ будет у всех, кто знает ссылку. Ограничить доступ только чтением можно ключом
-r. Через ключ --cmd можно сразу запустить какую-то программу, например, opencode.❗️Если заметка вам полезна, не забудьте 👍 и забрать в закладки.
———
ServerAdmin:
#linux
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58👎2
Ваш дата-центр вышел из строя. Где теперь запускать 1С?
Серверы недоступны, сотрудники не могут подключиться к 1С, заказы не обрабатываются, отгрузки останавливаются. Резервные копии есть. Но даже если данные удалось сохранить, остаётся главный вопрос: на какой инфраструктуре продолжить работу, пока основной ЦОД недоступен? Разворачивать новые серверы во время аварии, искать ресурсы и восстанавливать подключения долго. А бизнесу нужно работать.
☁️ БИТ.CLOUD предлагает геораспределённую IT-инфраструктуру с резервным ЦОД.
Это решение, при котором резервная площадка заранее подготавливается в другом дата-центре. Если основной ЦОД становится недоступен, компания может перейти на резервную инфраструктуру по подготовленному сценарию и восстановить доступ к 1С, ERP, CRM и другим критичным системам.
Что входит в решение:
✓ Резервная площадка в другом ЦОД. Критичные системы не зависят только от одного дата-центра.
✓ Подготовленный сценарий переключения. Порядок перехода на резервную инфраструктуру определяется заранее, а не в момент аварии.
✓ Архитектура под ваши системы. При проектировании учитываются серверы, базы данных, приложения и необходимые интеграции.
✓ Проверка сценария восстановления. Можно заранее протестировать переход на резервную площадку и выявить возможные проблемы.
Главное преимущество: резервную инфраструктуру не придётся создавать с нуля во время аварии. Она будет подготовлена заранее, а порядок восстановления будет известен ИТ-команде.
Один ЦОД не должен быть единственной точкой отказа для всего бизнеса. БИТ.CLOUD поможет подобрать схему геораспределённого размещения и рассчитать стоимость резервной инфраструктуры под ваши задачи.
👉 Узнайте, как подготовить резервный ЦОД для вашей 1С и других бизнес-систем
Серверы недоступны, сотрудники не могут подключиться к 1С, заказы не обрабатываются, отгрузки останавливаются. Резервные копии есть. Но даже если данные удалось сохранить, остаётся главный вопрос: на какой инфраструктуре продолжить работу, пока основной ЦОД недоступен? Разворачивать новые серверы во время аварии, искать ресурсы и восстанавливать подключения долго. А бизнесу нужно работать.
☁️ БИТ.CLOUD предлагает геораспределённую IT-инфраструктуру с резервным ЦОД.
Это решение, при котором резервная площадка заранее подготавливается в другом дата-центре. Если основной ЦОД становится недоступен, компания может перейти на резервную инфраструктуру по подготовленному сценарию и восстановить доступ к 1С, ERP, CRM и другим критичным системам.
Что входит в решение:
✓ Резервная площадка в другом ЦОД. Критичные системы не зависят только от одного дата-центра.
✓ Подготовленный сценарий переключения. Порядок перехода на резервную инфраструктуру определяется заранее, а не в момент аварии.
✓ Архитектура под ваши системы. При проектировании учитываются серверы, базы данных, приложения и необходимые интеграции.
✓ Проверка сценария восстановления. Можно заранее протестировать переход на резервную площадку и выявить возможные проблемы.
Главное преимущество: резервную инфраструктуру не придётся создавать с нуля во время аварии. Она будет подготовлена заранее, а порядок восстановления будет известен ИТ-команде.
Один ЦОД не должен быть единственной точкой отказа для всего бизнеса. БИТ.CLOUD поможет подобрать схему геораспределённого размещения и рассчитать стоимость резервной инфраструктуры под ваши задачи.
👉 Узнайте, как подготовить резервный ЦОД для вашей 1С и других бизнес-систем
👎35👍7
В августе у z.ai вышла в свет модель GLM-5.3-Flash. Она разработана специально для программирования, агентных задач и работы с длинным контекстом. Не знаю, за какие заслуги, но эта модель стала доступна в бесплатном режиме в open source агенте OpenCode с ограничением контекста в 200к, что для задач эксплуатации зачастую достаточно. Я её попробовал на небольшой задаче.
Покажу конкретный пример, как начать работать с ии-агентом. ❗️Сразу говорю, что я не специалист по агентам, и это не набор лучших практик. Показываю, как я обычно это делаю для своих небольших задач. Каких-то исследований, обучений на эту тему я не делал и не проходил.
Ставим на тестовую виртуальную машину opencode:
Я рекомендую сразу поставить
Создаём рабочий каталог, например,
Дальше в поле ввода выбираем режим Plan и пишем в чат всё, что хотите сделать. Я для примера сходу составил вот такой промпт:
В режиме Plan агент скорее всего задаст какие-то дополнительные вопросы. Например, оставляем ли открытым порт для SSH, какой формат репозиториев выбираем, нужно ли перезагружать VM после обновления и т.д. По характеру вопросов вы сами поймёте, чем нужно дополнить промпт. Чем подробнее вы его опишите, тем лучше. Но даже если он будет неполным, по ходу дела вы будете его дополнять.
Когда все вопросы разобраны, выбираете режим Build и говорите агенту, чтобы он реализовывал проект. Дальше он будет много всего делать. Когда закончит, посмотрите глазами, что там получилось и постарайтесь осознать 😁. Для этой задачи контекста в 200к должно хватить.
Далее готовите ему тестовую виртуальную машину и прямо в чат пишите параметры доступа. Говорите ему, что хотите настроить на этой VM, и просите отладить работу плейбука. Поначалу будет куча ошибок. Скорее всего он их все исправит автоматически. Эта задача простая.
На выходе у вас получится готовый рабочий плейбук, уже протестированный, с инструкцией по использованию. У меня это заняло примерно 30 минут на всё про всё, отвлекаясь на другие задачи. Получил рабочий, проверенный плейбук. Обычно после появления первой рабочей версии я добавляю его в git и куда-то загружаю в репу. Теперь этот проект можно скормить другой llm, если она у вас есть, и провести аудит.
Если подключить MCP для PVE, то агент может добавить в инвентарь ваши VM. У себя это проверял. Но контекста больше уходит. На решение задачи может не хватить.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#ai #devops #ansible
Покажу конкретный пример, как начать работать с ии-агентом. ❗️Сразу говорю, что я не специалист по агентам, и это не набор лучших практик. Показываю, как я обычно это делаю для своих небольших задач. Каких-то исследований, обучений на эту тему я не делал и не проходил.
Ставим на тестовую виртуальную машину opencode:
# curl -fsSL https://opencode.ai/v2/install | bashЯ рекомендую сразу поставить
tmux или screen и запустить opencode там. Далее проходим этап первоначальных настроек. Я сейчас не знаю, что там. У меня уже давно всё настроено. На эту тему куча видео в интернете.Создаём рабочий каталог, например,
ansible_base_configure, заходим в него и запускаем opencode в нём. Открываем список моделей и выбираем GLM-5.3-Flash Free.Дальше в поле ввода выбираем режим Plan и пишем в чат всё, что хотите сделать. Я для примера сходу составил вот такой промпт:
Ты - DevOps инженер, специализирующийся на автоматизации через Ansible и отвечающий за идемпотентность и check-mode при работе с виртуальными машинами Linux.
Задача - подготовить Playbook для контроля базовых настроек виртуальных машин на базе ОС Debian 13 в среде PVE. Используй только проверенные и общепризнанные практики подхода IaC.
В решении опиши структуру каталогов, ключевые модули, переменные по уровням (group_vars, host_vars, defaults) и стратегию тегов. Приведи пример inventory с десятью серверами разного назначения и команду запуска ansible-playbook с нужными флагами. Запиши всё это в README.md.
Что делаем на виртуальных машинах (VM):
- проверяем по списку подключенные репозитории, для каждой VM оставляем возможность указать набор репозиториев, которые должны быть подключены
- проверяем наличие обновлений пакетов и если они есть - устанавливаем
- устанавливаем и настраиваем nftables, закрываем все входящие подключения, разрешаем все исходящие, отдельным списком для каждой VM указываем входящие порты и источники трафика, для которых будут разрешены подключения
- устанавливаем везде типовой набор пакетов - net-tools, mc, iftop, lsof, git, для каждой VM оставляем возможность в отдельном списке указать дополнительные пакеты
В режиме Plan агент скорее всего задаст какие-то дополнительные вопросы. Например, оставляем ли открытым порт для SSH, какой формат репозиториев выбираем, нужно ли перезагружать VM после обновления и т.д. По характеру вопросов вы сами поймёте, чем нужно дополнить промпт. Чем подробнее вы его опишите, тем лучше. Но даже если он будет неполным, по ходу дела вы будете его дополнять.
Когда все вопросы разобраны, выбираете режим Build и говорите агенту, чтобы он реализовывал проект. Дальше он будет много всего делать. Когда закончит, посмотрите глазами, что там получилось и постарайтесь осознать 😁. Для этой задачи контекста в 200к должно хватить.
Далее готовите ему тестовую виртуальную машину и прямо в чат пишите параметры доступа. Говорите ему, что хотите настроить на этой VM, и просите отладить работу плейбука. Поначалу будет куча ошибок. Скорее всего он их все исправит автоматически. Эта задача простая.
На выходе у вас получится готовый рабочий плейбук, уже протестированный, с инструкцией по использованию. У меня это заняло примерно 30 минут на всё про всё, отвлекаясь на другие задачи. Получил рабочий, проверенный плейбук. Обычно после появления первой рабочей версии я добавляю его в git и куда-то загружаю в репу. Теперь этот проект можно скормить другой llm, если она у вас есть, и провести аудит.
Если подключить MCP для PVE, то агент может добавить в инвентарь ваши VM. У себя это проверял. Но контекста больше уходит. На решение задачи может не хватить.
———
ServerAdmin:
#ai #devops #ansible
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍90👎1
Весёленький вчера выдался денёк. Точнее вечерок. Разом насыпало целый ворох уязвимостей. Экстренно обновлял все подопечные сервера.
1️⃣ Начну с самой эпичной уязвимости PHP, про которую вы все уже скорее всего слышали - PHP2Shell. Не буду повторяться, а сразу приведу ссылку, где есть вся необходимая информация - php2shell.ru. Там всё подробно, по-русски.
На поддерживаемых версиях ничего особенного, просто обновился и всё. Во все дистрибутивы экстренно привезли обновления. Но PHP такая вещь. На нём есть куча старья, которое давно не обновляется и уже не будет обновляться. К сожалению, у меня есть такие сервера и с ними ничего не поделать. Обновить их уже невозможно, никто не будет тратить на это деньги деньги. Там пока просто добавил в настройки:
На 100% это не защищает, но и область атаки сильно сужает. Надеюсь в ближайшее время появятся какие-то более надёжные методы защиты старых версий PHP. Я уверен, это очень актуально для огромного числа пользователей. Что-то должно появиться.
2️⃣ Была какая-то критичная уязвимость в MariaDB. Про неё даже ФСТЭК написал. В Debian новые пакеты приехали совсем недавно. Пару недель назад я их ещё не видел. И всё бы ничего, но на части серверов у меня обновление тупо зависало и вешало сервис
Конкретно у меня это воспроизводилось на части серверов с Debian 12. В момент обновления с версии 10.11.18 на 10.11.19 какой-то скрипт из нового пакета выключал службу и запускал заново. И этот первый пуск в рамках работы менеджера пакетов apt намертво зависал. Я ждал минут 20, думал, может таблицы обновляет или ещё что-то делает. Боялся прерывать. Но дольше уже не мог ждать, надо было что-то решать.
Если отправить сервер в reboot, то завершение работы подвисает, ожидая ответа от службы mariadb. Потом по окончании таймаута минут в 10, всё же перезапускается и нормально работает. Каким-то образом штатно остановить службу не получалось. Она ни на что не реагировала. В логах пусто, никаких ошибок. Приходилось тушить через SIGKILL. Слава богу, ни один сервер не умер от таких манипуляций.
Разбираться с этой проблемой не было времени. Раз зависнув, это больше не повторялось. Это явно какая-то проходная ошибка, возникающая на конкретных версиях пакетов. В Debian 13 я с этим не столкнулся.
В итоге на части серверов я получил развлечение в виде зависшего процесса с apt и упавшей СУБД, чего никак не ждёшь от обновлений безопасности (передаю привет тем, кто их ставит автоматически ✋😃). Вкупе с невозможностью обновить на некоторых серверах PHP, это добавило лишних переживаний.
3️⃣ Про компрометацию ключей удостоверяющего центра eMudhra, думаю, вы тоже уже слышали. Повсюду новость разлетелась. Соответственно, в дистрибутивы прилетело обновление пакета
Вот эти три вещи по идее обязательны к обновлению, причём экстренному, что я вчера и сделал. ❓А у вас какие отношения с обновлениями? Обновились внепланово или пока ждёте? Были проблемы?
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#security #debian
На поддерживаемых версиях ничего особенного, просто обновился и всё. Во все дистрибутивы экстренно привезли обновления. Но PHP такая вещь. На нём есть куча старья, которое давно не обновляется и уже не будет обновляться. К сожалению, у меня есть такие сервера и с ними ничего не поделать. Обновить их уже невозможно, никто не будет тратить на это деньги деньги. Там пока просто добавил в настройки:
; php2shellmemory_limit = -1post_max_size = 8Mupload_max_filesize = 6Msession.upload_progress.enabled = 0На 100% это не защищает, но и область атаки сильно сужает. Надеюсь в ближайшее время появятся какие-то более надёжные методы защиты старых версий PHP. Я уверен, это очень актуально для огромного числа пользователей. Что-то должно появиться.
mariadb намертво.Конкретно у меня это воспроизводилось на части серверов с Debian 12. В момент обновления с версии 10.11.18 на 10.11.19 какой-то скрипт из нового пакета выключал службу и запускал заново. И этот первый пуск в рамках работы менеджера пакетов apt намертво зависал. Я ждал минут 20, думал, может таблицы обновляет или ещё что-то делает. Боялся прерывать. Но дольше уже не мог ждать, надо было что-то решать.
Если отправить сервер в reboot, то завершение работы подвисает, ожидая ответа от службы mariadb. Потом по окончании таймаута минут в 10, всё же перезапускается и нормально работает. Каким-то образом штатно остановить службу не получалось. Она ни на что не реагировала. В логах пусто, никаких ошибок. Приходилось тушить через SIGKILL. Слава богу, ни один сервер не умер от таких манипуляций.
Разбираться с этой проблемой не было времени. Раз зависнув, это больше не повторялось. Это явно какая-то проходная ошибка, возникающая на конкретных версиях пакетов. В Debian 13 я с этим не столкнулся.
В итоге на части серверов я получил развлечение в виде зависшего процесса с apt и упавшей СУБД, чего никак не ждёшь от обновлений безопасности (передаю привет тем, кто их ставит автоматически ✋😃). Вкупе с невозможностью обновить на некоторых серверах PHP, это добавило лишних переживаний.
ca-certificates. Вот эти три вещи по идее обязательны к обновлению, причём экстренному, что я вчера и сделал. ❓А у вас какие отношения с обновлениями? Обновились внепланово или пока ждёте? Были проблемы?
———
ServerAdmin:
#security #debian
Please open Telegram to view this post
VIEW IN TELEGRAM
👍67👎1
29 октября проводим вебинар о практическом внедрении ИИ в корпоративные ИТ-системы. Покажем вживую, как ИИ-агенты работают с системами 1С и не-1С, обрабатывают документы, проверяют данные и автоматизируют рутинные операции.
Отдельно разберём реальные кейсы внедрения ИИ на промышленном предприятии сферы ОПК, полученный опыт и результаты.
В основе демонстраций – «Когнитум», отечественная ИИ-платформа, способная работать полностью автономно в закрытом контуре предприятия, без доступа в интернет и передачи данных во внешние облака.
Обсудим важные для ИТ-директоров вопросы:
- безопасность;
- интеграцию с существующими системами;
- требования к оборудованию;
- стоимость эксплуатации;
- вопросы конфиденциальности и обезличивания данных КИИ;
- переход от пилотов к промышленному использованию.
Отдельно коснёмся задач совместного использования локальных и внешних ИИ-моделей.
Будет минимум теории, максимум практических сценариев и живых демонстраций.
Будет возможность записаться на пилот.
🗓 29 октября | ⏰ 11:00 по Москве |📌 Регистрация
Запишитесь сейчас, чтобы не пропустить мероприятие, а после него получить полезные материалы!
Отдельно разберём реальные кейсы внедрения ИИ на промышленном предприятии сферы ОПК, полученный опыт и результаты.
В основе демонстраций – «Когнитум», отечественная ИИ-платформа, способная работать полностью автономно в закрытом контуре предприятия, без доступа в интернет и передачи данных во внешние облака.
Обсудим важные для ИТ-директоров вопросы:
- безопасность;
- интеграцию с существующими системами;
- требования к оборудованию;
- стоимость эксплуатации;
- вопросы конфиденциальности и обезличивания данных КИИ;
- переход от пилотов к промышленному использованию.
Отдельно коснёмся задач совместного использования локальных и внешних ИИ-моделей.
Будет минимум теории, максимум практических сценариев и живых демонстраций.
Будет возможность записаться на пилот.
🗓 29 октября | ⏰ 11:00 по Москве |📌 Регистрация
Запишитесь сейчас, чтобы не пропустить мероприятие, а после него получить полезные материалы!
👍13👎3
Я не так давно рассказывал, как периодически возникают проблемы с различными репозиториями для ОС. В связи с этим я все репы настроил на mirror.yandex.ru. С ним на тот момент никаких проблем не было. Плюс, помимо базовых репозиториев ОС, там ещё куча всяких заблокированных реп, типа Grafana, Elastic и т.д. В целом было удобно и стабильно.
Но после всех известных событий стабильности стало меньше. В целом, зеркало работало. Я не перенастраивал на что-то другое. Но заметил, что если разом обновлять пачку серверов (примерно 10-15), то на некоторых можно увидеть ошибки, типа такой:
Повторный запуск проходит успешно. Не знаю, с чем это связано. Может не с одновременным обновлением, а с тем, что на каких-то серверах нет всех пакетов.
У меня нет больших инфраструктур (50+ VM). Плюс, я не обновляю разом прям сразу всё, обычно группами. Мне это некритично, но всё равно эти ошибки напрягают, отвлекая на себя внимание. Да и в целом не очень разумно на каждый сервер качать пакеты, хотя современные скорости интернета позволяют не обращать на это внимание.
Дополнительно возникла ещё одна проблема с обновлением Vector из его репы
Решил разом все эти вопросы поднятием своего кэширующего прокси для пакетного менеджера. Не стал ничего придумывать, а взял стандартный apt-cacher-ng из базового репозитория Debian. Для стандартных дебиановских реп, к которым обращаются по HTTP, ничего на самом сервере с apt-cacher-ng настраивать не надо. Всё заведётся с дефолтной конфигурацией. А вот с другими репозиториями, типа Docker, Elastic и т.д., которые работают по HTTPS, есть нюансы и различные варианты конфигурации. Я у себя настроил и уже опробовал такую схему.
Сервер с apt-cacher-ng принимает от клиентов все запросы по HTTP и сам их редиректит на HTTPS, скачивает пакеты и отдаёт клиентам. Такая настройка мне показалась самой простой и интуитивно понятной. Покажу на практике, как это реализовано. Ставим apt-cacher-ng:
Рисуем ему конфигурацию в
Запускаем:
Идём к клиентам, прописываем им прокси. Для этого добавляем файл
Репозитории, что работают по HTTP, трогать не надо. Они теперь будут обновляться через прокси. А в тех репах, что работают по HTTPS, надо поменять протокол с https на http. Вот пример для
Собственно, на этом всё. Те репы, где оставили https, работают напрямую. Обновляемся на клиентах и смотрим на сервере с прокси логи и кэш в папках
С vector я решил вопрос так. Подключил эту репу на сам сервер apt-cacher-ng. Ему настроил доступ к репе через впн. Сначала обновляю пакет на нём, он попадает в кэш. Все остальные сервера берут с него.
Вариантов решения подобных задач много. Я их все решил одним apt-cacher-ng.
p.s. уже после написания заметки узнал, что для vector можно использовать репу apt.datadoghq.com, это CNAME для apt.vector.dev, то есть полная копия, доступная пока без ограничений.
———
ServerAdmin:📱 Telegram | 🌐 Сайт | 📲 MAX 😩
#linux #apt
Но после всех известных событий стабильности стало меньше. В целом, зеркало работало. Я не перенастраивал на что-то другое. Но заметил, что если разом обновлять пачку серверов (примерно 10-15), то на некоторых можно увидеть ошибки, типа такой:
E: Failed to fetch https://mirror.yandex.ru/debian-security/pool/updates/main/b/bind9/bind9-dnsutils_9.20.30-1%7edeb13u1_amd64.deb 404 Not Found [IP: 213.180.204.183 443]Повторный запуск проходит успешно. Не знаю, с чем это связано. Может не с одновременным обновлением, а с тем, что на каких-то серверах нет всех пакетов.
У меня нет больших инфраструктур (50+ VM). Плюс, я не обновляю разом прям сразу всё, обычно группами. Мне это некритично, но всё равно эти ошибки напрягают, отвлекая на себя внимание. Да и в целом не очень разумно на каждый сервер качать пакеты, хотя современные скорости интернета позволяют не обращать на это внимание.
Дополнительно возникла ещё одна проблема с обновлением Vector из его репы
apt.vector.dev. Там одно время была очень низкая скорость, а теперь вообще без прокси или впн ничего не качает. Зеркало для него на mirror.yandex.ru не нашёл. Свою копию репы поднимать не хочется. Там нужен всего один пакет.Решил разом все эти вопросы поднятием своего кэширующего прокси для пакетного менеджера. Не стал ничего придумывать, а взял стандартный apt-cacher-ng из базового репозитория Debian. Для стандартных дебиановских реп, к которым обращаются по HTTP, ничего на самом сервере с apt-cacher-ng настраивать не надо. Всё заведётся с дефолтной конфигурацией. А вот с другими репозиториями, типа Docker, Elastic и т.д., которые работают по HTTPS, есть нюансы и различные варианты конфигурации. Я у себя настроил и уже опробовал такую схему.
Сервер с apt-cacher-ng принимает от клиентов все запросы по HTTP и сам их редиректит на HTTPS, скачивает пакеты и отдаёт клиентам. Такая настройка мне показалась самой простой и интуитивно понятной. Покажу на практике, как это реализовано. Ставим apt-cacher-ng:
# apt install apt-cacher-ngРисуем ему конфигурацию в
/etc/apt-cacher-ng/zzz_local.conf:Port: 3142
BindAddress: 10.20.1.150
CacheDir: /var/cache/apt-cacher-ng
LogDir: /var/log/apt-cacher-ng
Remap-vector-https: http://apt.vector.dev
Remap-docker-https: http://download.docker.com/linux/debian
Remap-grafana-https: http://mirror.yandex.ru/mirrors/packages.grafana.com/oss/deb/
Remap-elastic-https: http://mirror.yandex.ru/mirrors/elastic/9/
Запускаем:
# systemctl enable --now apt-cacher-ngИдём к клиентам, прописываем им прокси. Для этого добавляем файл
/etc/apt/apt.conf.d/90apt-proxy:Acquire::http::Proxy "http://10.20.1.150:3142";
Acquire::https::Proxy "DIRECT";
Репозитории, что работают по HTTP, трогать не надо. Они теперь будут обновляться через прокси. А в тех репах, что работают по HTTPS, надо поменять протокол с https на http. Вот пример для
docker.list:deb [arch=amd64 signed-by=/etc/apt/keyrings/docker.asc] http://download.docker.com/linux/debian trixie stable
Собственно, на этом всё. Те репы, где оставили https, работают напрямую. Обновляемся на клиентах и смотрим на сервере с прокси логи и кэш в папках
/var/log/apt-cacher-ng и /var/cache/apt-cacher-ng. С vector я решил вопрос так. Подключил эту репу на сам сервер apt-cacher-ng. Ему настроил доступ к репе через впн. Сначала обновляю пакет на нём, он попадает в кэш. Все остальные сервера берут с него.
Вариантов решения подобных задач много. Я их все решил одним apt-cacher-ng.
p.s. уже после написания заметки узнал, что для vector можно использовать репу apt.datadoghq.com, это CNAME для apt.vector.dev, то есть полная копия, доступная пока без ограничений.
———
ServerAdmin:
#linux #apt
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍64👎3
время (обычно беру период в 2 недели), что мне понравились.
⇨ A CRAZY 10-port Firewall Virtualization Desktop Mini PC
Не представляющий какой-то практической ценности обзор необычного Mini-PC с 6-ю портами 2.5G, 2-мя портами 10G и 2-мя модулями SFP. Какое-то безумное устройство не понятно для чего. Было просто любопытно на него посмотреть. Есть идеи, для чего эта штука нужна именно в таком исполнении?
⇨ Matrix Synapse - свой мессенджер для текстовых сообщений на домашнем сервере
Установка и базовая настройка популярного бесплатного и открытого чат-сервера с клиентом, которые можно установить у себя на сервер и своих устройствах. Всё никак руки не доходят его попробовать и возможно оставить на постоянку. Работал с ним давно, лет 5-6 назад.
⇨ Incus Commander - Open Source, Self Hosted Container and Virtual Machine Control Center
Подробный обзор на отдельную панель управления для Incus - системы управления контейнерами и виртуальными машинами. Я год назад делал на неё подробный обзор в двух публикациях (1, 2). Система управления в целом неплохая, но когда есть бесплатный PVE, более функциональный и распространённый, не понятно, зачем использовать что-то ещё. Каких-то явных преимуществ у Incus нет.
⇨ I Didn't Know Linux Could Cache NFS Files Locally
Любопытное видео про настройку кэширования с помощью отдельного модуля ядра для сетевых ресурсов, подключенных по NFS. Не знал и никогда не использовал подобное кэширование. Автора это кэширование спасло от постоянной повторной загрузки больших LLM моделей при некоторых изменениях.
⇨ 7 Hermes AI Skills I’d Add to My Home Lab First
Автор рассказал про некоторые скиллы для ии-агентов, которые могут быть полезны в домашних лабах. Материал поверхностный, ничего особенного, но для общего развития можно послушать, чтобы хотя бы представлять, что с их помощью можно сделать (практически всё).
⇨ Forgejo + Renovate - автообновление Docker-образов и зависимостей в homelab
Настройка автоматизации на примере обновления контейнеров. Runner ходит в репозиторий, анализирует docker-compose файлы, сверяет с репой разработчика, если есть обновление - создаёт Issue и Pull request для обновления версии контейнера. Наглядный пример современной автоматизации. Хотя сейчас, конечно, это уже не так современно, потому что ии-агента нет :) Но 5 лет назад это выглядело современно.
⇨ 7 Home Lab Projects Worth Trying This Month | October 2026
Обзор некоторых новых проектов. Кое-что понравилось, буду пробовать. Конкретно PVE Panel, File Level Restore Portal for Proxmox Backup Server, связка ии-агент + netbox. Последнее у меня давно в задачах висит, но никак руки не доходят заняться. Не хватает на всё времени.
———
ServerAdmin:
#видео
Please open Telegram to view this post
VIEW IN TELEGRAM
YouTube
Forgejo + Renovate - автообновление Docker-образов и зависимостей в homelab
Как настроить автоматические обновления Docker-образов и зависимостей в homelab? В этом видео разворачиваем Forgejo, подключаем Renovate Bot и показываем, как обновления доезжают до сервера через Komodo: от Pull Request до деплоя.
Статья на сайте https:…
Статья на сайте https:…
👍22