Installation d'applications avec RPM
- L'utilitaire
RPM
(=RedHat Package Manager) gère une base de données des applications déjà installés. Il permet d'installer (et de désinstaller) facilement les nouvelles applications qui sont disponibles sous forme d'une fichier "paquetage". De plus, pendant une mise à jour RPM conserve les fichiers de configuration déjà présents. - Syntaxe des paquetages
La syntaxe générale des paquetages à installer sur les machines à base de processeur Intel estnom.version.i386.rpm
Pour connaitre toutes les (nombreuses) options, voir man rpm
- Pour utiliser la commande
rpm
de façon aisée et transparente, il est recommandé de passer par l'utilitaire graphiqueKPackage
Mais le recours à la ligne de commande s'avère parfois indispensable, si on ne dispose pas de serveur X, ou si KPackage n'est pas installé ! - Principales options en ligne de commande
rpm -q nomfichier.rpm
, pour obtenir de l'information
Cette commande suppose la connaissance exacte du nom du paquetage (y compris respect de la casse). Sinon utiliser la commanderpm -qa | grep -i nom
rpm -q nomfichier.rpm
donne le numéro de version du programme s'il est installé, sinon renvoie le message "package ... is not installed"rpm -qa | less
donne la liste des programmes rpm installésrpm -qa | grep kernel
pour chercher les programmes du noyaurpm -ql kernel | less
donne la liste de tous les fichiers inclus dans les paquetages désignés, en particulier les modules installés dans/lib/modules/...
rpm -i nomfichier.rpm
, commande générale d'installationrpm -i
cette commande, réservée àroot
, décompresse les programmes en les installant dans les bons répertoires.- les options
v et h
, facultatives, permettent de voir l'état d'avancement de l'installation. -
rpm -ivh -- nodeps nomfichier.rpm
, pour contourner le refus d'installer en raison de dépendances non satisfaites. rpm -ivh -- force nomfichier.rpm
, pour forcer l'installation en cas de conflit avec une version déjà installée- Exemple : pour installer les
HOWTO
en français, monter le cd-rom, aller dans/Mandrake/RPMS/
, et passer la commanderpm -ivh howto-french-*
rpm -U nomfichier.rpm
, commande de mise à jour d'un paquetage déjà installé.
L'ancienne version est d'abord retirée, tout en préservant les fichiers de configurationrpm -e nomfichier.rpm
, pour désinstaller (e=extract) un programme.
Cette commande controle les dépendances, et signale les autres programmes qui en ont besoin. Donc, attention à ne pas désinstaller des fichiers en dépendance.rpm -V nomfichier.rpm
, cette commande compare les fichiers installés avec les fichiers d'origine du paquetage, pour vérifier que tous les fichiers d'un programme sont présents et pour connaitre ceux qui ont été modifiés depuis
Sauvegarde et archivage avec tar
- Généralités La commande
- Syntaxe tar options fichiers
- -x extraire le contenu d'une archive
- -c créer une nouvelle archive
- -t afficher seulement la liste du contenu de l'archive, sans l'extraire
- -f fichier indiquer le nom du fichier archive
- -v mode bavard
- -z compresser ou décompresser en faisant appel à l'utilitaire gzip
- -y compresser ou décompresser avec l'utilitaire bgzip2
- --help aide
- -B pour éviter le blocage en utilisant un pipe
- Utilisation et exemples
- Création
tar -cvf sauve.toto.tar /home/toto
effectue la sauvegarde de tous les fichiers du répertoire/home/toto
dans le fichiersauve.toto.tar
placé dans le rép. couranttar -cvf /tmp/sauve.toto.tar /home/toto
idem, mais le fichier archive est placé dans le rép. /tmptar -c /home/toto > sauve.toto.tar
variante de la commande précédentetar -cvf sauve.toto.tar /home/toto
tar -cvzf sauve.toto.tar.gz /home/toto
effectue une compression en plus - Listage
tar -tvf sauve.toto.tar
pour connaitre l'arborescence regroupée dans le fichier archive, en particulier la place où sera installée son contenu lors du désarchivage.
L'utilitairemc
, avec sa fonction d'édition F3, permet d'effectuer le même listage de l'archive - Extraction
tar -xvf sauve.toto.tar
exécute le désarchivage dans le répertoire courant.
si l'archive a été créée partar -cvf sauve.toto.tar /home/toto
, il faut se placer à la racine / pour restorer exactement le rép. perso de toto.
décompresse et désarchivetar -xvfz sauve.tar.gz home/toto/tmp
ne désarchive dans l'archive, que le rép. désigné
tar
(=Type ARchive) est une ancienne commande Unix qui permet aisément d'archiver, c'est-à-dire de réaliser la sauvegarde d'un ensemble de fichiers en un seul fichier, que l'on peut également compresser. Certaines applications et des mises à jour (les noyaux Linux notamment) ne sont livrées que sous forme soit binaire, soit de source à compiler, dans ce format (bien que les applications soient de plus en plus disponibles précompilées, prêtes à l'emploi, sous format .rpm) fichiers :
désigne un ensemble de fichiers ou toute une arborescence précédée d'un chemin absolu (à partir de /) ou relatif. Il est recommandé d'indiquer un chemin absolu qui sera conservé dans l'archive et permettra ensuite un désarchivage correctement positionné (sinon il y a installation conformément au chemin relatif conservé, ce qui nécessiterait un exact positionnement dans le système de fichiers).
options :
Les 3 premières -c -x -t
spécifient les 3 types d'actions de la commande
Compression avec gzip
- La commande gzip Elle est utilisée pour compacter un fichier quelconque, et en particulier une archive
- Options
-1 ...-9
fixe le niveau de compression-d
décompresse-c
écrit sur la sortie standard au lieu de remplacer le fichier d'origine (possibilité d'utiliser un tube)-l
affiche des infos sur la dé/compression.-r
dé/compresse tous les fichiers du rép. passé en argument.- -
h
aide - Exemples
- gzip backup.tar /home/toto compresse backup.tar et le remplace par le fichier backup.tar.gz, d'une taille beaucoup plus réduite.
Attention, le fichier d'origine est donc détruit ! - gzip -9 *.txt compresse au maximum chaque fichier
.txt
séparément, et les renomme en ajoutant le suffixe.gz
- Autre utilitaire
tar
.Le décompactage se fait par la commande gunzip, ou de manière totalement équivalente par gzip -d.
Elle peut décompacter les fichies .gz, mais aussi les fichiers .z , .Z
bzip2
admet la même syntaxe que gzip
, mais compresse mieux avec un besoin accru de mémoire
TP 1
- Sous l'identité
root
, créer le rep./home/archives/stagex
. Pourquoi nécessairement est-ce le travail de root ? - Sous quel masque root a t-il créé ce rép ?
stagex
va t-il pouvoir y archiver ses documents ? - Faire ensuite le nécessaire pour que l'user
stagex
puisse se réserver exclusivement l'accès et l'usage de son rép. personnel d'archivage stagex
archive dans/home/archives/stagex
, sous le nomsauve.stagex.tar
, son rep. personnel/home/stagex
.- Puis il effectue maintenant des sauvegardes compressées, par gzip et bzip2, respectivement sous les noms
sauve.stagex.tar.gz
etsauve.stagex.tar.bz2
- Vérifier l'existence et comparer les tailles des 3 archives obtenues.
En vérifier les contenus et le point de désarchivage partar -tvf ...
ou mc stagex
_très maladroit_ détruit son rép. personnel /home/stagex- Heureusement, il peut effectuer un sauvetage ! comment ? aidez-le !
TP 2
- Se connecter à la page d'accueil du serveur WEB (Apache), à l'URL http://p00.fctice77.fr
- Sur une station Linux locale, télécharger le fichier
cours-linux.tgz
et le placer dans/home/stagex/LinuxCours
, dans le répertoire personnel de l'utilisateurstagex
- Décompresser, puis désarchiver le fichier. Relever les tailles successives, puis passer la commande
du .
. Consulter localement ce support de cours. - Mêmes questions sur une station Windows, à partir du fichier
cours-linux.zip
Réponses aux questions
stagex
fasse partie du même groupe de root, stagex
est un autre user, sans droit décriture, c'est-à-dire de création de sous-rép. /home/archives/stagex
doivent être créés par root, à charge ensuite que celui-ci accorde les permissions totales à chacun si les archives sont publiques, ou accorde le droit de propriété de chaque stagex
sur son rép. d'archivage /home/archives/stagex
. On peut évidemment vérifier que sans celatar -cvf /home/archives/stage1/sauve.stage1.tar /home/stage1
provoque l'erreur Permission non accordée
Root
change les propriétés et les droits : chown stagex /home/archives/stagex
chgrp stagex /home/archives/stagex
stagex
se réserve tous ls droits exclusifs :chmod 700 /home/archives/stagex
/images
, le fichier cours-linux.tgz
a été créé par la commande :tar czvf cours-linux.tgz *
, puis il a été déplacé dans /home/httpd/html/archives http://p00 charge la page d'accueil du serveur
Dans le menu contextuel (clic droit maintenu) sur le lien, choisir Enregistrer le lien sous dans le répertoire
/home/stagex/LinuxCours
tar xzvf cours-linux.tgz