Table des matières

Packages


Ubuntu

Commandes usuelles

Installation/Désinstallation

apt-get install <pkg>         Installation package.
apt-get remove <pkg>          Désinstallation package en laissant les fichiers de configuration.
apt-get purge <pkg>           Désinstallation package avec suppression des fichiers de configuration.
apt-get remove --purge <pkg>  Equivalent à apt-get purge

Mises à jour

apt list --upgradable  Liste les mises à jour disponibles.
apt-get update         Resynchronise le fichier d’index répertoriant les paquets disponibles sur la source ( /etc/apt/sources.list). 
apt-get upgrade        Maj des paquets avec les versions plus récentes des sources énumérés dans /etc/apt/sources.list.
apt-get dist-upgrade   Idem avec gestion intelligente des dépendances dans les nouvelles versions de paquets.

Mises à jour de sécurité

apt-get update         Resynchronise le fichier d’index répertoriant les paquets disponibles sur la source ( /etc/apt/sources.list). 
unattended-upgrade     Installation des mises à jour de sécurité. (option -d pour débug).

Mise à jour version majeure

Avant de lancer la mise à jour, vérifier que screen est installé sur la machine afin que le process de mise à jour soit automatiquement lancé au travers d'une session screen.
do-release-upgrade

Interrogations

apt-cache show <pkg>     Information sur un package.
dpkg --get-selections    Liste les packages installés.
apt-cache depends <pkg>  Liste les packages nécessaires à ce package.
dpkg –V <pkg>            Pour vérifier si un paquet est bien installé.
dpkg -c <pkg>            Interrogation contenu du package.
dpkg -I <pkg>            Information sur le package (nom, version, ...)

Reconfiguration

dpkg reconfigure <pkg>   Reconfiguration package déjà installé.

Nettoyage

aptitude clean           Vire les packages du repository local sous /var/cache/apt/archives et /var/cache/apt/archives/partial.
aptitude autoclean       Idem clean mais uniquement paquets inutiles.
apt-get autoremove       Supprime les paquets installés par dépendances et qui ne sont plus nécessaires.

Purge Kernel

apt-get autoremove        Commence par supprimer automatiquement ce qui n’est plus nécessaire.
dpkg -l | grep linux      Lister les kernels installés
uname -r                  Vérifier que le kernel courant est bien le dernier, sinon redémarrer.
apt-get purge <fichiers>  Purger les kernels inutiles.
Attention de ne pas supprimer un fichier du kernel courant.
Veiller à toujours laisser le kernel précédent en cas de problème.

Status

L'interrogation des packages par la commande dpkg -l fait apparaitre 2 ou 3 lettres qui indiquent l'état souhaité pour la première lettre et l'état courant pour la deuxième. Si une troisième lettre est présente, elle indique un état d'erreur.

Etat souhaité

Etat courant

Erreur

Utilisation apt-file

Installation / Initialisation

apt-get install apt-file	
apt-file update

Commandes

apt-file search <fichier>    Indique à quel package appartient un fichier.
apt-cache rdepends <pkg>     Liste les packages qui ont besoin de ce package.

Utilisation proxy

Configurer l'adresse du proxy dans le fichier /etc/apt/apt.conf

Acquire::http::Proxy "http://155.132.8.51:3128";

En cas de mot de passe pour le proxy la ligne devient :

Acquire::http::Proxy "http://utilisateur:motdepasse@example.com:port";

Puis lancer les commandes habituelles :

sudo apt-get update
sudo apt-get upgrade

Mises à jour automatiques

Installer le paquet suivant :

sudo apt-get install unattended-upgrades

Ce paquet peut être configuré pour mettre à jour tous les paquets ou uniquement les mises à jour de sécurité.

sudo dpkg-reconfigure -plow unattended-upgrades

Configuration

La configuration peut se faire par l'interface graphique ou bien dans le fichier /etc/apt/apt.conf.d/50unattended-upgrades

Unattended-Upgrade::Allowed-Origins {
        "${distro_id}:${distro_codename}";
        "${distro_id}:${distro_codename}-security";
        // Extended Security Maintenance; doesn't necessarily exist for
        // every release and this system may not have it installed, but if
        // available, the policy for updates is such that unattended-upgrades
        // should also install from here by default.
        "${distro_id}ESM:${distro_codename}";
//      "${distro_id}:${distro_codename}-updates";
//      "${distro_id}:${distro_codename}-proposed";
//      "${distro_id}:${distro_codename}-backports";
};
Le double « / » sert à commenter, donc tout ce qui suit ne sera pas pris en compte.

Liste noire

Certains paquets peuvent être mis en liste noire pour ne pas être mis à jour automatiquement. Pour mettre un paquet en liste noire, il suffit de l'ajouter à la liste :

Unattended-Upgrade::Package-Blacklist {
//      "vim";
//      "libc6";
//      "libc6-dev";
//      "libc6-i686";
};

Mise à jour automatique

Pour activer la mise à jour automatique éditer le fichier /etc/apt/apt.conf.d/20auto-upgrades.

Dans certains cas il peut être nécessaire de créer le fichier selon l'installation initiale.
APT::Periodic::Update-Package-Lists "1";
APT::Periodic::Download-Upgradeable-Packages "1";
APT::Periodic::Unattended-Upgrade "1";
APT::Periodic::AutocleanInterval "7";

Cette configuration correspond à :

Packages Ubuntu

Les packages ubuntu peuvent être trouvés à cette adresse : http://packages.ubuntu.com/

Ne pas mettre à jour un paquet

Bloquer les mises à jour d'un paquet

sudo apt-mark hold <nom du package>

Vérification des paquets bloqués

apt-mark showhold

Débloquer les mises à jour d'un paquet

sudo apt-mark unhold <nom du package>

Source

Réparation paquet cassé

Essayer une mise à jour

sudo apt update --fix-missing

Installer paquets manquants et réparer les paquets cassés

sudo apt install -f

reconfigurer les paquets endommagés ou partiellement configurés

sudo dpkg --configure -a

lister les paquets marqués comme nécessitant une réinstallation

sudo dpkg -l | grep ^..r

forcer la suppression des paquets cassés

sudo dpkg --remove --force-remove --reinstreq

nettoyage

sudo apt clean
sudo apt update

source

Dépannage

Le fichier « Release » ... n'est pas encore valable ou plus valable

Vérifier la date et l'heure de la machine.

Les signatures suivantes ne sont pas valables : KEYEXPIRED

Lors de la commande apt-get update obtention de l'erreur suivante :

Atteint :1 http://fr.archive.ubuntu.com/ubuntu xenial InRelease
Réception de :2 http://fr.archive.ubuntu.com/ubuntu xenial-updates InRelease [109 kB]
Réception de :3 http://security.ubuntu.com/ubuntu xenial-security InRelease [109 kB]
Réception de :4 http://fr.archive.ubuntu.com/ubuntu xenial-backports InRelease [107 kB]
Atteint :5 https://deb.nodesource.com/node_8.x xenial InRelease
Atteint :6 https://packages.microsoft.com/repos/vscode stable InRelease
Atteint :7 http://debian.datastax.com/community stable InRelease
Réception de :8 http://fr.archive.ubuntu.com/ubuntu xenial-updates/main amd64 Packages [1 199 kB]
Réception de :9 http://security.ubuntu.com/ubuntu xenial-security/main amd64 DEP-11 Metadata [86,8 kB]
Réception de :10 http://security.ubuntu.com/ubuntu xenial-security/universe amd64 DEP-11 Metadata [124 kB]
Réception de :11 http://security.ubuntu.com/ubuntu xenial-security/multiverse amd64 DEP-11 Metadata [2 464 B]
Err :7 http://debian.datastax.com/community stable InRelease
  Les signatures suivantes ne sont pas valables : KEYEXPIRED 1596313119  KEYEXPIRED 1596313119  KEYEXPIRED 1596313119
apt-key list | grep expire

Rechercher la clef sur le site en utilisant un navigateur et en recherchant un fichier KEYS ou repo_key dans l'arborescence. En l'occurence le fichier se trouve sous http://debian.datastax.com/debian/repo_key.

Passer la commande :

curl -L https://debian.datastax.com/debian/repo_key | sudo apt-key add -

Vérifier que la mise à jour des paquets fonctionne de nouveau correctement

sudo apt-get update

snap

installation

sudo snap install <paquet>
sudo snap install <paquet> --classic   # évite le confinement

Mises à jour des applications

sudo snap refresh

Suppression application

sudo snap remove <paquet>
sudo snap remove --purge <paquet>  # suppression d’un paquet snap et de tous les profils utilisateur associés 

Mises à jour du magasin

snap-store --quit
sudo snap refresh

Liste des logiciels

snap list        # liste des logiciels installés
snap list --all  # Afficher les paquets snap installés, actifs ou non :
snap find        # liste les logiciels disponibles

Haut de page

Debian

Upgrade version

Debian 9

Vérification paquets installés

Vérifier la présence de paquets non officiels qui pourraient gêner la mise à jour.

aptitude search '~i(!~ODebian)'
apt-forktracer | sort

Vérification de l'état des paquets

dpkg --audit
dpkg -l | pager

Modification des dépôts

Modifier la liste des dépôts dans le fichier /etc/apt/sources.list ainsi que les fichiers sous /etc/apt/sources.list.d/* pour passer à la version souhaitée. Par exemple buster au lieu de stretch.

Supprimer les paquets déjà téléchargés

apt clean
apt autoclean

Mise à jour de la liste des paquets

apt-get update

Supprimer les paquets qui ne sont plus nécessaires

apt-get autoremove

Mise à niveau minimale

apt-get upgrade

Mettre à niveau le système

apt-get full-upgrade

Redémarrage

reboot

Haut de page

Redhat / CentOS

Gestion subscription

Enregistrement

subscription-manager register

Lister les souscriptions disponibles

subscription-manager list --available

Attacher une souscription

subscription-manager attach --pool=xxxxxx  # s'attacher à un pool particulier
subscription-manager attach --auto         # s'attacher automatiquement à une souscription correspondant au système

Vérifier l'état de la souscription

subscription-manager  status

Rafraichier les données si nécessaire

subscription-manager  refresh

Supprimer un abonnement

subscription-manager  remove --pool=xxxx

Désenregistrement

subscription-manager unregister

GUI

subscription-manager-gui

Commandes usuelles rpm

Installation/Suppression

rpm –ivh <package>  : installation package
rpm –e <package>    : suppression package

Mise à jour

rpm –Uvh            : update package

Interrogations

rpm –qf <fichier>          : (query file) donne le RPM auquel le fichier appartient
rpm –qa	                   : (query all) donne la liste de tous les rpm
rpm –qpl <fichier>         : (query list) liste le contenu du rpm
rpm –qpl --dump <fichier>  : liste le contenu avec la checksum

Commandes usuelles yum

Installation/Suppression

yum install <pkg>  : installation package
yum remove <pkg>   : suppression package

Mise à jour

yum check-update  : teste si des mises à jour sont disponibles.
yum update        : mise à jour des packages.

Interrogations

yum whatprovides */libz.so.1                   : donne les packages contenant la librairie en question
yum provides toto                              : pour trouver le package à installer pour obtenir toto
yum repolist all                               : liste tous les repos
yum-config-manager [--disable|--enable] <repo> : pour activer/désactiver un repo (extras, base ou update).

recherche fichiers d'un paquet

yum install yum-utils           : A installer pour pouvoir utiliser la commande repoquery
repoquery --list <paquet>       : liste les fichiers du paquet
dnf repoquery -l <paquet>

Nettoyage

yum clean metadata  : nettoyage dans les metadata en cas de pb de mise à jour avec les dépôts
yum clean all       : nettoyage dans tout le cache.

Commandes usuelles dnf (à partir de Redhat 8)

Installation/Suppression

dnf install <paquet>      # installation
dnf remove <paquet>       # suppression
dnf autoremove <paquet>   # supprime également les dépendances non utilisées
dnf download <paquet>     # téléchargement du rpm

Mises à jour

dnf check-update                  # lister les mises à jour disponibles
dnf update                        # mettre à jour l'ensemble des paquets disponibles
dnf upgrade                       # équivalent à update -obsoletes. Force la suppression des paquets obsolètes
dnf update <paquet>               # mettre à jour un paquet spécifique
dnf update --exclude=<paquet>     # pour exclure un paquet (possibilité d'utiliser * avec un \)
dnf update --security             # mettre à jour les paquets qui ont des mises à jour de sécurité disponible
dnf downgrade <paquet>            # installe la version précédente du paquet si présente dans les dépôts

Dépôts

dnf config-manager --set-enabled <depot>   # activation d'un dépôt 
dnf config-manager --set-disabled <depot>  # désactivation d'un dépôt
dnf --enablerepo=<depot> update            # activation d'un dépôt juste pour la mise à jour
dnf --disablerepo=<depot> update           # désactivation d'un dépôt juste pour la mise à jour

Mises à jour automatiques

dnf-automatic

La commande va créer les fichiers /etc/dnf/dnf-cron.conf et /etc/dnf/dnf-cron-hourly.conf pour télécharger automatiquement les mises à jour.

Lister les paquets

dnf list                       # affiche le nom du paquet, la version et la source
dnf list <paquet>              # affiche les informations sur un paquet spécifique (possibilité d'utiliser * avec \)
dnf list installed             # affiche les paquets installés sur le système
dnf list available             # affiche les paquets disponibles pour tous les dépôts activés
dnf list updates               # affiche les paquets dont des mises à jour sont disponibles
dnf list extras                # affiche les paquets qui ne sont disponibles dans aucun dépôt
dnf list obsoletes             # affiche les paquets installés qui sont rendus obsolètes dans les dépôts
dnf list recent                # affiche les paquets récemment ajoutés aux dépôts
dnf provides <chemin_fichier>  # affiche le paquet qui contient le fichier

Recherche de paquet

dnf search <paquet>

Interrogations

dnf resolvedep                                           # Affiche les paquets qui fournissent la (les) dépendance(s) spécifiée(s)
dnf localinstall                                         # installer un ensemble de fichiers rpm locaux.  Si nécessaire les dépôts actifs seront utilisés pour résoudre les dépendances
dnf localupdate                                          # Mise à jour avec les fichiers rpm locaux spécifiés. Seuls les fichiers rpm déjà installés seront mis à jour. Si nécessaire les dépôts actifs seront utilisés pour résoudre les dépendances
dnf deplist                                              # Affiche toutes les dépendances pour les paquets spécifiés
dnf repolist                                             # Affiche tous les dépôts actifs
dnf history                                              # Affiche un historique des transactions réalisées
dnf history userinstalled                                # Liste les paquets explicitement installés (pas par dépendance)
dnf dnf repoquery --whatrequires <paquet> --repo <repo>  # Liste les paquets qui ont besoin de ce paquet dans le dépôt spécifié

Nettoyage

dnf clean packages      # supprime tous les paquets cachés du système
dnf clean headers       # supprime tous les fichiers en-têtes utilisés pour résoudre les dépendances
dnf clean metadata      # supprime tous les fichiers utilisés pour déterminer la disponibilité distante des paquets
dnf clean cache         # supprime le cache 
dnf clean dbcache       # supprime le cache
dnf clean all           # équivalent du clean packages et clean headers

Exclusion permanente

Editer le fichier /etc/dnf/dnf.conf et ajouter une ligne exclude avec les noms de paquets séparés par des espaces (ou des virgules)

exclude=kernel* firefox libreoffice*

Protéger des paquets de la suppression

Créer un fichier <fichier>.conf dans le répertoire /etc/dnf/protected.d/. Le fichier doit contenir un nom de paquet par ligne.

Utilisation d'un proxy

Editer le fichier /etc/dnf/dnf.conf

proxy=http://ip_proxy:3128

Nombre de kernel à conserver

Editer le fichier /etc/dnf/dnf.conf

installonly_limit=2    # par défaut conserve les 3 derniers noyaux

Afficher la configuration dnf

dnf config-manager --dump

Configuration dépôt

Ajouter le dépôt MariaDB 11.4

# MariaDB 11.4 RedHat 9
[mariadb]
name = MariaDB
baseurl = https://yum.mariadb.org/11.4/rhel9-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1
enabled=1
sudo dnf clean all
sudo dnf makecache
sudo dnf install mariadb-server
sudo systemctl start mariadb
sudo systemctl enable  mariadb
sudo mariadb-secure-installation

Configurer cdrom comme dépôt de package

mount –t iso9660 /dev/cdrom /mnt
rpm --import /mnt/RPM-GPG-KEY-redhat-release
[repository]
name=cdrom
baseurl=file:///mnt
yum clean all
yum repolist all

Désactiver dépôt

sudo dnf config-manager --disable rhel-9-appstream-rhui-rpms rhel-9-baseos-rhui-rpms rhui-client-config-server-9

Activer dépôt

sudo dnf config-manager --enable rhel-9-appstream-rhui-rpms rhel-9-baseos-rhui-rpms rhui-client-config-server-9

Utilisation proxy

Ajouter à la fin du fichier /etc/yum.conf

proxy=http://155.132.8.51:3128

Lancer la commande :

yum update

Mises à jour automatiques

Installation package

yum install yum-cron

Configuration

Editer le fichier /etc/yum/yum-cron.conf pour définir les options désirées

Application des mises à jour automatiquement
apply_updates = yes
Mises à jour de sécurité uniquement
update_cmd = security

Extraire les fichiers d'un rpm

rpm2cpio fichier.rpm > fichier.cpio
cpio –i –make-directories < fichier.cpio

Installation environnement graphique à postériori

Gnome

yum groupinstall "X Window System" Desktop

KDE

yum groupinstall "X Window System" "KDE Desktop"

Modification du fichier /etc/inittab pour passer en runlevel 5 au démarrage (ou startx).

Installation offline

Récupération des packages sur une machine au même niveau

yum --downloadonly --downloaddir=<repertoire> install <package>
yum install createrepo
createrepo <repertoire>

configuration repo sur machine offline

Après avoir transféré le contenu du répertoire sur la machine qui n'a pas accès à internet :

[local]
name=Local repository
baseurl=file:///chemin_vers_repertoire
enabled=1
gpgcheck=0
protect=1
yum clean all
yum repolist all

Source

Installation sans connexion internet

Réparer paquet cassé

Vérification des paquets

sudo rpm -Va

Forcer la réinstallation d'un paquet

sudo dnf --refresh reinstall <paquet>

source

Dépannage

warning RPMDB altered outside yum

En cas d’installation de package hors yum (avec rpm), il suffit de remettre à jour les données de YUM.

yum history sync

Failed to download metadata for repo

Depuis le 1er janvier 2022 le support pour CentOS 7 et 8 est terminé. Pour mettre à jour CentOS 7 ou 8 il faut faire pointer les miroirs de dépôts vers vault.centos.org où ils sont archivés. L'alternative étant de mettre à jour vers CentOS Stream.

cd /etc/yum.repos.d
sed -i 's/mirrorlist/#mirrorlist/g' /etc/yum.repos.d/CentOS-*
sed -i 's|#baseurl=http://mirror.centos.org|baseurl=http://vault.centos.org|g' /etc/yum.repos.d/CentOS-*
yum update -y

Haut de page