[Plan du site]
Vous êtes ici ---
> Le Site du Zér0
> Les tutoriels
> Officiels
> Systèmes alternatifs
> Lecture du tutoriel
Installer des programmes avec apt-get
Quand vous êtes sous Windows et que vous voulez télécharger un nouveau programme, que faites-vous ?
En général une petite recherche Google, un tour sur les sites de téléchargement comme telecharger.com, clubic.com... et vous trouvez votre bonheur. Vous récupérez un programme d'installation, vous faites "Suivant", "Suivant", "Suivant", "Terminer" et c'est installé. Parfois il faut répondre à des questions un peu techniques comme "
Dans quel répertoire voulez-vous installer ce programme ?".
Sous Linux (et notamment sous Ubuntu), ça ne fonctionne pas du tout comme ça. C'est encore plus simple. Mieux : vous allez vite vous rendre compte que c'est un vrai plaisir d'installer de nouveaux programmes et que c'est même un des points forts d'un système comme Ubuntu par rapport à Windows.
Vous allez voir
Tout d'abord, il faut savoir que ce dont je vais vous parler ici concerne uniquement les distributions Linux basées sur Debian (Ubuntu en fait partie).
En effet, l'installation de programmes fonctionne différemment d'une distribution à une autre. C'est justement une des différences majeures entre les distributions.
Des programmes livrés sous forme de paquets
Sous Windows, vous connaissez ce qu'on appelle des "Programmes d'installation". En général il s'agit d'un .exe à lancer qui s'exécute et extrait les fichiers du programme dans un dossier "Program Files".
Exemple : le programme d'installation du jeu Trackmania Nations sous Windows
Sous Ubuntu, on n'a pas de programmes d'installation. On a ce qu'on appelle des
paquets.
Un paquet est une sorte de dossier zippé qui contient tous les fichiers du programme. Il se présente sous la forme d'un fichier .deb, en reférence à DEBian. Il contient toutes les instructions nécessaires pour installer le programme.
Mais alors... Un paquet .deb c'est un peu comme un programme d'installation .exe sous Windows non ?
Ca y ressemble, mais ça fonctionne en fait très différemment. Je citerai 2 différences notables :
- Il y a une gestion des dépendances du programme.
- On n'a pas besoin de faire une recherche Google pour trouver un .deb. Tous les .deb sont rassemblés au même endroit sur un même serveur appelé dépôt (repository).
Ces deux points méritent plus d'explications.
Nous allons dans un premier temps voir ce que sont les dépendances. Nous traiterons ensuite les dépôts.
Les dépendances, un cauchemar ?
Il est très rare qu'un programme puisse fonctionner seul sous Linux. Très souvent, il utilise d'autres programmes, ou d'autres "bouts de programmes" appelés
bibliothèques. On dit que les programmes dépendent d'autres programmes pour fonctionner : ils ont des
dépendances.
Par exemple, le programme de dessin The GIMP (équivalent de Photoshop) ne peut pas fonctionner seul. Il dépend de bibliothèques de lecture des images (qui lui disent comment lire une image JPEG) par exemple. Et parfois, ces dépendances ont elles-mêmes des dépendances !
Vous avez certainement déjà rencontré un peu ce problème sous Windows. Par exemple, quand vous installez un jeu, on vous dit "Il faut installer Direct X avant de pouvoir jouer à ce jeu".
Regardez par exemple la liste des dépendances pour un programme aussi "simple" que nano, l'éditeur de texte en console :
Pour installer le paquet nano (en haut à droite de l'image), il faut auparavant avoir installé tous les paquets dont il dépend en-dessous ! Et ces paquets dont il dépend ont eux-mêmes besoin d'autres paquets pour fonctionner !
Comme vous pouvez le voir, l'installation d'un programme risque vite de virer au cauchemar...

Et en plus, nano est considéré comme un programme très "simple".
Heureusement, le système de paquets Debian est intelligent. Chaque paquet indique de quels autres paquets il dépend. Cela permet au système d'aller récupérer les dépendances manquantes automatiquement si besoin est.
Du coup, vous n'avez plus qu'à dire "
Je veux installer nano", et le système ira chercher toutes les dépendances manquantes tout seul !
Comme je vous l'ai dit un peu plus haut, tous les paquets sont regroupés au sein d'un même endroit appelé dépôt. Il s'agit d'un serveur qui propose
tous les paquets qui existent (ou presque

), ce qui simplifie grandement vos recherches.
Sous Windows, les programmes sont éparpillés aux 4 coins du net.
Sous Linux, on a décidé de ne pas refaire la même erreur. On a choisi de mettre tout le monde d'accord et de placer tous les programmes (paquets) au même endroit.
La notion de dépôt
L'endroit où tous les paquets se trouvent est appelé
dépôt (
repository en anglais).
Si tout le monde va chercher ses paquets sur un même dépôt, ça ne risque pas d'engorger le pauvre serveur qui distribue les paquets ?
Bonne remarque, vous avez tout à fait raison. On peut certes mettre un gros serveur avec une grosse bande passante (qui permet à plusieurs centaines de personnes de télécharger en même temps), mais on peut difficilement imaginer que tous les Linuxiens de la planète aillent se servir au même endroit en même temps !
C'est pour cela qu'il existe en fait un grand nombre de dépôts. La plupart des dépôts proposent exactement les mêmes paquets (les dépôts sont donc une copie les uns des autres).
Certains dépôts spéciaux proposent toutefois des programmes que l'on ne trouve nulle part ailleurs. Il est cependant rare que l'on ait besoin de se servir dans ces dépôts spéciaux.
Schématiquement, je représenterais les dépôts comme ceci :
C'est donc à vous de choisir le dépôt que vous voulez utiliser. Chacun de ces dépôts est identique, peu importe celui que vous choisissez, vous devriez retrouver les mêmes paquets.
Comme vous allez probablement beaucoup télécharger depuis votre dépôt, il est conseillé de choisir un serveur qui soit proche de chez vous (chez lequel vous téléchargez suffisamment vite).
Par défaut en France, Ubuntu est configuré pour travailler avec le dépôt
fr.archive.ubuntu.com. Ce n'est pas toujours une bonne idée de garder le dépôt par défaut, car en cas de nouvelle version d'Ubuntu et de ses logiciels, celui-ci est surchargé et devient alors très lent.
Si vous êtes chez Free, je vous recommande d'utiliser le dépôt de Free.
Si vous êtes chez Wanadoo / Orange, je vous recommande d'utiliser le dépôt Oleane (appartenant à Orange).
Nous allons voir comment changer de dépôt
Gérer ses dépôts
Par défaut, quand vous installez Ubuntu, celui-ci utilise les dépôts officiels d'Ubuntu. Seulement, comme je vous l'ai dit plus tôt, ces serveurs risquent d'être souvent encombrés.
Il n'y a aucun mal à utiliser les dépôts officiels, mais il peut être bien de savoir en changer. Justement, la liste des dépôts que votre ordinateur utilise est stockée dans un fichier. Pour éditer ce fichier, il faut utiliser un éditeur de texte comme... nano, que l'on a vu au chapitre précédent justement (j'avais tout calculé qu'est-ce que vous croyez

).
C'est le moment de mettre en pratique ce que vous avez appris au chapitre précédent. Le fichier à ouvrir qui contient la liste des dépôts que vous utilisez est :
/etc/apt/sources.list
Ce fichier ne peut être modifié que par root, l'administrateur de la machine.
Pour que vous puissiez modifier ce fichier, il faut donc passer root.
Pour cela, vous avez 2 possibilités. Soit vous faites un sudo juste avant :
Code : Console | sudo nano /etc/apt/sources.list |
... et vous modifierez le fichier en tant que root.
Soit vous passez root "définitivement" en faisant
sudo su d'abord.
Le fichier que vous avez devrait ressembler à cela :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
| # See <lien url="http://help.ubuntu.com/community/UpgradeNotes">http://help.ubuntu.com/community/UpgradeNotes</lien> for how to upgrade to
# newer versions of the distribution.
deb <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy main restricted
deb-src <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy main restricted
## Major bug fix updates produced after the final release of the
## distribution.
deb <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy-updates main restricted
deb-src <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy-updates main restricted
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## universe WILL NOT receive any review or updates from the Ubuntu security
## team.
deb <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy universe
deb-src <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy universe
## N.B. software from this repository is ENTIRELY UNSUPPORTED by the Ubuntu
## team, and may not be under a free licence. Please satisfy yourself as to
## your rights to use the software. Also, please note that software in
## multiverse WILL NOT receive any review or updates from the Ubuntu
## security team.
deb <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy multiverse
deb-src <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy multiverse
## Uncomment the following two lines to add software from the 'backports'
## repository.
## N.B. software from this repository may not have been tested as
## extensively as that contained in the main release, although it includes
## newer versions of some applications which may provide useful features.
## Also, please note that software in backports WILL NOT receive any review
## or updates from the Ubuntu security team.
# deb <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy-backports main restricted universe multiverse
# deb-src <lien url="http://fr.archive.ubuntu.com/ubuntu/">http://fr.archive.ubuntu.com/ubuntu/</lien> hardy-backports main restricted universe multiverse
deb <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security main restricted
deb-src <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security main restricted
deb <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security universe
deb-src <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security universe
deb <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security multiverse
deb-src <lien url="http://security.ubuntu.com/ubuntu">http://security.ubuntu.com/ubuntu</lien> hardy-security multiverse |
Ne copiez-collez pas ce code dans votre fichier sources.list, il est différent en fonction de la version de la distribution utilisée.
Les lignes commençant par un # sont des lignes de commentaires. Elles seront ignorées.
Normalement, chaque ligne du fichier commence par une de ces 2 directives :
- deb : pour télécharger la version compilée (binaire) des programmes. C'est ce que vous voudrez faire dans la plupart des cas, car c'est la version "prête à l'emploi".
- deb-src : permet de récupérer le code source du programme. Généralement, vous n'en avez pas besoin, sauf si vous êtes curieux et que vous voulez voir la source d'un programme (c'est l'avantage du logiciel libre de pouvoir voir la source des programmes !).
A priori, seules les lignes
deb nous intéressent, on pourrait même supprimer (ou commenter) les lignes
deb-src car récupérer les sources n'a pas d'intérêt pour nous.
Voici une ligne "type" :
deb http://fr.archive.ubuntu.com/ubuntu/ hardy universe
En premier paramètre, on a l'adresse du dépôt. Ici,
http://fr.archive.ubuntu.com/ubuntu/ est le dépôt par défaut français.
Ensuite, on a le nom de la version de la distribution qu'on utilise, "hardy" dans mon cas mais votre version est peut-être plus récente

Enfin, le dernier paramètre (et tous les paramètres suivants s'il y en a) correspondent à la "section" du dépôt dans laquelle vous voulez regarder.
Ouf, c'est un peu compliqué tout ça.
En fait, la seule chose que vous devriez avoir à faire, c'est remplacer toutes les adresses (http...) par celle du nouveau dépôt que vous voulez utiliser.
Mais comment je connais l'adresse des autres dépôts qui existent ?
Bonne question... à laquelle je ne peux pas répondre

A priori tout le monde peut créer un dépôt, donc il peut très bien exister des dizaines voire des centaines de dépôts différents que vous pourriez utiliser. Je ne les connais pas tous et je ne vais pas me risquer à faire une liste ici, cependant si vous recherchez "dépôts ubuntu" sous Google vous devriez trouver des réponses.
Utiliser l'outil graphique
Le plus simple je pense est de passer par l'outil graphique fourni par Ubuntu. L'outil en question dépend de votre Ubuntu. Si vous avez :
- Ubuntu : allez dans Système ? Administration ? Sources de logiciels
- KUbuntu : allez dans Menu K ? Système ? Gestionnaire Adept ? Adept ? Gérer les dépôts
- XUbuntu : allez dans Applications ? Système ? Sources de mises à jour
Voici la fenêtre par exemple sous Xubuntu :
Notez la liste déroulante "Télécharger depuis : Server for France", qui signifie que vous utilisez les dépôts français officiels d'Ubuntu.
Cette liste vous offre le choix pour le moment entre "Main server" (le serveur américain officiel) et le serveur français. Cliquez sur "Autre...".
Cette fenêtre recense les dépôts les plus connus regroupés par pays. Certains sont fournis par des universités (u-picardie.fr), d'autres par des FAI (Free, Oleane pour Orange...).
Pour savoir lequel est le plus rapide, cliquez sur le bouton "Sélectionne le meilleur serveur (le plus proche)". Une fenêtre va s'ouvrir et tester la vitesse de tous les serveurs :
Le serveur qui sera sélectionné à la fin sera le serveur que le logiciel aura détecté comme étant le plus rapide pour vous. Cliquez sur "Choisir un serveur" pour valider.
Ensuite, le logiciel vous fera remarquer que votre cache n'est pas à jour. En effet, pour des raisons de performances, Ubuntu avait téléchargé la liste des paquets proposés par l'ancien serveur. Comme vous avez changé de serveur, il se peut que la liste des paquets change. Il faut récupérer la liste des paquets proposés par le nouveau serveur et la mettre en cache.
Cliquez sur "Actualiser" pour actualiser la liste des logiciels disponibles :
Et voilà !

L'outil graphique est plus pratique pour mettre à jour votre fichier sources.list, il faut bien le reconnaître.
Maintenant que nous avons choisi notre dépôt, nous sommes prêts à télécharger à gogo !
Résumons.
Nous avons découvert 3 nouveaux termes jusqu'ici :
- paquet : c'est un programme "prêt à l'emploi", en quelque sorte l'équivalent des programmes d'installation sous Windows.
- dépendance : un paquet peut avoir besoin de plusieurs autres paquets pour fonctionner, on dit qu'il a des dépendances.
- dépôt : c'est le serveur sur lequel on va télécharger nos paquets.
Je vous ai proposé de changer de dépôt mais sachez que ce n'est pas obligatoire, vous pouvez vous contenter du dépôt par défaut.
Sous Ubuntu, on utilise un programme qui gère les paquets pour nous. Il existe des programmes graphiques, comme Synaptic :
Ce programme est assez simple d'utilisation : vous cochez les programmes que vous voulez installer, et décochez ceux que vous voulez désinstaller. Une fois que vous avez fait votre choix, cliquez sur "Appliquer" pour télécharger tous les programmes que vous avez coché et pour désinstaller tous ceux que vous avez décoché.
Bon, Synapic c'est bien beau, mais nous nous intéressons ici aux programmes console.
Les 2 programmes console les plus connus de gestion des paquets sont :
Lequel des deux utiliser ?
Le premier est sûrement le plus célèbre, le second est généralement reconnu comme étant plus efficace lors de la désinstallation de paquets (il supprime aussi les dépendances inutilisées). Cependant, apt-get sous Ubuntu a évolué aussi et peut supprimer les dépendances inutilisées.
Après, c'est un peu une question d'habitude. Pour ma part, j'ai toujours été habitué à apt-get, c'est donc celui que j'utilise et que je vais vous montrer. Que vous utilisiez l'un ou l'autre ne fera pas beaucoup de différence.
Nous devons généralement suivre 3 étapes pour télécharger un paquet :
- apt-get update (optionnel) : pour mettre notre cache à jour si ce n'est pas déjà fait.
- apt-cache search monpaquet (optionnel) : pour rechercher le paquet que nous voulons télécharger si nous ne connaissons pas son nom exact.
- apt-get install monpaquet : pour télécharger et installer notre paquet.
Vous allez voir ça va être très simple

Nous verrons aussi comment supprimer un paquet et comment mettre tous nos paquets à jour en une seule commande !
Commençons par la mise à jour du cache des paquets (
apt-get update).
Comme nous l'avons vu précédemment, il est nécessaire de mettre à jour son cache des paquets. Cela correspond à télécharger la nouvelle liste des paquets proposés par le dépôt.
Toutefois, il n'est pas nécessaire de mettre à jour son cache à chaque fois que l'on veut télécharger un paquet.
Ah bon ? Quand est-ce que je sais si je dois mettre à jour mon cache alors ?
Il y a 2 cas où vous avez besoin de mettre à jour votre cache :
- Quand vous changez / ajoutez un dépôt à votre liste de dépôts.
- Si vous n'avez pas mis à jour votre cache depuis un moment (quelques semaines).
Pour mettre à jour votre cache, tapez dans la console (
en tant que root) :
Code : Console
Pensez à rajouter un sudo si vous n'êtes pas déjà root.
Après avoir tapé cette commande, vous allez automatiquement télécharger la dernière liste des paquets proposés par vos dépôts :
Code : Console | root@mateo21-desktop:~# apt-get update
Réception de : 1 <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy Release.gpg [191B]
Ign <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy/main Translation-fr
Atteint <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy Release
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy Release.gpg
Ign <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy/main Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/restricted Translation-fr
Atteint <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy/main Sources
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/main Translation-fr
Atteint <lien url="http://wine.budgetdedicated.com">http://wine.budgetdedicated.com</lien> hardy/main Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/universe Translation-fr
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/multiverse Translation-fr
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates Release.gpg
Réception de : 2 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/restricted Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/restricted Translation-fr
Réception de : 3 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/main Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/main Translation-fr
Réception de : 4 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security Release.gpg [191B]
Réception de : 5 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/restricted Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/restricted Translation-fr
Réception de : 6 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/main Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/main Translation-fr
Réception de : 7 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/universe Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/universe Translation-fr
Réception de : 8 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/multiverse Translation-fr
Ign <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/multiverse Translation-fr
Réception de : 9 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy Release [57,2kB]
Réception de : 10 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates Release [50,9kB]
Réception de : 11 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security Release [50,9kB]
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/restricted Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/main Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/restricted Sources
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/universe Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/universe Sources
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/multiverse Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy/multiverse Sources
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/restricted Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/main Packages
Atteint <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-updates/restricted Sources
Réception de : 12 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/restricted Packages [5990B]
Réception de : 13 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/main Packages [120kB]
Réception de : 14 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/restricted Sources [956B]
Réception de : 15 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/universe Packages [78,6kB]
Réception de : 16 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/universe Sources [11,8kB]
Réception de : 17 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/multiverse Packages [5395B]
Réception de : 18 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> hardy-security/multiverse Sources [1042B]
382ko réceptionnés en 7s (50,1ko/s)
Lecture des listes de paquets... Fait |
Voilà, ça fait un peu peur la première fois mais en général c'est assez rapide

Je vous rappelle que vous n'avez pas besoin d'exécuter cette commande à chaque fois que vous voulez installer un paquet, mais seulement de temps en temps pour être sûr d'avoir la liste la plus à jour.
A moins que vous ne connaissiez déjà le nom exact du paquet que vous voulez, il va falloir faire un petite recherche.
On utilise pour cela la commande suivante :
Code : Console | apt-cache search votrerecherche |
Cette commande effectue une recherche de paquet dans votre cache. Cela évite d'avoir à aller sur internet pour faire la recherche, ce qui aurait été lent.
Bon, que veut-on télécharger ? Un éditeur de texte ? Un navigateur ?
Allez, pour s'amuser je vous propose de rechercher un jeu, par exemple un jeu de casse-briques (breakout en anglais).
Faites la recherche suivante :
Code : Console | root@mateo21-desktop:~# apt-cache search breakout
briquolo - Fast paced 3d Breakout
briquolo-data - Fast paced 3d Breakout data files
circuslinux - The clowns are trying to pop balloons to score points!
circuslinux-data - data files for circuslinux
gnome-breakout - Clone of the classic game Breakout, written for GNOME
lbreakout2 - A ball-and-paddle game with nice graphics
lbreakout2-data - A ball-and-paddle game with nice graphics (DATA FILES)
libfreebob0 - FreeBoB API
libfreebob0-dev - FreeBoB API - development files
tecnoballz - breaking block game ported from the Amiga platform |
La commande
apt-cache search breakout a listé tous les paquets qui avaient un rapport avec les casse-briques.
A gauche vous avez le nom du paquet, et à droite une courte description.
Si vous voulez une plus ample description d'un paquet, utilisez apt-cache show nomdupaquet. Exemple :
apt-cache show lbreakout2
Pour ma part j'aime beaucoup le jeu
lbreakout2.
Je vous propose donc de le télécharger. Ca se fait très simplement (
en tant que root toujours, rajoutez un sudo devant la commande si vous n'êtes pas déjà root) :
Code : Console | apt-get install lbreakout2 |
La commande apt-get install attend que vous lui donniez le nom du paquet à installer.
Astuce : vous pouvez installer plusieurs paquets d'un coup en les listant un à un :
apt-get install paquet1 paquet2 paquet3
Essayons donc d'installer lbreakout2 :
Code : Console | root@mateo21-desktop:~# apt-get install lbreakout2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture de l'information d'état... Fait
Les paquets supplémentaires suivants seront installés :
lbreakout2-data libsdl-mixer1.2 libsmpeg0
Les NOUVEAUX paquets suivants seront installés :
lbreakout2 lbreakout2-data libsdl-mixer1.2 libsmpeg0
0 mis à jour, 4 nouvellement installés, 0 à enlever et 153 non mis à jour.
Il est nécessaire de prendre 2943ko dans les archives.
Après dépaquetage, 5358ko d'espace disque supplémentaires seront utilisés.
Souhaitez-vous continuer [O/n] ? O
Réception de : 1 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> feisty/main libsmpeg0 0.4.5+cvs20030824-1.9build1 [105kB]
Réception de : 2 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> feisty/main libsdl-mixer1.2 1.2.6-1.1build1 [145kB]
Réception de : 3 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> feisty/universe lbreakout2-data 2.5.2-2.1ubuntu1 [2444kB]
Réception de : 4 <lien url="ftp://ftp.free.fr">ftp://ftp.free.fr</lien> feisty/universe lbreakout2 2.5.2-2.1ubuntu1 [249kB]
2943ko réceptionnés en 6s (484ko/s)
Sélection du paquet libsmpeg0 précédemment désélectionné.
(Lecture de la base de données... 123350 fichiers et répertoires déjà installés.)
Dépaquetage de libsmpeg0 (à partir de .../libsmpeg0_0.4.5+cvs20030824-1.9build1_amd64.deb) ...
Sélection du paquet libsdl-mixer1.2 précédemment désélectionné.
Dépaquetage de libsdl-mixer1.2 (à partir de .../libsdl-mixer1.2_1.2.6-1.1build1_amd64.deb) ...
Sélection du paquet lbreakout2-data précédemment désélectionné.
Dépaquetage de lbreakout2-data (à partir de .../lbreakout2-data_2.5.2-2.1ubuntu1_all.deb) ...
Sélection du paquet lbreakout2 précédemment désélectionné.
Dépaquetage de lbreakout2 (à partir de .../lbreakout2_2.5.2-2.1ubuntu1_amd64.deb) ...
Paramétrage de libsmpeg0 (0.4.5+cvs20030824-1.9build1) ...
Paramétrage de libsdl-mixer1.2 (1.2.6-1.1build1) ...
Paramétrage de lbreakout2-data (2.5.2-2.1ubuntu1) ...
Paramétrage de lbreakout2 (2.5.2-2.1ubuntu1) ... |
Si vous obtenez le message d'erreur suivant :
E: Impossible d'ouvrir le fichier verrou /var/lib/dpkg/lock - open (13 Permission non accordée)
E: Unable to lock the administration directory (/var/lib/dpkg/), are you root?
... c'est que vous n'avez pas exécuté la commande en tant que root. Pensez à passer root avant d'exécuter cette commande, en utilisant sudo.
Il s'en est passé des choses dites-donc !
Comme vous pouvez le voir, au début apt-get a vérifié si le paquet existait et les dépendances dont il avait besoin. Il se trouve que lbreakout2 avait besoin de dépendances qu'on n'a pas, comme libsdlmixer-1.2 par exemple.
C'est pour cela qu'on nous a demandé confirmation au milieu :
Souhaitez-vous continuer [O/n] ?
Répondez par un "O" majuscule (comme "Oui") et tapez Entrée pour que l'installation se poursuive.
C'est alors que la magie d'apt-get opère : le programme va aller télécharger tout seul le paquet sur le dépôt, ainsi que toutes les dépendances dont il a besoin et que nous n'avons pas.
Puis, il "dépaquète" les fichiers qui étaient contenus à l'intérieur du paquet, les installe et effectue les paramétrages tout seul.
Ce qui est fort là-dedans, c'est qu'apt-get ne vous demande rien ! Il installe tout ce qu'il faut tout seul, dans les bons répertoires, et crée même le raccourci pour lancer le jeu dans la section "Jeux" !
Vérifiez par vous-mêmes. Le menu des applications d'Ubuntu comporte désormais une section Jeux (qu'il a créée si elle n'existait pas) et possède un raccourci vers le jeu que nous venons d'installer.
C'est bon, vous pouvez jouer !
Le jeu libre lbreakout2
Recommencez l'opération autant de fois que vous voulez, tous les paquets que vous devriez voir sont des logiciels libres que vous pouvez télécharger à volonté.
Ci-dessous, OpenArena, basé sur le célèbre jeu Quake III Arena dont le code source est devenu libre :
Le jeu libre openarena
Pour l'obtenir, c'est très simple :
Code : Console | apt-get install openarena |
C'est aussi simple que ça
Notez que vous devrez avoir installé les pilotes de votre carte graphique pour pouvoir y jouer.
Si vous voulez désinstaller un paquet, vous pouvez utiliser la commande apt-get remove :
Code : Console | apt-get remove lbreakout2 |
Le paquet sera alors désinstallé de votre ordinateur.
Toutefois, cela ne supprime pas les dépendances du paquet devenues inutiles. Pour demander à apt-get de supprimer
aussi les dépendances inutiles, on utilise autoremove :
Code : Console | apt-get autoremove lbreakout2 |
Faisons un autoremove, comme ça nous serons sûrs de libérer un maximum d'espace disque.
Code : Console | root@mateo21-desktop:~# apt-get autoremove lbreakout2
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture de l'information d'état... Fait
Les paquets suivants ont été automatiquement installés mais ne sont plus nécessaires :
libsdl-mixer1.2 libsmpeg0
Les paquets suivants seront ENLEVÉS :
lbreakout2 lbreakout2-data libsdl-mixer1.2 libsmpeg0
0 mis à jour, 0 nouvellement installés, 4 à enlever et 0 non mis à jour.
Il est nécessaire de prendre 0o dans les archives.
Après dépaquetage, 5358ko d'espace disque seront libérés.
Souhaitez-vous continuer [O/n] ? |
apt-get analyse le paquet, vérifie les dépendances qu'il peut supprimer sans risque (c'est-à-dire les dépendances qui ne sont plus utilisées par aucun autre paquet) et calcule la taille d'espace disque libérée (un peu plus de 5 Mo dans mon cas).
Faites "O" pour confirmer que vous voulez bien désinstaller le paquet et ses dépendances.
Vous voyez alors les paquets se faire désinstaller par apt-get :
Code : Console | Suppression de lbreakout2 ...
Suppression de lbreakout2-data ...
Suppression de libsdl-mixer1.2 ...
Suppression de libsmpeg0 ... |
C'est fini, le paquet et ses dépendances sont proprement désinstallés
Une autre fonctionnalité particulièrement géniale d'apt-get est sa capacité à mettre à jour tous les paquets installés sur votre système d'un seul coup. Le programme ira chercher les nouvelles versions de tous vos programmes et les mettra à jour s'il y a une nouvelle version de disponible :
Code : Console
Pensez à faire un apt-get update pour mettre à jour votre cache des paquets avant de lancer un upgrade.
En effet, apt-get compare la version de vos paquets installés avec ceux présents dans le cache. Si votre cache est "ancien", apt-get se dira "Oh bah, y'a rien de nouveau, pas besoin de mise à jour". Veillez donc à faire régulièrement un apt-get update pour être 100% sûr que votre cache est à jour.
On vous demandera une confirmation après avoir listé tous les paquets qui ont besoin d'une mise à jour.
Vous n'avez pas besoin de faire autre chose. Tous vos paquets installés seront mis à jour (ça peut être un peu long par contre

).
Si tous vos paquets sont déjà à jour, vous verrez le message suivant :
Code : Console | root@mateo21-desktop:~# apt-get upgrade
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances
Lecture de l'information d'état... Fait
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. |
Tous ces "0" de la dernière ligne nous indique que rien ne s'est passé car il n'y avait rien à faire.
Cela signifie que votre système est à jour.
Il est conseillé de faire un apt-get upgrade régulièrement pour avoir le système le plus à jour possible. Cela vous permet de bénéficier des dernières fonctionnalités des logiciels, mais cela corrige aussi les failles de sécurité qui auraient pu être découvertes dans les programmes (et on en trouve tous les jours, même chez les logiciels libres !).
L'installation de programmes sous Ubuntu pourrait se résumer à une seule commande console très simple :
Code : Console
Je vous rappelle que seul root a le pouvoir d'installer de nouveaux programmes sur la machine. Vous devez donc passer root auparavant à l'aide de
sudo.
Les autres gestionnaires de paquets
La commande apt-get n'existe que sous Debian et ses dérivés, dont Ubuntu fait partie.
Les autres distributions possèdent en général leur propre système de gestion des paquets. Citons :
- rpm : le système de gestion de paquets utilisé par la distribution Red Hat, qui reste très utilisé, mais qui ne gère malheureusement pas les dépendances (pour l'avoir utilisé pendant un temps, je peux vous dire que c'est galère
).
- yum : une surcouche de rpm gérant les dépendances, utilisé par la distribution Fedora.
- urpmi : une surcouche de rpm gérant les dépendances, utilisé par la distribution Mandriva.
- emerge : le gestionnaire de paquets de Gentoo, qui compile toujours à partir des sources (il ne télécharge jamais le programme binaire directement).
Parfois, il se peut que vous ayez besoin d'un programme que votre gestionnaire de paquets ne trouve pas. Si même en rajoutant des dépôts vous ne le trouvez toujours pas, il vous restera la solution ultime : recompiler le programme à partir du code source. C'est en général ce que vous devez faire pour certains programmes encore peu connus.
L'installation de programmes à partir des sources fera l'objet d'un chapitre ou d'une annexe plus tard.
Bonus track
Le mot "moo" veut dire "meuh" en anglais.
Essayez de taper la commande
apt-get moo :
Code : Console | mateo21@mateo21-desktop:~$ apt-get moo
(__)
(oo)
/------\/
/ | ||
* /\---/\
~~ ~~
...."Have you mooed today?"... |
C'est un message caché dans la commande apt-get qui... est censé représenter une vache en console.
Sûrement un des programmeurs d'apt-get qui devait s'ennuyer