Вопрос или проблема
Я хочу автоматически обновить систему 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/
) для получения дополнительной информации об обновлениях и любых возможных ошибках.