4.3. Structure du système de fichiers
Red Hat Enterprise Linux 7 apporte deux modifications majeurs à la structure du système de fichiers.
- Les répertoires
/bin
,/sbin
,/lib
et/lib64
se trouvent désormais sous le répertoire/usr
. - Le répertoire
/tmp
peut désormais être utilisé en tant que système de stockage de fichiers temporaires (tmpfs
).
4.3.1. Nouvelle structure pour le système de fichiers racine
Traditionnellement, seul le contenu nécessaire minimum était inclus dans les répertoires
/bin
et /lib
afin d'éviter de ralentir le processus de démarrage. certains utilitaires devaient se trouver au niveau de la racine (/
) afin de monter la partition /usr
. Ceci a créé une situation dans laquelle les autres utilitaires étalaient leur contenu sur de multiples niveaux de répertoires, par exemple dans /bin
et /usr/bin
.
Red Hat Enterprise Linux 7 déplace les répertoires
/bin
, /sbin
, /lib
et /lib64
dans /usr
. Comme le système de fichiers /usr
peut désormais être monté par initramfs
plutôt que par des utilitaires dans les répertoires de niveau racine, il n'est plus nécessaire de diviser le contenu des paquets entre les deux niveaux de répertoires. Ceci permet d'avoir un système de fichiers racine bien plus petit, ce qui offre la possibilité aux systèmes de partager l'espace disque de manière plus efficace et d'avoir des systèmes plus facile à maintenir, plus flexibles et plus sécurisés.
Pour amoindrir l'impact de ce changement, l'ancien répertoire
/bin
est désormais un lien symbolique vers /usr/bin
, /sbin
est un lien symbolique vers /usr/sbin
et ainsi de suite.
4.3.1.1. Préparer votre système pour la mise à niveau
Si
/usr
est actuellement sur une autre partition, assurez-vous que la partition /usr
possède suffisamment d'espace pour des copies de /bin
, /sbin
, /lib
et /lib64
.
Si
/usr
ne se trouve pas sur une autre partition, assurez-vous que le répertoire /
possède suffisamment d'espace pour les copies de secours de /bin
, /sbin
, /lib
et de /lib64
.
Si
/var
se trouve sur une autre partition, vous devrez manuellement convertir /var/run
et /var/lock
en liens symboliques, comme suit :
# mv -f /var/run /var/run.runmove~ # ln -sfn /run /var/run # mv -f /var/lock /var/lock.lockmove~ # ln -sfn /run/lock /var/lock
Lorsque vos préparatifs sont terminés, veuillez consulter le Guide d'installation Red Hat Enterprise Linux 7 pour obtenir des instructions sur le processus de mise à niveau.
4.3.1.2. Vérifier la réussite d'une mise à niveau
Après avoir effectué le processus de mise à niveau, il est important de vérifier que celle-ci a fonctionné comme prévu.
- Veuillez vérifier que les liens symboliques suivants existent :
/bin
est un lien symbolique vers/usr/bin
/sbin
est un lien symbolique vers/usr/sbin
/lib
est un lien symbolique vers/usr/lib
/lib64
est un lien symbolique vers/usr/lib64
/var/run
est un lien symbolique vers/run
/var/lock
est un lien symbolique vers/run/lock
Si, comme prévu, les répertoires listés sont des liens symboliques, deux vérifications supplémentaires seront requises. - Veuillez vérifier la sortie de la commande de rechercher suivante :
# find /usr/{lib,lib64,bin,sbin} -name '.usrmove'
Les fichiers ou répertoires affichés en réponse à cette commande n'ont pas pu être copiés sur/usr
car un fichier ou un répertoire avec le même nom était déjà présent dans/usr
. Vous devrez résoudre ces conflits de dénomination manuellement. - Veuillez vérifier quels fichiers vous souhaitez préserver dans les répertoires suivants :
/var/run.runmove~
/var/lock.lockmove~
Si l'un des répertoires listé n'est pas un lien symbolique, vous devrez suivre le processus de récupération décrit dans Section 4.3.1.3, « Récupération après un échec de mise à niveau ».
4.3.1.3. Récupération après un échec de mise à niveau
Le processus de mise à niveau peut échouer pour de nombreuses raisons. Veuillez vérifier la sortie des commandes suivantes pour voir ce qu'il s'est passé :
# dmesg # journalctl -ab --full
Si aucune erreur n'est visible, vérifiez que :
/
est inscriptible/usr
est inscriptible/usr
est monté correctement/
possède suffisamment d'espace/usr
possède suffisamment d'espace/var
est monté dans l'outil rhelup
Veuillez contacter le support Red Hat si vous avez besoin d'aide supplémentaire.