Как настроить конфигурацию 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
к командам удаления пакета, чтобы также удалить его конфигурационные файлы.