Aller au menu - Aller au contenu

[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

Avatar
Auteur : M@teo21
Créé : le 25/03/2008 20:51:58
Modifié : le 06/04/2008 19:57:20
Noter et commenter ce tutoriel
Imprimer ce tutoriel
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 :)
Sommaire du chapitre :
Chapitre précédent Sommaire Chapitre suivant

Les paquets et leurs dépendances

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".

Installation de programme sous Windows
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 :


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... :o
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 !


Les dépôts

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 :p ), 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.

Cela est rendu possible en partie grâce au fait que les programmes sous Linux sont pour la plupart libres. En effet, le programme étant "libre", tout le monde est autorisé à le diffuser. Ca ne pose donc aucun problème de les voir tous rassemblés au même endroit.
Sous Windows, la majorité des programmes étant propriétaires, leurs auteurs n'auraient jamais donné leur accord pour que ceux-ci soient diffusés au même endroit (gratuitement qui plus est :p ).



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.

En règle générale avoir un seul "bon" dépôt suffit à installer la plupart des programmes qui existent sous Linux ! :D


Schématiquement, je représenterais les dépôts comme ceci :

Les dépôts


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 : Autre
1
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 :


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



Voici la fenêtre par exemple sous Xubuntu :

Gestionnaire de mises à jour


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...".

Liste des serveurs


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...).

Liste des tous les serveurs



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 :

Test de vitesse des 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 :

Rechargement du cache des paquets


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 ! :D

Les outils de gestion des paquets

Résumons.
Nous avons découvert 3 nouveaux termes jusqu'ici :


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 :

Gestionnaire de paquets 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 :

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 !

apt-get update : mettre à jour le cache des paquets

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 :


Pour mettre à jour votre cache, tapez dans la console (en tant que root) :

Code : Console
apt-get update


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.

apt-cache search : rechercher un paquet

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

apt-get install : installer un paquet

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 ! o_O

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.

Installation lbreakout2


C'est bon, vous pouvez jouer ! :D

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

OpenArena Quake III Arena
Le jeu libre openarena


Pour l'obtenir, c'est très simple :

Code : Console
apt-get install openarena


C'est aussi simple que ça :D

Notez que vous devrez avoir installé les pilotes de votre carte graphique pour pouvoir y jouer.

apt-get autoremove : supprimer un paquet

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

apt-get upgrade : mettre à jour tous les paquets

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
apt-get upgrade

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 !).

Q.C.M.

Qu'est-ce qu'un dépôt ?
Où se trouve stockée la liste des dépôts que vous utilisez ?
Quelle commande met à jour votre cache contenant la liste des paquets que vous pouvez installer ?
Peut-on installer plusieurs paquets en une seule commande ou faut-il faire plusieurs fois apt-get install ?
Laquelle de ces commandes supprime le paquet demandé ainsi que toutes ses dépendances qui deviennent inutilisées ?


L'installation de programmes sous Ubuntu pourrait se résumer à une seule commande console très simple :

Code : Console
apt-get install paquet


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 :


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 :-°
Chapitre précédent Sommaire Chapitre suivant
Auteur : M@teo21
Noter et commenter ce tutoriel
Imprimer ce tutoriel

Changer de design | En savoir plus | Plan du site | Politique d'accessibilité | Règles | Fil RSS | XHTML 1.0 | CSS 2.0
Édité par Simple IT SARL : Nous contacter | Revue de presse | Publicité

Y'a plus rien à lire, faut remonter maintenant !

Hébergement web - Correction de tutoriels - Créer un site
Vous souhaitez apparaître ici ? Contactez-nous.

Nombre de connectés 301 Zéros connectés | Requêtes SQL 10 requêtes | Temps de génération de la page : Total (SQL) 0.2283s (0.2132s)