Debian

De Banane Atomic
Aller à la navigationAller à la recherche

Liens

APT (Advanced Package Tool)

Installation

Bash.svg
# installation
sudo apt install Mon_Paquet

# suppression
sudo apt remove Mon_Paquet    # conserve la configuration et les dépendances
sudo apt purge Mon_Paquet     # supprime la configuration mais conserve les dépendances
sudo apt autoremove --purge   # delete orphan packages, purge to also delete configuration

# tester si un paquet est installé
dpkg -l Mon_Paquet
# localiser les fichiers installés du paquet
dpkg -S Mon_Paquet

# mise à jour de la liste des paquets disponible
sudo apt update

# mise à jour de tous les paquets installés
sudo apt upgrade

# installer un fichier *.deb
dpkg -i paquet.deb

# installer les dépendances manquantes
sudo apt install -f

# historique des installations
cat /var/log/apt/history.log

Mise à jour

Bash.svg
# mise à jour de la liste des paquets disponible
sudo apt update

# mise à jour des paquets déjà installés uniquement
sudo apt upgrade
# -s simulate the upgrade

# mise à jour des paquets déjà installés + installe les nouvelles dépendances + désinstalle les anciennes dépendances
sudo apt full-upgrade

# upgrade a specific package only
sudo apt install --only-upgrade <package_name>

# know the installed and cadidate version of a package
apt-cache policy <package_name>

Recherche

Bash.svg
# search a package
apt search <package_name>
apt search "regex"
apt search --names-only "^<package_name>$"  # exact match

# search a package in the dpkg database (already installed packages)
dpkg -l <package_name>
dpkg -l "*<search_term>*"
# ii: installed
# rc: removed and configuration files are present

# list installed packages
apt list --installed
dpkg --get-selections | grep -v deinstall
dpkg -l

# lister tous les paquets explicitement installés par l'utilisateur
apt-mark showmanual

# info sur un paquet
apt show Mon_Paquet

# lister les dépendances d'un paquet (tous les paquets qui seront désinstallé avec ce paquet)
apt depends Mon_Paquet
# lister les dépendances inverse d'un paquet (tous les paquets qui ont une dépendance vers ce paquet)
apt rdepends --installed Mon_Paquet

# recherche à quel paquet appartient un fichier
dpkg -S /path/file
apt-file search /path/file

# list the files installed by a package
dpkg -L <package_name>

APT preferences file

/etc/apt/preferences
# do not install any package which name starts with php8.0 and php8.1
Package: php8.0* php8.1*
Pin: release *
Pin-Priority: -1

Hold a package

Prevent the package from being automatically installed, upgraded or removed.

Bash.svg
# hold a package
sudo apt-mark hold <package-name>

# unhold a package
sudo apt-mark unhold <package-name>

# show all packages on hold
apt-mark showhold

Clean

Bash.svg
# get the space taken by the apt cache
sudo du -sh /var/cache/apt

# remove the outdated packages
sudo apt autoclean

# delete the entire apt cache
sudo apt clean

Dépôts

Bash.svg
# ajouter un dépôt
sudo add-apt-repository ppa:<repository-name>

# supprimer un dépôt
sudo add-apt-repository -r ppa:<repository-name>

# lister les dépôts
cat /etc/apt/sources.list
cat /etc/apt/sources.list.d/*

Clés

Bash.svg
# lister les clés
apt-key list

# télécharger et ajouter une clé
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

# supprimer une clé
sudo apt-key del 24098CB6
#pub   2048R/24098CB6 2017-01-24
#uid                  Grafana <info@grafana.com>
#sub   2048R/BD044C76 2017-01-24

Download

Bash.svg
# download a package (deb file) in the current directory
apt download <package_name>

Problème

Bash.svg
apt --fix-broken install

Log

  • /var/log/apt/history.log
  • /var/log/apt/term.log