wiki/HowtoDebian/Packages.md
2022-07-07 11:01:24 +02:00

13 KiB

pub rsa4096 ...

/etc/apt/trusted.gpg.d/debian-archive-buster-automatic.gpg

pub rsa4096 ...


Pour des raisons pratiques, nous déconseillons d'ajouter des clés dans le keyring « principal » `/etc/apt/trusted.gpg`.

On préfèrera ajouter des clés dans le répertoire `/etc/apt/trusted.gpg.d/` : soit dans un fichier avec l'extension `.gpg` (clé sous format binaire), soit dans un fichier avec l'extension `.asc` (clé sous format ASCII)

> *Note* : pour les fichiers `.asc` il est important qu'ils aient des sauts de ligne Unix et non DOS… sinon ils seront ignorés. On conseille d'utiliser `dos2unix` pour s'en assurer.

On peut supprimer des clés via la commande `apt-key del` suivi des derniers caractères du fingerprint de la clé :

apt-key del 12345678

OK



## Astuces

### Lister les packages selon leur pool

Lister les packages installés, notamment leur pool pour différencier main/contrib/non-free :

$ dpkg --get-selections | tr '\t' ' ' | cut -d" " -f1 | cut -d: -f1 | xargs apt-cache show | grep ^Filename


### Lister les packages par taille

$ dpkg-query -Wf '${Installed-Size}\t${Package}\n' | sort -n


### Unattended upgrades / Auto upgrades

Sur un serveur non critique (backup, dev, …) on peut vouloir faire les mises à jour automatiquement :

apt install unattended-upgrades

dpkg-reconfigure -plow unattended-upgrades


La configuration se trouve dans le fichier `/etc/apt/apt.conf.d/50unattended-upgrades`.
On peut choisir où envoyer le mail de rapport ou encore si on doit redémarrer la machine automatiquement si nécessaire, etc.

### Accepter les changements d'informations de release

Si un dépôt change ses données de "release" (version, nom de code…), APT va demander confirmation explicite. C'est lié à `apt-secure`.

Ça peut par exemple prendre cette forme :

E: Repository 'http://pub.evolix.net bullseye/ Release' changed its 'Codename' value from '' to 'bullseye/' N: This must be accepted explicitly before updates for this repository can be applied. See apt-secure(8) manpage for details. Do you want to accept these changes and continue updating from this repository? [y/N]


En mode interactif, on peut accepter ou refuser le changement, mais en mode non-interactif (script, Ansible…) ça n'est pas possible.

On peut alors jouer cette commande pour accepter un changement d'information :

apt update --allow-releaseinfo-change