Я действую apt-get
следующим образом:
rm -rf /var/lib/apt/lists/*'
apt-get clean
apt-get --option Acquire::Check-Valid-Until=false update
DEBIAN_FRONTEND=noninteractive apt-get --yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" upgrade
DEBIAN_FRONTEND=noninteractive apt-get --yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold" dist-upgrade
apt-get autoremove --yes --force-yes
apt-get clean
Я хотел бы удалить параметры из файла конфигурации, чтобы /etc/apt/apt.conf.d/
команды можно было выполнять без указания этих параметров, и они все равно учитывались. А именно, я хотел бы удалить:
--option Acquire::Check-Valid-Until=false
отapt-get update
DEBIAN_FRONTEND=noninteractive
и--yes --option Dpkg::Options::="--force-confdef" --option Dpkg::Options::="--force-confold"
отapt-get upgrade
иapt-get dist-upgrade
--yes --force-yes
отapt-get autoremove
и хотя я посмотрел настраницы руководства, я не мог понять, как это правильно сделать.
Я был бы признателен за подробное объяснение того, как этого можно добиться.
На всякий случай, вот некоторая информация о моей системе:
$ cat /etc/*release* | grep -i dist
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=16.04
DISTRIB_CODENAME=xenial
DISTRIB_DESCRIPTION="Ubuntu 16.04.1 LTS"
$ dpkg -l | grep -i apt | head -n 1
ii apt 1.2.15ubuntu0.2 amd64 commandline package manager
решение1
Вы можете добавить в файл --option
детали без :=
Acquire::Check-Valid-Until "false";
Dpkg::Options:: "--force-confdef";
Dpkg::Options:: "--force-confold";
Что касается --yes
и --force-yes
, тоapt-get
страница руководстваговорит:
-y, --yes, --assume-yes
Automatic yes to prompts; assume "yes" as answer to all prompts and
run non-interactively. If an undesirable situation, such as
changing a held package, trying to install a unauthenticated
package or removing an essential package occurs then apt-get will
abort. Configuration Item: APT::Get::Assume-Yes.
--force-yes
Force yes; this is a dangerous option that will cause apt to
continue without prompting if it is doing something potentially
harmful. It should not be used except in very special situations.
Using force-yes can potentially destroy your system! Configuration
Item: APT::Get::force-yes. This is deprecated and replaced by
--allow-downgrades, --allow-remove-essential,
--allow-change-held-packages in 1.1.
Так:
APT::Get::Assume-Yes "true";
APT::Get::force-yes "true";
Вторую строку следует заменить строками, устанавливающими один или несколько параметров APT::Get::allow-downgrades
, APT::Get::allow-remove-essential
, APT::Get::allow-change-held-packages
в значение true.
DEBIAN_FRONTEND=noninteractive
является настройкой debconf и должна быть установлена в debconf.conf
.страница руководстваесть примеры.
Я настоятельно рекомендую вам написать скрипт вместо того, чтобы устанавливать их в файлах конфигурации. Кроме того, нет смысла запускать upgrade
перед dist-upgrade
- dist-upgrade
одного этого достаточно.