Muffin 2/PackageKit : le gestionnaire de paquets universel

De Magazine fedora-fr
Aller à : navigation, rechercher
Par : Charles-AntoineCouret
Par : Evil-Rio
Article en cours de relecture !
InProgress tip.png
Le présent article est actuellement en cours de relecture.
Adressez-vous à la personne en charge pour toute proposition ou modification.
Relecteur / Validateur : FabienArchambault

Introduction

PackageKit est ce que l'on appelle un gestionnaire graphique des paquets, une sorte de sur-couche graphique de YUM pour Fedora. Sauf que ce dernier est né pour fonctionner sur toutes les distributions GNU/Linux qui ont un gestionnaire de paquets pour que l'utilisateur ne soit pas perturbé par les différents logiciels existants pour cette même tache. Pour être le gestionnaire universel, il supporte de nombreux gestionnaires de paquets tel que YUM ou APT et tant d'autres [1]. Ainsi PackageKit profite des possibilités de chaque gestionnaire et ce en toute transparence pour l'utilisateur et les migrations entre différentes distributions seront moins douloureuses.

PackageKit est un projet qui date de fin de l'année 2007 et est supporté par le projet Freedesktop.org. Depuis Fedora 9, en mai 2008, Fedora l'utilise par défaut pour cette tache et en devient la première distribution grand public à le faire. De ce fait, Fedora participe beaucoup à son développement et YUM reste le gestionnaire le mieux supporté. Le développement de PackageKit est très rapide, de l'ordre d'une version mineure entre 1 à 3 semaines.


Petite présentation rapide

La première remarque que l'on peut faire, c'est qu'il existe deux versions de ce logiciel : PackageKit et KPackageKit. Et comme vous vous en doutez, le premier est intégré au bureau GNOME tandis que le second l'est plutôt pour KDE. Bien que ces versions présentent à peu près les mêmes fonctionnalités, PackageKit mise son interface sur des fenêtres détachées à l'instar de The GIMP, là où KPackageKit a une interface unique pour l'ensemble des manipulations un peu comme Photoshop dans le domaine de la retouche photo. L'ensemble des deux interfaces seront détaillées.

L'autre remarque se porte sur le fait qu'il existe non seulement une interface graphique, mais également une interface pour console, dans le but d'uniformiser les commandes entre les distributions (et éviter les erreurs car on s'est trompé d'options en changeant de gestionnaire de paquet). Cette interface sera présentée en parallèle aux commandes de YUM, histoire que vous en ayez un petit aperçu.

Vous verrez également une force de PackageKit, et non des moindre, être en total coordination avec Policykit. En somme, vous pourrez accorder à votre utilisateur courant certains droits à PackageKit de manière temporaire ou définitive (par exemple mettre à jour le système, gérer les dépôts ou supprimer un logiciel, etc.). Il vous demandera au fur et à mesure la politique que vous souhaitez adopter, le but étant d'utiliser moins souvent le mot de passe root tout en gardant une sécurité optimale à votre utilisation.

Configuration de PackageKit

Comme tout logiciel de ce type et qui se respecte, PackageKit peut être configuré. Pour la version GNOME, il faut aller dans « Système > Préférence > Mise à jour de logiciels » et là une petite fenêtre arrive comme on peut le voir sur la capture d'écran.

Miseajourdelogiciels.png

Pour la version KDE, ouvrez KPackageKit et allez dans le menu « Configuration ».

Certaines instructions sont en anglais, pas de panique. Premièrement, on vous demande la fréquence où le système va vérifier la présence de nouvelles mises à jour (toutes les heures, tous les jours, semaines ou mois). Ensuite, on vous demande si vous souhaitez que le système les installe sans votre intervention automatiquement. En somme, la mise à jour se fera sans que vous vous en aperceviez à part une icône sur le tableau de bord montrant le travail en cours. Vous pouvez ne pas l'activer, ou le faire que sur les mises à jour de sécurité importante ou alors pour toutes mises à jour. Attention, car en cas de problèmes avec les dépendances, il répètera jusqu'à ce que cela fonctionne ce qui peut être agaçant...

Puis, vous voyez qu'il y a des cases à cocher pour la version de GNOME, la première vous demande si vous souhaitez que la mise à jour ne se fasse pas si la batterie est trop faible. Ainsi si vous êtes sur batterie avec votre portable, la mise à jour ne se fera pas si cette dernière est trop faible pour éviter tout problème si cela s'interrompt en cours de route. Il est vivement conseillé de l'activer pour les possesseurs de portables.

Gérer les dépôts

Contrairement à de nombreux logiciels de ce genre, PackageKit ne peut pas encore installer des dépôts. Il est nécessaire au préalable de les installer comme expliqué dans les documentations. PackageKit peut cependant activer ou désactiver un dépôt.

Pour cela, pour GNOME, la première est de lancer l'installateur de logiciel « Système > Administration > Ajouter/Enlever des logiciels » puis dans le menu « Outils système > Software sources ».

Ajouter-Enleverdeslogiciels.png

Pour KpackageKit, il faut le lancer puis d'aller dans la partie « Configuration », en bas il y a la partie correspondante.

Dans les deux interfaces, il y a une case à cocher pour voir si vous voulez accéder aux dépôts de développements ou de débogue, il est déconseillé pour le débutant de la cocher. Ensuite, il suffit de (dé)cocher le dépôt que l'on souhaite (dés)activer. Après l'avoir fait sur un dépôt, PackageKit chargera les informations et la liste des paquets du dépôts, après cela vous pourrez de nouveau effectuer l'action désirée à nouveau.

Installer/supprimer des paquets

Sous GNOME : « Système > Administration > Installateur de paquets » Sous KDE : lancez KPackageKit

Dans les deux cas, PackageKit propose de filtrer les paquets selon plusieurs critères :

  • déjà installé ou disponible;
  • paquets de développements ou pour l'utilisateur final;
  • la présence ou non d'interface graphique;
  • la licence (libre ou non);
  • afficher les derniers paquets mis à disposition.

Pour les filtres, attention car ces données se basent sur les méta-données des paquets et les filtres ne sont pas exempts d'erreur. Par exemple les paquets sous licence « GPL+ » seront considérés comme non libres alors qu'ils le sont. Il est donc nécessaire de vérifier les méta-donnés dans la partie basse du logiciel où il y a leur affichage en anglais (avec d'autres informations comme la description ou le dépôt d'où il provient).

Filter lic.jpeg

Vous pouvez aussi sélectionner des catégories de paquets

  • paquets liés aux outils d'administration;
  • paquets liés au bureau KDE, Gnome, XFCE, autres;
  • paquets liés à l'éducation;
  • paquets liés aux jeux;
  • paquets liés aux Fonts/Polices;
  • paquets liés aux applications graphiques;
  • paquets liés aux applications internet;
  • etc.

Type.jpg

Pour installer des paquets, vous pouvez aussi utiliser la barre de recherche intégrée aux deux outils. Ensuite il suffit de cocher (GNOME) ou de sélectionner l'icône + (KDE) avant de cliquer sur le bouton Appliquer pour poursuivre l'installation. Pour les supprimer, c'est le même procédé en sens inverse. À savoir décocher le paquet (GNOME) ou cliquer sur le bouton - (KDE).

Le bouton effacer sert à annuler toutes les modifications faites sur la liste des paquets en cours.

Dans la partie GNOME, à la fin de l'installation d'un logiciel, une fenêtre apparaîtra vous faisant un bilan disant où se situent les logiciels dans les menus ou de les lancer directement ! Ceci est pratique quand on veut tester un logiciel nouvellement installé et où on ignore souvent où il est.

Lancerlanouvelleapplication.png

Faire des mises à jour

PackageKit a un démon du nom de packagekitd. Il s'exécute en arrière-plan lorsque l'utilisateur en fait la demande (de manière hebdomadaire, mensuel, etc.) en mode texte ou graphique, et prend fin lors d'une période d'inactivité. Ce mode de fonctionnement lui permet de ne pas ralentir la séquence de boot ou même le démarrage d'une session utilisateur et de ne pas utiliser de mémoire inutilement.


Periode.jpg         Demon.jpg


Les mises à jour sont présentées de façon clair grâce à une séparation par type, le tout via une série d'icônes. On retrouve alors 4 sections :

   * mises à jour de sécurité;
   * corrections de bogues;
   * mise à jour classique;
   * nouvelles fonctionnalités;

Ceci permet d'avoir en un coup d'œil de voir le type de corrections apportées.


KpackageKit1.jpg


Le détail de chaque mises à jour est accessible par le système d'arborescence. On peut évidemment choisir au cas par cas quel correctifs appliquer ou non, ce qui permet de garder le contrôle de son système et de son évolution. Dans la nouvelle interface de GNOME, en cliquant sur un paquet, vous avez dans la partie basse du logiciel les « changelog », c'est un compte rendu rapide en anglais des changements qu'apportent cette mise à jour. Ainsi vous savez précisément ce qui a été amélioré. Dans l'arborescence, vous pourrez voir la taille des paquets et leurs états (en téléchargement, téléchargé, installé ou nettoyé) pour voir où en est l'avancement. L'avancement général est quant à lui spécifié en bas à gauche du logiciel.

La première colonne vous prévient avec une mention en bas du logiciel si les mises à jour nécessitent un redémarrage. Bien que cela ne soit pas très courant, certains paquets ont besoin d'un redémarrage pour que la mise à jour soit active (kernel, dbus, etc.), il est recommandé de le faire peu après la mise à jour pour en bénéficier. À la fin d'une telle mise à jour, le logiciel vous recommande de vous déconnecter de votre session puis revenir, ceci est souvent une erreur, le redémarrage étant souvent nécessaire dans ce cas.

En mode texte :

Lister la liste des paquets contenant la chaine "conky" :

pkcon search name conky

Résultat :

Available   	conky-1.7.2-1.fc12.x86_64               	A system monitor for X

Équivalent yum :

yum list conky




Lister la liste des paquets avec leur description/détails contenant la chaine "conky" :

pkcon search details conky

Résultat :

Available   	conky-1.7.2-1.fc12.x86_64               	A system monitor for X

Équivalent yum :

yum search conky




Installer un paquet :

pkcon install conky

Résultat :

Simulating install            [=========================]         
Starting                      [=========================]         
Running                       [=========================]         
Resolving dependencies        [=========================]         
Installing                    [=========================]         
Waiting for authentication    [=========================]         
Starting                      [=========================]         
Resolving dependencies        [=========================]         
Downloading packages          [=========================]         
Testing changes               [=========================]         
Installing packages           [=========================]         
Scanning applications         [=========================]

Équivalent yum :

yum install conky




Installer un paquet :

pkcon install-local nom_du_paquet

Résultat : Identique au cas précédent.


Équivalent yum :

yum localinstall conky




Mise à jour de tous les paquets du système :

pkcon update 


Résultat possible si non disponible :

The transaction failed: no-packages-to-update, Nothing to do


Équivalent yum :

yum update




Mise à jour d'un paquet ( exemple : conky) :

pkcon update conky


Résultat possible si non disponible :

Fatal error: could not do simulate: could not add package update for conky-1.7.2-1.fc12(x86_64)fedora: conky-1.7.2-1.fc12.x86_64


Équivalent yum :

yum update conky




Afficher des informations sur un paquet :

pkcon get-details conky

Résultat :

Getting details               [=========================]         
Starting                      [=========================]         
Package description
  package:     conky-1.7.2-1.fc12.x86_64
  license:     GPLv3+
  group:       other
  description: A system monitor for X originally based on the torsmo code. but more kickass.
It just keeps on given'er. Yeah.
  size:        800904 bytes
  url:         http://conky.sf.net/


Équivalent yum :

yum info conky




Afficher les dépendances liées à un paquet :

pkcon get-depends conky

Résultat :

Installed   	atk-1.28.0-1.fc12.x86_64                	Interfaces for accessibility support
Installed   	tolua++-1.0.93-1.fc12.x86_64            	A tool to integrate C/C++ code with Lua
Installed   	libxml2-2.7.6-2.fc12.x86_64             	Library providing XML and HTML support
Installed   	libmowgli-0.7.0-2.fc12.x86_64           	Library of many utility functions and classes
Installed   	audacious-libs-2.2-14.fc12.x86_64       	Library files for the Audacious media player
Installed   	libXft-2.1.13-4.fc12.x86_64             	X.Org X11 libXft runtime library
Installed   	wireless-tools-1:29-5.1.fc12.x86_64     	Wireless ethernet configuration tools
Installed   	cairo-1.8.8-3.fc12.x86_64               	A 2D graphics library
Installed   	lua-5.1.4-4.fc12.x86_64                 	Powerful light-weight programming language
Installed   	pango-1.26.2-1.fc12.x86_64              	System for layout and rendering of internationalized text
Installed   	libXext-1.1-2.fc12.x86_64               	X.Org X11 libXext runtime library
Installed   	gtk2-2.18.9-2.fc12.x86_64               	The GIMP ToolKit (GTK+), a library for creating GUIs for X
Installed   	dbus-libs-1:1.2.16-9.fc12.x86_64        	Libraries for accessing D-BUS
Installed   	dbus-glib-0.82-2.fc12.x86_64            	GLib bindings for D-Bus
Installed   	alsa-lib-1.0.22-2.fc12.x86_64           	The Advanced Linux Sound Architecture (ALSA) library
Installed   	libcurl-7.19.7-9.fc12.x86_64            	A library for getting files from web servers
Installed   	libX11-1.3-1.fc12.x86_64                	Core X11 protocol client library
Installed   	freetype-2.3.11-3.fc12.x86_64           	A free and portable font rendering engine
Installed   	libXrender-0.9.5-1.fc12.x86_64          	X.Org X11 libXrender runtime library
Installed   	libXdamage-1.1.2-1.fc12.x86_64          	X Damage extension library
Installed   	glib2-2.22.5-1.fc12.x86_64              	A library of handy utility functions
Installed   	glibc-2.11.1-1.x86_64                   	The GNU libc libraries
Installed   	mcs-libs-0.7.1-9.fc12.x86_64            	Configuration file abstraction library
Installed   	libXfixes-4.0.4-1.fc12.x86_64           	X Fixes library
Installed   	fontconfig-2.8.0-1.fc12.x86_64          	Font configuration and customization library

Équivalent yum :

yum deplist conky




Recherche avec un filtre évitant l'affichage de certains paquets, ici ceux concernant le développement :

pkcon --filter=~devel search name power

On peut bien sûr changer "devel" par un autre mot pour exclure les paquets contenant la chaîne de caractère de votre choix

[1] http://www.packagekit.org/pk-matrix.html