Apt ou comment gérer ses paquets facilement
écrit par Crystal Noir - posté par Killinjoe
Voici ma première contribution. Ce petit tuto a pour but d'aider les débutants avec APT utilisé par Mint. Il n'a pas pour vocation a être technique mais à aiguiller les personnes désireux de pouvoir utiliser cet outil rapidement, en apprenant quelques commandes simples et même très pratiques !
APT ou Synpatic ?
Effectivement il va être judicieux de faire un choix. APT fonctionne en ligne de commandes alors que Synaptic utilise une interface graphique.
Noooon ne partez pas en courant ! justement ! Contrairement à ce qu'on peut penser, utiliser APT et même parfois plus rapide que d'utiliser Synaptic. Il suffit de connaître les commandes.
Vous verrez qu'il est très simple de l'utiliser et que au bout d'un moment, vous aurez toujours une petite fenêtre terminal dans un coin ![]()
Au départ aussi j'aimais bien l'interface graphique, mais j'ai remarqué que bien souvent, le temps de faire la recherche etc... avec APT j'aurais déjà trouvé mon bonheur.
Ensuite pourquoi choisir ? Je ne suis pas expert, tout ce que je sais, c'est que Synaptic et APT n'utilisent pas une base commune. C'est à dire qu'ils gèrent l'historique de ce que vous installez/désinstallez différemment.
De ce fait pour éviter les problèmes, on choisit l'un ou l'autre. Continuez de lire cet article, vous verrez qu'il est très très simple d'utiliser APT et d'avoir toutes les informations qu'on veut.
Nous parlerons que des commandes usuelles et principales.
Petit rappel, comment cela marche ?
Que ce soit avec APT ou Synaptic il va bien falloir que ces utilitaires aillent chercher quelque part vos paquets. Pour cela ils utilisent une "base de données" qui contient les dépôts de la distribution. Dans ces dépôts figurent les adresses à interroger pour installer les paquets/logiciels que vous désirez.
Ces dépôts sont situés dans un fichier source.lst qui se trouve dans /etc/apt/
A priori sauf besoin particulier on a pas à y toucher. Comme je l'ai dit nous allons voir les commandes classiques et usuelles d'apt nous n'entrons donc pas trop dans les détails mais c'est pour que vous compreniez comment cela fonctionne.
Il est possible donc d'ajouter des dépôts à ce fichier pour permettre à apt d'aller chercher les paquets. Par ex, un logiciel sur internet vous intéresse, il n'est pas impossible que le créateur du logiciel vous propose pour une installation plus aisée, d'ajouter leur dépôts, afin d'avoir accès tout de suite aux paquets du logiciel. voilà pour exemple.
Dans la suite de ce tuto nous supposons que nous n'avons pas besoin d'ajouter des dépôts. Ce tutoriel étant pour débutant on va se concentrer sur la façon dont on utilise ensuite apt. De plus la plupart du temps, si un éditeur vous propose d'ajouter un dépôt, il vous donnera la procédure à suivre. Et puis en ce qui concerne Mint il y a déjà pas mal de choses de disponibles.
Les mises à jour
Mise à jour des dépôts
Si vous êtes amené à ajouter des dépôts, il faut mettre à jour le cache de Apt. C'est à dire lui montrer que de nouvelles sources sont disponibles. Comment ?
$ sudo apt-get update
Simple non ?
Mise à jour de la distribution
Généralement on passe par le gestionnaire de Mint, mais si vous voulez la prise en compte de l'ensemble des sources disponibles pour faire la mise à jour (et donc mettre à jour vraiment tous les paquets), on fera comme ceci :
$ sudo apt-get dist-upgrade
$ sudo apt-get upgrade
Evidemment, si il y en a beaucoup vous avez le temps d'aller prendre un café...
Installer des paquets avec APT
Pour installer un logiciel il suffit d'utiliser la commande apt-get
Ainsi si vous voulez admettons installer wine, il suffira de lancer la commande :
$ sudo apt-get install wine
Si vous ne connaissez pas le nom d'un paquet, ne vous inquiétez pas on verra en dessous comment chercher ![]()
Et le désinstaller ?
$ sudo apt-get remove wine
Vous pouvez changer remove par autoremove dans ce cas les dépendances associées à votre paquet seront aussi désinstallées (attention cependant).
Chercher des logiciels, paquets avec APT
Il existe bien des façons de rechercher des paquets avec APT. Nous allons en voir quelques unes.
Pour rechercher un paquet on utilise pas apt-get mais apt-cache.
Rechercher un paquet selon une chaîne
Cette commande permet de chercher parmi la liste de tous les paquets une chaîne de caractères, par exemple :
$ sudo apt-cache search stdc++
Cette commande demandera à apt de rechercher tout ce qui contient stdc++
Je vous dis pas le nombre de résultats...Heureusement on peut demander à apt de rechercher cette chaîne mais uniquement dans le nom des paquets. Car par défaut il cherchera dans le nom et la description.
$ sudo apt-cache search -n stdc++
Dans ce cas seul les noms des paquets seront balayés pour la recherche.
Avoir des infos !
Bon d'accord, j'ai une liste de paquets que je cherchais mais bon comment être sur que c'est bien cela ?
$ sudo apt-cache show <nomdupaquet>
Remplacez <nomdupaquet> par le paquet dont vous voulez avoir des infos. Cette commande vous donnera quelques infos utiles sur la paquet choisi.
"Bah ouais mais bon, il me semble que j'ai déjà un paquet du style, ca sent la rillette si j'installe une connerie..." Vous ne vous souvenez plus trop ? Heureusement Apt est là pour vous aider :
$ sudo apt-cache policy <nomdupaquet>
Encore une fois remplacez <nomdupaquet> par le paquet qui vous intéresse. Cette commande vous permettra de savoir la version du paquet disponible, laquelle est actuellement installée chez vous et laquelle sera installée si vous lancez une mise à jour ou une installation.
Bon, on a vu les commandes les plus usuelles mais il en reste encore une. Evidemment il y en a encore d'autres des commandes APT, mais concentrons nous ici sur l'essentiel.
Rechercher un fichier dans un paquet
Pourquoi faire ? Et bien on peut rechercher des paquets avec APT, mais imaginons que vous lanciez un programme et que celui ci vous dit qu'il vous manque le fichier par ex libtdc++.so.5 ?
Ce fichier ci, n'est pas un paquet mais une librairie. Et ce fichier est contenu dans un paquet c'est certain, mais lequel ? Vous n'allez pas installer tous les paquets que vous trouvez sinon vous n'avez pas fini. Il existe une commande qui vous permet de savoir...Cependant elle n'est pas forcément disponible par défaut. Il faut l'installer.
Mettons donc en pratique ce que nous avons appris, nous allons installer le paquet apt-file
$ sudo apt-get install apt-file
Vous n'avez pas oublié j'espère !
Bon ce n'est pas fini, c'est chouette on a un nouveau paquet tout neuf, mais apt-file a besoin de constituer une base dans laquelle chercher, et ce n'est pas automatique.
C'est facile en fait !
$ sudo apt-file update
Cela prend quelques minutes et voilà votre paquet est prêt à être utilisé. Voyons comment cela marche.
Reprenons notre exemple, je cherche le paquet qui contient libstdc++.so.5
$ sudo apt-file search libstdc++.so.5
Apt-file me retournera les paquets qui contiennent ma librairie chérie que je cherchais partout !
Il me restera plus qu'à installer le paquet proposé via la commande apt-get install
"Héééé pars pas tout de suite ! j'ai 10 000 entrées avec ta commande apt-file c'est l'horreur"
Hooo oui je vous ai pas dit c'est vrai. Il est possible apt-file affiche un peu trop d'entrée. L'astuce consiste alors à utiliser une variante de manière à demander à apt-file de chercher votre fichier en prenant ce que vous recherchez en totalité comme un seul bloc c'est à dire chercher les paquets qui contiennent libstdc++.so.5 et pas une partie seulement de cette expression.
$ sudo apt-file search libstdc++.so.5 | grep -w libstdc++.so.5
Et voilà vous avez les bases de APT. Croyez moi si vous faites l'effort de l'utiliser vous verrez que Synaptic deviendra qu'un vague souvenir ![]()
Happy Linuxing !
-------------------------------------------------------------------------------------------------------------------------------------------------------
REMARQUE n°1 (Fanch)
Attention cependant : LinuxMint est prévue pour ne pas appliquer toutes les mises à jour d'Ubuntu, dont elle partage les dépôts.
C'est pour ça que Mintupdate existe. Cette application permet de sélectionner un choix de niveaux de stabilité (entre 1 et 5) qui sera appliqué aux paquets à mettre à jour.En quelque sorte il établit un /etc/apt/preferences.
Passer directement par apt-get, ou aptitude pour réaliser un dist-upgrade, sans se soucier de ces préférences, c'est se retrouver sur une Ubuntu/mix/Mint qui risque de réserver des surprises.
Par exemple, pour la version Mint 9 (isadora) cette manipulation expose inévitablement à rencontrer le bug du fsck, toujours pas corrigé à ce jour (à ma connaissance)...
La politique de LinuxMint par exemple pour le noyau est de ne pas en changer sauf risque pour la sécurité. Ce qui n'est pas le cas d'Ubuntu.Si on fait un apt dist-upgrade, on risque de se retrouver avec quelques incompatibilités fâcheuses. TOUTES les mises à jour sont appliquées SANS AUCUNE DISTICTION.
La manipulation est bien entendu possible, mais on ne peut pas la recommander comme étant inoffensive pour le système. ![]()
-------------------------------------------------------------------------------------------------------------------------------------------------------
REMARQUE n°2 (Girotte)
Ce tuto est un super travail de Crystal Noir, mais on pourrait peut-être recommander, pour ceux qui voudraient aptitude à la place de apt-get, de ne pas utiliser "aptitude dist-upgrade" mais "aptitude safe-upgrade"?
dist-upgrade est normalement réservé à mise à jour d'une debian vers sa version suivante ou par les utilisateurs de sid(branche unsable). Cette commande enlèvera éventuellement des paquets qui auraient pu rester tranquillement.
Exemple aujourd'hui (L'option "-s" indique que c'est une simulation, je ne suis pas maso!)
A Avec apt-get dist-upgrade:
apt-get -s dist-upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture des informations d'état... Fait
Calcul de la mise à jour... Fait
Les paquets suivants ont été conservés :
mplayer
0 mis à jour, 0 nouvellement installés, 0 à enlever et 1 non mis à jour.
B Avec aptitude dist-upgrade:
aptitude -s dist-upgrade
Les paquets suivants seront mis à jour :
mplayer{b}
1 paquets mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Il est nécessaire de télécharger 6 401 ko d'archives. Après dépaquetage, 496 ko seront libérés.
Les paquets suivants ont des dépendances non satisfaites :
mplayer: Dépend: libpulse0 (>= 0.9.23) mais 0.9.21-4.1 est installé.
Les actions suivantes permettront de résoudre ces dépendances :
Supprimer les paquets suivants :
1) mplayer
Laisser les dépendances suivantes non satisfaites :
2) mplayer-skin-blue recommande mplayer
Accepter cette solution ? [Y/n/q/?]
Quand il fait le même coup sur une carte graphique au milieu d'un tas d'autres mises à jour et qu'on n'a pas fait gaffe... ![]()








