unattended-upgrades: ValueError: слишком много значений для распаковки (ожидалось 2)

Вопрос или проблема

Я хочу автоматически обновить систему Debian 12 с помощью unattended-upgrades. Поскольку я добавил несколько дополнительных репозиториев, мне нужно настроить приоритезацию пакетов apt.

Если я добавлю следующую строку кода в /etc/apt/apt.conf.d/50unattended-upgradesConfig, то имитация завершится неудачей, потому что здесь в метке есть неожиданный символ = в l=source=none. Как его правильно экранировать?

"o=cloudsmith/caddy/stable,a=${distro_codename},l=source=none,c=main";

Имитация

unattended-upgrades -d -v --dry-run --debug

Сообщение об ошибке

ValueError: слишком много значений для распаковки (ожидалось 2)?

Ответ или решение

Для автоматического обновления системы Debian 12 с использованием unattended-upgrades и настройки приоритетов apt с помощью пиннинга, важно корректно указать репозитории и их атрибуты в конфигурационном файле. Ошибка, с которой вы столкнулись, связана с неправильным форматом строки, в частности, с лишним символом = внутри части l=source=none, что вызывает ошибку unpacking в Python.

Для корректной настройки строки с репозиториями, вам нужно использовать специальные символы, чтобы избежать конфликта в интерпретации параметров. В языке конфигурации apt:

  • Используйте одинарные кавычки для строки, чтобы избежать проблемы с символами = внутри значений.

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

"o=cloudsmith/caddy/stable,a=${distro_codename},l=source=none,c=main";

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

'o=cloudsmith/caddy/stable,a=${distro_codename},l=source=none,c=main';

После внесения этой корректировки, проверьте файл конфигурации /etc/apt/apt.conf.d/50unattended-upgradesConfig на наличие других потенциальных проблем и убедитесь, что вся конфигурация соответствует необходимому формату.

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

unattended-upgrades -d -v --dry-run --debug

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

Важно также следить за журналами (/var/log/unattended-upgrades/) для получения дополнительной информации об обновлениях и любых возможных ошибках.

Оцените материал
Добавить комментарий

Капча загружается...