Accueil
Rechercher:
sur developpez.com sur les forums
Forums | Tutoriels | F.A.Q's | Participez | Hébergement | Contacts
Accueil Conception Java DotNET Visual Basic  C  C++ Delphi MS-Office SQL & SGBD Oracle  4D  Business Intelligence
Club Emploi Blogs   TV   Dév. Web PHP XML Python Autres 2D-3D-Jeux Sécurité Windows Linux PC Mac
FORUM LINUX FAQ LINUX TUTORIELS LINUX LIVRES LINUX LINUX TV UNIX GTK+ Qt APACHE

Les systèmes de paquets de quelques systèmes GNU/Linux et Unix

Date de publication : 06/08/2007 , Date de mise à jour : 20/02/2008

Par julp (Autres articles)
 

Chaque système ou distribution GNU/Linux gérant à sa propre sauce les paquets, il est donc difficile de mémoriser toutes les commandes qui y sont associées surtout lorsque l'on n'utilise pas ledit système quotidiennement.

Le but de cet article est donc d'en faire un récapitulatif qui permettra en l'occurence de combler les trous de mémoire et de trouver les équivalents d'un système plus familier.


1. Les distributions GNU/Linux basées sur RPM
1.1. Mandriva
1.2. Fedora
2. Les autres distributions GNU/Linux
2.1. Debian
2.2. Gentoo
3. Les systèmes BSD
3.1. FreeBSD
3.2. NetBSD
3.3. OpenBSD


1. Les distributions GNU/Linux basées sur RPM

Gestion des services :
  • Ajouter un nouveau service à démarrer (création des liens symboliques) :
    chkconfig --add <nom du script>
    
    Ce script doit comporter un commentaire fournissant les niveaux d'exécution du service, ses priorités de démarrage et d'arrêt ainsi qu'une description :
    # chkconfig: <runlevels> <priorité de démarrage> <priorité d'arrêt>
    # description: <description du service>
    
    Exemple :
    # chkconfig: 345 39 61
    # description: LDAP stands for Lightweight Directory Access Protocol, used \
    #              for implementing the industry standard directory services.
    
  • Supprimer le démarrage automatique d'un service (suppression des liens symboliques) :
    chkconfig --del <nom du script>
    
  • Linux héritant du système de démarrage de type System V, les scripts sont placés dans le répertoire /etc/init.d. Ces scripts peuvent être employés avec les paramètres start, stop, restart (respectivement démarrage, arrêt, redémarrage) pour le service correspondant (exemple : /etc/init.d/mysqld restart).

    Les distributions RPM-based offre généralement, une commande nommée service qui permet d'effectuer ces tâches et qui effectue des contrôles supplémentaires (emploi : service <nom du script> <commande>).


1.1. Mandriva

Informations :
Gestion des paquets :
  • Lister les paquets installés :
    rpm -qa | sort
    
  • Installer un paquet (et ses dépendances) depuis Internet :
    urpmi <paquet>
    
  • Configurer ses médias : Easy Urpmi

  • Supprimer un paquet :
    urpme <paquet>
    # Ou
    rpm -e <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    rpm -qf <fichier>
    # Ou
    urpmf <fichier>
    
  • Liste des fichiers d'un paquet :
    rpm -ql <paquet>
    # Ou
    urpmq -l <paquet>
    
  • Trouver un paquet :
    urpmq <nom>
    
  • De quels logiciels dépend ce paquet :
    rpm -qR <paquet>
    
  • Quels logiciels dépendent de ce paquet :
    urpmq -d <paquet>
    
  • Mettre à jour les paquets :
    urpmi --auto-select
    
  • Interfaces : interface Perl/Gtk intégrée


1.2. Fedora

Informations :
Gestion des paquets :
  • Lister les paquets installés :
    yum list installed
    # Ou
    rpm -qa | sort
    
  • Installer un paquet (et ses dépendances) depuis Internet :
    yum install <paquet>
    
  • Configurer ses médias : un fichier par dépôt dans le répertoire /etc/yum.repos.d/

  • Supprimer un paquet :
    yum remove <paquet>
    # Ou
    rpm -e <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    yum provides <fichier> | grep installed
    # Ou
    rpm -qf <fichier>
    
  • Liste des fichiers d'un paquet :
    rpm -ql <paquet>
    
  • Trouver un paquet :
    yum search <nom>
    
  • De quels logiciels dépend ce paquet :
    yum deplist <paquet>
    
  • Quels logiciels dépendent de ce paquet :
    N/A
    
  • Mettre à jour les paquets :
    yum check-update && yum update
    
  • Interfaces : KYum (KDE)


2. Les autres distributions GNU/Linux


2.1. Debian

Informations :
Gestion des paquets :
  • Lister les paquets installés :
    dpkg -l
    
  • Installer un paquet (et ses dépendances) depuis Internet :
    apt-get install <paquet>
    
  • Configurer ses médias : se configure via /etc/apt/sources.list

  • Supprimer un paquet :
    apt-get remove <paquet>
    # Ou
    dpkg -r <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    dpkg -S <fichier>
    
  • Liste des fichiers d'un paquet :
    dpkg -L <paquet> # Installé
    # Ou
    dpkg -c <paquet.deb>
    
  • Trouver un paquet :
    apt-cache search <nom>
    
  • De quels logiciels dépend ce paquet :
    apt-cache depends <paquet>
    
  • Quels logiciels dépendent de ce paquet :
    apt-cache rdepends <paquet>
    
  • Mettre à jour les paquets :
    apt-get update
    apt-get upgrade
    
  • Interfaces :
    • aptitude (console)
    • synaptic ou gnome-apt (Gnome)
Gestion des services :
  • Commande à employer pour démarrer un service automatiquement :
    update-rc.d <service> start <priorité de démarrage> <runlevels de démarrage> . stop <priorité d'arrêt> <runlevels d'arrêt> .
    
    Un petit exemple pour y voir plus clair :
    update-rc.d ssh start 20 2 3 4 5 . stop 20 0 1 6 .
    
    La partie start 20 2 3 4 5 . stop 20 0 1 6 . peut être abrégée par son équivalent : default.

  • Pour supprimer le démarrage automatique d'un service on utilise la commande :
    update-rc.d ssh remove
    
    Il faudra ajouter l'option -f si le script correspondant n'a pas été supprimé du répertoire /etc/init.d/ (si on souhaite le conserver).


2.2. Gentoo

Informations :
Gestion des paquets :
  • Lister les paquets installés :
    equery list # Requiert app-portage/gentoolkit
    
  • Installer un paquet (et ses dépendances) depuis Internet :
    emerge <paquet>
    
  • Configurer ses médias : N/A

  • Supprimer un paquet :
    emerge --unmerge <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    equery belongs <fichier> # Requiert app-portage/gentoolkit
    
  • Liste des fichiers d'un paquet :
    equery files <paquet> # Requiert app-portage/gentoolkit
    
  • Trouver un paquet :
    emerge --search <nom>
    
  • De quels logiciels dépend ce paquet :
    N/A
    
  • Quels logiciels dépendent de ce paquet :
    equery depends <paquet> # Requiert app-portage/gentoolkit
    
  • Mettre à jour les paquets :
    emerge --sync
    emerge -a -u -D world
    # Puis s'il vous dit : "IMPORTANT: X config files in '/etc' need updating.
    etc-update # ou dispatch-conf selon vos préférences
    
  • Interfaces : N/A

Gestion des services :
  • Gentoo est particulier puisque les différents niveaux de démarrage sont nommés. On citera, parmi ceux-ci, les statuts boot pour une exécution lors du boot de la machine ou encore default (équivalent des runlevels 3, 4 et 5) pour le lancement des démons applicatifs, initialisation des cartes réseau, ...

  • Ajouter le démarrage d'un service :
    rc-update add <nom du script> <nom du niveau de démarrage>
    
    Exemple portant sur notre deuxième interface réseau :
    rc-update add net.eth1 default
    
  • Ne plus démarrer automatiquement un service :
    rc-update del <nom du script>
    

3. Les systèmes BSD


3.1. FreeBSD

Informations :
Administration :
  • Création interactive de nouveaux utilisateurs :
    adduser # Les options par défaut sont à placer dans /etc/adduser.conf
    
Gestion des paquets :
  • Lister les paquets installés :
  • Installer un paquet (et ses dépendances) depuis Internet :
    # Sous forme binaire (paquetage)
    pkg_add -r paquet
    
    # A partir des sources (logiciel porté)
    cd /usr/ports/<catégorie>/<logiciel>
    make install
    # Ou
    portinstall <paquet> # Requiert ports-mgmt/portupgrade
    
  • Supprimer un paquet :
    pkg_delete <paquet>
    # Ou par les ports :
    cd /usr/ports/<catégorie>/<logiciel>
    make deinstall
    
  • Trouver par quel paquet un fichier a été installé :
    pkg_info -W <fichier>
    # Ou
    pkg_which <fichier> # Requiert ports-mgmt/portupgrade
    
  • Liste des fichiers d'un paquet :
    pkg_info -L paquet
    
  • Trouver un paquet :
    cd /usr/ports
    make search name=<nom>
    
  • De quels logiciels dépend ce paquet :
    pkg_info -r <paquet>
    # Ou par les ports :
    cd /usr/ports/<catégorie>/<logiciel>
    make print-build-depends print-run-depends
    
  • Quels logiciels dépendent de ce paquet :
    pkg_info -R <paquet>
    
  • Mettre à jour les paquets :
    • En utilisant les sources (ports) :

      Il faut commencer par mettre à jour l'arbre des logiciels portés, pour cela choisissez l'une des trois méthodes :
      • Avec portsnap :
        # Si c'est la première fois
        portsnap fetch extract
        
        # Dans tous les cas
        portsnap update
        
      • Avec csup :
        # Si c'est la première fois
        sed "s/CHANGE_THIS\.FreeBSD\.org/cvsup2\.fr\.FreeBSD\.org/" /usr/share/examples/cvsup/ports-supfile > /root/ports-supfile
        
        # Dans tous les cas
        csup -L 2 /root/ports-supfile
        
      • Avec cvsup :
        # Si c'est la première fois
        cd /usr/ports/net/cvsup-without-gui && make install clean # Ou pour ceux qui préférent les paquets : pkg_add -r cvsup-without-gui
        sed "s/CHANGE_THIS\.FreeBSD\.org/cvsup2\.fr\.FreeBSD\.org/" /usr/share/examples/cvsup/ports-supfile > /root/ports-supfile
        
        # Dans tous les cas
        cvsup -g -L 2 /root/ports-supfile
        
      Procédez enfin à la mise à jour des logiciels tiers installés par recompilation de leurs nouvelles versions :
      portupgrade -raR # Requiert ports-mgmt/portupgrade
      
    • En utilisant les paquetages pré-compilés (sauf contraintes, à éviter) :
      setenv MASTER_SITES ftp://ftp3.fr.freebsd.org/pub/FreeBSD/releases/`uname -p`/<release>/packages
      portupgrade -PPraR # Requiert ports-mgmt/portupgrade
      
  • Interfaces :
    • pkgfe ou portsman (ncurses)
    • portbrowser ou bpm (Gnome)
    • barry ou kports (KDE)
Gestion des services :
  • Ajouter, supprimer le démarrage automatique d'un service : pour gérer les services à démarrer ou non au démarrage de la machine, il faut recourir au fichier /etc/rc.conf.

  • Démarrer un service : on utilise le script rc associé auquel est passé le paramètre start. Exemple avec le réseau :
    /etc/rc.d/network start
    
  • Stopper un service : même chose, seul le paramètre varie puisque cette fois-ci c'est stop qui lui est fourni :
    /etc/rc.d/network stop
    
  • Redémarrer un service : toujours dans la même optique, on donne restart comme paramètre à ce script rc. Exemple avec mysql :
    /usr/local/etc/rc.d/mysql-server restart
    

3.2. NetBSD

Informations :
Administration :
  • Interface pour la gestion des utilisateurs et groupes :
Gestion des paquets :
  • Lister les paquets installés :
  • Installer un paquet (et ses dépendances) depuis Internet :
    # Sous forme binaire (paquetage binaire)
    export PKG_PATH=ftp://ftp.fr.netbsd.org/pub/NetBSD/packages/<version>/<architecture>/All
    pkg_add <paquet>
    
    # A partir des sources (paquetage)
    cd /usr/pkgsrc/<catégorie>/<logiciel>
    make install
    
  • Supprimer un paquet :
    pkg_delete <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    pkg_info -Fe <fichier>
    
  • Liste des fichiers d'un paquet :
    pkg_info -L paquet
    
  • Trouver un paquet :
    /usr/pkgsrc/pkglocate <nom>
    # Ou
    pkgfind <nom> # Requiert pkgtools/pkgfind
    
  • De quels logiciels dépend ce paquet :
    pkg_info -n <paquet>
    # Ou
    pkgdep <paquet> # Requiert pkgtools/pkgdep
    
  • Quels logiciels dépendent de ce paquet :
    pkg_info -R <paquet>
    
  • Mettre à jour les "paquets" :
    • En utilisant les paquetages binaires :
      pkg_chk -buk # Requiert pkgtools/pkg_chk et que la variable PKG_PATH est bien renseignée sinon il faudra l'indiquer avec l'option -P
      
    • En préférant les paquetages sources :

      Il est tout d'abord nécessaire de mettre à jour l'arbre des paquetages sources. Pour ce faire plusieurs méthodes sont disponibles :
      • Avec cvs :
        # Si c'est la première fois
        export CVSROOT=":pserver:anoncvs@anoncvs.jp.NetBSD.org:/cvs/cvsroot"
        cd /usr
        cvs checkout -P pkgsrc
        
        # Dans les autres cas
        export CVSROOT=":pserver:anoncvs@anoncvs.jp.NetBSD.org:/cvs/cvsroot"
        cd /usr/pkgsrc
        cvs update -Pd
        
      • Avec sup :
        # Si c'est la première fois
        echo "current \\
                release=pkgsrc \\
                host=sup.NetBSD.org \\
                hostbase=/ftp/pub \\
                base=/usr \\
                prefix=/usr \\
                backup use-rel-suffix delete" > /root/pkgsrc-supfile
        
        # Dans tous les cas
        sup -v /root/pkgsrc-supfile
        
      • Avec cvsup :
        # Si c'est la première fois
        cd /usr/pkgsrc/devel/cvsup && make install clean # ça marche aussi en utilisant les paquets ;)
        echo "*default tag=.
        *default release=cvs
        *default delete use-rel-suffix
        *default umask=002
        *default host=cvsup.se.netbsd.org
        *default base=/usr
        *default prefix=/usr
        *default compress
        
        netbsd-pkgsrc" > /root/pkgsrc-supfile
        
        # Dans tous les cas
        cvsup -g -L 2 /root/pkgsrc-supfile
        
      • Avec un snapshot :
        ftp ftp://ftp.netbsd.org/pub/pkgsrc/current/pkgsrc.tar.bz2
        cd /usr
        tar xjf /chemin/vers/pkgsrc.tar.bz2
        
      Puis procédez à la mise à jour par recompilation des programmes tiers installés des paquetages sources :
      pkg_chk -usk # Requiert pkgtools/pkg_chk
      
    info Les solutions données ici utilisent la branche courante des paquetages sources. Il en existe également une branche stable !
  • Interfaces : N/A

Gestion des services :
Tous les services à démarrer (ou non) sont spécifiés dans le fichier /etc/rc.conf à l'aide de directives propres à chacun d'eux. Ce système est commun avec le système FreeBSD mais les scripts ayant pour but de les gérer doivent être placés dans le répertoire /etc/rc.d/.


3.3. OpenBSD

Informations :
Administration :
  • Création interactive de nouveaux utilisateurs :
    adduser # Les options par défaut sont à placer dans /etc/adduser.conf
    
Gestion des paquets :
  • Lister les paquets installés :
  • Installer un paquet (et ses dépendances) depuis Internet :
    • Sous forme binaire (utilisation des paquetages) :
      # (Ba|K)sh
      export PKG_PATH=ftp://ftp.fr.openbsd.org/pub/OpenBSD/<version>/packages/`machine -a`/
      # (T)csh
      setenv PKG_PATH "ftp://ftp.fr.openbsd.org/pub/OpenBSD/<version>/packages/`machine -a`/"
      pkg_add paquet
      
    • A partir des sources (logiciels portés) :
      cd /usr/ports/<catégorie>/<logiciel>
      make install
      
  • Supprimer un paquet :
    pkg_delete <paquet>
    
  • Trouver par quel paquet un fichier a été installé :
    pkg_info -E <fichier>
    
  • Liste des fichiers d'un paquet :
    pkg_info -L paquet
    
  • Trouver un paquet :
    cd /usr/ports
    make search name=<nom>
    
  • De quels logiciels dépend ce paquet :
    pkg_info -r <paquet> # OK ?
    
  • Quels logiciels dépendent de ce paquet :
    pkg_info -R <paquet> # OK ?
    
  • Mettre à jour les paquets :
    # (Ba|K)sh
    export PKG_PATH=ftp://ftp.fr.openbsd.org/pub/OpenBSD/<version>/packages/`machine -a`/
    # (T)csh
    setenv PKG_PATH "ftp://ftp.fr.openbsd.org/pub/OpenBSD/<version>/packages/`machine -a`/"
    pkg_add -ui -F update -F updatedepends
    
  • Interfaces : N/A

Gestion des services :
Les services à démarrer ou stopper doivent apparaître dans le fichier /etc/rc.conf.local où l'on placera les entrées correspondant aux services concernés.



Valid XHTML 1.1!Valid CSS!

Copyright © 2007 julp. Aucune reproduction, même partielle, ne peut être faite de ce site et de l'ensemble de son contenu : textes, documents, images, etc sans l'autorisation expresse de l'auteur. Sinon vous encourez selon la loi jusqu'à 3 ans de prison et jusqu'à 300 000 E de dommages et intérêts. Cette page est déposée à la SACD.

Responsables bénévoles de la rubrique Linux Professionnel : Olivier Van Hoof et Pierre Chauvin - Contacter par EMail :
Vos questions techniques : forum d'entraide Linux Professionnel - Publiez vos articles, tutoriels et cours
et rejoignez-nous dans l'équipe de rédaction du club d'entraide des développeurs francophones
Nous contacter - Copyright © 2000-2008 www.developpez.com - Legal informations.