Chapitre 10 : Logiciels

Documents pareils
TD séance n 2c Mise à jour des Systèmes

Tutoriel Création d une source Cydia et compilation des packages sous Linux

MANUEL UTILISATEUR KIWI BACKUP V 3

TP n 2 : Installation et administration du serveur ProFTP. Partie 1 : Fonctionnement du protocole FTP (pas plus de 15min)

Créer son premier package.deb. 19 août

REPUBLIQUE ISLAMIQUE DE MAURITANIE

Documentation utilisateur, manuel utilisateur MagicSafe Linux. Vous pouvez télécharger la dernière version de ce document à l adresse suivante :

Atelier Migration. Mohamadi ZONGO Formateur assistant Kassim ASSIROU Atelier Migration.

Serveur Acronis Backup & Recovery 10 pour Linux. Update 5. Guide d'installation

Quelques éléments de compilation en C et makefiles

MANUEL D INSTALLATION D UN PROXY

C.M. 1 & 2 : Prise en main de Linux

INSTALLATION NG V2.1 D OCS INVENTORY. Procédure d utilisation. Auteur : GALLEGO Cédric 23/10/2014 N version : v1

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Reproductibilité des expériences de l article "Analyse et réduction du chemin critique dans l exécution d une application"

Mon premier rpm. 7 juin Avant de commencer RPM URPMI RPMBUILD... 2

Auteur LARDOUX Guillaume Contact Année 2014 DEVELOPPEMENT MOBILE AVEC CORDOVA

[Serveur de déploiement FOG]

TP réseaux 4 : Installation et configuration d'un serveur Web Apache

Atelier individuel. Linux 101. Frédérick Lefebvre & Maxime Boissonneault frederick.lefebvre@calculquebec.ca U. Laval - Janv. 2014

Client Kiwi Backup : procédures d'installation et de mise à jour. Gilles Arnoult, Clément Varaldi

Documentation d'installation Plateforme femme actuelle

Projet Administration Réseaux

La création d un paquet Debian. Aurélien Jarno. Journées du Logiciel Libre. 15 octobre 2005

II- Préparation du serveur et installation d OpenVpn :

Outils pour la pratique

Situation professionnelle n X

Architecture de la plateforme SBC

[ GLPI et OCS pour Gentoo 2006] ArtisanMicro. Alexandre BALMES

Xubuntu Une alternative à Windows et à Ubuntu, (pour ceux qui ne veulent pas d'unity) : installer Xubuntu.

Installation d'un serveur sftp avec connexion par login et clé rsa.

ORTIZ Franck Groupe 4. Terminal serveur pour administrer un serveur Windows à distance, client rdp linux.

Mise en place d un système de Téléphonie sur IP basé sur le logiciel Asterisk

Ateliers Python+Qt : Premiers pas : S'installer pour PyQt... en quelques minutes sous Windows!

Tutoriel compte-rendu Mission 1

Note : Ce tutoriel a été réalisé sur GNU/Linux (Ubuntu) avec un serveur LAMP installé en local.

Un serveur web, difficile?

L ECM. Un exemple avec Alfresco. Paul HAING IR3 Le Jeudi 18 Janvier 2011

Personnes ressources Tice. Académie de Rouen

Acronis Backup & Recovery 10 Server for Linux. Guide de démarrage rapide

Qlik Sense Desktop. Qlik Sense Copyright QlikTech International AB. Tous droits réservés.

TP LINUX : MISE EN PLACE DU SERVEUR DE MESSAGERIE QMAIL

Service WEB, BDD MySQL, PHP et réplication Heartbeat. Conditions requises : Dans ce TP, il est nécessaire d'avoir une machine Debian sous ProxMox

Tuto 2 : Configuration Virtual box, Configuration et installation du serveur XiBO

contact@nqicorp.com - Web :

Contrôle distant par liaison SSH Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Cours Langage C/C++ Programmation modulaire

Installation et prise en main

Installation d ORACLE 10g sous Debian Etch

Ateliers Python+Qt : Premiers pas : Comment développez ses propres interfaces graphiques sur le RaspberryPi?

TP PLACO. Journées Mathrice d'amiens Mars 2010

PROCEDURE D'INSTALLATION OPENREPORTS

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Documentation pour administrateur Application AER

1) Installation de Dev-C++ Téléchargez le fichier devcpp4990setup.exe dans un répertoire de votre PC, puis double-cliquez dessus :

Tour d'horizon Bureau client Daemon's Aller plus loin

Premiers pas en Linux

Service Déposant: Procédure d installation. Page 1. Service déposant. Procédure d installation Version 2.3

Raccourcis ajoutés (alias) Dans Terminal (accès rapide avec la combinaison de touches Ctrl + Alt + T )

Stage SambaÉdu Module B. Jour 9 Outils complémentaires et problèmes récurrents divers

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Serveur proxy Squid3 et SquidGuard

Hadoop / Big Data. Benjamin Renaut <renaut.benjamin@tokidev.fr> MBDS

Installation de Windows 2003 Serveur

Titre: Version: Dernière modification: Auteur: Statut: Licence:

Manuel d'installation de Joomla 1.7

TP1 - Prise en main de l environnement Unix.

Sage 50 Version 2014 Guide d installation. Sage Suisse SA

Installation de Windows 2000 Serveur

INSTALLATION ET CONFIGURATION D'UN SERVEUR WEB SUR MAC OS X

Les méthodes utilisées pour compresser, puis décompresser un fichier pour en faire une archive, pour les débutants.

GLPI OCS Inventory. 1. Prérequis Installer un serveur LAMP : apt-get install apache2 php5 libapache2-mod-php5 apt-get install mysql-server php5-mysql

SAUVEGARDER SES DONNEES PERSONNELLES

PPe jaune. Domingues Almeida Nicolas Collin Leo Ferdioui Lamia Sannier Vincent [PPE PROJET FTP]

[GLPI & OCS Inventory] Yann VANDENBERGHE. AFPA Lomme

Universal Robots. Fiche Méthode : Installation du simulateur Polyscope

Sauvegarde et Restauration d un environnement SAS

Accès aux ressources informatiques de l ENSEEIHT à distance

Introduction au Système d Exploitation Unix/Linux

Virtualisation de Windows dans Ubuntu Linux

Oracle 11g. Installation et administration. Claude Duvallet 1/36

Symantec Backup Exec 12.5 for Windows Servers. Guide d'installation rapide

Manuel Utilisateur MISE A JOUR DU CLIENT SOFIE VERS LA VERSION 5. v0.99

Linux et le Shell. Francois BAYART. Atelier du samedi 20 Novembre

04/02/2014 Tutoriel. Lubuntu & glpi. thomas [NOM DE LA SOCIETE]

Installation software

Maarch V1.4

Introduction...3. Objectif...3. Manipulations...3. La Sauvegarde...4. Les différents types...4. Planification...4. Les outils...5

Enoncé du TP 8 Système

[Guide d'installation 2.0] [0.6] Première édition: [25/05/2005] Première édition anglaise : [ ] OpenOffice.org 2.0. Guide d'installation 2.

Maintenir Debian GNU/Linux à jour

Documentation Cobian

Formation en Sécurité Informatique

A Libre Ouvert. Médiathèque Jacques Ellul. le

Bon ben voilà c est fait!

Installation d OwnCloud 8.0 sous Debian Avec connexion des utilisateurs active directory et mise en place de HTTPS

Cloner un disque dur

UwAmp. Serveur d'evaluation

Transcription:

Chapitre 10 : Logiciels Installation de logiciels dans Linux IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 1

10.1 Installation manuelle Cette partie explique comment on compile et installe un logiciel à partir de ses sources IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 2

Un logiciel Unix? Un logiciel est composé de différents fichiers : Exécutable(s) dans /usr/bin Librairies dans /usr/lib Données : exemples, modèles... dans /usr/share Configuration dans /etc Documentation dans /man, /usr/share/doc IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 3

Fichiers «binaires» C'est ainsi qu'on nomme les exécutables : programmes et librairies Librairie = fichier contenant des fonctions déjà compilées et qu'on peut employer dans un prog : libc contient printf, scanf... libm contient sqrt, sin, log Pour le développement, ces librairies sont accompagnées de fichiers.h à inclure Ex : stdio.h, stdlib.h, unistd.h... pour libc IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 4

Emplacements Les librairies binaires sont situées dans : /lib/x86_64-linux-gnu : librairies de base Unix /usr/lib : librairies rajoutées par les logiciels /usr/local/lib : librairies installées par l'utilisateur Ce sont des fichiers en libbidule.so NB : il y a des liens libmachin.so.version vers libmachin.so.so = shared object : elles sont chargées en mémoire une seule fois et partagées entre les programmes. Emploi : gcc -o prog source.c -lbidule NB : la librairie libc.so est systématiquement rajoutée IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 5

Installer un logiciel Ces fichiers sont regroupés dans un fichier qualifié d'archive qu'il faut installer : Exemple : un.zip ou un.tgz C'est un fichier contenant d'autres fichiers Procédure : On extrait les fichiers de cette archive On les recopie aux bons endroits Comme cela peut être compliqué, il y a souvent un script d'installation IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 6

Logiciel source ou binaire En fait, il y a deux sortes de logiciels : Ceux qui sont fournis tout prêts : fichiers binaires exécutables, librairies, données... C'est le cas à chaque fois sur Windows. Ceux (les «open source») qui sont fournis avec seulement leurs sources par exemple en langage C ou C++. Il faut les compiler avant de pouvoir les installer. On va s'intéresser à ceux-là d'abord. IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 7

Point de départ On crée un logiciel à partir de fichiers sources On part d'un fichier.c comme ceux faits en algo gcc prog.c -o prog Un gros logiciel est composé de nombreux fichiers sources qui sont compilés séparément et regroupés Un seul source serait énorme et ingérable On appelle cela la compilation séparée IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 8

Exemple de compilation séparée partie1.c int calc(int v) { int v2 = v * v; return v2 + 1; } partie2.c extern int calc(int v); int main() { printf("%d\n", calc(3)); } lien (1) gcc -c partie1.c -o partie1.o (2) gcc -c partie2.c -o partie2.o (3) gcc partie1.o partie2.o -o prog Compilation Compilation Édition des liens IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 9

Compilation du logiciel Commandes de compilation (le cadre du bas du transparent précédent) : Présence d'options de compilation à ne pas oublier Autres commandes possibles que la compilation Possibilités pour faciliter la compilation : Script bash : exactement le cadre du bas précédent Makefile : presque comme le script bash Configure IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 10

Makefile Un Makefile est un fichier qui ressemble à un script, il indique comment compiler : prog: partie1.o partie2.o gcc partie1.o partie2.o -o prog partie1.o: partie1.c gcc -c partie1.c -o partie1.o partie2.o: partie2.c gcc -c partie2.c -o partie2.o IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 11

Compiler avec un Makefile Une fois que le Makefile est écrit (avec un éditeur de texte), il suffit de taper la commande make Attention le Makefile n'est pas exécutable! make lance la construction du logiciel en regardant les commandes inscrites dans le Makefile Vérifie s'il est besoin de compiler certains modules Le pb : il faut écrire le fichier Makefile adapté à chaque architecture Unix (il y a des variantes) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 12

Configuration automatique Alors, on trouve plutôt un script configure : Il vérifie que le système contient toutes les librairies nécessaires pour que le logiciel se compile et fonctionne Il crée automatiquement le fichier Makefile Mode d'emploi : dsl@box:~/$./configure nombreux tests... puis à la fin, génération du Makefile dsl@box:~/$ make IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 13

Installation automatique Le fichier Makefile peut aussi contenir les commandes d'installation : install: prog cp prog /usr/bin prog: partie1.o partie2.o gcc partie1.o partie2.o -o prog partie1.o:...... IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 14

Procédure Au final, une fois qu'on a les sources du logiciel et que ce logiciel est bien construit (présence du script configure), il suffit de faire ceci : (1)./configure (2) make (3) sudo make install Le sudo final est nécessaire car on modifie le système ; les autres commandes sont faites dans notre compte seulement IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 15

Dossiers d'installation Quand on procède ainsi, en général, le logiciel se retrouve installé dans /usr/local : Exécutables dans /usr/local/bin Librairies dans /usr/local/lib etc. Intérêt : on sait ce qu'on a installé Si on veut changer ce chemin :./configure --prefix=/usr IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 16

Obtention des logiciels On s'intéresse aux logiciels «Open Source» Les concepteurs les mettent à disposition sous forme d'une archive compressée à télécharger : Avec firefox : enregistrer la cible du lien sous Ou : wget URL de l'archive, exemple : wget http://lynx.isc.org/current/lynx2.8.7rel.2.tar.gz On récupère un fichier.tar.gz (ou similaire) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 17

Extraction des sources Une archive tar compressée s'extrait par : Si elle est du type.tar.gz ou.tgz (compression gzip) tar xfvz nom.tgz Si elle est du type.tar.bz2 (compression bzip2) : tar xfvj nom.tar.bz2 On obtient dans tous les cas (sauf si l'archive a été mal faite) un dossier contenant tous ses fichiers. Il peut y avoir un conflit avec l'utilisateur propriétaire des fichiers. IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 18

Bilan Au final, voici les étapes : (1) wget http://serveur/chemin/archive.tgz (2) tar xfvz archive.tgz => dossier sources (3) cd sources (4)./configure (5) make (6) sudo make install (7) Nettoyage : cd.. ; rm -fr sources archive.tgz IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 19

Problèmes de cette démarche Problèmes potentiels de ce type d'installation : Besoins de certaines librairies ou d'autres logiciels pas forcément installés => installations en cascade Erreurs si organisation des fichiers non standard (choix locaux ou variante Unix) Conflits potentiels avec les logiciels existants Difficulté à désinstaller (cas de fichiers partagés) Difficulté à faire évoluer (versions successives) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 20

10.2 Gestion de paquets Cette partie explique la gestion des logiciels par le système Linux Debian D'autres systèmes existent (ex : redhat) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 21

Nécessité d'une gestion globale Le mécanisme de paquets Debian permet de régler ces difficultés : Procédure d'installation très simple (1 commande) Gestion des dépendances entre logiciels Gestion des versions et des mises à jour La totalité du système Linux Debian est gérée par ce mécanisme IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 22

Dépôts Debian Il y a d'abord une base de données globale dans des serveurs qui sont appelés dépôts (repository) Exemple : http://ftp.fr.debian.org/debian/dists/jessie/ Il y en a plusieurs copies (clones) en cas de pb Un dépôt contient le catalogue de tous les logiciels compatibles de la distribution Il y a plusieurs dépôts : logiciels de base, logiciels non libres, multimédia... IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 23

Logiciels Debian Un logiciel Debian est appelé paquet (package) L'installation est fiable et sûre : Aucun conflit avec les autres paquets C'est assuré par les administrateurs de la distribution Toutes ses dépendances sont définies Si un paquet a besoin d'une librairie, elle est d'abord installée, et ainsi de suite pour cette librairie Un paquet est un fichier.deb qui est facilement téléchargé et installé IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 24

Principe général Votre machine se connecte aux dépôts pour obtenir la liste des paquets existants Le dépôt répond «il y a tels paquets avec telles versions, ils font telles tailles et ils dépendent de ces autres paquets...» Si on veut installer l'un de ces paquets, il y a une commande pour cela (voir plus loin) Debian regarde aussi s'il y a eu des améliorations des paquets qui sont installés chez vous IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 25

Configuration des dépôts La liste des dépôts est placée dans le fichier /etc/apt/sources.list Voici un exemple (mais pas réel!) : # commentaire deb http://archive.debian.org/debian wheezy main deb http://archive.debian.org/debian wheezy contrib deb http://mirror.aarnet.edu/debian wheezy non-free IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 26

Syntaxe de sources.list Chaque ligne de /etc/apt/sources.list est composée de : Le mot clé deb (pour les binaires) ou deb-src (pour les paquets sources) L'URL du dépôt La version de la distribution : wheezy, jessie, sid... Chaque version Debian a un petit nom de code Les listes à considérer : main, contrib, non-free... Ce sont différents groupes avec des licences différentes Selon les Debian, ces listes ont des noms différents IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 27

Ajout d'un dépôt Dans certains cas, on peut vouloir ajouter un dépôt : Bénéficier de paquets mis à jour plus fréquemment, ex : openshot dernière version Bénéficier d'un logiciel qui n'est pas standard, ex : tor En général, c'est un dépôt qui ne contient qu'un seul paquet On les appelle des Private Package Archive (PPA) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 28

Ajout d'un PPA Ces dépôts ont un nom du type ppa:identifiant Il y a une commande pour les ajouter : sudo add-apt-repository ppa:identifiant Exemple pour avoir blender dernière version : sudo add-apt-repository ppa:irie/blender Il y a la vérification du dépôt (pour ne pas introduire de virus) par une signature cryptée IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 29

Suppression d'un PPA Les PPA sont ajoutés à votre système sous la forme d'un sous-dossier dans : /etc/apt/sources.list.d Pour enlever un PPA de votre système, il faut seulement supprimer le dossier à son nom puis mettre à jour les paquets. IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 30

Mise à jour du catalogue local Lorsqu'on change la liste des dépôts, il faut reconstruire le catalogue des paquets de votre machine : Savoir ce qu'il y a comme paquets dans les dépôts Savoir ce que vous avez déjà comme paquets La commande est : sudo apt-get update Elle contacte les dépôts et télécharge leur liste IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 31

Liste des paquets des dépôts La commande apt-cache pkgnames affiche la liste de tous les paquets connus (mais pas forcément installés chez vous) C'est une liste très longue. On peut la limiter en mettant un préfixe en paramètre, exemple : apt-cache pkgnames libgnome liste tous les paquets connus dont le nom commence par ce mot (ex : libgnome = librairie gnome, l'interface graphique de Debian) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 32

Recherche d'un paquet La commande apt-cache search expr cherche les paquets qui sont relatifs à l'expression régulière (type grep) fournie : apt-cache search '[dd]oom' On obtient la liste des noms des paquets Mais parfois, le mot qu'on cherche est seulement dans la description (liste très longue si mal choisi) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 33

Recherche sur un fichier La commande dpkg-query --search fichier cherche le paquet installé qui contient le fichier indiqué Ex : dpkg-query --search /usr/bin/iconv Ça ne marche pas avec les paquets non installés, il faut alors aller, par exemple voir : http://packages.debian.org/stable/ IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 34

Liste des paquets installés La commande dpkg-query --list affiche la très longue liste des paquets installés ou ayant été installés sur votre système Les premières lettres indiquent l'état du paquet : i = installé, u=pas installé. Lire la doc pour les détails. On peut préciser le nom d'un paquet, ou une expression régulière : dpkg-query --list 'vi*' IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 35

Informations sur un paquet La commande apt-cache show nom affiche les informations sur le paquet indiqué apt-cache show vavoom On obtient : Version : numéro exact de réalisation Depends : paquets qu'il faut d'abord installer avant celui-ci Description : les infos sur le paquet IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 36

Détails d'un paquet La commande apt-cache showpkg nom affiche les détails techniques sur le paquet nom apt-cache showpkg genius-common On obtient : Version : numéro exact de réalisation Dependencies : paquets qu'il faut d'abord installer avant celui-ci Reverse depends : paquets qui ont besoin de celui-ci IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 37

Contenu d'un paquet installé La commande dpkg-query --listfiles paquet affiche la liste des fichiers d'un paquet Ex : dpkg-query --listfiles geany IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 38

Installation d'un paquet La commande sudo apt-get install nom télécharge et installe le paquet nom sudo apt-get install genius Avant de le télécharger et de l'installer, la commande vérifie s'il a des dépendances non installées et les installe aussi récursivement Les paquets sont tous téléchargés dans /var/cache/apt/archive avant d'être installés, ce sont des fichiers.deb IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 39

Suppression d'un paquet La commande sudo apt-get remove nom désinstalle le paquet nom L'option --purge supprime en plus ses fichiers de configuration (réinstallation => redépart de zéro) sudo apt-get remove --purge genius Le fichier.deb reste dans /var/cache/apt/archive sudo apt-get clean supprime aussi le fichier.deb IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 40

La commande apt-get (résumé) Cette commande possède des variantes : update : met à jour la liste des paquets install nom : installe le paquet nom remove [--purge] nom : supprime ce paquet upgrade : met à jour les paquets installés dist-upgrade : met à jour l'ensemble des paquets clean : enlève les fichiers.deb téléchargés autoremove : supprime les paquets devenus inutiles La commande aptitude est similaire IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 41

Tâches d'administration Installer un paquet : 1)sudo apt-get update 2)sudo apt-get install nom Mettre à jour le système (Windows Update) : 1)sudo apt-get update 2)sudo apt-get upgrade ou dist-upgrade 3)sudo apt-get autoremove 4)sudo apt-get clean IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 42

Interface graphique La commande apt-get existe avec une interface graphique plus sympathique : synaptic IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 43

10.3 Création d'un paquet Cette partie explique comment on crée un paquet Debian IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 44

Structure d'un paquet debian Un fichier.deb est une archive contenant : Un dossier DEBIAN contenant Un fichier control qui décrit le paquet Des dossiers qui ressemblent à l'arbre Unix et contenant les fichiers du paquet Sous-dossier usr, usr/bin, usr/lib, etc, usr/share... selon les endroits où on veut mettre des fichiers Cette archive est créée par dpkg-deb IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 45

Exemple lynx.deb Voici l'arborescence (minimale) qu'il faut créer : lynx DEBIAN usr control bin etc lynx lynx.cfg lynx.lss IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 46

Le fichier DEBIAN/control Package: lynx Version: 2.8.8 Section: web Priority: optional Architecture: amd64 Depends: libc6 (>= 2.8) nom du paquet numéro de version catégorie binaire 64 bits dépendances Maintainer: pierre <pierre@chezmoi> Description: navigateur en mode texte! mettre une ligne vide! IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 47

Création du paquet Il suffit ensuite de se placer au dessus de cette arborescence et de taper dkpg-deb --build paquet Cela crée un fichier appelé paquet.deb contenant tout ce qu'il y a dans le répertoire paquet On peut afficher ce qu'il y a dedans avec : dkpg-deb --contents paquet.deb dkpg-deb --info paquet.deb IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 48

Installation, désinstallation Pour l'installer, ce n'est pas apt-get mais : sudo dpkg --install paquet.deb Pour le désinstaller : sudo dpkg --remove paquet (sans l'extension.deb) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 49

Remarques Il s'agit du cas le plus simple : un binaire, un fichier de configuration Dans un cas plus élaboré, on peut rajouter des scripts bash dans DEBIAN, en plus de control : preinst : lancé avant d'installer le paquet postinst : lancé juste après avoir installé le paquet prerm : lancé juste avant de supprimer le paquet postrm : lancé juste après l'avoir supprimé Utilité : configurer le paquet, lancer un service... IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 50

Exemple de postinst Voici un exemple de ce qu'on peut mettre dans DEBIAN/postinst : #!/bin/bash chmod ugo+x /usr/bin/lynx chmod ugo+r /usr/etc/lynx.* Ne pas oublier de le rendre exécutable Ce script est lancé après la copie des fichiers du paquet aux endroits prévus (/usr/bin...) IUT Lannion - Systèmes - 1e année - Nerzic - 2014-15 51