Как настроить конфигурацию apt
Каталог /etc/apt/apt.conf.d/ сод ержит файлы конфигурации для работы apt. С их помощью можно настроить выбор зеркал, доступ через прокси, ограничение скорости и другие опции.
Полное руководство: man apt.conf (5).
Как добавить новые опции
1. Создайте новые файлы в каталоге /etc/apt/apt.conf.d/.
Файлы необязательно должны иметь расширение .conf.
2. Проименуйте их с учетом приоритета настроек.
Файлы каталога /etc/apt/apt.conf.d/ загружаются в алфавитном порядке. Более поздние файлы могут перезаписать значения, установленные более ранними файлами:
- файл с именем
01-autoremoveбудет загружен раньше, чем50-command-not-found; - файл
50-command-not-foundможет переопределить настройки файла01-autoremoveв случае конфликта настроек.
3. Добавьте в файлы необходимые конфигурационные опции.
Примеры опций
Ниже будет рассмотрено несколько опций.
Конфликты
Dpkg::options { "--force-overwrite"; }
Пакетный менеджер apt может передавать опции к программе dpkg.
Как настроить разрешение кофликтов
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-force-overwrite. - Добавьте в него строчку
Dpkg::options { "--force-overwrite"; }.
Предпочитаемая версия релиза
APT::Default-Release
Как закрепить версию релиза
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
40pin-release. - Добавьте в него строчку
APT::Default-Release "/^bookworm(|-security|-updates)$/";.
Кэш
APT::Clean-Installed
Пакетный менеджер apt сохраняет копию каждого загруженного файла .deb в директорию /var/cache/apt/archives/. Чтобы избежать переполнения кэша, можно настроить автоматическую очистку кэша для установленных файлов.
Как автоматически очищать кэш установленных файлов
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-packages-removal. - Добавьте в файл строку
APT::Clean-Installed "true"
Обновления
Acquire::PDiffs
По умолчанию apt использует инкрементальные обновления для экономии трафика. Отключить инкрементальные обновления можно насовсем, а можно временно, для одного обновления, с помощью опции -o.
Как полностью отключить инкрементальные обновления
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-no-pdiffs. - Добавьте в него строчку
Acquire::PDiffs "false".
Как временно отключить инкрементальное обновление
Выполните обновление пакетов с использованием опции -o:
sudo apt -o "Acquire::PDiffs=false" update
Прокси-серверы
Acquire::http::proxy, Acquire::https::proxy, Acquire::ftp::proxy
Как настроить доступ через прокси
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-proxy. - Добавьте в него необходимые для вашей задачи опции:
Acquire::http::proxy "http://proxy.server:3128";— для http,Acquire::https::proxy "https://proxy.server:3128";— для https,Acquire::ftp::proxy "ftp://proxy.server";— для ftp.
Файлы локализации
Acquire::Languages
Как настроить локализацию
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-languages. - Добавьте в него необходимые для вашей задачи опции:
Acquire::Languages "none";— отключить локализацию;Acquire::Languages "en";— использовать только английский язык;Acquire::Languages "environment";— использовать системный язык.
Тайм-аут загрузки
Acquire::http::Timeout, Acquire::https::Timeout, Acquire::ftp::Timeout
Как настроить тайм-аут для загрузок
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-timeout. - Добавьте в него необходимые для вашей задачи опции:
Acquire::http::Timeout "10";— установить таймаут в 10 секунд для загрузок по http;Acquire::https::Timeout "10";— установить таймаут в 10 секунд для загрузок по https;Acquire::ftp::Timeout "10";— установить таймаут в 10 секунд для загрузок по ftp.
Логи работы apt
APT::Log::File, APT::Log::Verbose
Как настроить хранение логов
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-logging. - Добавьте в него необходимые для вашей задачи опции:
APT::Log::File "{FILE_PATH}";— перенаправить логи операций apt в отдельный файл с адресомFILE_PATH;APT::Log::Verbose "true";— включить подробный режим логирования.
Зависимости и конфиги
APT::AutoRemove::SuggestsImportant, APT::Get::Purge "true";
Как автоматически удалять зависимости
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-autoremove. - Добавьте в него строку
APT::AutoRemove::SuggestsImportant "false"
С этой опцией apt будет автоматически удалять предлагаемые зависимости при удалении пакета командой apt autoremove.
Как автоматически удалять конфигурационные файлы
- Создайте новый файл в каталоге
/etc/apt/apt.conf.d/. - Назовите его, например,
99-autoremove. - Добавьте в него строку
APT::Get::Purge "true";
С этой опцией apt будет автоматически добавлять флаг --purge к командам удаления пакета, чтобы также удалить его конфигурационные файлы.