Pourquoi placer des éléments autres que / home sur une partition séparée?

53

Ainsi , récemment , un installateur Debian 5.0.5 m'a offert d'avoir séparés /usr, /home, /varet les /tmppartitions (sur un disque physique).

Quelle est la raison pratique pour cela? Je comprends que cela /homepeut être avantageux de mettre sur une partition séparée, car les fichiers utilisateur peuvent être chiffrés séparément, mais pourquoi pour autre chose?

Alex B
la source
10
Une autre bonne raison de rester /homeséparé est que cela vous permet de réinstaller votre système et / ou de changer de distribution librement sans perdre vos fichiers personnels.
David Z
4
@ David Zaslavsky: Je ne le recommanderais pas pour changer de distribution. comme le plus souvent les fichiers de configuration cachés dans votre répertoire de base seront en conflit.
Troubadour
7
@Troubadour: En fait, je ne le pense pas. Ces fichiers de configuration sont placés là par des applications spécifiques et n'ont généralement rien à voir avec la distribution en cours. Ainsi, par exemple, le contenu de ~/.mozilla/firefoxpeut être utilisé aussi bien par Firefox sous Ubuntu que par Fedora ou Gentoo. ~/.bashrcaura toujours le même effet sur Bash, quel que soit le système sous-jacent que vous utilisez. J'ai fait pas mal de changement de distribution et je n'ai jamais vraiment eu de problème avec ces fichiers de configuration.
David Z
3
@ David Zaslavsky: Je pouvais constater des problèmes si la nouvelle distribution utilisait des versions antérieures d'applications, car elle ne savait peut-être pas comment lire ces fichiers de configuration. Cela étant dit, je n'ai pas essayé de faire la même chose moi-même.
Intuition le
Autre raison, si vous utilisez à la fois un disque dur et un disque SSD, vous voudrez peut-être installer l’essentiel de l’installation sur le disque SSD, mais vous voudrez, par exemple, placer / home et / var sur le disque dur pour éviter un nombre trop élevé. de écrit au SSD.
Kevin

Réponses:

55
  1. Minimiser les pertes: Si /usrest sur une partition séparée, un endommagé /usrne signifie pas que vous ne pouvez pas récupérer /etc.
  2. Sécurité: /ne peut pas toujours être ro (il /rootpeut être nécessaire de l'être, etc.) mais /usrpeut. Il peut être utilisé pour faire du ro autant que possible.
  3. Utilisation de FS différents: je souhaiterai peut-être utiliser un système différent pour /tmp(non fiable mais rapide pour de nombreux fichiers) et /home(doit être fiable). Similaire /varcontient des données alors /usrque la /usrstabilité ne peut pas être sacrifiée mais pas tellement /tmp.
  4. Durée de fsck: Des partitions plus petites signifient que vérifier une est plus rapide.
  5. Mentionner le remplissage des partitions, bien que l'autre méthode est des quotas.
Maciej Piechotka
la source
23

Une option distincte /usrpeut être utile si plusieurs machines partagent le même système d'exploitation. Ils peuvent partager un seul central /usrau lieu de le dupliquer sur tous les systèmes. /usrpeut être monté en lecture seule.

/varet /tmppeut être rempli par les programmes utilisateurs ou les démons. Par conséquent, il peut être sûr d’avoir ces partitions dans des partitions séparées, ce qui empêcherait que /la partition racine soit saturée à 100% et ne frappe pas votre système. Pour éviter d'avoir deux partitions distinctes pour celles-ci, il n'est pas rare de voir /tmpun lien symbolique vers /var/tmp.

Didier Trosset
la source
Je suppose que je peux comprendre / var et / tmp, mais étant donné que le programme d’installation a proposé de partitionner un seul disque, l’utilité d’un disque séparé /usrest assez limitée, alors?
Alex B
Il vous permet de partager /usrvia NFS vers d'autres systèmes. Mais vous pouvez le partager même s’il ne s’agit pas d’une partition séparée, c’est vrai ... penser à haute voix ... Le montage en lecture seule est-il une raison suffisante?
Didier Trosset
Comment faites-vous des mises à jour avec ce type de configuration? Souvent, les paquets (du moins sous Linux) apportent des modifications aux fichiers des répertoires locaux du système, par exemple au format /etc.
Intuition le
+1 pour le montage / usr en lecture seule. Remontez-le avant de faire les mises à jour.
LawrenceC
13

Parce que les utilisateurs ordinaires peuvent provoquer des écritures /varet /tmp, donc, potentiellement causer des problèmes à l'ensemble du système. De cette façon, les processus utilisateur peuvent se remplir /varet /tmp, mais pas la fs racine. Un fichier séparé /usrest utile pour /usrNFS ou d’autres fs distants.

(J'espère que c'est clair, je n'ai pas encore bu de café)

KellyClowers
la source
La première phrase est la meilleure explication, merci.
greenoldman
11

Le problème réside dans le fait qu’un système de stockage racine complet rend le système Linux inutilisable dans une mesure telle que même un administrateur le répare sans un CD de récupération ou similaire. Quand /tmpet /varen particulier /homesont dans une partition séparée, le fs root ne peut jamais se remplir sans qu'un administrateur le fasse. Prenez /usrle mélange dans lequel toutes les installations habituelles seront placées, et même l'installation de nouveaux logiciels ne peut pas causer ce problème.

txwikinger
la source
Sauf si elle s'installe dans /opt:)
Troubadour
1
Bien. vous pouvez également créer une partition différente pour cela, ou créer un lien tel que / opt se trouve réellement dans la partition / usr. Le principe est toujours le même.
Txwikinger
10

En général, les arguments pour avoir des partitions séparées sont:

  1. Sécurité: vous pouvez, par exemple, monter une partition en lecture seule pour empêcher les utilisateurs (ou processus) malveillants d'écraser ou de remplacer des fichiers binaires par des chevaux de Troie. Donc, si votre fichier binaire ssh réside dans / usr / local / bin et que / usr / local est monté en lecture seule, il sera difficile pour quiconque de remplacer ce fichier binaire.

  2. Flexibilité / commodité: par exemple, si vous configurez / var sur sa propre partition et que celle-ci est remplie à 80%, vous pouvez le redimensionner, ou même le déplacer sur un autre disque si nécessaire. Je préférerais faire cela plutôt que de traiter avec un système dont le "/" est plein à 100%, car les journaux sous / var sont en quelque sorte devenus fous. Différentes partitions peuvent également avoir entièrement différents systèmes de fichiers, ce qui permet à votre système d'exploitation d'utiliser ext3 (par exemple) et à votre base de données d'utiliser ext4, ou à votre référentiel d'objets d'utiliser XFS, ou à votre application personnalisée d'utiliser ... des périphériques bruts!

jonesy
la source
Quelle est la manière habituelle de gérer les mises à jour du système dans le premier cas?
Intuition le
6

Traditionnellement, cela était fait de cette façon en raison des particularités du matériel DEC sur lequel il avait été développé. Il était plus économique d'acheter un petit disque rapide pour root et swap et un disque plus volumineux et plus lent pour les données utilisateur ( /usr). À certains égards, la convention est restée bloquée.

Cependant, il y a encore des raisons pour cela. Quelques communes sont:

  • Placer / boot sur une petite partition séparée près du début du disque. Les anciens micrologiciels du BIOS de l'ordinateur ne démarrent que depuis les 1024 premières pistes du disque. Cela pose moins de problèmes avec le matériel moderne.

  • Placer des partitions occupées, telles que /varou /tmpsur des disques séparés, pour supprimer les goulots d'étranglement lors de l'accès aux données utilisateur.

  • Différents systèmes de fichiers sur différentes partitions. Par exemple, vous souhaiterez peut-être utiliser un système de fichiers journalisé pour, /usrmais pas pour les partitions hébergeant des fichiers pour un SGBD tel qu'Oracle. Le SGBD fait sa propre journalisation et le système de fichiers journalisé peut imposer une surcharge importante.

  • Le fait de disposer de données utilisateur sur un disque ou une partition séparé facilite leur migration sur un disque plus grand sans intervention chirurgicale majeure sur la machine.

  • Vous souhaiterez peut-être monter des données partagées telles que des répertoires de base ou des fichiers binaires d'application sur NFS.

  • fsckprend beaucoup de temps sur de gros volumes pour certains types de système de fichiers. Vous souhaiterez peut-être avoir des calendriers de maintenance du système de fichiers différents pour les zones système (fréquentes) et les zones utilisateur (moins fréquentes).

Préoccupé parTonbridgeWells
la source
5

Le formatage d'un système de fichiers peut également être plus rapide que le rm -rf'ing. Surtout si vous avez des milliers de petits fichiers à effacer. Cache de calmar que vous souhaitez recréer entièrement ... des tonnes de fichiers image que vous souhaitez traiter, mais que vous pouvez supprimer après la création du résultat final. Les fichiers .obj des énormes compilations ... etc.

gabe.
la source
4

Un dossier que je mets parfois sur une partition séparée est /usr/local/tel que tout logiciel que j'ai construit et installé séparément du gestionnaire de paquets de ma distribution pourrait éventuellement être réutilisé si je change / mets à jour ma distribution ou une autre distribution installée à côté. Il n'est évidemment pas garanti de fonctionner avec toutes les combinaisons possibles, mais cela ne nuit pas.

Troubadour
la source
2

Je mets /tmpsur un tmpfs, donc le contenu est stocké dans la RAM plutôt que sur le disque. Ce ne serait pas utile pour /etcou /usrcependant.

Mais pouvoir mettre différents répertoires sur différents systèmes de fichiers pourrait être bénéfique; c'est- /homeà- dire sur un système de fichiers rapide / expérimental comme ext4 par rapport à un système de fichiers stable / fiable comme ext2 pour /etc.

jonescb
la source