La partie logicielle se compose du système
d’exploitation et des applications. Nous avons une dépendance.
Les applications dépendent du système, lequel repose à son
tour sur le matériel.
1. Version des logiciels
Vous devez valider la version du système
d’exploitation, à savoir la version de la distribution.
Cette dernière définit un noyau Linux, des modules
de noyau, des services... qui doivent être stables, prouvés
et éprouvés.
Il en est de même pour les applications à utiliser
au sein du système.
Il ne sert à rien d’avoir la dernière
version d’un logiciel si elle ne vous apporte pas quelque chose.
Privilégiez la stabilité et la fiabilité avant
tout.
2. Que faut-il installer ?
Vérifiez que vous avez installé les
composants nécessaires et utiles au niveau :
-
des logiciels du système ;
-
des modules de noyau ;
-
des services.
Après l’installation du système,
vous pouvez supprimer les programmes, les modules et les services
qui ont été installés pendant cette procédure
et qui sont inutiles. Puis ajoutez ce qu’il manque.
3. Mise à jour
La mise à jour corrige les bogues
et apporte des correctifs de sécurité mais le risque
est qu’elle peut provoquer d’autres problèmes, lesquels
seront à leur tour corrigés et ainsi de suite...
Il faut s’assurer de la qualité des correctifs pour éviter
un dysfonctionnement.
Vous devez utiliser des dépôts
de paquets sûrs et de confiance. Pour Debian et Ubuntu,
consultez le fichier /etc/apt/sources.list :
# cat sources.list # sources.list # deb cdrom:[Debian GNU/Linux 7.0.0 _Wheezy_ - Official amd64 DVD Binary-1 20130504-14:44]/ wheezy contrib main deb http://debian.proxad.net/debian/ wheezy main non-free contrib deb-src http://debian.proxad.net/debian/ wheezy main non-free contrib deb http://security.debian.org/ wheezy/updates main contrib non-free deb-src http://security.debian.org/ wheezy/updates main contrib non-free # wheezy-updates, previously known as ’volatile’ deb http://debian.proxad.net/debian/ wheezy-updates main contrib non-free deb-src http://debian.proxad.net/debian/ wheezy-updates main contrib non-free
Pour CentOS, consultez les fichiers placés
dans le dossier /etc/yum.repos.d :
# ls -1 /etc/yum.repos.d CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo
À titre d’exemple, voici le contenu
de CentOS-Base.repo :
# cat CentOS-Base.repo # CentOS-Base.repo # # The mirror system uses the connecting IP address of the client and the # update status of each mirror to pick mirrors that are updated to and # geographically close to the client. You should use this for CentOS updates # unless you are manually picking other mirrors. # # If the mirrorlist= does not work for you, as a fall back you can try the # remarked out baseurl= line instead. # # [base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=os #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=updates #baseurl=http://mirror.centos.org/centos/$releasever/updates/ $basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=extras #baseurl=http://mirror.centos.org/centos/$releasever/extras /$basearch/ gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org release=$releasever&arch=$basearch&repo=centosplus #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/ $basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6 #contrib - packages by Centos Users [contrib] name=CentOS-$releasever - Contrib mirrorlist=http://mirrorlist.centos.org/? release=$releasever&arch=$basearch&repo=contrib #baseurl=http://mirror.centos.org/centos/$releasever/contrib/ $basearch/ gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
4. Gérer des paquets deb avec apt
Pour bien gérer vos paquets, vous
disposez des commandes suivantes utilisables en ligne de commande
(Command Line Interface) :
-
apt-get : elle permet d’effectuer l’installation et la désinstallation facile de paquets en provenance d’un dépôt APT. Cette commande nécessite les droits d’administration. Elle s’utilise avec une sous-commande telle que install, update, remove...qui décrit le type d’action demandé à APT.
-
apt-cache : elle permet d’effectuer quelques manipulations basiques sur les paquets, installés ou non, disponibles dans la liste mise en cache des paquets des dépôts APT configurés. Cette commande ne nécessite pas les droits d’administration. Elle s’utilise avec une sous-commande telle que show, policy, search... qui décrit le type d’action demandé à APT.
-
Apt-file : elle permet d’interroger la liste des fichiers contenus dans tous les paquets, qu’ils soient installés ou non. Cette commande doit être installée.
-
apt-show-versions : elle permet d’analyser le fichier status de dpkg et les listes d’APT pour trouver les versions des paquets installés, les versions des paquets disponibles et la distribution. Cette commande doit être installée.
-
apt-rdepends : elle permet de chercher à travers le cache APT pour trouver les dépendances d’un paquet. Cette commande doit être installée.
a. Installer un paquet
Il faut utiliser la commande apt-get install :
# apt-get install openssh-server Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Paquets suggérés : ssh-askpass rssh molly-guard ufw monkeysphere Les NOUVEAUX paquets suivants seront installés : openssh-server 0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 339 ko dans les archives. Après cette opération, 725 ko d’espace disque supplémentaires seront utilisés. Réception de : 1 http://debian.proxad.net/debian/ wheezy/main openssh-server amd64 1:6.0p1-4 [339 kB] 339 ko réceptionnés en 0s (394 ko/s) Préconfiguration des paquets... Sélection du paquet openssh-server précédemment désélectionné. (Lecture de la base de données... 160570 fichiers et répertoires déjà installés.) Dépaquetage de openssh-server (à partir de .../openssh- server_1%3a6.0p1-4_amd64.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de openssh-server (1:6.0p1-4) ... Creating SSH2 RSA key; this may take some time ... Creating SSH2 DSA key; this may take some time ... Creating SSH2 ECDSA key; this may take some time ... [ ok ] Restarting OpenBSD Secure Shell server: sshd.
Si toutefois des dépendances sont
nécessaires pour installer l’application, apt-get propose de les installer.
b. Rechercher des paquets
Rechercher un paquet s’effectue avec apt-cache search :
# apt-cache search openssh-server openssh-server - secure shell (SSH) server, for secure access from remote machines
Utilisez des métacaractères
pour trouver un paquet dont vous ne connaissez pas exactement le
nom :
# apt-cache search ˆopenj libostyle-dev - OpenJade libraries, developer support openjade1.3 - Implementation of the DSSSL language openjdk-6-dbg - Java runtime based on OpenJDK (debugging symbols) openjdk-6-demo - Java runtime based on OpenJDK (demos and examples) openjdk-6-doc - OpenJDK Development Kit (JDK) documentation openjdk-6-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark openjdk-6-source - OpenJDK Development Kit (JDK) source files openjdk-7-dbg - Java runtime based on OpenJDK (debugging symbols) openjdk-7-demo - Java runtime based on OpenJDK (demos and examples) openjdk-7-doc - OpenJDK Development Kit (JDK) documentation openjdk-7-jre-zero - Alternative JVM for OpenJDK, using Zero/Shark openjdk-7-source - OpenJDK Development Kit (JDK) source files openjpeg-tools - command-line tools using the JPEG 2000 library libosp-dev - OpenJade group’s SP suite, developer support opensp - OpenJade group’s SGML parsing tools openjade - mise en œuvre du langage DSSSL openjdk-6-jdk - kit de développement OpenJDK - JDK openjdk-6-jre - environnement d’exécution Java OpenJDK qui utilise Hotspot JIT openjdk-6-jre-headless - environnement d’exécution Java OpenJDK utilisant Hotspot JIT openjdk-6-jre-lib - environnement d’exécution Java OpenJDK - bibliothèques indépendantes de l’architecture openjdk-7-jdk - kit de développement OpenJDK - JDK openjdk-7-jre - environnement d’exécution Java OpenJDK qui utilise Hotspot JIT openjdk-7-jre-headless - environnement d’exécution Java OpenJDK utilisant Hotspot JIT openjdk-7-jre-lib - environnement d’exécution Java OpenJDK - bibliothèques indépendantes de l’architecture
c. Afficher la description d’un paquet
La sous-commande apt-cache
show permet d’afficher la description d’un paquet :
# apt-cache show openssh-server Package: openssh-server Source: openssh Version: 1:6.0p1-4 Installed-Size: 708 Maintainer: Debian OpenSSH Maintainers <debian- ssh@lists.debian.org> Architecture: amd64 Replaces: openssh-client (<< 1:3.8.1p1-11), ssh, ssh-krb5 Provides: ssh-server Depends: libc6 (>= 2.8), libcomerr2 (>= 1.01), libgssapi-krb5-2 (>= 1.10+dfsg~), libkrb5-3 (>= 1.6.dfsg.2), libpam0g (>= 0.99.7.1), libselinux1 (>= 1.32), libssl1.0.0 (>= 1.0.1), libwrap0 (>= 7.6-4~), zlib1g (>= 1:1.1.4), debconf (>= 1.2.0) | debconf- 2.0, openssh-client (= 1:6.0p1-4), libpam-runtime (>= 0.76-14), libpam-modules (>= 0.72-9), adduser (>= 3.9), dpkg (>= 1.9.0), lsb-base (>= 3.2-13), procps Recommends: xauth, ncurses-term, openssh-blacklist, openssh- blacklist-extra Suggests: ssh-askpass, rssh, molly-guard, ufw, monkeysphere Conflicts: rsh-client (<< 0.16.1-1), sftp, ssh (<< 1:3.8.1p1-9), ssh-krb5 (<< 1:4.3p2-7), ssh-nonfree (<< 2), ssh-socks, ssh2 Description-fr: serveur shell sécurisé (SSH), pour accèder à des machines à distance Il s’agit d’une version portable de OpenSSH, l’implémentation libre du protocole SSH tel qu’il a été défini par le groupe de travail « secsh » de l’IETF. . Ssh (Secure Shell) est un programme qui permet de se connecter à une machine distante et d’y exécuter des commandes. Il fournit des communications sécurisées et chiffrées entre deux hôtes non fiables à travers un réseau non sécurisé. Les connexions X11 ainsi que tout port TCP/IP peuvent également être redirigés dans ce canal sécurisé. Il peut être utilisé pour fournir des canaux de communication sécurisés à des applications. . Ce paquet fournit le serveur sshd. . Dans certains pays, il peut être illégal d’utiliser du chiffrement, quel qu’il soit, sans autorisation. . sshd remplace le programme non sécurisé rshd qui est obsolète pour la plupart des usages. Multi-Arch: foreign Homepage: http://www.openssh.org/ Description-md5: 842cc998cae371b9d8106c1696373919 Tag: admin::login, implemented-in::c, interface::daemon, network::server, protocol::ssh, role::program, security::authentication, security::cryptography, use::login, use::transmission Section: net Priority: optional Filename: pool/main/o/openssh/openssh-server_6.0p1-4_amd64.deb Size: 339018 MD5sum: fd7c78cc339f6f845b2ed8ef53b718a9 SHA1: edfa57f1370d88fc7e5826aa905d533efdac388d SHA256: 0a7f042df7400a0f964e65baee90b65426af8d85b28919ce12cda99e61b749d0
d. Afficher les dépendances
Nous avons plusieurs solutions pour identifier
les dépendances d’un paquet.
Première solution
La commande apt-cache depends liste
toutes les dépendances nécessaires d’un paquet
:
# apt-cache depends openssh-server openssh-server Dépend: libc6 Dépend: libcomerr2 Dépend: libgssapi-krb5-2 Dépend: libkrb5-3 Dépend: libpam0g Dépend: libselinux1 Dépend: libssl1.0.0 Dépend: libwrap0 Dépend: zlib1g |Dépend: debconf Dépend: <debconf-2.0> cdebconf debconf Dépend: openssh-client Dépend: libpam-runtime Dépend: libpam-modules Dépend: adduser Dépend: dpkg Dépend: lsb-base Dépend: procps Suggère: ssh-askpass ksshaskpass kwalletcli ssh-askpass-fullscreen ssh-askpass-gnome Suggère: rssh Suggère: molly-guard Suggère: ufw Suggère: monkeysphere Recommande: xauth Recommande: ncurses-term Recommande: openssh-blacklist Recommande: openssh-blacklist-extra Est en conflit avec: rsh-client Est en conflit avec: <sftp> Est en conflit avec: ssh Est en conflit avec: ssh-krb5 Est en conflit avec: <ssh-nonfree> Est en conflit avec: <ssh-socks> Est en conflit avec: <ssh2> Remplace: openssh-client Remplace: ssh Remplace: ssh-krb5Deuxième solution
Elle consiste à utiliser la commande apt-rdepends qui n’est pas généralement
installée par défaut dans le système :
# apt-get -y install apt-rdepends Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Les paquets supplémentaires suivants seront installés : libapt-pkg-perl Paquets suggérés : vcg springgraph graphviz Les NOUVEAUX paquets suivants seront installés : apt-rdepends libapt-pkg-perl 0 mis à jour, 2 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 99,6 ko dans les archives. Après cette opération, 319 ko d’espace disque supplémentaires seront utilisés. Réception de : 1 http://debian.proxad.net/debian/ wheezy/main libapt-pkg-perl amd64 0.1.26+b1 [84,7 kB] Réception de : 2 http://debian.proxad.net/debian/ wheezy/main apt- rdepends all 1.3.0-3 [14,8 kB] 99,6 ko réceptionnés en 0s (210 ko/s) Sélection du paquet libapt-pkg-perl précédemment désélectionné. (Lecture de la base de données... 160588 fichiers et répertoires déjà installés.) Dépaquetage de libapt-pkg-perl (à partir de .../libapt-pkg- perl_0.1.26+b1_amd64.deb) ... Sélection du paquet apt-rdepends précédemment désélectionné. Dépaquetage de apt-rdepends (à partir de .../apt-rdepends_1.3.0- 3_all.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de libapt-pkg-perl (0.1.26+b1) ... Paramétrage de apt-rdepends (1.3.0-3) ...
Maintenant, voici l’utilisation de la commande :
# apt-rdepends openssh-server Reading package lists... Done Building dependency tree Reading state information... Done openssh-server Depends: adduser (>= 3.9) Depends: debconf (>= 1.2.0) Depends: debconf-2.0 Depends: dpkg (>= 1.9.0) Depends: libc6 (>= 2.8) Depends: libcomerr2 (>= 1.01) Depends: libgssapi-krb5-2 (>= 1.10+dfsg~) Depends: libkrb5-3 (>= 1.6.dfsg.2) Depends: libpam-modules (>= 0.72-9) Depends: libpam-runtime (>= 0.76-14) Depends: libpam0g (>= 0.99.7.1) Depends: libselinux1 (>= 1.32) Depends: libssl1.0.0 (>= 1.0.1) Depends: libwrap0 (>= 7.6-4~) Depends: lsb-base (>= 3.2-13) Depends: openssh-client (= 1:6.0p1-4) Depends: procps Depends: zlib1g (>= 1:1.1.4) adduser Depends: debconf Depends: debconf-2.0 Depends: passwd (>= 1:4.0.12) Depends: perl-base (>= 5.6.0) debconf PreDepends: perl-base (>= 5.6.1-4) perl-base PreDepends: dpkg (>= 1.14.20) PreDepends: libc6 (>= 2.11) dpkg PreDepends: libbz2-1.0 PreDepends: libc6 (>= 2.11) PreDepends: liblzma5 (>= 5.1.1alpha+20120614) PreDepends: libselinux1 (>= 1.32) PreDepends: tar (>= 1.23) PreDepends: zlib1g (>= 1:1.1.4) libbz2-1.0 Depends: libc6 (>= 2.4) PreDepends: multiarch-support libc6 Depends: libc-bin (= 2.13-38) Depends: libgcc1 ...Troisième solution
La commande apt-cache
showpkg permet également l’affichage des dépendances :
# apt-cache showpkg openssh-server Package: openssh-server Versions: 1:6.0p1-4 (/var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_bin ary-amd64_Packages) (/var/lib/dpkg/status) Description Language: File: /var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_bina ry-amd64_Packages MD5: 842cc998cae371b9d8106c1696373919 Description Language: en File: /var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_i18n _Translation-en MD5: 842cc998cae371b9d8106c1696373919 Description Language: fr File /var/lib/apt/lists/debian.proxad.net_debian_dists_wheezy_main_i18n _Translation-fr MD5: 842cc998cae371b9d8106c1696373919 Reverse Depends: xpra,openssh-server x2goplugin,openssh-server x2goclient,openssh-server vpnc-scripts,openssh-server task-ssh-server,openssh-server sslh,openssh-server ssh-contact-service,openssh-server slack,openssh-server rsync,openssh-server rssh,openssh-server piuparts-master,openssh-server ssh-krb5,openssh-server ssh,openssh-server opennebula-node,openssh-server oar-server,openssh-server oar-node,openssh-server watch-maildirs,openssh-server monkeysphere,openssh-server molly-guard,openssh-server mercurial-server,openssh-server python-lunch,openssh-server ltsp-server-standalone,openssh-server ltsp-server,openssh-server ldm-server,openssh-server lam-runtime,openssh-server kup-server,openssh-server gridengine-exec,openssh-server gitolite,openssh-server gesftpserver,openssh-server ganeti2,openssh-server fai-server,openssh-server login-duo,openssh-server dtc-xen,openssh-server apt-dater-host,openssh-server ajaxterm,openssh-server Dependencies: 1:6.0p1-4 - libc6 (2 2.8) libcomerr2 (2 1.01) libgssapi-krb5-2 (2 1.10+dfsg~) libkrb5-3 1.6.dfsg.2) libpam0g (2 0.99.7.1) libselinux1 (2 1.32) libssl1.0.0 (2 1.0.1) libwrap0 (2 7.6-4~) zlib1g (2 1:1.1.4) debconf (11.2.0) debconf-2.0 (0 (null)) openssh-client (5 1:6.0p1-4) libpam-runtime (2 0.76-14) libpam- modules (2 0.72-9) adduser (2 3.9) dpkg (2 1.9.0) lsb-base (2 3.2- 13) procps (0 (null)) ssh-askpass (0 (null)) rssh (0 (null)) molly-guard (0 (null)) ufw (0 (null)) monkeysphere (0 (null)) xauth (0 (null)) ncurses-term (0 (null)) openssh-blacklist (0 (null)) openssh-blacklist-extra (0 (null)) rsh-client (3 0.16.1-1) sftp (0 (null)) ssh (3 1:3.8.1p1-9) ssh-krb5 (3 1:4.3p2-7) ssh- nonfree (3 2) ssh-socks (0 (null)) ssh2 (0 (null)) openssh-client (3 1:3.8.1p1-11) ssh (0 (null)) ssh-krb5 (0 (null)) Provides: 1:6.0p1-4 - ssh-server Reverse Provides:
e. Installer les dépendances
L’utilisation de apt-get
build-dep installe les dépendances nécessaires pour
construire le paquet donné en argument.
Voici un exemple qui montre comment installer
les dépendances de Qt :
# apt-get -y build-dep libqt4-dev Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Choix de « qt4-x11 » comme paquet source à la place de « libqt4- dev » Note : sélection de « libjpeg8-dev » au lieu de « libjpeg-dev » Les paquets suivants seront ENLEVÉS : libqtwebkit-dev Les NOUVEAUX paquets suivants seront installés : comerr-dev firebird-dev firebird2.5-common firebird2.5-common- doc flex freetds-common freetds-dev krb5-multidev libasound2-dev libaudio-dev libct4 libcups2-dev libdbus-1-dev libfbclient2 libgcrypt11-dev libgnutls-dev libgnutls-openssl27 libgnutlsxx27 libgpg-error-dev libgssrpc4 libgstreamer-plugins-base0.10-dev libgstreamer0.10-dev libib- util libicu-dev libjbig-dev libjpeg8-dev libkadm5clnt-mit8 libkadm5srv-mit8 libkdb5-6 libkrb5-dev liblcms1-dev libltdl-dev libmng-dev libmysqlclient- dev libodbc1 libp11-kit-dev libpam0g-dev libpq-dev libpq5 libreadline-dev libreadline6-dev libsqlite0 libsqlite0-dev libsqlite3-dev libssl-dev libsybdb5 libtasn1-3-dev libtiff4-dev libtiffxx0c2 libxmu-dev libxmu-headers libxslt1-dev libxt-dev libxtst-dev libxv-dev odbcinst odbcinst1debian2 pkg-kde-tools unixodbc unixodbc-dev x11proto-record-dev x11proto-video-dev 0 mis à jour, 62 nouvellement installés, 1 à enlever et 0 non mis à jour. Il est nécessaire de prendre 23,4 Mo dans les archives. Après cette opération, 86,7 Mo d’espace disque supplémentaires seront utilisés. Réception de : 1 http://debian.proxad.net/debian/ wheezy/main libgnutls-openssl27 amd64 2.12.20-7 [221 kB] Réception de : 2 http://security.debian.org/ wheezy/updates/main libgssrpc4 amd64 1.10.1+dfsg-5+deb7u1 [87,5 kB] Réception de : 3 http://security.debian.org/ wheezy/updates/main libkadm5clnt-mit8 amd64 1.10.1+dfsg-5+deb7u1 [67,7 kB] Réception de : 4 http://security.debian.org/ wheezy/updates/main libkdb5-6 amd64 1.10.1+dfsg-5+deb7u1 [66,9 kB] Réception de : 5 http://debian.proxad.net/debian/ wheezy/main flex amd64 2.5.35-10.1 [332 kB] ... Extraction des modèles depuis les paquets : 100% (Lecture de la base de données... 160625 fichiers et répertoires déjà installés.) Suppression de libqtwebkit-dev ... Sélection du paquet libgnutls-openssl27:amd64 précédemment désélectionné. (Lecture de la base de données... 160583 fichiers et répertoires déjà installés.) Dépaquetage de libgnutls-openssl27:amd64 (à partir de .../libgnutls-openssl27_2.12.20-7_amd64.deb) ... Sélection du paquet libgssrpc4:amd64 précédemment désélectionné. Dépaquetage de libgssrpc4:amd64 (à partir de .../libgssrpc4_1.10.1+dfsg-5+deb7u1_amd64.deb) ... Sélection du paquet libkadm5clnt-mit8:amd64 précédemment désélectionné. ... Traitement des actions différées (« triggers ») pour « install- info »... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de libgnutls-openssl27:amd64 (2.12.20-7) ... Paramétrage de libgssrpc4:amd64 (1.10.1+dfsg-5+deb7u1) ... Paramétrage de libkadm5clnt-mit8:amd64 (1.10.1+dfsg-5+deb7u1) ... Paramétrage de libkdb5-6:amd64 (1.10.1+dfsg-5+deb7u1) ... Paramétrage de libkadm5srv-mit8:amd64 (1.10.1+dfsg-5+deb7u1) ... Paramétrage de flex (2.5.35-10.1) ... Paramétrage de freetds-common (0.91-2) ... ...
f. Les informations d’un paquet
La commande apt-cache
policy affiche les versions des paquets indiqués et
leur statut :
# apt-cache policy openssh-server openssh-server: Installé : 1:6.0p1-4 Candidat : 1:6.0p1-4 Table de version : *** 1:6.0p1-4 0 500 http://debian.proxad.net/debian/ wheezy/main amd64 Packages 100 /var/lib/dpkg/status
g. Identifier le dépôt d’un paquet
La commande apt-cache madison affiche
le dépôt fournissant les paquets spécifiés :
# apt-cache madison openssh-server openssh-server | 1:6.0p1-4 | http://debian.proxad.net/debian/ wheezy/main amd64 Packages openssh | 1:6.0p1-4 | http://debian.proxad.net/debian/ wheezy/main Sources
h. Provenance d’un fichier
Pour savoir dans quel paquet se trouve un
fichier, nous pouvons utiliser apt-file.
Comme cet outil n’est pas installé de base, nous devons
l’installer :
# apt-get -y install apt-file Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Le paquet suivant a été installé automatiquement et n’est plus nécessaire : libqtwebkit4 Veuillez utiliser « apt-get autoremove » pour le supprimer. Les paquets supplémentaires suivants seront installés : curl libconfig-file-perl libcurl3 liblist-moreutils-perl libregexp-assemble-perl Les NOUVEAUX paquets suivants seront installés : apt-file curl libconfig-file-perl libcurl3 liblist-moreutils- perl libregexp-assemble-perl 0 mis à jour, 6 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 767 ko dans les archives. Après cette opération, 1 439 ko d’espace disque supplémentaires seront utilisés. Réception de : 1 http://debian.proxad.net/debian/ wheezy/main libconfig-file-perl all 1.50-2 [10,0 kB] Réception de : 2 http://debian.proxad.net/debian/ wheezy/main liblist-moreutils-perl amd64 0.33-1+b1 [52,5 kB] Réception de : 3 http://debian.proxad.net/debian/ wheezy/main libregexp-assemble-perl all 0.35-7 [69,8 kB] Réception de : 4 http://debian.proxad.net/debian/ wheezy/main apt- file all 2.5.1 [33,3 kB] Réception de : 5 http://security.debian.org/ wheezy/updates/main libcurl3 amd64 7.26.0-1+wheezy3 [331 kB] Réception de : 6 http://security.debian.org/ wheezy/updates/main curl amd64 7.26.0-1+wheezy3 [270 kB] 767 ko réceptionnés en 6s (118 ko/s) Sélection du paquet libcurl3:amd64 précédemment désélectionné. (Lecture de la base de données... 163380 fichiers et répertoires déjà installés.) Dépaquetage de libcurl3:amd64 (à partir de .../libcurl3_7.26.0- 1+wheezy3_amd64.deb) ... Sélection du paquet curl précédemment désélectionné. Dépaquetage de curl (à partir de .../curl_7.26.0- 1+wheezy3_amd64.deb) ... Sélection du paquet libconfig-file-perl précédemment désélectionné. Dépaquetage de libconfig-file-perl (à partir de .../libconfig- file-perl_1.50-2_all.deb) ... Sélection du paquet liblist-moreutils-perl précédemment désélectionné. Dépaquetage de liblist-moreutils-perl (à partir de .../liblist- moreutils-perl_0.33-1+b1_amd64.deb) ... Sélection du paquet libregexp-assemble-perl précédemment désélectionné. Dépaquetage de libregexp-assemble-perl (à partir de .../libregexp- assemble-perl_0.35-7_all.deb) ... Sélection du paquet apt-file précédemment désélectionné. Dépaquetage de apt-file (à partir de .../apt- file_2.5.1_all.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de libcurl3:amd64 (7.26.0-1+wheezy3) ... Paramétrage de curl (7.26.0-1+wheezy3) ... Paramétrage de libconfig-file-perl (1.50-2) ... Paramétrage de liblist-moreutils-perl (0.33-1+b1) ... Paramétrage de libregexp-assemble-perl (0.35-7) ... Paramétrage de apt-file (2.5.1) ... The system-wide cache is empty. You may want to run ’apt-file update’ as root to update the cache. You can also run ’apt-file update’ as normal user to use a cache in the user’s home directory.
Puis, il faut construire la base de données :
# apt-file update Downloading complete file http://debian.proxad.net/debian/dists/wheezy/main/Contents- amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 20.4M 100 20.4M 0 0 762k 0 0:00:27 0:00:27 --:--:-- 766k Downloading complete file http://debian.proxad.net/debian/dists/wheezy/non-free/Contents- amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 727k 100 727k 0 0 654k 0 0:00:01 0:00:01 --:--:-- 698k Downloading complete file http://debian.proxad.net/debian/dists/wheezy/contrib/Contents- amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 73455 100 73455 0 0 295k 0 --:--:-- --:--:-- --:--:-- 417k Ignoring source without Contents File: http://security.debian.org/dists/wheezy/updates/main/Contents- amd64.gz Ignoring source without Contents File: http://security.debian.org/dists/wheezy/updates/contrib/Contents- amd64.gz Ignoring source without Contents File: http://security.debian.org/dists/wheezy/updates/non- free/Contents-amd64.gz Downloading complete file http://debian.proxad.net/debian/dists/wheezy- updates/main/Contents-amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 20815 100 20815 0 0 115k 0 --:--:-- --:--:-- --:--:-- 193k Downloading complete file http://debian.proxad.net/debian/dists/wheezy- updates/contrib/Contents-amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 714 100 714 0 0 5707 0 --:--:-- --:--:-- --:--:-- 12981 Downloading complete file http://debian.proxad.net/debian/dists/wheezy-updates/non- free/Contents-amd64.gz % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 714 100 714 0 0 5919 0 --:--:-- --:--:-- --:--:-- 14280
Voici maintenant son utilisation :
# apt-file search openssh-server live-build: /usr/share/live/build/hooks/0160-remove-openssh- server-host-keys.chroot live-config: /lib/live/config/1170-openssh-server monit: /etc/monit/monitrc.d/openssh-server openssh-server: /etc/network/if-up.d/openssh-server openssh-server: /etc/ufw/applications.d/openssh-server openssh-server: /usr/share/doc/openssh-server openssh-server: /usr/share/lintian/overrides/openssh-server
L’option find est
l’alias de search.
i. Lister le contenu d’un paquet
La commande apt-file
list permet de voir le contenu d’un paquet. Cette fonctionnalité est
très proche de la commande dpkg
-L excepté que le paquet n’a pas besoin d’être
installé.
# apt-file list openssh-server openssh-server: /etc/default/ssh openssh-server: /etc/init.d/ssh openssh-server: /etc/network/if-up.d/openssh-server openssh-server: /etc/pam.d/sshd openssh-server: /etc/ufw/applications.d/openssh-server openssh-server: /usr/lib/openssh/sftp-server openssh-server: /usr/lib/sftp-server openssh-server: /usr/sbin/sshd openssh-server: /usr/share/doc/openssh-client/examples/sshd_config openssh-server: /usr/share/doc/openssh-server openssh-server: /usr/share/lintian/overrides/openssh-server openssh-server: /usr/share/man/man5/authorized_keys.5.gz openssh-server: /usr/share/man/man5/sshd_config.5.gz openssh-server: /usr/share/man/man8/sftp-server.8.gz openssh-server: /usr/share/man/man8/sshd.8.gz
L’option show est
l’alias de list.
j. Versions des paquets disponibles
La commande apt-show-versions permet
d’analyser le fichier statut de dpkg et
les listes d’apt pour trouver les
versions des paquets installés, les versions des
paquets disponibles mais aussi la distribution. Cette commande doit être
installée :
# apt-get install apt-show-versions Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Le paquet suivant a été installé automatiquement et n’est plus nécessaire : libqtwebkit4 Veuillez utiliser « apt-get autoremove » pour le supprimer. Les NOUVEAUX paquets suivants seront installés : apt-show-versions 0 mis à jour, 1 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 34,9 ko dans les archives. Après cette opération, 169 ko d’espace disque supplémentaires seront utilisés. Réception de : 1 http://debian.proxad.net/debian/ wheezy/main apt- show-versions all 0.20 [34,9 kB] 34,9 ko réceptionnés en 0s (156 ko/s) Sélection du paquet apt-show-versions précédemment désélectionné. (Lecture de la base de données... 163468 fichiers et répertoires déjà installés.) Dépaquetage de apt-show-versions (à partir de .../apt-show- versions_0.20_all.deb) ... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de apt-show-versions (0.20) ... ** initializing cache. This may take a while **
Procédons à son utilisation
comme suit :
# apt-show-versions accountsservice/wheezy uptodate 0.6.21-8 acl/wheezy uptodate 2.2.51-8 acpi/wheezy uptodate 1.6-1 acpi-fakekey/wheezy uptodate 0.140-5 acpi-support/wheezy uptodate 0.140-5 acpi-support-base/wheezy uptodate 0.140-5 acpid/wheezy uptodate 1:2.0.16-1+deb7u1 adduser/wheezy uptodate 3.113+nmu3 aisleriot/wheezy uptodate 1:3.4.1-1 alacarte/wheezy uptodate 3.5.3-1 alsa-base/wheezy uptodate 1.0.25+3~deb7u1 alsa-utils/wheezy uptodate 1.0.25-4 anacron/wheezy uptodate 2.3-19 ant/wheezy uptodate 1.8.2-4 ant-optional/wheezy uptodate 1.8.2-4 apache2/wheezy uptodate 2.2.22-13 apache2-mpm-worker/wheezy uptodate 2.2.22-13 apache2-utils/wheezy uptodate 2.2.22-13 apache2.2-bin/wheezy uptodate 2.2.22-13 apache2.2-common/wheezy uptodate 2.2.22-13 apg/wheezy uptodate 2.2.3.dfsg.1-2 ...
k. Mise à jour des dépôts
Sur Internet, les paquets sont mis à jour
en permanence dans les dépôts.
Sur un poste de travail ou bien un serveur
Linux, seuls les dépôts mentionnés dans
le fichier /etc/apt/sources.list sont
utilisés.
Apt conserve une liste des paquets obtenus
lors de la dernière mise à jour. Il est donc nécessaire
de mettre à jour régulièrement la liste
des paquets avec apt-get update :
# apt-get update Réception de : 1 http://security.debian.org wheezy/updates Release.gpg [836 B] Réception de : 2 http://security.debian.org wheezy/updates Release [102 kB] Réception de : 3 http://security.debian.org wheezy/updates/main Sources [57,7 kB] Réception de : 4 http://security.debian.org wheezy/updates/contrib Sources [14 B] Réception de : 5 http://security.debian.org wheezy/updates/non- free Sources [14 B] Réception de : 6 http://security.debian.org wheezy/updates/main amd64 Packages [106 kB] Réception de : 7 http://security.debian.org wheezy/updates/contrib amd64 Packages [14 B] Réception de : 8 http://security.debian.org wheezy/updates/non- free amd64 Packages [14 B] Réception de : 9 http://security.debian.org wheezy/updates/contrib Translation-en [14 B] Réception de : 10 http://security.debian.org wheezy/updates/main Translation-en [62,2 kB] Réception de : 11 http://security.debian.org wheezy/updates/non- free Translation-en [14 B] Atteint http://debian.proxad.net wheezy Release.gpg Réception de : 12 http://debian.proxad.net wheezy-updates Release.gpg [1 571 B] Atteint http://debian.proxad.net wheezy Release Réception de : 13 http://debian.proxad.net wheezy-updates Release [124 kB] Atteint http://debian.proxad.net wheezy/main Sources Atteint http://debian.proxad.net wheezy/non-free Sources Atteint http://debian.proxad.net wheezy/contrib Sources Atteint http://debian.proxad.net wheezy/main amd64 Packages Atteint http://debian.proxad.net wheezy/non-free amd64 Packages Atteint http://debian.proxad.net wheezy/contrib amd64 Packages Atteint http://debian.proxad.net wheezy/contrib Translation-en Atteint http://debian.proxad.net wheezy/main Translation-fr Atteint http://debian.proxad.net wheezy/main Translation-en Atteint http://debian.proxad.net wheezy/non-free Translation-en Réception de : 14 http://debian.proxad.net wheezy-updates/main Sources [1 995 B] Réception de : 15 http://debian.proxad.net wheezy-updates/contrib Sources [14 B] Réception de : 16 http://debian.proxad.net wheezy-updates/non-free Sources [14 B] Atteint http://debian.proxad.net wheezy-updates/main amd64 Packages/DiffIndex Réception de : 17 http://debian.proxad.net wheezy-updates/contrib amd64 Packages [14 B] Réception de : 18 http://debian.proxad.net wheezy-updates/non-free amd64 Packages [14 B] Réception de : 19 http://debian.proxad.net wheezy-updates/contrib Translation-en [14 B] Atteint http://debian.proxad.net wheezy-updates/main Translation- en/DiffIndex Réception de : 20 http://debian.proxad.net wheezy-updates/non-free Translation-en [14 B] 457 ko réceptionnés en 7s (64,6 ko/s) Lecture des listes de paquets... Fait
l. Mise à jour du système
La commande apt-get
upgrade met à jour tous les paquets installés
sur le système vers les dernières versions :
# apt-get -y upgrade Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Les paquets suivants seront mis à jour : icedtea-netx icedtea-netx-common 2 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour. Il est nécessaire de prendre 876 ko dans les archives. Après cette opération, 0 o d’espace disque supplémentaire seront utilisés. Réception de : 1 http://security.debian.org/ wheezy/updates/main icedtea-netx-common all 1.4-3~deb7u2 [855 kB] Réception de : 2 http://security.debian.org/ wheezy/updates/main icedtea-netx amd64 1.4-3~deb7u2 [20,7 kB] 876 ko réceptionnés en 1s (627 ko/s) Lecture des fichiers de modifications (« changelog »)... Terminé (Lecture de la base de données... 163482 fichiers et répertoires déjà installés.) Préparation du remplacement de icedtea-netx-common 1.4-3~deb7u1 (en utilisant .../icedtea-netx-common_1.4-3~deb7u2_all.deb) ... Dépaquetage de la mise à jour de icedtea-netx-common ... Préparation du remplacement de icedtea-netx:amd64 1.4-3~deb7u1 (en utilisant .../icedtea-netx_1.4-3~deb7u2_amd64.deb) ... Dépaquetage de la mise à jour de icedtea-netx:amd64 ... Traitement des actions différées (« triggers ») pour « desktop- file-utils »... Traitement des actions différées (« triggers ») pour « gnome- menus »... Traitement des actions différées (« triggers ») pour « hicolor- icon-theme »... Traitement des actions différées (« triggers ») pour « man-db »... Paramétrage de icedtea-netx-common (1.4-3~deb7u2) ... Paramétrage de icedtea-netx:amd64 (1.4-3~deb7u2) ...
La commande apt-get
dist-upgrade met à jour tous les paquets installés
vers les dernières versions en installant de nouveaux paquets
si nécessaire, par opposition à upgrade qui n’ajoute pas de nouveaux
paquets.
# apt-get 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 0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
Avant d’exécuter dist-upgrade, il est recommandé de
mettre à jour d’abord la liste des paquets avec update.
Voici par exemple, le processus d’une mise à jour :
sudo apt-get update && sudo apt-get upgrade
m. Désinstaller un paquet
La commande apt-get
remove permet la désinstallation de paquets :
# apt-get -y remove openssh-server Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Le paquet suivant a été installé automatiquement et n’est plus nécessaire : libqtwebkit4 Veuillez utiliser « apt-get autoremove » pour le supprimer. Les paquets suivants seront ENLEVÉS : openssh-server 0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour. Après cette opération, 725 ko d’espace disque seront libérés. (Lecture de la base de données... 163481 fichiers et répertoires déjà installés.) Suppression de openssh-server ... [ ok ] Stopping OpenBSD Secure Shell server: sshd. Traitement des actions différées (« triggers ») pour « man-db »...
Cette commande peut également être
accompagnée de l’option --purge pour
supprimer les fichiers de configuration :
# apt-get -y remove --purge openssh-server Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Le paquet suivant a été installé automatiquement et n’est plus nécessaire : libqtwebkit4 Veuillez utiliser « apt-get autoremove » pour le supprimer. Les paquets suivants seront ENLEVÉS : openssh-server* 0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour. Après cette opération, 725 ko d’espace disque seront libérés. (Lecture de la base de données... 163481 fichiers et répertoires déjà installés.) Suppression de openssh-server ... [ ok ] Stopping OpenBSD Secure Shell server: sshd. Purge des fichiers de configuration de openssh-server ... Traitement des actions différées (« triggers ») pour « man-db »...
La commande apt-get
autoremove permet de désinstaller le paquet indiqué avec
ses dépendances logicielles :
# apt-get -y autoremove openssh-server Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Les paquets suivants seront ENLEVÉS : libqtwebkit4 openssh-server 0 mis à jour, 0 nouvellement installés, 2 à enlever et 0 non mis à jour. Après cette opération, 27,7 Mo d’espace disque seront libérés. (Lecture de la base de données... 163481 fichiers et répertoires déjà installés.) Suppression de libqtwebkit4:amd64 ... Suppression de openssh-server ... [ ok ] Stopping OpenBSD Secure Shell server: sshd. Traitement des actions différées (« triggers ») pour « man-db »...
L’option --purge peut
aussi être utilisée pour supprimer les fichiers
de configuration :
# apt-get -y autoremove --purge openssh-server Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait Les paquets suivants seront ENLEVÉS : openssh-server* 0 mis à jour, 0 nouvellement installés, 1 à enlever et 0 non mis à jour. Après cette opération, 725 ko d’espace disque seront libérés. (Lecture de la base de données... 163474 fichiers et répertoires déjà installés.) Suppression de openssh-server ... [ ok ] Stopping OpenBSD Secure Shell server: sshd. Purge des fichiers de configuration de openssh-server ... Traitement des actions différées (« triggers ») pour « man-db »...
n. Supprimer les paquets d’installation
Apt conserve une copie de chaque paquet installé et
désinstallé dans le répertoire /var/cache/apt/archives.
La commande apt-get
clean supprime les copies de paquets installés et permet
ainsi de récupérer de l’espace disque :
# apt-get clean
La commande apt-get
autoclean permet de supprimer les copies des paquets désinstallés.
# apt-get autoclean Lecture des listes de paquets... Fait Construction de l’arbre des dépendances Lecture des informations d’état... Fait
5. Gérer des paquets deb avec dpkg
Créé par Ian Jackson en
1993, dpkg est une commande chargée
de l’installation, la création, la suppression et la gestion
des paquets .deb de Debian. Elle permet également la gestion
de paquets en provenance de sources extérieures aux dépôts
APT.
Aucun commentaire :
Enregistrer un commentaire