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
rpmde 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 nomrpm -q nomfichier.rpmdonne le numéro de version du programme s'il est installé, sinon renvoie le message "package ... is not installed"rpm -qa | lessdonne la liste des programmes rpm installésrpm -qa | grep kernelpour chercher les programmes du noyaurpm -ql kernel | lessdonne 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 -icette 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
HOWTOen 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/totoeffectue la sauvegarde de tous les fichiers du répertoire/home/totodans le fichiersauve.toto.tarplacé dans le rép. couranttar -cvf /tmp/sauve.toto.tar /home/totoidem, mais le fichier archive est placé dans le rép. /tmptar -c /home/toto > sauve.toto.tarvariante de la commande précédentetar -cvf sauve.toto.tar /home/tototar -cvzf sauve.toto.tar.gz /home/totoeffectue une compression en plus - Listage
tar -tvf sauve.toto.tarpour 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.tarexé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/tmpne 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 ...-9fixe le niveau de compression-ddécompresse-cécrit sur la sortie standard au lieu de remplacer le fichier d'origine (possibilité d'utiliser un tube)-laffiche des infos sur la dé/compression.-rdé/compresse tous les fichiers du rép. passé en argument.- -
haide - 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
.txtsé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 ?
stagexva t-il pouvoir y archiver ses documents ? - Faire ensuite le nécessaire pour que l'user
stagexpuisse se réserver exclusivement l'accès et l'usage de son rép. personnel d'archivage stagexarchive 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.gzetsauve.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.tgzet 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