Catégorie : Comprendre     Tags : , , , , ,      0 Commentaire

    Retrouvez cet article dans : Linux Pratique 37

    Lancez votre gestionnaire de paquets. Clic clic clic, hop, clic clic, et voilà, c'est fait. Mais qu'avez-vous fait au juste ? Sur la plupart des distributions, si ce n'est toutes, lorsque vous disposez d'un gestionnaire de paquets, ce n'est en réalité qu'un "frontend", soit une interface graphique intermédiaire entre l'utilisateur et des commandes en lignes que vous pouvez très bien lancer à la place de la lourde interface de gestion des paquets. Voyons ce qui se passe derrière tout cela...

    Introduction

    Eh oui, avec un terminal, vous pouvez effectuer les mêmes opérations qu'avec votre gestionnaire de paquets Synaptic, Aptitude, Rpmdrake...
    Nous partirons d'une distribution Ubuntu. Les commandes sont a priori les mêmes pour toutes les distributions basées sur Debian, y compris Debian elle-même. Vous trouverez dans des tableaux de correspondance les commandes équivalentes à utiliser sur les systèmes Mandrivalinux.
    Petit rappel : Les modifications du système comme l'installation ou la suppression de paquets nécessitent les permissions de root. Aussi, sur Ubuntu, vous penserez à faire précéder les commandes par sudo, ce qui donne par exemple sudo apt-get install gnome-games. Sur la plupart des autres distributions (dont Debian et Mandriva), changez d'utilisateur, par exemple en exécutant su – qui vous demandera le mot de passe root. Cependant, toutes les opérations suivantes ne nécessitent pas les droits d'administrateur.

    La liste des paquets

    Vous avez lancé votre gestionnaire de paquets, qui vous affiche fièrement la liste de tous les paquets, ceux que vous pouvez installer et ceux qui le sont déjà. Cela commence mal, car la commande correspondante ne présente pas d'intérêt. En effet, pour installer quelque chose, soit vous connaissez le nom du paquet correspondant et n'avez pas besoin de cette liste, soit vous utilisez des commandes de recherche que nous verrons plus loin. Nous donnons néanmoins la commande : apt-cache pkgnames ou mieux, classé par ordre alphabétique, apt-cache pkgnames | sort.
    Il est néanmoins une liste qui peut se révéler utile : celle des paquets installés. Vous l'obtenez avec dpkg -l sous forme d'une liste à colonnes (ce qui peut tronquer les noms des paquets) incluant une description ou avec dpkg-query -W pour seulement les noms des paquets et leur numéro de version, non tronqué. Si vous avez installé le paquet apt-show-versions, vous pouvez aussi utiliser la commande apt-show-versions.

    Remarque : Lorsque vous supprimez un paquet sur Ubuntu, vous pouvez laisser les fichiers de configuration en place pour une réinstallation ultérieure éventuelle. La commande dpkg -l indique également ces paquets. Vous les distinguez des autres par le début de ligne en "rc".

    Les adeptes de la commande en ligne connaissent les secrets du pipe. En effet, vous pouvez filtrer cette liste en fonction de ce qui vous intéresse, de cette façon : dpkg -l | grep -i gnome se limitera aux lignes contenant le mot "gnome" (peu importe les majuscules lorsque vous indiquez -i).

    Installer un paquet

    Pour installer un paquet, cliquez dessus pour le sélectionner (clic droit dans Synaptic) (Fig. 1). Puis cliquez sur le bouton Appliquer. En commande en ligne, exécutez apt-get install <nom du paquet>. Ainsi, pour installer planetpenguin-racer (un jeu sympa pour ceux qui n'ont pas froid aux yeux !), exécutez apt-get install planetpenguin-racer.

    /img-articles/lp/37/art-14/t1.jpg

    /img-articles/lp/37/art-14/t2.jpg

    Remarque : Le paquet planetpenguin-racer peut porter un nom différent suivant les distributions. Sur Mandriva, il s'agit de ppracer.
    Pour supprimer un paquet (Fig. 2), c'est tout aussi simple, avec apt-get remove <nom du paquet>. Vous pouvez ajouter l'option --purge. Dans ce cas, les fichiers de configuration du paquet seront également supprimés. Ceci est d'ailleurs le comportement qu'adoptent les distributions à base de paquets rpm comme Mandriva. Cependant, un fichier de configuration ne prend généralement pas beaucoup de place sur un disque, et vous aurez mieux fait de garder ce fichier pour une éventuelle réinstallation du paquet.
    Sur les distributions modernes, ces deux commandes tiennent compte des dépendances, à savoir les paquets impactés par celui que vous installez ou supprimez. C'est pour cela qu'il peut arriver que l'on vous demande confirmation pour installer d'autres paquets nécessaires à celui que vous installez.

    Mise à jour de la liste des paquets

    Cette opération s'effectue à l'aide du bouton Vérifier d'Ubuntu. En commande en ligne, exécutez apt-get update (à ne pas confondre avec apt-get upgrade dont nous parlons plus loin). Le système va ainsi vérifier si des paquets plus récents que ceux qu'il connaît sont disponibles sur les sites indiqués dans la liste des dépôts. Si tel était le cas, cette commande ne vous le signalerait pas pour autant. Pour cela, vous devez lancer apt-get upgrade qui installe les nouveaux paquets, ou apt-get -s upgrade pour seulement avoir la liste des nouveaux paquets (vous avez probablement reconnu dans l'option -s le S de simulation).

    Remarque : L'opération d'installation des nouveaux paquets est une opération de mise à jour. Vous n'installez que les paquets déjà existants sur votre système, mais dont la version est inférieure à celle qui est disponible.

    Lorsqu'une nouvelle version de votre distribution apparaît, Ubuntu vous le signale par un bouton qui apparaît dans le gestionnaire de mises à jour. Avec une nouvelle version deux fois par an pour Ubuntu, cela n'arrive pas très souvent. Cliquez sur ce bouton, et quelques dizaines de minutes (comptez plutôt en heures) après, votre système est mis à jour.
    La commande équivalente est apt-get dist-upgrade qui n'effectue pas seulement la même chose que apt-get upgrade, mais dispose d'une gestion des conflits avancée, pratique pour la mise à jour de la distribution. Mandriva ne dispose pas d'une telle commande en ligne. urpmi --auto-select effectue la même chose que apt-get upgrade, mais il est préférable d'effectuer la mise à jour paquet par paquet, ou mieux, d'insérer le CD de la nouvelle version dans le lecteur, relancer le système, et se laisser guider.

     

    /img-articles/lp/37/art-14/t3.jpg

    /img-articles/lp/37/art-14/fig-1.jpg/img-articles/lp/37/art-14/fig-2.jpg

     

    Fig. 1 : Ubuntu – installer un paquet
    Fig. 2 : Ubuntu – enlever un paquet

    La liste des dépôts

    Les dépôts sont des emplacements sur internet où se trouvent des paquets disponibles pour votre distribution, et exploitables par vos outils de gestion des paquets. Il ne s'agit pas d'un simple répertoire sur un site FTP quelconque.
    La liste des dépôts est accessible via le gestionnaire de canaux logiciels sur Ubuntu (menu Système -> Administration) (Fig. 3), ou dans le fichier /etc/apt/sources.list sur les distributions basées sur Debian (dont Ubuntu). Vous pouvez l'éditer avec votre éditeur de texte favori. Nous verrons plus loin ce que vous pouvez y ajouter.

    /img-articles/lp/37/art-14/fig-3.jpg

    Fig. 3 : Ubuntu – gestionnaire des canaux logiciel

    Sur Mandriva, cette liste est également accessible dans un fichier, /etc/urpmi/urpmi.cfg, mais vous ne devez pas l'éditer avec un éditeur de texte, malgré la syntaxe simple et apparente de ce fichier. Vous devez utiliser les commandes urpmi.addmedia et urpmi.removemedia.
    Sur Ubuntu, les dépôts sont généralement ceux de la distribution, les mises à jour importantes, celles de sécurité, le dépôt universe contenant de nombreuses contributions et éventuellement les backports qui sont des paquets pour la version d'Ubuntu à venir, mais qui ont été adaptés à la dernière version stable. Il apparaît également un nouveau dépôt issu du repaire du PLF (Penguin Liberation Front) bien connu des utilisateurs de Mandriva. Voici à quoi peut ressembler un fichier /etc/apt/sources.list sur Ubuntu :

    /img-articles/lp/37/art-14/fig-4-5.jpg

     

    Fig. 4 : http://easyurpmi.zarb.org en 3 étapes : 1/3
    Fig. 5 : http://easyurpmi.zarb.org en 3 étapes : 2/3
    # La distribution
    deb http://archive.ubuntu.com/ubuntu dapper main restricted
    deb-src http://archive.ubuntu.com/ubuntu dapper main restricted
    # Les mises à jour importantes
    deb http://archive.ubuntu.com/ubuntu dapper-updates main restricted
    deb-src http://archive.ubuntu.com/ubuntu dapper-updates main restricted
    # Les mises à jour de sécurité
    deb http://security.ubuntu.com/ubuntu dapper-security main restricted
    deb-src http://security.ubuntu.com/ubuntu dapper-security main restricted
    # Les contributions du dépôt "universe"
    deb http://archive.ubuntu.com/ubuntu dapper universe main restricted multiverse
    deb-src http://archive.ubuntu.com/ubuntu dapper universe
    # Les "backports"
    deb http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
    deb-src http://archive.ubuntu.com/ubuntu dapper-backports main restricted universe multiverse
    # Les mises à jour de sécurité du dépôt "universe"
    deb http://security.ubuntu.com/ubuntu dapper-security universe
    deb-src http://security.ubuntu.com/ubuntu dapper-security universe
    # Un miroir du dépôt du PLF
    deb http://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/ubuntu/plf/ dapper free non-free
    deb-src http://distrib-coffee.ipsl.jussieu.fr/pub/linux/plf/ubuntu/plf/ dapper free non-free

    Sur Mandriva, les dépôts les plus connus sont main qui contient la distribution de base, contrib pour les paquets des contributeurs et PLF pour les paquets posant des problèmes de licence ou autres à Mandriva. Plutôt que de vous indiquer les lignes de commande à exécuter pour indiquer ces dépôts à votre système, nous nous proposons de vous envoyer sur le site du PLF http://plf.zarb.org. Vous y trouverez en effet un outil en ligne (http://easyurpmi.zarb.org/) qui vous indiquera ces commandes, en fonction du site miroir le plus proche de chez vous et d'autres paramètres encore (Fig 4 à 6).

    Propriétés d'un paquet

    Dans votre gestionnaire de paquets, sélectionnez-en un afin de lire son descriptif. Affichez les propriétés et vous pourrez prendre connaissance du numéro de version, de la personne qui a créé le paquet, éventuellement du site web correspondant au logiciel, etc. (Fig. 7)
    En commande en ligne, nous devons distinguer deux cas, si le paquet est installé et s'il ne l'est pas. S'il ne l'est pas, vous devez interroger la base d'information sur les paquets avec apt-cache show <nom_paquet>. Vous aurez les informations sur le paquet, mais autant de fois qu'il existe de versions différentes de ce paquet.
    Si votre paquet est installé, cette commande fonctionne également, mais vous pouvez limiter l'affichage au seul paquet installé, avec dpkg --print-avail <nom_paquet>. Exemples :

    apt-cache show firefox
    dpkg --print-avail firefox

    Si vous souhaitez également connaître la liste des fichiers contenus dans un paquet, vous ne le pouvez que pour un paquet installé, et ce, avec dpkg -L <nom_paquet>.

    /img-articles/lp/37/art-14/t4.jpg

    Rechercher un paquet

    Parfois, vous souhaitez installer un logiciel dont vous ne connaissez pas le nom ou ne vous en souvenez plus. Dans ce cas, vous pouvez effectuer une recherche.
    Sur Ubuntu, vous pouvez chercher dans le nom du paquet ainsi que dans son descriptif avec apt-cache search <expression régulière>. Ainsi, pour chercher "game" dans les noms et descriptions des paquets, lancez la commande suivante :

    $ apt-cache search game.

    Remarque : Une expression régulière est une chaîne de caractère qui indique un motif. Lorsque vous testez des chaînes de caractères avec ce motif, elles sont valides lorsqu'elles correspondent au motif. Dans les expressions régulières simples, le caractère "." signifie n'importe quel caractère et l'étoile "*" indique que le caractère suivant peut se trouver répété, entre zéro fois et autant que possible.

    Vous pouvez également chercher le paquet qui contient tel ou tel fichier. Pour cela, lancez dpkg -S <nom du fichier> et au bout d'un moment, les paquets contenant ce fichier devraient être affichés.
    Sur Ubuntu, cette recherche se limite aux paquets installés. Sur Mandriva, urpmf <nom du fichier> effectue la recherche dans les paquets non installés également.

    Conclusion

    Maintenant que vous connaissez l'essentiel de la gestion des paquets en ligne de commande, vous ne lancerez plus forcément l'outil graphique pour mettre à jour votre distribution ou installer un paquet. Vu la lenteur du gestionnaire de paquets pour se lancer, il est plus rapide, dans un terminal, de lancer

    $ sudo apt-get update
    $ sudo apt-get upgrade

    ou

    $ su -
    # urpmi.update
    # urpmq -dvr --auto-select (facultatif, pour voir les mises à jour)
    # urpmi --auto-select

    que de passer par des clics.
    Alors, à vos terminaux !

    /img-articles/lp/37/art-14/t5.jpg

    Posté par Yves Mettier (Yves Mettier) | Signature : Yves Mettier | Article paru dans

    Laissez une réponse

    Vous devez avoir ouvert une session pour écrire un commentaire.