Muffin 2/PackageKit : le gestionnaire de paquets universel

De Magazine fedora-fr
Révision de 6 juillet 2009 à 01:46 par CharlesAntoineCouret (discussion | contributions) (mise à jour de l'article et diverses corrections aménagements)

Aller à : navigation, rechercher


Introduction

PackageKit est ce que l'on appelle un gestionnaire graphique des paquets, une sorte de surcouche 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 (lien à mettre ici). 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és à 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 » et là une petite fenêtre arrive comme on peut le voir sur la capture d'écran. 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, il y a deux méthodes pour GNOME, la première est de lancer l'installateur de logiciel « Système > Administration > Installateur de paquets » puis dans le menu « Outils systèmes > Software source ». La deuxième consiste à lancer directement le programme via « Système > Administration > Dépôts de logiciels ». Et là une fenêtre comme celle-ci apparaît. Pour KpackageKit, il faut le lancer puis d'aller dans la aprtie « 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é)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 qui sont intégrés 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 s'est rangé au début.

(capture d'écran)

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 mise à jour sont présentés 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 bugs
   * mise à jour classique
   * nouvelles fonctionnalités

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


KpackageKit1.jpg


Le détails de chaque mises est accessible par le système d'arborescence, on peut évidemment choisir au cas par cas quelle correctifs appliqués 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 aprtie 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é lors de cette mise à jour. 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.6.1-1.fc10                              A system monitor for X
available       conky-1.7.0-1.fc10                              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.6.1-1.fc10                              A system monitor for X
available       conky-1.7.0-1.fc10                              A system monitor for X

Équivalent yum :

yum search conky




Installer un paquet :

pkcon install conky

Résultat :

downloading     mcs-libs-0.7.1-1.fc10                [===============] (25%)
downloading     libmowgli-0.5.0-2.fc9                [===============] (32%)
downloading     audacious-libs-1.5.1-5.fc10          [===============] (40%)
downloading     conky-1.7.0-1.fc10                   [===============] (50%)
installing      libmowgli-0.5.0-2.fc9                [===============] (62%)
installing      mcs-libs-0.7.1-1.fc10                [===============] (75%)
installing      audacious-libs-1.5.1-5.fc10          [===============] (87%)
installing      conky-1.7.0-1.fc10                   [===============] (100%)


Équivalent yum :

yum install conky




Installer un paquet : A PRECISER j'ai un doute

pkcon install-file nom_du_paquet

Résultat :



Équivalent yum :

yum localinstall conky




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

pkcon update 


Résultat possible si non disponible :

Erreur : 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 :

Erreur : package-already-installed : No available updates


Équivalent yum :

yum update conky




Afficher des informations sur un paquet :

pkcon get-details conky

Résultat :

Description du paquet
 package:     conky-1.7.0-1.fc10.i386
 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:        527072 bytes
 url:         http://conky.sf.net/


Équivalent yum :

yum info conky




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

pkcon get-depends

Résultat :

installed       cairo-1.8.0-1.fc10                              A vector graphics library
installed       wireless-tools-1:29-2.fc9                       Wireless ethernet configuration tools
installed       libXdamage-1.1.1-4.fc9                          X.Org X11 libXdamage runtime library
installed       libXext-1.0.4-1.fc9                             X.Org X11 libXext runtime library
installed       freetype-2.3.7-3.fc10                           A free and portable font rendering engine
installed       libX11-1.1.5-4.fc10                             X.Org X11 libX11 runtime library
installed       audacious-libs-1.5.1-5.fc10                     Library files for Audacious
installed       glibc-2.9-3                                     The GNU libc libraries
installed       mcs-libs-0.7.1-1.fc10                           Library files for the mcs configuration system
installed       glib2-2.18.4-2.fc10                             A library of handy utility functions
installed       libXft-2.1.13-1.fc10                            X.Org X11 libXft runtime library
installed       dbus-glib-0.76-3.fc10                           GLib bindings for D-Bus
installed       atk-1.24.0-1.fc10                               Interfaces for accessibility support
installed       dbus-libs-1:1.2.4-2.fc10                        Libraries for accessing D-BUS
installed       libcurl-7.19.4-5.fc10                           A library for getting files from web servers
installed       libXfixes-4.0.3-4.fc10                          X.Org X11 libXfixes runtime library
installed       libmowgli-0.5.0-2.fc9                           An algorithm framework
installed       libXrender-0.9.4-3.fc9                          X.Org X11 libXrender runtime library
installed       fontconfig-2.6.0-3.fc10                         Font configuration and customization library
installed       gtk2-2.14.7-7.fc10                              The GIMP ToolKit (GTK+), a library for creating GUIs for X
installed       libxml2-2.7.3-1.fc10                            Library providing XML and HTML support
installed       pango-1.22.3-1.fc10                             System for layout and rendering of internationalized text

É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 biensûr changer "devel" par un autre mot pour exclure les paquets contenant la chaine caractère de votre choix