AccueilLinuxSystemes d'exploitation

Paquets Linux

1. Gestionnaire de paquets

1.1. Gestionnaire de paquets

  • Un gestionnaire de paquets est un (ou plusieurs) outil(s) automatisant le processus d’installation, désinstallation, mise à jour de logiciels installés sur un système informatique.
  • Un paquet est une archive comprenant les fichiers informatiques, les informations et procédures nécessaires à l’installation d’un logiciel sur un système d’exploitation, en s’assurant de la cohérence fonctionnelle du système ainsi modifié.

1.2. Utilité

  • Le gestionnaire de paquets permet d’effectuer différentes opérations sur les paquets disponibles :
  • Installation, mise à jour, et désinstallation ;
  • Utilisation des paquets provenant de supports variés (CD d’installation, dépôts sur internet, partage réseau…) ;
  • Vérification des sommes de contrôle de chaque paquet récupéré pour en vérifier l’intégrité ;
  • Vérification des dépendances logicielles afin d’obtenir une version fonctionnelle d’un paquetage

1.3. Nomenclature des systèmes de paquets

  • On trouve deux grands types de système de paquets :
  • RPM : Redhat Enterprise Linux, Fedora, Centos, …
  • DPKG: Debian, Ubuntu, Mint, Raspbian, …
  • D’autres méritent l’intérêt :
  • Portage/emerge : Gentoo
  • Pacman : Archlinux
  • opkg : OpenWRT

1.4. Utilitaire dpkg

  • Dpkg est utilisé pour installer, supprimer et fournir des informations à propos des paquets *.deb qui sont supportés par les distributions basées Debian.
  • Outil de bas niveau, dpkg -i / dpkg -r permettent d’installer ou de désinstaller des fichiers .deb. Pour ces tâches, on préfère utiliser des outils plus avancés comme aptitude ou apt-getapt-cache.

Commandes utiles dpkg

  • Pour lister tous les paquets installés :
# dpkg -l

ou

dpkg --get-selections
  • Pour vérifier qu’un paquet soit installé :
# dpkg -s wget
  • Pour lister les fichiers installés par un paquet :
# dpkg -L wget
  • Pour reconfigurer un paquet installé :
# dpkg-reconfigure locales

Le Manuel de l’administrateur debian, chapitre 5 “Système de paquetage, outils et principes fondamentaux” offre des détails et des exemples à titre d’exercice sur le sujet :

1.5. Utilitaire rpm

  • RPM est l’autre système de base. Il permet d’installer, mettre à jour, désinstaller, vérifier et rechercher des paquets.
  • Pour Installer un paquet :
# rpm -ivh fichier.rpm
  • Pour mettre à jour un paquet
# rpm -Uvh fichier.rpm
  • Pour désinstaller un paquet :
# rpm -evv fichier.rpm
  • Vérifier la signature d’un paquet :
# rpm --checksig fichier.rpm

Commande rpm -q

  • Lister tous les paquets installés :
# rpm -qa
  • Vérifier qu’un paquet est installé :
# rpm -q wget
  • Lister les fichiers d’un paquet installé :
# rpm -ql wget
  • Obtenir toutes les informations concernant un paquet installé :
# rpm -qi wget
  • Obtenir toutes les informations concernant un paquet avant le l’installer :
# rpm -qip fichier.rpm

2. Dépôt de paquets

  • Un gestionnaire de paquet avancé comme apt ou yum gère des sources de logiciels (la plupart du temps déjà compilés) et leur authenticité.
  • Le lieu où sont placés ses sources est appelé dépôt de paquet. Cette source est la plupart du temps une source locale comme un CD ou un DVD, un serveur Internet HTTP/FTP ou encore un miroir de dépôt local.
  • La définition d’un dépôt de paquets dépend outre de la source elle-même de la distribution, de l’architecture matérielle, des sources officielles ou autres.
  • Certains concepteurs de logiciels fabriquement eux-mêmes les binaires d’installation pour les distributions et hébergent leurs propres dépôts de paquets.

2.1. Principe de fonctionnement

Principe de fonctionnement d’un gestionnaire de paquet avancé :

  • Les logiciels disponibles sont contenus dans une liste qui doit être à jour afin d’assurer la cohérence de l’ensemble du système.
  • Au moment de la demande d’installation, cette liste est consultée pour prendre les fichiers nécessaires.
  • Le système de paquetage décompresse et place les différents fichiers binaires, de configuration et de documentation aux endroits appropriés. Éventuellement, un dialogue de configuration intervient.
  • Éventuellement, le système de paquetage installe automatiquement un service et le démarre.

Tâches

  • Vérification de l’existence d’un paquet
  • Version du logiciel dans le paquet
  • Fichiers de configuration
  • Source
  • Fichiers de configuration /etc
  • Désinstallation
  • Purge des fichiers
  • Suppression des dépendances orphelines

2.2. APT

  • APT simplifie l’installation, la mise à jour et la désinstallation de logiciels en automatisant la récupération de paquets à partir de sources APT (sur Internet, le réseau local, des CD-ROM, etc.), la gestion des dépendances et parfois la compilation.
  • Lorsque des paquets sont installés, mis à jour ou enlevés, les programmes de gestion de paquets peuvent afficher les dépendances des paquets, demander à l’administrateur si des paquets recommandés ou suggérés par des paquets nouvellement installés devraient aussi être installés, et résoudre les dépendances automatiquement. Les programmes de gestion de paquets peuvent aussi mettre à jour tous les paquets.
  • Il n’existe pas de commande apt en tant que telle. APT est essentiellement une bibliothèque C++ de fonctions utilisées par plusieurs programmes de gestion de paquets. Un de ces programmes est apt-get, probablement le plus connu et celui recommandé officiellement par le projet Debian. aptitude est également populaire et propose des fonctionnalités étendues par rapport à apt-get.

Sources APT

  • Les sources à partir desquelles apt va chercher les paquets sont définies dans le fichier /etc/apt/sources.list
  • Par exemple sur une machine Debian 7 Wheezy :
# cat /etc/apt/sources.list 
deb http://http.debian.net/debian wheezy main
deb http://http.debian.net/debian wheezy-updates main
deb http://security.debian.org wheezy/updates main

La section main comprend l’ensemble des paquets qui se conforment aux DFSG – Directives Debian pour le logiciel libre et qui n’ont pas besoin de programmes en dehors de ce périmètre pour fonctionner. Ce sont les seuls paquets considérés comme faisant partie de la distribution Debian.

La section contrib comprend l’ensemble des paquets qui se conforment aux DFSG, mais qui ont des dépendances en dehors de main (qui peuvent être empaquetées pour Debian dans non-free).

La section non-free contient des logiciels qui ne se conforment pas aux DFSG.

  • Par exemple sur une machine Ubuntu 16.04 Xenial :
# cat /etc/apt/sources.list 
deb http://archive.ubuntu.com/ubuntu xenial main universe
deb http://archive.ubuntu.com/ubuntu xenial-updates main universe
deb http://archive.ubuntu.com/ubuntu xenial-security main universe

Ubuntu maintient officiellement les paquets main (logiciels libres) et restricted (logiciels non-libres).

La communauté Ubuntu fournit les paquets universe (libres) et multiverse (non-libres).

  • On prendra l’habitude de mettre à jour la liste de paquetages avec :
# apt-get update

Recherche APT

  • Recherche dans les descriptions de paquets :
# apt-cache search wget
  • Voir les informations d’un paquet :
# apt-cache show wget
  • Vérifier les dépendances d’un paquet :
# apt-cache showpkg wget

Mise à jour et installation APT

  • Mettre à jour tous les paquets sans ajout de nouveaux paquets :
# apt-get update && apt-get upgrade
  • Mettre à jour tous les paquets installés vers les dernières versions en installant de nouveaux paquets si nécessaire :
# apt-get dist-upgrade
  • Installation ou mise-à-jour d’un paquet :
# apt-get install wget
  • Installation sans dialogue :
# apt-get -y install wget

Désinstallation de paquets APT

  • Retirer le paquets sans les configurations :
# apt-get remove wget
  • Retirer le paquets sans les dépendances :
# apt-get autoremove wget
  • Retirer totalement un paquet :
# apt-get purge wget
  • On peut combiner les deux :
# apt-get autoremove --purge wget
  • Retire les dépendances non nécessaires :
# apt-get autoremove
  • Suppression des fichiers mis en cache dans var/cache/apt/archives :
# apt-get clean

Utilement, on ira lire les précisions des sections 6.2(https://debian-handbook.info/browse/fr-FR/stable/sect.apt-get.html) et 6.3(https://debian-handbook.info/browse/fr-FR/stable/sect.apt-cache.html) et 6.4(https://debian-handbook.info/browse/fr-FR/stable/sect.apt-frontends.html) du Manuel de l’Administrateur Debian :

  • Réinstaller un paquet :
# apt --reinstall install postfix
  • Installation d’une version “unstable” :
# apt install spamassassin/unstable
  • apt full-upgrade C’est également la commande employée par ceux qui exploitent quotidiennement la version Unstable de Debian et suivent ses évolutions au jour le jour. Elle est si simple qu’elle parle d’elle-même : c’est bien cette fonctionnalité qui a fait la renommée d’APT.
  • aptitude est un programme interactif en mode semi-graphique, utilisable sur la console, qui permet de naviguer dans la liste des paquets installés et disponibles, de consulter l’ensemble des informations et de les marquer en vue d’une installation ou d’une suppression. Comme il s’agit cette fois d’un programme réellement conçu pour être utilisé par les administrateurs, on y trouve des comportements par défaut plus intelligents que dans apt-get, en plus d’une interface plus abordable.
Gestionnaire de paquets aptitude

Gestionnaire de paquets aptitude

  • synaptic est un gestionnaire de paquets Debian en mode graphique (il utilise GTK+/GNOME). Il dispose d’une interface graphique efficace et propre. Ses nombreux filtres prêts à l’emploi permettent de voir rapidement les nouveaux paquets disponibles, les paquets installés, ceux que l’on peut mettre à jour, les paquets obsolètes, etc. En naviguant ainsi dans les différentes listes, on indique progressivement les opérations à effectuer (installer, mettre à jour, supprimer, purger). Un simple clic suffit à valider l’ensemble de ces choix et toutes les opérations enregistrées sont alors effectuées en une seule passe.
Gestionnaire de paquets synaptic

Gestionnaire de paquets synaptic

Authentification des paquets Debian

  • Debian offre un moyen de s’assurer que le paquet installé provient bien de son mainteneur et qu’il n’a subi aucune modification par un tiers : il existe un mécanisme de scellement des paquets.*
  • Cette signature n’est pas directe : le fichier signé est un fichier Release placé sur les miroirs Debian et qui donne la liste des différents fichiers Packages (y compris sous leurs formes compressées Packages.gz et Packages.xz et les versions incrémentales), accompagnés de leurs sommes de contrôle MD5, SHA1 et SHA256 (pour vérifier que leur contenu n’a pas été altéré). Ces fichiers Packages renferment à leur tour une liste de paquets Debian et leurs sommes de contrôle, afin de garantir que leur contenu n’a pas lui non plus été altéré.*
  • La gestion des clés de confiance se fait grâce au programme apt-key, fourni par le paquet apt. Ce programme maintient à jour un trousseau de clés publiques GnuPG, qui sont utilisées pour vérifier les signatures des fichiers Release.gpg obtenus depuis les miroirs Debian.*
  • Il est possible de l’utiliser pour ajouter manuellement des clés supplémentaires (si l’on souhaite ajouter des miroirs autres que les miroirs officiels) ; mais dans le cas le plus courant, on n’a besoin que des clés officielles Debian, qui sont automatiquement maintenues à jour par le paquet debian-archive-keyring (qui installe les trousseaux de clés dans `/etc/apt/trusted.gpg.d).*“
  • Cependant, la première installation de ce paquet est également sujette à caution, car même s’il est signé comme les autres paquets, cette signature ne peut pas être vérifiée extérieurement. On s’attachera donc à vérifier les empreintes (fingerprints) des clés importées, avant de leur faire confiance pour installer de nouveaux paquets avec apt-key fingerprint.

Source : Vérification d’authenticité des paquets

Par exemple,

# apt-key fingerprint 
/etc/apt/trusted.gpg.d/debian-archive-jessie-automatic.gpg
----------------------------------------------------------
pub 4096R/2B90D010 2014-11-21 [expire : 2022-11-19]
Empreinte de la clef = 126C 0D24 BD8A 2942 CC7D F8AC 7638 D044 2B90 D010 uid Debian Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-jessie-security-automatic.gpg
-------------------------------------------------------------------
pub 4096R/C857C906 2014-11-21 [expire : 2022-11-19]
Empreinte de la clef = D211 6914 1CEC D440 F2EB 8DDA 9D6D 8F6B C857 C906 uid Debian Security Archive Automatic Signing Key (8/jessie) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-jessie-stable.gpg
-------------------------------------------------------
pub 4096R/518E17E1 2013-08-17 [expire : 2021-08-15]
Empreinte de la clef = 75DD C3C4 A499 F1A1 8CB5 F3C8 CBF8 D6FD 518E 17E1 uid Jessie Stable Release Key <debian-release@lists.debian.org> /etc/apt/trusted.gpg.d/debian-archive-squeeze-automatic.gpg
-----------------------------------------------------------
pub 4096R/473041FA 2010-08-27 [expire : 2018-03-05]
Empreinte de la clef = 9FED 2BCB DCD2 9CDF 7626 78CB AED4 B06F 4730 41FA uid Debian Archive Automatic Signing Key (6.0/squeeze) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-squeeze-stable.gpg
--------------------------------------------------------
pub 4096R/B98321F9 2010-08-07 [expire : 2017-08-05]
Empreinte de la clef = 0E4E DE2C 7F3E 1FC0 D033 800E 6448 1591 B983 21F9 uid Squeeze Stable Release Key <debian-release@lists.debian.org>
/etc/apt/trusted.gpg.d/debian-archive-wheezy-automatic.gpg
----------------------------------------------------------
pub 4096R/46925553 2012-04-27 [expire : 2020-04-25]
Empreinte de la clef = A1BD 8E9D 78F7 FE5C 3E65 D8AF 8B48 AD62 4692 5553 uid Debian Archive Automatic Signing Key (7.0/wheezy) <ftpmaster@debian.org>
/etc/apt/trusted.gpg.d/debian-archive-wheezy-stable.gpg
-------------------------------------------------------
pub 4096R/65FFB764 2012-05-08 [expire : 2019-05-07]
Empreinte de la clef = ED6D 6527 1AAC F0FF 15D1 2303 6FB2 A1C2 65FF B764 uid Wheezy Stable Release Key <debian-release@lists.debian.org>

Empêcher le démarrage d’un service après une installation

La création d’un script de sortie /usr/sbin/policy-rc.d empêchera le lancement du service après installation.

cat > /usr/sbin/policy-rc.d << EOF 
#!/bin/sh
echo "All runlevel operations denied by policy" >&2
exit 101
*EOF
chmod +x /usr/sbin/policy-rc.d

L’existence de ce script donnera ce message après une installation :

All runlevel operations denied by policy 
invoke-rc.d: policy-rc.d denied execution of start.

2.3. YUM

  • Yum, pour Yellowdog Updater Modified, est un gestionnaire de paquets pour des distributions Linux telles que Fedora et Red Hat Enterprise Linux, créé par Yellow Dog Linux.
  • Il permet de gérer l’installation et la mise à jour des logiciels installés sur une distribution. C’est une surcouche de RPM gérant les téléchargements et les dépendances, de la même manière que APT de Debian.

YUM commandes de base

  • Contrairement à APT, YUM met à jour sa liste de paquets automatiquement.
  • Chercher un paquet :
# yum search wget

* Lister des informations concernant un paquet :

# yum list wget 
# yum info wget
  • Installer un paquet :
# yum install wget
  • Installer un paquet sans dialogue:
# yum -y install wget
  • Désinstaller un paquet
# yum remove wget

YUM mise-à-jour

  • Mise-à-jour d’un paquet :
# yum update wget
  • Vérification des mise-à-jours disponibles :
# yum check-update
  • Mise-à-jours de sécurité et des binaires :
# yum update

YUM Group Packages

  • Les groupes de paquets sont des collections de paquets :
# yum groups list 
# yum groups info group
# yum groups install group
# yum groups update group
# yum groups remove group

YUM dépôts de paquets

  • Liste des dépôts de paquets :
# yum repolist 
# yum repolist all
  • Installer un dépôt supplémentaire EPEL (Extra Packages for Enterprise Linux) :
# yum install epel-release

<!– * Installer le dépôt rpmforge : Procédure pour mémoire car le projet est fini (https://github.com/repoforge/rpms/issues/375).

RPMforge is a dead project for several years now and I don’t see a purpose in keeping up appearance that it is not. It’s been dying since EPEL became the one true repository for RHEL and CentOS. (dagwieers)

# wget http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm 
# rpm -Uvh rpmforge-release-0.5.3-1.el7.rf.x86_64.rpm
# wget http://dag.wieers.com/rpm/packages/RPM-GPG-KEY.dag.txt
# rpm --import RPM-GPG-KEY.dag.txt

Le code d’installation se trouve sur : https://gist.github.com/goffinet/4332ae9486345c2bf623 →

Installer un dépôt supplémentaire

  • La configuration des dépôts est située dans le dossier /etc/yum.repos.d/ :
ls /etc/yum.repos.d/ 
CentOS-Base.repo CentOS-Debuginfo.repo
CentOS-Media.repo CentOS-Vault.repo CentOS-CR.repo
CentOS-fasttrack.repo CentOS-Sources.repo
  • Par exemple le premier dépôt configuré dans le fichier CentOS-Base.repo :
[base]
name=CentOS-$releasever - Base
mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

On notera une déclaration de section [base] en en-tête et quatre variables essentielles :

  • name qui indique le nom du dépôt.
  • mirrorlist ou baseurl qui indiquent l’emplacement du dépôt
  • gpgckeck qui demande une vérification d’intégrité et gpgkey qui fixe le fichier de vérification d’emprunte. Il n’est pas nécessaire gpckeck=0 est configuré.
  • Enfin, enabled=1activerait la prise en compte du dépôt

L’utilitaire yum-config-manager permet d’ajouter un dépôt aisément :

# yum-config-manager --add-repo=http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/ 
Modules complémentaires chargés : fastestmirror, langpacks
adding repo from: http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/

[ftp.belnet.be_ftp.centos.org_7_os_x86_64_]
name=added from: http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/ baseurl=http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/ enabled=1

Y ajouter gpgcheck=0 :

# echo "gpgcheck=0" >>
/etc/yum.repos.d/ftp.belnet.be_ftp.centos.org_7_os_x86_64_.repo

[root@wks01 user]

# cat /etc/yum.repos.d/ftp.belnet.be_ftp.centos.org_7_os_x86_64_.repo

[ftp.belnet.be_ftp.centos.org_7_os_x86_64_]

name=added from: http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/ baseurl=http://ftp.belnet.be/ftp.centos.org/7/os/x86_64/ enabled=1 gpgcheck=0

Remettre à jour la liste des paquetages :

# yum clean all 
# yum repolist

YUM gestion des paquets

  • Lister les paquets installés :
# yum list installed | less
  • Effacer le cache /var/cache/yum/ :
# yum clean all
  • Historique des transactions yum
# yum history

2.4. Autres logiciel de gestion des paquets

  • Pacman : Arch Linux.
  • Emerge : Gentoo
  • Opkg : Openwrt

3. Maintenance et mises à jour

3.1. Maintenance des mises à jour d’un système Debian

  • apticron, dans le paquet du même nom. Il s’agit simplement d’un script, appelé quotidiennement par cron, qui met à jour la liste des paquets disponibles et envoie un courrier électronique à une adresse donnée pour lister les paquets qui ne sont pas installés dans leur dernière version, ainsi qu’une description des changements qui ont eu lieu. Ce script vise principalement les utilisateurs de Debian Stable, on s’en doute.
  • On pourra donc tirer parti du script /etc/cron.daily/apt, installé par le paquet apt. Ce script est lui aussi lancé quotidiennement par cron, donc sans interface interactive. Pour contrôler son fonctionnement, on utilisera des variables de configuration d’APT (qui seront donc stockées dans un fichier sous /etc/apt/apt.conf.d/). Les plus importantes sont :
APT::Periodic::Update-Package-Lists

Cette option permet de spécifier une fréquence (en jours) de mise à jour des listes de paquets. Si l’on utilise apticron, on pourra s’en passer, puisque cela ferait double emploi.

APT::Periodic::Download-Upgradeable-Packages

Cette option spécifie également une fréquence en jours, qui porte sur le téléchargement des paquets mis à jour. Là encore, les utilisateurs d’apticron pourront s’en passer.

APT::Periodic::AutocleanInterval

Cette option couvre une fonction que n’a pas apticron : elle spécifie la fréquence à laquelle le cache d’APT pourra être automatiquement épuré des paquets obsolètes (ceux qui ne sont plus disponibles sur les miroirs ni référencés par aucune distribution). Elle permet de ne pas avoir à se soucier de la taille du cache d’APT, qui sera ainsi régulée automatiquement.

APT::Periodic::Unattended-Upgrade

Lorsque cette option est activée, le script quotidien exécutera unattended-upgrade (dans le paquet unattended-upgrades) qui, comme son nom l’indique, automatise le processus de mise à jour pour certains paquets ; par défaut, il ne s’occupe que des mises à jour de sécurité, mais cela est configurable dans le fichier /etc/apt/apt.conf.d/50unattended-upgrades). Notons que cette option peut être activée avec debconf, à l’aide de la commande dpkg-reconfigure -plow unattended-upgrades.

Source : Maintenir un système à jour

3.2. Mise à jour d’une distribution Debian depuis une ancienne version

Mise à jour depuis Debian 7 (wheezy)

Recommendations :

  • Effacer les paquets non nécessaires
  • Mettre à jour le système actuel
  • Réaliser une sauvegarde des données

Mettre à jour la distribution Debian Wheezy :

# apt-get update 
# apt-get upgrade
# apt-get dist-upgrade

Mettre à jour les sources d’installation :

# sed -i 's/wheezy/jessie/g' /etc/apt/sources.list

Mettre à jour les paquets :

# apt-get update 
# apt-get -y upgrade

Mettre à jour la distribution :

# apt-get -y dist-upgrade

Redémarrer :

# reboot

Vérifier la version :

# hostnamectl
Static hostname: wheezy1
Icon name: computer-vm
Chassis: vm
Machine ID: cab21b38a8058c4d3f6641f1587fa5b7
Boot ID: cde0bd1e7ada4c44acd12bae10adff75
Virtualization: kvm
Operating System: Debian GNU/Linux 8 (jessie)
Kernel: Linux 3.16.0-4-amd64
Architecture: x86-64

Remettre à jour :

# apt-get update 
# apt-get -y upgrade
# apt-get -y autoremove
# apt-get -y dist-upgrade

Mise à jour depuis Debian 8 (jessie)

La procédure est identique de la version Debian 8 Jessie à la version Debian 9 Stretch.

# cp /etc/apt/sources.list /etc/apt/sources.list_backup 
# sed -i 's/jessie/stretch/g' /etc/apt/sources.list
# apt-get update
# apt-get -y upgrade
# apt-get -y dist-upgrade
# reboot
# apt-get update 
# apt-get -y upgrade
# apt-get -y autoremove
# apt-get -y dist-upgrade
hostnamectl    
Static hostname: wheezy1
Icon name: computer-vm
Chassis: vm
Machine ID: cab21b38a8058c4d3f6641f1587fa5b7
Boot ID: efd16e22f98a42d0a7d3cf44dba21fc9
Virtualization: kvm
Operating System: Debian GNU/Linux 9 (stretch)
Kernel: Linux 4.8.0-2-amd64
Architecture: x86-64

Mise-à-jour de versions Ubuntu

Source : https://doc.ubuntu-fr.org/migration

Déconseillé, il s’agit de passer de révision en révision. Une sauvegarde du système

L’outil en ligne de commande do-release-upgrade permet d’effectuer une mise à niveau d’Ubuntu sans utiliser d’utilitaire graphique. Il est particulièrement pertinent pour les serveurs, qui fonctionnent sans interface graphique. L’ensemble des options de cet outil peut être lue en exécutant la commande :

do-release-upgrade --help

Voici quelques-unes des options les plus utiles :

do-release-upgrade --check-dist-upgrade-only

L’option –check-dist-upgrade-only vérifie l’existence d’une nouvelle version. Si une nouvelle version est trouvée, celle-ci est affichée en résultat dans le terminal. Exécutée ainsi, cette commande n’effectue qu’une vérification ; aucune mise à niveau n’est faite.

do-release-upgrade --sandbox

L’option –sandbox permet de tester une mise à niveau dans un environnement protégé. Ceci est particulièrement utile pour tester le déploiement d’une mise à niveau avant de procéder à son application dans l’environnement de production.

do-release-upgrade

Sans option, l’outil do-release-upgrade recherche et procède à une mise à niveau vers la prochaine version LTS ou stable disponible, si elle existe.

4. Comparatif des gestionnaires de paquets par distribution

Du point de vue de l’administrateur système, les distributions Linux peuvent se distinguer par :

  1. le gestionnaire et le sytème de paquets
  2. les scripts d’initialisation et les niveaux d’exécution
  3. le chargeur de démarrage
  4. l’emplacement des fichiers de configuration du réseau et des dépôts

On s’intéressa ici aux différences génétiques concernant la gestion des paquets.

4.1. Debian/Ubuntu c. Fedora/RHEL/SL/Centos

ActionDebian/UbuntuFedora/RHEL/SL/Centos
1. Mise à jour de la liste des paquetsapt-get updateyum updateyum check-update
2. Affichage des mises-à-jour disponiblesapt-get upgrade --simulateyum list updates
3. Installation de paquets spécifiquesapt-get install package1 package2yum install package1 package2
4. Réinstallation d’un paquetapt-get install --reinstall packageyum reinstall package
5. Mise à jour d’un paquetapt-get upgrade package1 package2yum update package
6. Mise à jour du systèmeapt-get upgradeapt-get dist-upgradeapt upgradeapt full-upgradeyum upgrade
7. Recherche de paquetsapt-cache search searchwordapt-cache search --full --names-only searchwordyum search searchword
8. Liste de paquets installésdpkg -lapt list --installedrpm -qa
9. Information sur un paquetapt-cache show packageapt show packagedpkg -s packageyum info packageyum list packageyum deplist package
10. Désinstaller des paquetsapt-get remove --purge package1 package2apt-get autoremoveyum remove package1 package2
11. Téléchargement de paquets sans installationapt-get install --download-only package1 package2yum install --downloadonly --downloaddir=<directory> <package>
12. Effacement des paquets téléchargésapt-get cleanapt-get clean (paquets dépassés)yum clean all
13. Configuration des dépôtsetc/apt/sources.list/etc/yum.repos.d/

4.2. Alpine Linux c. Arch Linux c. Gentoo

ActionAlpine LinuxArch LinuxGentoo
1. Mise à jour de la liste des paquetsapk updatepacman -Syemerge --sync
2. Affichage des mises-à-jour disponiblesapk version -vou apk version -v -l '<'pacman -Quemerge -Dupv world ou emerge --deep --update --pretend world
3. Installation de paquets spécifiquesapk add package1 package2pacman -S package1 package2emerge package1 package2
4. Réinstallation d’un paquetapk del package1 && apk add package1pacman -Sf package1 package2emerge --oneshot package1
5. Mise à jour d’un paquetapk add -u package1 package2pacman -S package1 package2emerge --update package1 package2
6. Mise à jour du systèmepacman -Syu
7. Recherche de paquetsapk search searchwordpacman -Ss searchwordpacman -Si packagenameemerge --searchdesc searchwordeix searchwordesearch searchword
8. Liste de paquets installésapk infopacman -Qspacman -Qpacman -Qemerge gentoolkit && equery list
9. Information sur un paquetapk info -a packagepacman -Si package
10. Désinstaller des paquetsapk del package1 package2pacman -R package1 package2emerge --depclean package1 package2
11. Téléchargement de paquets sans installationapk fetch package1 package2pacman -Sw package1 package2emerge --fetchonly package1 package2
12. Effacement des paquets téléchargésAutomatiqueAutomatiquerm -rf /usr/portage/distfiles/*
13. Configuration des dépôts/etc/apk/repositories/etc/opkg.confetc/portage/repos.conf/gentoo.confet bien plus

4.3. OpenWRT

ActionOpenWRT
1. Mise à jour de la liste des paquetsopkg update
2. Affichage des mises-à-jour disponiblesopkg list-upgradable
3. Installation de paquets spécifiquesopkg install <pkgs ou FQDN>
4. Réinstallation d’un paquetopkg install --force-reinstall <pkgs>
5. Mise à jour d’un paquetopkg upgrade <pkgs> (non recommandé)
6. Mise à jour du système
7. Recherche de paquetsopkg list [pkg ou globp]opkg search <file ou globp>
8. Liste de paquets installésopkg list-installed
9. Information sur un paquetopkg info [pkg ou globp]opkg status [pkg ou globp]
10. Désinstaller des paquetsopkg remove <pkgs ou globp>
11. Téléchargement de paquets sans installationopkg --download-only download <pkg>
12. Effacement des paquets téléchargésoption --force-removal-of-dependent-packages
13. Configuration des dépôts/etc/opkg.conf

5. Mettre à jour le noyau

5.1. Procédure RHEL

# yum update kernel

ou alors si le fichier rpm est disponible

# rpm -ivh kernel.rpm

Le dernier noyau installé devient le premier par défaut :

# grub2-editenv list 
saved_entry=CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)
# grep ^menuentry /boot/grub2/grub.cfg
menuentry 'CentOS Linux (3.10.0-327.13.1.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-5cc65046-7a0e-450b-99e8-f0cc34954d75' {
menuentry 'CentOS Linux (3.10.0-327.el7.x86_64) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-3.10.0-327.el7.x86_64-advanced-5cc65046-7a0e-450b-99e8-f0cc34954d75' {
menuentry 'CentOS Linux (0-rescue-d939e80ee5d6473297b10a3839c85928) 7 (Core)' --class centos --class gnu-linux --class gnu --class os --unrestricted $menuentry_id_option 'gnulinux-0-rescue-d939e80ee5d6473297b10a3839c85928-advanced-5cc65046-7a0e-450b-99e8-f0cc34954d75' {

Modifier le noyau par défaut :

# grub2-set-default 0

Générer la configuration :

# grub2-mkconfig -o /boot/grub2/grub.cfg 
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-3.10.0-327.13.1.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.13.1.el7.x86_64.img
Found linux image: /boot/vmlinuz-3.10.0-327.el7.x86_64
Found initrd image: /boot/initramfs-3.10.0-327.el7.x86_64.img
Found linux image: /boot/vmlinuz-0-rescue-d939e80ee5d6473297b10a3839c85928 Found initrd image: /boot/initramfs-0-rescue-d939e80ee5d6473297b10a3839c85928.img done

Mourad ELGORMA

Fondateur de summarynetworks, passionné des nouvelles technologies et des métiers de Réseautique , Master en réseaux et système de télécommunications. ,j’ai affaire à Pascal, Delphi, Java, MATLAB, php …Connaissance du protocole TCP / IP, des applications Ethernet, des WLAN …Planification, installation et dépannage de problèmes de réseau informatique……Installez, configurez et dépannez les périphériques Cisco IOS. Surveillez les performances du réseau et isolez les défaillances du réseau. VLANs, protocoles de routage (RIPv2, EIGRP, OSPF.)…..Manipuler des systèmes embarqués (matériel et logiciel ex: Beaglebone Black)…Linux (Ubuntu, kali, serveur Mandriva Fedora, …). Microsoft (Windows, Windows Server 2003). ……Paquet tracer, GNS3, VMware Workstation, Virtual Box, Filezilla (client / serveur), EasyPhp, serveur Wamp,Le système de gestion WORDPRESS………Installation des caméras de surveillance ( technologie hikvision DVR………..). ,

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *