web-dev-qa-db-fra.com

Sur quelle partition / usr doit être sur

Selon this le document /bin et /sbin contient un minimum de fichiers pour l’amorçage et la réparation du système et /usr est une partition distincte permettant de la démonter facilement pour la réparation.

Mais comme this info sur la partition, tous les répertoires essentiels au démarrage (à l'exception de /boot) doivent se trouver sur la même partition où / est. Ces répertoires essentiels sont /etc et /usr

Je trouve ces deux documents contradictoires.

  1. Selon le premier lien /bin et /sbin sont essentiels au démarrage, alors pourquoi seuls /etc et /usr sont dits essentiels par second lien? Est-il vrai que le système peut démarrer en mode mono-utilisateur en utilisant /bin et /sbin uniquement, mais pour le mode complet /usr et /etc sont également requis?
  2. Pourquoi est-il essentiel que /usr et /etc se trouvent sur la même partition que la racine, mais pas pour /boot, /bin et /sbin
  3. Comment se fait-il que /usr puisse être rendu en lecture seule? Autant que je sache, /usr/bin est utilisé pour stocker les fichiers binaires par les gestionnaires de paquets.
  4. Aussi quelque part, j'ai lu que /bin et /sbin contiennent du code pour monter d'autres systèmes de fichiers, si c'est le cas qui monte le /? IS c'est fait par la bouffe?
1
krrish

Vous êtes en train de lire une documentation de 2006, l’idée que leurs pratiques mentionnées semblent contradictoires n’est pas surprenante.

Cependant, répondons à cela étant donné l'état actuel des distributions Linux.

  • / sbin est le binaire du système
  • / etc est une donnée de configuration système spécifique à l'hôte
  • / usr est partagé, lecture seule des données
  • / var est une donnée variable persistante spécifique à l'hôte
  • / run est une donnée variable au moment de l'exécution (depuis le dernier démarrage)

Étant donné que permet de considérer chacun de vos points:

  1. Cela est dû au fait que les gestionnaires de services, y compris init.d, ont besoin de la configuration de l'hôte et du partage/utilisateur/utilisateur/usr/bin pour les programmes. Le deuxième lien implique de démarrer normalement, alors que le premier lien fait référence à des tâches administratives telles que la récupération du système. Les deux sont corrects compte tenu du contexte.

  2. Les systèmes Linux modernes n’ont pas réellement de/bin, mais plutôt dans/usr/bin, ce qui est considéré comme essentiel dans le deuxième document./boot n'a pas besoin d'être sur la même partition car il contient des données pour le chargeur de démarrage et Linux n'en a pas nécessairement besoin lors du démarrage après le chargeur de démarrage. En outre,/boot sera généralement une partition séparée avec un système de fichiers pris en charge par le chargeur de démarrage. Cela laisse juste/sbin, le noyau linux appellera init après un certain point, mais les systèmes de fichiers sont montés dans le cadre de initram. Les informations contenues dans/etc/fstab peuvent contenir l'emplacement où/sbin/doit être monté avant l'appel de/sbin/init, il peut donc être séparé.

  3. Le second lien ne dit pas réellement que/usr doit être monté en lecture seule, mais qu'il est destiné à être en lecture seule du point de vue des applications. Toutefois, les fichiers sont toujours modifiés dans le cadre des tâches administratives d'installation et de mise à jour du logiciel. Certains outils, tels que le gestionnaire de paquets, permettent d’écrire des données ici.

  4. GRUB est conscient des systèmes de fichiers, même si votre phrase est intéressante à noter, cela n’aurait pas vraiment d’importance du point de vue de Linux. Par exemple, sur Android, le noyau (programme système) et initram sont stockés dans des partitions sans système de fichiers. Un chargeur de démarrage charge alors Linux et initram en mémoire et appelle Linux. Linux montera alors la racine à partir de l'initram. Le programme initram contient les modules de noyau et les logiciels nécessaires pour accéder au matériel et monter le système de fichiers racine. Aucune configuration n'est nécessaire pour cela car il a été transmis par le chargeur de démarrage. Mais ensuite, il aura accès aux fichiers tels que/etc/fstab, mount/sbin si nécessaire avant d'appeler/sbin/init.

2
jdwolf

Selon la documentation Ubuntu

Les répertoires suivants ne doivent JAMAIS être placés dans leurs propres partitions distinctes:

  • / bin - Ce répertoire contient les fichiers exécutables accessibles au système par la plupart des utilisateurs.
  • / sbin - Ce répertoire contient les exécutables utilisés pour les fonctions système essentielles et utilisés par l'administrateur système pour la maintenance du système.
  • / proc - Il s'agit d'un répertoire d'utilisation du système contenant des informations sur les processus. Presque jamais accédé par un utilisateur.
  • / dev - Ce répertoire contient les liens créés par le système avec votre matériel installé, et comme/proc, il n'est presque jamais utilisé directement.

Tout autre répertoire peut être placé sur une partition séparée à condition que son montage soit correctement noté dans/etc/fstab. Toutefois, cela peut affecter considérablement les performances.

Grub Charge le noyau et initramfs (système de fichiers RAM initial). C'est initramfs qui vérifie et monte les lecteurs, puis lance le processus de démarrage.

Remarque: /etc contient les fichiers de configuration du système. y compris fstab, qui spécifie les points de montage. Je ne suis pas sûr de savoir comment initramfs gère cela. Mais je dirais que /etc devrait être ajouté à la liste, car une recherche superficielle sur le Web indique que la modification des fichiers de démarrage ou du noyau est nécessaire pour permettre le déplacement de /etc vers une partition séparée.

Référence

https://help.ubuntu.com/community/DiskSpace

2
ravery

Il s’agit d’une régression introduite par systemd, qui présente une intégration plus étroite dans l’environnement de bureau et requiert donc des bibliothèques et des démons au démarrage qui, sur un système Unix traditionnel, ne seraient pas considérés comme faisant partie du système principal minimal.

Avec le matériel moderne, une partition séparée /usr ne vaut généralement pas la peine pour la plupart des utilisateurs, ce qui est considéré comme un compromis acceptable.

1
Simon Richter