1. Introduction 2. Les Paquets Linux - Le site de Lydia Burri
Transcription
1. Introduction 2. Les Paquets Linux - Le site de Lydia Burri
SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX INSTALLATION DE LOGICIELS SOUS LINUX UBUNTU 1. Introduction L'installation de logiciels sous les systèmes d'exploitation Linux, comme Ubuntu, est souvent très simple quand ceux-ci, reconnus comme stables et fiables par l'équipe d'Ubuntu , sont référencés dans la Logithèque. L'installation de logiciels développés par des utilisateurs ou des équipes de programmeurs indépendants s'avère souvent plus complexe. La plupart des actions ou commandes décrites ci-dessous nécessitent d'être logué en super utilisateur. 2. Les Paquets Linux 2.1. Définition d'un paquet On appelle paquet, ou paquetage, une archive (fichier compressé) comprenant les fichiers informatiques, les informations et les procédures nécessaires à l'installation d'un logiciel sur un système d'exploitation Linux. Un paquet est composé de : fichiers exécutables ou sources ; fichiers de configuration ; fichiers de documentation ; dépendances logicielles ; scripts de pré/post installation ; scripts de pré/post désinstallation ; Un paquet peut se trouver sous forme de : source = fichier qui contient l'écriture ( code ) d'un programme, souvent en langage C, non compréhensible par le matériel de l'ordinateur. Ce fichier doit donc être compilé pour être transformé en binaire. Pour cela, on utilise la commande make. binaires = fichiers écrits en "langage machine", directement exécutables par l'ordinateur. Un gestionnaire de paquets est un logiciel automatisant le processus d'installation, désinstallation, et de mise à jour de paquets et donc de logiciels. Apt est un gestionnaire de paquets. 1 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX Exemple de paquets contenus sur un serveur de téléchargement : Les paquets .tar.xz et .tar.gz sont des paquets compressés. Ce sont des archives contenant les fichiers sources de l'application. Isolés, les paquets .tar.xz et .tar.gz se décompressent avec l'outil tar (tape archive). Le paquet .dsc est un paquet qui contient la description des paquets sources précédents. Il est utile pour les compiler et créer le paquet binaire. Isolé, un paquet .dsc peut être utilisé par l'outil pbuilder pour construire le paquet binaire. Le paquet .deb est un paquet binaire, non compressé pour la distribution Debian ou Ubuntu. Isolé, un paquet .deb s'installe avec le gestionnaire de paquet dpkg. 2.2. Pour aller plus loin Notions de compilation d'un noyau Linux : http://casteyde.christian.free.fr/system/linux/guide/online/c6934.html Structure d'un paquet source : https://debian-handbook.info/browse/fr-FR/stable/sect.source-packagestructure.html 3. Sources de téléchargement de paquets Les sources de téléchargements de paquets pour Linux sont nombreuses. 3.1. Le fichier sources.list Les sources dites de confiance sont indiqués dans le fichier /etc/apt/sources.list, sous forme d'une succession de lignes qui donnent toutes les informations nécessaires au gestionnaire de paquets apt pour consulter le contenu des dépôts. On appelle ces lignes des lignes apt. Elles commencent par la mention deb ou deb-src. 2 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX Par défaut, l'équipe d'Ubuntu propose une sélection de sources, mais il est possible d'ajouter/supprimer des lignes apt dans le fichier sources.list, en éditant le fichier à l'aide de la commande nano. Extrait d'un fichier sources.list : eleve@srvIPTV:~$ sudo nano /etc/apt/sources.list ... # See http://help.ubuntu.com/community/UpgradeNotes for how to upgrade # to newer versions of the distribution. deb http://fr.archive.ubuntu.com/ubuntu/ trusty main restricted deb-src http://fr.archive.ubuntu.com/ubuntu/ trusty main restricted ... Une ligne apt se compose de 4 parties : deb http://fr.archive.ubuntu.com/ubuntu/ trusty main restricted deb désigne des paquets d'installation directement exécutables. deb-src désigne des paquets sources, uniquement utiles si vous souhaitez compiler un programme. Adresse du serveur où sont stockés http://fr.archive.ubuntu.com/ubuntu/ les paquets, ex Extrait de contenu d'un serveur : Version d'Ubuntu du PC, ici : trusty Sections du dépôt auxquelles le PC pourra accéder : o main = logiciels libres maintenus par l'équipe d'Ubuntu o universe = logiciels libres maintenus par les utilisateurs d'Ubuntu 3 : SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX o restricted = logiciels non libres maintenus par l'équipe d'Ubuntu o multiverse = logiciels non libres maintenus par les utilisateurs d'Ubuntu Les lignes commençant par # sont des commentaires. 3.2. Les dépôts ppa Les Personal Package Archives sont des dépôts de paquets logiciels, situés sur la plateforme LaunchPad (https://launchpad.net/). Les développeurs peuvent y stocker gratuitement leurs logiciels sous forme de code source afin de les proposer aux utilisateurs de la distribution Debian et ses dérivées. Le service LaunchPad génère, à partir des codes sources déposés par les développeurs, des paquets .deb, exécutables, que les utilisateurs de Debian pourront installer avec leur gestionnaire de paquets logiciels apt. 3.2.1. Ajout d'un dépôt ppa L'utilisation de la commande add-apt-repository ppa: permet de créer un fichier dans le répertoire /etc/apt/sources.list.d. Ce répertoire est prévu pour contenir une liste de dépôts annexes, et est aussi utilisé par le gestionnaire de paquets apt pour installer, mettre à jour des logiciels. Exemple : Ajout du dépôt flumotion-dev/flumotion : add-apt-repository ppa:flumotion-dev/flumotion Il faut ensuite mettre à jour la liste des paquets du dépôt : apt-get update 3.2.2. Listage des dépôts ppa ajoutés Pour connaître la liste des dépôts ppa ajoutés au fichier /etc/apt/sources.list.d : ls /etc/apt/sources.list.d/ Le terminal affiche : flumotion-dev-flumotion-trusty.list Pour connaître l'emplacement d'un dépôt ppa, il faut afficher le contenu du fichier: cd /etc/apt/sources.list.d cat flumotion-dev-flumotion-trusty.list Le terminal affiche : deb http://ppa.launchpad.net/flumotion-dev/flumotion/ubuntu trusty main # deb-src http://ppa.launchpad.net/flumotion-dev/flumotion/ubuntu trusty main 4 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX 3.2.3. Pour aller plus loin Documentation française d'Ubuntu http://doc.ubuntu-fr.org/ppa 3.3. 3.3.1. Les dépôts git Qu'est-ce-que git? Git est un DVCS Distributed Version Control System (Système de Gestion de Version distribuée). La gestion de version est un système qui enregistre l'évolution d'un fichier ou d'un ensemble de fichiers au cours du temps de manière à ce qu'on puisse rappeler une version antérieure d'un fichier à tout moment. Avec un DVSC, les versions sont stockées sur un serveur et à chaque fois qu'un client extrait la dernière version, il duplique le dépôt entier. Cette redondance de sauvegarde évite la perte de données en cas de panne du serveur. schéma de https://git-scm.com/book/fr/v1 3.3.2. Téléchargement de dépôts git Git ne permet pas de mettre à jour la liste de dépôts de confiance (/etc/apt/sources.list) ou la liste de dépôts annexes (/etc/apt/sources.list.d) du PC. Il permet de charger un répertoire contenant par exemple les fichiers sources d'une application. Ces fichiers devront être, par la suite, décompressés puis compilés. Commande git clone. exemple : git clone git://github.com/Glandos/tvheadend.git Ceci crée un répertoire nommé tvheadend, récupère toutes les données (fichiers) du dépot et les place dans ce répertoire. Pour cloner le dépôt dans un répertoire nommé différemment, on utilise une option supplémentaire : 5 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX git clone git://github.com/Glandos/tvheadend.git /etc/IPTV Le répertoire cible est maintenant /etc/IPTV. Git dispose de différents protocoles de transfert : protocole git : git clone git://chemin_projet.git (utilise le port 9418) protocole http ou https : git clone http(s)://chemin_projet.git protocole ssh : git clone utilisateur@serveur:/chemin_projet.git ou git clone ssh://utilisateur@serveur/chemin_projet.git 3.3.3. Pour aller plus loin Antisèche des options de la commande git : http://ndpsoftware.com/git-cheatsheet.html Documentation complète de git : https://git-scm.com/book/fr/v1 4. Installation de binaires 4.1. Apt Pour Debian et les distributions basées sur Debian, par exemple Ubuntu, le gestionnaire de paquets apt permet : d'installer ou supprimer des paquets (logiciels) mettre à jour des paquets ou votre système. 4.1.1. Mise à jour des dépôts apt-get update Cette commande se fait souvent après l'ajout d'une ligne apt dans le fichier /etc/apt/sources.list, ou l'ajout d'un fichier dans le répertoire /etc/apt/sources.list.d. Elle met à jour la liste des fichiers disponibles dans les dépôts apt. 4.1.2. Mise à jour des paquets déjà installés apt-get upgrade 4.1.3. Installation d'un paquet Pour installer par exemple le logiciel tvheadend depuis les sources de confiance déclarées dans le fichier /etc/apt/sources.list : apt-get install tvheadend 6 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX 4.1.4. Désinstallation d'un paquet apt-get remove tvheadend Pour supprimer aussi les fichiers de configuration de l'application : apt-get remove tvheadend --purge 4.2. Aptitude Aptitude est un gestionnaire de paquets basé sur l'infrastructure apt. Il présente des fonctionnalités équivalentes à apt-get, c'est-à-dire que l'on peut installer, supprimer et mettre à jour les applications avec Aptitude. exemples : o aptitude update = mise à jour de la liste des paquets disponibles o aptitude safe-upgrade = téléchargement et installation des nouvelles versions des paquets installés o aptitude install tvheadend = installation du logiciel tvheadend o aptitude remove tvheadend = désinstallation du logiciel tvheadend 4.3. Liens Internet Sur Internet, on trouve des liens de type : exemple : Un clic sur le lien lance La logithèque Ubuntu : Il suffit ensuite de cliquer sur Installer. 4.4. Cliquer sur : Logithèque dans la barre de lancement d'Ubuntu. 7 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX Puis rechercher le logiciel et cliquer sur Installer : 5. Installation de logiciels téléchargés sous forme de fichiers sources 5.1. Décompression du paquet Pour décompresser une archive qui est au format tar.gz il faut utiliser la commande tar. Par exemple, pour décompresser l'archive tvheadend-4.0.4.tar.gz : tar xzvf tvheadend-4.0.4.tar.gz Ici l’archive se décompressera dans le répertoire où l’on se situe. La signification des options est la suivante : x : extraire une archive z : permet de décompresser le “gzip“ v : mode verbeux , permet d’afficher dans le détail les fichiers décompressés f : indication de la donnée à décompresser On peut aussi ajouter l’option -C si on souhaite décompresser l’archive dans un autre répertoire. Par exemple, si on souhaite décompresser l’archive tvheadend-4.0.4.tar.gz dans /etc/IPTV : tar xzvf tvheadend-4.0.4.tar.gz -C /etc/IPTV 5.2. Configuration du programme pour l'environnement courant On se place dans le répertoire d'installation où se situent les fichiers sources et on appelle le script configure : ./configure Cette Commande va vérifier que toutes les dépendances sont présentes, puis configurer et écrire un fichier Makefile qui contiendra les ordres de compilation. 8 SYNTHESE INSTALLATION DE LOGICIELS SOUS LINUX Pour chaque erreur donnée il faut installer la dépendance manquante. Il s'agit souvent d'une bibliothèque que l'on peut trouver ainsi : apt-cache search lib bibliotheque_manquante dev lib = c'est une bibliothèque bibliotheque_manquante = ce qu'on cherche dev : on cherche la version pour le développement (avec les en-têtes pour permettre la compilation) A la fin de l'exécution réussie du script configure , le terminal renvoie l'emplacement où vont se situer les fichiers binaires : ... Final Binary: /etc/IPTV/tvheadend-4.0.4/build.linux/tvheadend Tvheadend Data Directory: /usr/local/share/tvheadend ... 5.3. Compilation des fichiers sources Toujours placé dans le répertoire d'installation où se situent les fichiers sources, on appelle la commande make. celle-ci va compiler le paquet source, de façon plus ou moins longue selon la taille du projet. Le processus peut s'arrêter en cas de problème de compilation. make 5.4. Installation du programme Le programme est installé par la commande : make install 5.5. Résumé des étapes L'installation de paquets téléchargés sous forme de fichiers sources comporte 4 étapes : Décompression : tar xzvf Configuration : ./configure Compilation : make Installation : make install 9