Chrooter apache
Ajout disque dur
Ajout carte
Audit des disques durs
Gestion des peripheriques
Disquette d'installation
Ajout d'un scanner
Graver en ligne de commande
Astuces
Astuces en Bash
Configuration reseau
Dns
Serveur cvs
Proxy squid 
Installation serveur ftp
Installation qmail 
Installation serveur courrier sous debian
Outil TCP/IP 
Le serveur samba
Connexion a distance securisee
Client/serveur vnc
Configurer apache
Dyndns
Chiffrer un fichier/dossier
Securiser son poste
Mur pare feu pas a pas
Authentification ht-access
Surveillance de serveur CACTI
Snort
Snort-inline
Securiser Apache avec mod_security
Filtrage squid/squidguard/dansguardian
Auditer son site web
Sécuriser son linux
Installer un Lamp avec ssl
Contrer les scans de ports
Traitement anti-spam
Installer/Utiliser tripwire
Utilisation de lilo
Les commandes Linux
Le multi-tache
Le crontab
Exploration de la configuration
Quotas
Messagerie
Installer une application
Debugger ses applications
Le format RPM
Mise a jour du noyau
Qemu
Tour d'horizon des principaux p2p
Récupération du système
Bips d'un pc
Astuces windows
Table Ascii
Lamerland
Conversion de fichiers musicaux
hakin9
Secureroot.com
Hackerthreads.org
Defcon
Hackerlounge
Les derniers exploits
Tous les codes sources
Securite sous Linux
Les logiciels libres quotidiens
Ezine divers
Madchat
Textes divers
Archives
 
Toutes les traductions
Toutes les traductions
Hackin9

Il y a actuellement 5 visiteurs connectés sur le site !

Google
Installer une application sous linux
Installer une application sous linux

 

Les differents types d'archive
Les packages rpm
Decompresser des archives
Compiler le programme
Pour avoir une chance de compiler
Ça ne compile pas !

 

Les différents types d'archives:

Basiquement il existe 2 façons de récupérer une application fonctionnant sous Linux:

* Sous forme de paquetage RPM. Il s'agit d'un fichier portant l'extension .rpm permettant une installation automatique
* Sous forme d'archive. Il s'agit de fichiers compressés comportant l'extension .tar.gz, .gz ou .tar.bz2

Dans le second cas il s'agit généralement des sources du logiciels. Il vous faut donc compiler le programme sur votre machine afin de rendre son exécution possible.

Les packages RPM :

RPM (Red Hat Package Manager) est, comme son nom l'indique (en anglais), un outil de gestion de packages (ensemble de fichiers constituant une application) pour Linux. Il permet d'installer des applications, ainsi que les supprimer facilement.
Grâce à une commande simple, les fichiers s'installent directement dans les "bons" répertoires.
RPM a quatre utilités supplémentaires:

* Mettre à jour les packages: Lorsque vous récuperez une nouvelle version d'un package, il n'est pas nécessaire de désinstaller la version précédente avant d'installer la nouvelle. En effet RPM permet une mise à jour automatique des packages!
* Interrogation: RPM permet effectivement de connaître le contenu d'un package, mais il permet aussi de savoir à quel package appartient un fichier.
* Vérification du système: RPM permet de vérifier l'intégrité d'un package (c'est-à-dire de déterminer si tous les fichiers que contenait le package sont bien installés dans le système.
* Accès aux sources: RPM met à disposition des utilisateurs d'un package les sources, ainsi que les instructions nécessaires à la compilation au cas où des utilisateurs voudraient modifier les fichiers du package.

Voici les commandes des 5 fonctionnalités principales:

* Installation: pour installer le package "mpg123-0_59p-1_i386.rpm" il suffira de taper:
rpm -ivh mpg123-0_59p-1_i386.rpm
Si le package a déjà été installé précédemment le système vous affichera le message package mpg123-0_59p-1 is already installed (L'option -replacepkgs permet de forcer l'installation)
* Suppression: pour supprimer un package il suffit de taper
rpm -e mpg123
(Où mpg123 représente le nom du package à désinstaller, ce sera un autre nom pour vous...)
* Mise à jour: Pour mettre à jour un package (ce qui part du principe qu'une version précédente du package a déjà été installée...) il faut taper la commande:
rpm -Uvh mpg123-0_59p-1_i386.rpm
* Interrogation : Il existe plusieurs commandes visant à interroger un ou plusieurs packages selon divers critères. Les voici:
o Pour connaître des détails sur un package particulier:
rpm -q mpg123-0_59p-1_i386.rpm
o Pour interroger tous les packages existants:
rpm -qa
o Pour interroger les packages contenant un fichier particulier:
rpm -f NomDuFichier
o Pour avoir des informations sur un package:
rpm -p NomDuPackage
* Vérification: Cete option permet de comparer les différences entre la package installé et le package tel qu'il devrait être. Les commandes sont
o Pour vérifier vis-à-vis d'un fichier particulier:
rpm -Vf NomDuFichier
o Pour vérifier tous les packages:
rpm -Va
o Pour vérifier un package particulier:
rpm -Vp NomDuPackage

Lorsqu'il n'y a pas d'erreur, le système n'affiche rien. Si par contre une erreur a été détectée dans le package installé, le système renvoie une chaîne de huit caractères indiquant le type d'erreur. Voici la signification des caractères
o D: Périphérique
o G: Groupe
o L: Lien symbolique
o M: Mode (Permissions)
o T: date du fichier
o S: Taille du fichier
o U: Utilisateur

Décompresser des archives 

Les programmes sont la plupart du temps fournis compressés, c'est-à-dire sous un format plus compact permettant de réduire la taille du programme, notamment pour faciliter son téléchargement, c'est le programme GZIP qui permet ce compactage. Plusieurs fichiers peuvent aussi être simplement regroupés en une seule archive pour faciliter leur transport, c'est le rôle du programme TAR. Enfin, les fichiers peuvent être compressés et regroupé en une archive portant l'extension .tar.gz.
Les données compressées existent sous plusieurs formats:

* Tar: les données sous ce format portent l'extension .tar
pour décompresser ce type de données il faut taper en ligne de commande:
tar xvf nom_du_fichier.tar
* Gzip: les fichiers compressées en Gzip possèdent l'extension .gz
pour décompresser ces fichiers il faut taper en ligne de commande:
gunzip nom_du_fichier.gz
* Bzip2: les fichiers compressées en Bzip2 possèdent l'extension .bz2
pour décompresser ces fichiers il faut taper en ligne de commande:
bzip2 -d nom_du_fichier.bz2
* Tar/GZip (on parle généralement de Tarball): les données compressées en TAR et en GZIP portnet l'extension .tar.gz
Elles peuvent être décompressées successivement par les deux moyens énoncés ci-dessus ou à l'aide de la commande:
tar zxvf nom_du_fichier.tar.gz
* Tar/BZip2: les données compressées en Tar et en Bz2 portnet l'extension .tar.bz2
Elles peuvent être décompressées successivement par les deux moyens énoncés ci-dessus ou à l'aide de la commande:
tar yxvf nom_du_fichier.tar.bz2
* Compress: les fichiers archivés par le programme Compress portent l'extension .Z, ils peuvent être décompressés par le programme Uncompress.


 

Compiler le programme:

Lorsque le programme est une archive (et non un RPM) il est généralement nécessaire de compiler les sources.
Bien que la compilation se fasse pratiquement toujours de la même façon pour la majorité des applications, il est vivement conseillé de lire le fichier INSTALL ou README pour connaître exactement les commandes nécessaires à la compilation du programme.
Dans un premier temps il faut exécuter la commande:
./configure
Cette commande est un script permettant d'adapter le programme à la machine courante. Les options de configure sont:
* Pour obtenir de l'aide:
./configure --help
* Pour installer l'application dans un répertoire spécifique:
./configure --prefix="repertoire"
Dans un second temps il faut compiler le programme, grâce à la directive
make
Cette commande peut prendre plusieurs minutes/heures selon votre configuration et le logiciel à compiler. En cas de probleme, la compilation s'arretera en vous renvoyant un message d'erreur. Si tout se passe normalement de nombreuses lignes vont être affichées, puis le programme reviendra à la ligne de commande.
Après avoir compilé l'application, il est possible de l'installer
L'installation de l'application doit s'effectuer en tant que superutilisateur (root)
Pour installer l'application, la syntaxe suivante est généralement utilisée:
make install
En cas d'échec lors de la compilation, il faut nettoyer les fichiers makefile ayant été créés automqtiquement lors de la compilation avant de recommencer une nouvelle compilation. Cela se fait grâce à la commande:
make clean
Une fois toutes ces étapes franchies, votre programme devrait être exécutable et se trouver soit dans le répertoire spécifié lors de l'installation, ou bien généralement dans /usr/local/nom_du_programme.

Pour avoir une chance de compiler

vous devez avoir installé les compilateurs (gcc, make...) et toutes les bibliothèques de développement nécessaires (souvent nommées *devel.*).

Problème : certaines distributions ne les fournissent pas en standard (Caldera, Mandrake sur le 2° cdrom seulement, Corel...), ou vous pouvez aussi avoir une mauvaise version.

Vous devriez trouver les bibliothèques manquantes sur http://www.rpmfind.net si vous utilisez un système basé sur rpm.

Certains programmes peuvent aussi avoir besoin des sources du noyau (/usr/src/linux) ou des sources de XFree (XFree86-devel*). Vous pourrez alors découvrir les joies du développement.

astuce vous devriez toujours jeter un coup d'oeil au configure situé dans le répertoire d'installation (vous aurez des infos en tapant ./configure --help). Vous pouvez y voir des options qui peuvent être indispensables dans votre cas. Vous les rajouterez sur la ligne de commande. Exemple : ./configure --prefix=le_rep_d_install pour forcer l'installation à se faire à un endroit précis.

NB, pour transformer un source en binaire rpm , faites rpm .tb ._archive_source, à condition que celle-ci contienne un specfile. Tous les détails -en anglais- sur la construction d'un rpm et de son specfile à http://www.linux-mandrake.com/en/howtos/mdk-rpm.

Si tout va bien, il n'y a plus qu'à lancer le programme (en tapant son nom au prompt, puis en lui créant un raccourci). Sinon, lisez soigneusement les fichiers d'installation, le configure et le Makefile. Mettez à jour les librairies si on vous le réclame.

Si vous n'y arrivez toujours pas (c'est fréquent) : lisez bien le README ou le INSTALL, il y a souvent des modifications à faire dans le Makefile, puis mailez à l'auteur ou à un newsgroup en précisant bien vos versions de librairies, de gcc, de distribution et de kernel.

astuce Une solution est souvent de mettre les bons paths pour les librairies utilisées par le compilateur. Éditez le fichier /etc/ld.so.conf, puis placez-y (pour un programme utilisant QT) : /opt/kde/lib (n'oubliez pas d'installer qt-devel ), ou (pour un programme utilisant gtk) /usr/include/gtk. Enfin mettez à jour par ldconfig.


Ca ne compile pas

Si la compilation plante sur un message du genre undefined reference to xxx, créez dans le répertoire d'où ce message a été lancé un fichier bidon xxx (touch .xx) ou, mieux, mettez-y le fichier réclamé.

Si la compilation plante sur un missing .eparator, il doit s'agir d'un problème de tabulations. Des tabulations ont dû être remplacées accidentellement (lors d'un copier-coller par exemple) par des espaces. Faites la manip inverse.

S'il vous manque des librairies, mais vous ne savez pas sous quel nom elles se trouvent sur le cdrom, tapez dans le répertoire des rpm du cdrom la ligne suivante :

for i in *.rpm;do rpm -qlp $i|grep yacc>/dev/null $$ echo $i;done (dans cet exemple, on cherche le rpm qui contient yacc ). Cette astuce est bien entendu valable dans tous les cas où vous cherchez à identifier un paquetage contenant un fichier.

En désespoir de cause : make .i pour terminer la compil en ignorant les erreurs.

Exemple d'installation difficile : Gimp 1.1.x
L'installation de Gimp dépend de gtk ., qui dépend lui-même de glib. Bien sûr, vous risquez fort d'avoir déjà des anciennes versions de ces programmes. Donc comme pour KDE, commencez par tout retirer (rpm .e --nodeps ..).
RETIREZ AUSSI glib-config et gtk-config, sous peine de conflit de version. À moins que vous ne maîtrisiez assez bien la configuration des programmes pour obliger la nouvelle installation à se faire dans les anciens paths. Ensuite, compilez classiquement (./configure && .ake &&make install) glib, gtk +, puis gimp.
Arrangez-vous pour que glib-config et gtk-config soient dans le PATH.


Sources de l'article


 

Forum d'entraide
Les news du site
Formulaire en php
Administrer un serveur Mysql
Session en php
Gerer ses bases mysql
Les bases php
Securiser ses scripts PHP
Controler ses programmes avec RATS
Convertir une base sql en utf8
Astuces php
Python rapide
Tutorial Python
Tutorial Perl
Tutorial Perl complet
Tutoriel ruby
Tutoriel C
Introduction à gawk
Filtres et utilitaires
Find
Programmation Shell
Ecriture de scripts bash
Expressions regulieres
Vi
Introduction a Javascript
Compiler avec gcc
Tutoriel Assembleur
Guide du cracking pour débutant
Assembleur
Manual Unpacking
Différentes failles Web
Arp spoofing dans un réseau switché
Les intrusions
Les attaques externes
Defacage
Defacage complet
Buffer overflow
Netcat
Injection sql
Injection sql(suite)
John the Ripper
Spoofer un email
Utiliser google
La faille system
Usurper une identité
Le rooting
Shellcode sous Unix
La faille race condition
La faille xss
La faille xss (2)
Attaques sur un routeur
Azureus pas-a-pas
Lire les news de Linux-pour-lesnuls.com au format RSS
Gestion des paquets debian
101 commandes debian
Effet neon dans GIMP
Effet vapeur dans GIMP
Cours fonctionnalités de GIMP
Ensemble
Divers