Comment gérer les paquets avec APT sur Ubuntu 18.04 LTS

APT, également connu sous le nom d’Advanced Packaging Tool, est l’outil de ligne de commande permettant de gérer les paquets dans les distributions basées sur Debian comme Ubuntu 16.04, Ubuntu 18.04, Debian 8, Debian 9 et bien plus encore. APT simplifie le processus d’installation, de suppression, de mise à niveau des paquets et est même utilisé pour mettre à niveau l’ensemble du système d’exploitation via l’interface de ligne de commande.

Dans ce tutoriel, nous allons expliquer comment gérer les paquets à l’aide de l’outil de ligne de commande APT sur le serveur Ubuntu 18.04 LTS.

Exigences

  • Un serveur exécutant Ubuntu 18.04 LTS.
  • Un accès root ou sudo sur le serveur.

Toutes les commandes ci-dessous sont exécutées en tant qu’utilisateur root. Connecte-toi en tant qu’utilisateur root sur le shell ou exécute :

sudo -s

pour devenir l’utilisateur root. Comme alternative, tu peux ajouter ‘sudo’ à toutes les commandes.

Installer et mettre à jour des paquets

Apt-get fonctionne en obtenant des informations de différentes sources et en les stockant dans une base de données locale. La commande update récupère les paquets depuis leur emplacement et les met à jour vers une version plus récente.

apt-get update -y

Après avoir exécuté la commande ci-dessus, ta base de données devrait être à jour.

La commande upgrade est utilisée pour mettre à niveau tous les paquets logiciels actuellement installés vers la version la plus récente.

apt-get upgrade -y

Tu peux aussi utiliser la commande dist-upgrade pour mettre à niveau les paquets, mais elle modifie les dépendances des paquets avec une méthode intelligente de résolution des conflits.

apt-get dist-upgrade -y

Une fois que ta base de données est mise à jour, tu peux installer n’importe quel paquet en exécutant la commande suivante :

apt-get install package1 package2

Par exemple, tu peux installer le paquet du serveur web Nginx en exécutant la commande suivante :

apt-get install nginx

Si tu veux télécharger uniquement le fichier du paquet mais pas l’installer, tu peux exécuter la commande suivante :

apt-get install -d package1

La commande ci-dessus téléchargera le fichier du paquet dans le répertoire /var/cache/apt/archives.

Pour réinstaller un paquet avec une version plus récente, exécute la commande suivante :

apt-get install package1 --reinstall

Supprimer un paquet avec Apt

Pour supprimer un paquet de ton système, exécute simplement la commande suivante :

apt-get remove package1

La commande ci-dessus ne supprimera que le paquet mais conservera le fichier de configuration.

Pour supprimer le paquet avec le fichier de configuration, exécute la commande suivante :

apt-get purge package1

Tu peux aussi supprimer tous les paquets indésirables et nettoyer la base de données avec la commande suivante :

apt-get autoremove
apt-get clean

Rechercher un paquet avec Apt-Cache

La commande apt-cache est utilisée pour rechercher des paquets de logiciels.

Pour trouver le paquet par sa description, exécute la commande suivante :

apt-cache search proftpd

Tu devrais voir le résultat suivant :

resource-agents - Cluster Resource Agents
fail2ban - ban hosts that cause multiple authentication errors
ftpd - File Transfer Protocol (FTP) server
gadmin-proftpd - GTK+ configuration tool for proftpd
gadmin-proftpd-dbg - GTK+ configuration tool for proftpd debug package
gadmintools - GTK+ server administration tools (meta-package)
proftpd-basic - Versatile, virtual-hosting FTP daemon - binaries
proftpd-dev - Versatile, virtual-hosting FTP daemon - development files
proftpd-doc - Versatile, virtual-hosting FTP daemon - documentation
proftpd-mod-autohost - ProFTPD module mod_autohost
proftpd-mod-case - ProFTPD module mod_case
proftpd-mod-clamav - ProFTPD module mod_clamav
proftpd-mod-dnsbl - ProFTPD module mod_dnsbl
proftpd-mod-fsync - ProFTPD module mod_fsync
proftpd-mod-geoip - Versatile, virtual-hosting FTP daemon - GeoIP module
proftpd-mod-ldap - Versatile, virtual-hosting FTP daemon - LDAP module
proftpd-mod-msg - ProFTPD module mod_msg
proftpd-mod-mysql - Versatile, virtual-hosting FTP daemon - MySQL module
proftpd-mod-odbc - Versatile, virtual-hosting FTP daemon - ODBC module
proftpd-mod-pgsql - Versatile, virtual-hosting FTP daemon - PostgreSQL module
proftpd-mod-sqlite - Versatile, virtual-hosting FTP daemon - SQLite3 module
proftpd-mod-tar - ProFTPD module mod_tar
proftpd-mod-vroot - ProFTPD module mod_vroot

Pour trouver tous les paquets commençant par proftpd avec la commande suivante :

apt-cache pkgnames proftpd

Tu devrais voir le résultat suivant :

apt-cache pkgnames proftpd
proftpd-mod-dnsbl
proftpd-mod-odbc
proftpd-mod-pgsql
proftpd-doc
proftpd-mod-tar
proftpd-mod-ldap
proftpd-mod-case
proftpd-mod-geoip
proftpd-mod-mysql
proftpd-basic
proftpd-mod-vroot
proftpd-mod-clamav
proftpd-mod-autohost
proftpd-mod-fsync
proftpd-mod-sqlite
proftpd-mod-msg
proftpd-dev

Tu peux vérifier les informations complètes de n’importe quel paquet (nano) avec la commande suivante :

apt-cache show nano

Sortie :

Package: nano
Priority: standard
Section: editors
Installed-Size: 600
Maintainer: Ubuntu Developers <[email protected]>
Original-Maintainer: Jordi Mallach <[email protected]>
Architecture: amd64
Version: 2.2.6-1ubuntu1
Replaces: pico
Provides: editor
Depends: libc6 (>= 2.14), libncursesw5 (>= 5.6+20070908), libtinfo5, dpkg (>= 1.15.4) | install-info
Suggests: spell
Conflicts: pico
Breaks: alpine-pico (<= 2.00+dfsg-5)
Filename: pool/main/n/nano/nano_2.2.6-1ubuntu1_amd64.deb
Size: 194060
MD5sum: c97dc062e9941bfe13b6b303cf8ed639
SHA1: ee93fcfd1f2ecd601b0a8f8932319848043f4f0f
SHA256: f20d8cca5c30b90ebf68301d126f86e473ac83e7d6fdc36f59bcd685c2eb4020
Description-en: small, friendly text editor inspired by Pico
 GNU nano is an easy-to-use text editor originally designed as a replacement
 for Pico, the ncurses-based editor from the non-free mailer package Pine
 (itself now available under the Apache License as Alpine).
 .
 However, nano also implements many features missing in pico, including:
  - feature toggles;
  - interactive search and replace (with regular expression support);
  - go to line (and column) command;
  - auto-indentation and color syntax-highlighting;
  - filename tab-completion and support for multiple buffers;
  - full internationalization support.
Description-md5: b7e1d8c3d831118724cfe8ea3996b595
Homepage: http://www.nano-editor.org/
Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Origin: Ubuntu
Supported: 5y
Task: standard, kubuntu-active, kubuntu-active

Pour vérifier les dépendances d’un paquet spécifique avec la commande suivante :

apt-cache showpkg htop

Sortie :

Package: htop
Versions: 
2.1.0-3 (/var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages) (/var/lib/dpkg/status)
 Description Language: 
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_binary-amd64_Packages
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d
 Description Language: en
                 File: /var/lib/apt/lists/archive.ubuntu.com_ubuntu_dists_bionic_main_i18n_Translation-en
                  MD5: 8eb5aa19b3c92a975dc78e2165f6688d


Reverse Depends: 
  ubuntu-server,htop
  lubuntu-qt-desktop,htop
  lubuntu-gtk-desktop,htop
  lubuntu-desktop,htop
  util-vserver,htop
  ubuntu-benchmark-tools,htop
  lubuntu-qt-desktop,htop
  lubuntu-gtk-desktop,htop
  lubuntu-desktop,htop
  hollywood,htop
  freedombox-setup,htop
Dependencies: 
2.1.0-3 - libc6 (2 2.15) libncursesw5 (2 6) libtinfo5 (2 6) lsof (0 (null)) strace (0 (null)) 
Provides: 
2.1.0-3 - 
Reverse Provides: 

Pour vérifier si un paquet est installé ou non et à quel référentiel il appartient, utilise la commande suivante :

apt-cache policy apache2

Tu devrais voir le résultat suivant :

apache2:
  Installed: 2.4.29-1ubuntu4.5
  Candidate: 2.4.29-1ubuntu4.5
  Version table:
 *** 2.4.29-1ubuntu4.5 500
        500 http://archive.ubuntu.com/ubuntu bionic-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.4.29-1ubuntu4.4 500
        500 http://security.ubuntu.com/ubuntu bionic-security/main amd64 Packages
     2.4.29-1ubuntu4 500
        500 http://archive.ubuntu.com/ubuntu bionic/main amd64 Packages

Utilisation avancée d’APT

Tu peux aussi vérifier les dépendances brisées avec la commande suivante.

apt-get check

Tu devrais voir le résultat suivant :

Reading package lists... Done
Building dependency tree       
Reading state information... Done

Pour rechercher et installer les dépendances de compilation pour un paquet (ici vsftpd), utilise la commande suivante :

apt-get build-dep vsftpd

Tu devrais voir toutes les dépendances requises par le paquet vsftpd dans le résultat suivant :

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Note, selecting 'libcap-dev' instead of 'libcap2-dev'
The following NEW packages will be installed:
  debhelper dh-apparmor dh-apport libcap-dev libpam0g-dev po-debconf
The following packages will be upgraded:
  libpam0g
1 upgraded, 6 newly installed, 0 to remove and 595 not upgraded.
1 not fully installed or removed.
Need to get 1,020 kB of archives.
After this operation, 2,238 kB of additional disk space will be used.
Do you want to continue? [Y/n] 

Pour télécharger le code source de n’importe quel paquet, décompresse et compile un paquet en exécutant la commande suivante :

apt-get --compile source htop

Tu devrais voir le résultat suivant :

Reading package lists... Done
NOTICE: 'htop' packaging is maintained in the 'Git' version control system at:
https://salsa.debian.org/debian/htop.git
Please use:
git clone https://salsa.debian.org/debian/htop.git
to retrieve the latest (possibly unreleased) updates to the package.
Need to get 314 kB of source archives.
Get:1 http://archive.ubuntu.com/ubuntu bionic/main htop 2.1.0-3 (dsc) [1,961 B]
Get:2 http://archive.ubuntu.com/ubuntu bionic/main htop 2.1.0-3 (tar) [303 kB]                                                                        
Get:3 http://archive.ubuntu.com/ubuntu bionic/main htop 2.1.0-3 (diff) [8,824 B]                                                                      
Fetched 314 kB in 35s (8,877 B/s)                                                                                                                     
dpkg-source: info: extracting htop in htop-2.1.0
dpkg-source: info: unpacking htop_2.1.0.orig.tar.gz
dpkg-source: info: unpacking htop_2.1.0-3.debian.tar.xz
dpkg-source: info: applying 601-openvz-new-ctid-vpid.patch
dpkg-source: info: applying fix-small-terminals.patch
dpkg-source: info: applying fix-ldflags.patch
dpkg-source: info: applying fix-isalnum-crash.patch
dpkg-buildpackage: info: source package htop
dpkg-buildpackage: info: source version 2.1.0-3
dpkg-buildpackage: info: source distribution unstable
dpkg-buildpackage: info: source changed by Graham Inggs <[email protected]>
dpkg-buildpackage: info: host architecture amd64

Pour vérifier la version d’APT avec la commande suivante :

apt-get -v

Sortie :

apt 1.6.1 (amd64)
Supported modules:
*Ver: Standard .deb
*Pkg:  Debian dpkg interface (Priority 30)
 Pkg:  Debian APT solver interface (Priority -1000)
 Pkg:  Debian APT planner interface (Priority -1000)
 S.L: 'deb' Debian binary tree
 S.L: 'deb-src' Debian source tree
 Idx: Debian Source Index
 Idx: Debian Package Index
 Idx: Debian Translation Index
 Idx: Debian dpkg status file
 Idx: Debian deb file
 Idx: Debian dsc file
 Idx: Debian control file
 Idx: EDSP scenario file
 Idx: EIPP scenario file

Tu peux répertorier toutes les options disponibles avec APT en exécutant la commande suivante :

apt-get -h

Sortie :

apt 1.6.1 (amd64)
Usage: apt-get [options] command
       apt-get [options] install|remove pkg1 [pkg2 ...]
       apt-get [options] source pkg1 [pkg2 ...]

apt-get is a command line interface for retrieval of packages
and information about them from authenticated sources and
for installation, upgrade and removal of packages together
with their dependencies.

Most used commands:
  update - Retrieve new lists of packages
  upgrade - Perform an upgrade
  install - Install new packages (pkg is libc6 not libc6.deb)
  remove - Remove packages
  purge - Remove packages and config files
  autoremove - Remove automatically all unused packages
  dist-upgrade - Distribution upgrade, see apt-get(8)
  dselect-upgrade - Follow dselect selections
  build-dep - Configure build-dependencies for source packages
  clean - Erase downloaded archive files
  autoclean - Erase old downloaded archive files
  check - Verify that there are no broken dependencies
  source - Download source archives
  download - Download the binary package into the current directory
  changelog - Download and display the changelog for the given package

See apt-get(8) for more information about the available commands.
Configuration options and syntax is detailed in apt.conf(5).
Information about how to configure sources can be found in sources.list(5).
Package and version choices can be expressed via apt_preferences(5).
Security details are available in apt-secure(8).
                                        This APT has Super Cow Powers.

Vous aimerez aussi...