Wiki Linux SMH

   

Flux RSS

Apt

Distribution : Debian / Ubuntu
Niveau : Débutant
Commentaire :

1 - Présentation

Le premier jour, l'homme créa le noyau Linux.
Le deuxième jour, l'homme créa les .tar.gz qu'il fallait compiler à la main.
Le troisième jour, par flemme, l'homme créa le système dpkg pour installer des paquets simplement.
La quatrième jour, parce qu'il est vraiment flemmard, l'homme créa apt pour gérer les dépendances.
Le cinquième jour, l'homme greffa des interfaces graphiques autour de apt (synaptic, aptitude).
Le sixième et le septième jour, l'homme était en week end, alors il n'alla pas plus loin...

  expliquer la gestion des priorités

2 - Les dépôts

Le projet Debian dispose de quatres dépôts officiels, correspondant aux branches de la distribution : oldstable, stable, testing, unstable, plus un dépôt dit experimental qui contient des paquets... expérimentaux, comportant un risque pour votre système.

Chaque dépôt est décomposé en trois sections, ou composants : main, contrib et non-free. La section main contient les logiciels libres au sens Debian, la setion non-free les paquets non-libres mais mis à disposition des utilisateurs pour des raisons pratiques, la section contrib quant à elle contient les paquets libres dépendants de paquet non-libre.

Plus d'informations sur les Depots dans l'article sur les dépôts.

3 - Installation

De base, les outils standart de apt sont installés. il reste juste à faire :

# apt-get install apt-file apt-show-versions curl

4 - Mise à jour de la liste des packages

# apt-get update

Pour ajouter des nouveaux packages, il faut modifier le fichier /etc/apt/sources.list. Je ne m'étendrais pas dessus, les lignes à rajouter sont toujours indiqués sur les sites où vous chercherez des packages Debian non disponibles dans la distribution de base.
Une fois le fichier modifié, il reste juste à faire un petit

# apt-get update

5 - Recherche d'un package

$ apt-cache search [package|mot clé]

6 - Informations sur un package

6.1 - Afficher la version d'un paquet

6.1.1 - Commande

Afin de connaître la version d'un paquet installé, ou la version d'un paquet qu'on désire installer, on peut utiliser la commande suivante :

# apt-cache policy <nom-du-paquet>
6.1.2 - Exemple

Exemple d'un paquet installé qui ne nécessite pas de mise à jour :

# apt-cache policy firefox
firefox:
  Installé : 1.5.dfsg+1.5.0.7-2
  Candidat : 1.5.dfsg+1.5.0.7-2
 Table de version :
 *** 1.5.dfsg+1.5.0.7-2 0
        500 http://ftp.fr.debian.org etch/main Packages
        100 /var/lib/dpkg/status

Exemple d'un paquet non installé :

# apt-cache policy kde
kde:
  Installé : (aucun)
  Candidat : 5:47
 Table de version :
     5:47 0
        500 http://ftp.fr.debian.org etch/main Packages

6.2 - Afficher les informations d'un package : ce qu'il fait, etc.

$ apt-cache show [package]

6.3 - Afficher plus d'informations : celles de 'show' plus les dépendances

$ apt-cache showpkg [package]

6.4 - Recherche des dépendances d'un package

$ apt-cache depends [package]

6.5 - Numéro de version d'un package

$ apt-show-versions [package]

6.6 - Liste des fichiers d'un package installé

$ dpkg -L [package]

6.7 - Liste des fichiers d'un package non installé

$ apt-file list [package]

7 - Installation d'un package

7.1 - Binaire

# apt-get install {--reinstall} [package]

L'option --reinstall réinstalle le package même si l est déjà installé

Pour reprendre une installation interrompue :

# apt-get -f install
# apt-cache policy firefox

firefox:

 Installé : 1.5.dfsg+1.5.0.7-2
 Candidat : 1.5.dfsg+1.5.0.7-2
Table de version :
*** 1.5.dfsg+1.5.0.7-2 0
       500 http://ftp.fr.debian.org etch/main Packages
       100 /var/lib/dpkg/status

7.2 - Source

# apt-get source [package]

Celà va installer les sources du packages dans le répertoire courant.

Si vous voulez construire immédiatement le package :

# apt-get -b source [package]

Pour construire le package plus tard il suffit de faire :

# dpkg-buildpackage -rfakeroot -uc -b

Et pour l'installer comme d'habitude :

# dpkg -i [package].deb

8 - Mise à jour de tout le système

# apt-get upgrade

9 - Désinstallation d'un package

# apt-get remove {--purge} [package]

L'option --purge supprime les fichiers de configuration

10 - Recherche sur un fichier

10.1 - Recherche dans les packages

Vous voulez installer le package fournissant le script toto mais vous ne connaissez pas le nm du package et apt-cache ne vous donne aucun indice... Il faut alors utiliser apt-file qui recherche les noms de fichier dans les archives

Mise à jour de la base :

$ apt-file update

Recherche :

$ apt-file search [fichier]

10.2 - Recherche sur le système

Recherche d'un fichier parmi les packages installés sur le système :

# dpkg -S [fichier]

11 - Suppression des paquets téléchargés

Au fur et à mesure des installations, le dossier /var/cache/apt/archives se remplit. Pour le vider :

# apt-get clean

12 - Désinstallation des packages orphelins

Au fur et à mesure des installations/désinatllations, on peut se retrouver avec des packages orphelins qui prennent inutilement de la place...

Pour les lister, on peut utiliser deborphan

Installation :

# apt-get install deborphan

Utilisation :

# deborphan

Ce qui a donné chez moi :

Ptit-Barton:~# deborphan
libident
libtextwrap1
liboil0.2
libpt-plugins-oss
libnspr4
classpath
libopenh323-1.15.2
guile-1.6-libs
libdb2
libnss3
libdvdplay0
libpt-plugins-v4l2
libebook8
libgnutls10

Un petit

# apt-get remove --purge $(deborphan)

m'a permis de gagner 15 précieux Mo...

13 - Choisir le meilleur mirror pour télécharger ses packages

Il n'est pas utile de créer son propre programme pour pinger tous les mirrors, et déterminer lequel est le plus rapide d'accès. L'outil netselect peut se charger d'effectuer ces tests.

Installer le comme suit :

# apt-get install netselect

Vous pourrez trouver la liste des mirrors debian à l'adresse suivante : http://www.debian.org/mirror/list

Lancer ensuite la commande netselect avec en paramètre les serveurs de votre choix

Dans l'exemple suivant, le serveur ftp.fr.debian.org resort comme étant le plus proche.

DEBLIN-SVR:/home/debuk26# netselect ftp.fr.debian.org ftp2.fr.debian.org ftp.iut-bm.univ-fcomte.fr
170 ftp.fr.debian.org

Maintenant, il ne vous reste plus qu'à mettre à jour votre fichier /etc/apt/sources.list en fonction du résultat obtenu sur votre ordinateur.

14 - Clef publique (PGP)

Il peut arriver qu'il vous manque une clef publique pour accéder à certains dépôts. Il y a maintenant quelques temps que le dépôt marillat c'est déplacé vers http://www.debian-multimedia.org. Après avoir remplacé le dit dépôt dans votre fichier /etc/apt/sources.list, et effectuer un apt-get update pour mettre à jour la liste des paquets, une erreur survenait :

W: GPG error: http://www.debian-multimedia.org etch Release: Les signatures suivantes n'ont pas pu être vérifiées car la clé publique n'est pas disponible  : NO_PUBKEY 07DC563D1F41B907

Par suite, il faut l'ajouter. Dans un premier temps, il est nécessaire de l'importer :

# gpg --keyserver pgpkeys.mit.edu --recv-key 1F41B907

où 1F41B907 sont les 8 derniers digits de la clef, et pgpkeys.mit.edu un serveur de clef sûre. On obtient le résultat suivant :

gpg: requête de la clé 1F41B907 du serveur hkp pgpkeys.mit.edu
gpg: clé 1F41B907: nom d'utilisateur en double détecté - fusion accomplie 
gpg: clé 1F41B907: clé publique « Christian Marillat <marillat@debian.org> » importée
gpg: aucune clé de confiance ultime n'a été trouvée
gpg:        Quantité totale traitée: 1
gpg:                       importée: 1

Ensuite, on vérifie que la clef récupérée est la bonne grâce au fingerprint :

# gpg --fingerprint  1F41B907

ce qui renvoie :

pub   1024D/1F41B907 1999-10-03
   Empreinte de la clé = 1D7F C53F 80F8 52C1 88F4  ED0B 07DC 563D 1F41 B907
uid                  Christian Marillat <marillat@debian.org>
uid                  Christian Marillat <marillat@free.fr>
sub   1536g/C28DCC42 1999-10-03

Dans cette exemple, on peut trouver dans la FAQ de www.debian-multimedia.org le fingerprint de ce cher Christian : 1D7F C53F 80F8 52C1 88F4 ED0B 07DC 563D 1F41 B907. Les deux correpondent, donc tout va bien.

Finalement, on l'ajoute :

# gpg -a --export 1F41B907 | apt-key add -

Si tout c'est bien déroulé, alors le message OK doit apparaître dans votre console.

D'autres serveurs sont disponibles : hkp://wwwkeys.eu.pgp.net

15 - Ressources

Vous êtes : ec2-54-197-94-241.compute-1.amazonaws.com Dernière modification : 01/12/08 17:26 Propriétaire : cse35-1-82-236-141-159.fbx.proxad.net Modifié par : esver

Commentaires

Afficher les commentaires
Il n'y a aucun commentaire sur cette page