Was sind die FHS-konformen Montagepunkte?

14

Ich frage mich, was die FHS-konformen Einhängepunkte für interne Festplatten und Netzwerkfreigaben sind. Viele verschiedene Tutorials schlagen vor, sie in Unterverzeichnissen von /mntoder bereitzustellen/media

Nach dem FHS 3.0 (File Hierarchy Standard):

  • /media: Bereitstellungspunkt für Wechselmedien ( Dieses Verzeichnis enthält Unterverzeichnisse, die als Bereitstellungspunkte für Wechselmedien wie Disketten, CDs und Zip-Disks verwendet werden. )
  • /mnt: Bereitstellungspunkt für ein temporär bereitgestelltes Dateisystem ( Dieses Verzeichnis wird bereitgestellt, damit der Systemadministrator ein Dateisystem bei Bedarf temporär bereitstellen kann. Der Inhalt dieses Verzeichnisses ist ein lokales Problem und sollte die Art und Weise, in der ein Programm ausgeführt wird, nicht beeinflussen. )

Ich gehe davon aus, dass diese Bereitstellungspunkte /home/foo/extdrive /home/foo/nfssharefür ein einzelnes Benutzersystem verwendet werden können. Wo würde ich sie bereitstellen, auf die alle Benutzer zugreifen können?

Update: FHS 3.0, Kapitel 3.1, zweiter Absatz "Begründung"

  • Neues Verzeichnis in /(dh /workspaceund /nfsshare) Es gibt mehrere Gründe, warum das Erstellen eines neuen Unterverzeichnisses des Root-Dateisystems verboten ist: Es erfordert Speicherplatz auf einer Root-Partition, den der Systemadministrator aus Leistungs- oder Sicherheitsgründen möglicherweise klein und einfach halten möchte. Es entzieht sich jeglicher Disziplin, die der Systemadministrator für die Verteilung von Standard-Dateihierarchien auf bereitstellbare Volumes eingerichtet hat. Distributionen sollten keine neuen Verzeichnisse in der Stammhierarchie erstellen, ohne die Konsequenzen, einschließlich der Anwendungsportabilität, sorgfältig zu berücksichtigen.
Michael D.
quelle
Keine Antwort, aber wäre eine interne Festplatte nicht Teil des "normalen" Dateisystems? Beispiel: Sie haben nicht mehr genügend Speicherplatz auf Datenträger 1, stellen fest, dass der Datenträger /varschneller wächst als erwartet, und installieren Sie den Datenträger 2, und hängen Sie ihn als ein /var. Interessante Frage bezüglich: Netzwerkfreigaben, es ist eine Art "Anti /srv"!
John N

Antworten:

16

Sie erstellen Ihre eigenen Mount-Point-Verzeichnisse. Wenn Sie nach dem Grund fragen möchten, kann ich nur auf die großartige Antwort von Wouter Verhelst verweisen .

Interne Laufwerke

/mntist ein gültiger Ort, um Ihre eigenen zu machen, wenn Sie möchten, und so ist /.

/mntwurde möglicherweise zu diesem Zweck von einigen historischen Installationssystemen sowie (zuvor /media) für Wechselmedien verwendet . Sie können dies weiterhin tun, aber das System selbst sollte nichts mehr einrichten /mnt.

Ich denke, es ist sinnvoll, / mnt zu verwenden, wenn Sie mehrere Mount-Punkte machen könnten. Es macht es einfach, sie alle zusammen zu sehen, und es ist als einer der Orte bekannt, die die Leute gerne benutzen. Einige andere Leute verwenden gerne /Volumes- nach dem OS X-System oder /vol. / data ist für einen einzelnen Einhängepunkt gleich. / d / wird ebenfalls verwendet. / disk / wird mit ziemlicher Sicherheit von einigen verwendet, kann aber für nicht festplattenbasierten Speicher ablenken.

Wenn Sie / mnt verwenden, würde ich auch / mnt / tmp erstellen. Dann wird es immer noch ein praktisches Verzeichnis für temporäre Mounts geben, die ursprüngliche Verwendung von / mnt, die FHS erwähnt.

Bevorzugte Einhängepunkte für interne Festplatten

Es ist möglich, dass das manuelle Erstellen von Einhängepunkten unter /mediaauf einigen gängigen Systemen eine schlechte Idee ist. Moderne Linux-Betriebssysteme erstellen Bereitstellungspunkte für Wechselmedien automatisch, und es ist möglich, dass die von ihnen erstellte Struktur in Konflikt gerät oder einfach nicht mit Ihrer eigenen übereinstimmt. Sie sagen nicht, was Ihr System ist, aber möglicherweise interessieren Sie sich für tragbare Richtlinien, insbesondere, wenn Sie nach FHS fragen. Beachten Sie, dass diese Überlegung dem Grund ähnelt, warum das FHS angibt, dass das Betriebssystem / mnt nicht füllen darf.

Einhängepunkt für systemweites USB-Laufwerk

Netzwerk-Dateisysteme

Es wird manchmal zu montieren Netzwerk - Dateisysteme in einem eigenen Unterverzeichnis zB empfohlen /n/host, /nfs/hostoder /net/hostusw.

Wenn Sie beispielsweise ein Netzwerk-Dateisystem unter / host bereitstellen und das Netzwerk nicht mehr erreichbar ist, ls /kann es beim Versuch, das Netzwerk-Dateisystem zu ermitteln, hängen bleiben. Dies kann unerwünscht und frustrierend sein, wenn Sie bereits frustriert sind.

sourcejedi
quelle
Die FHS sagt, /mntist für temporäre Reittiere. Was ist mit hartnäckigen Reittieren? Ich habe zwar /mnt/dataeine zusätzliche angehängte Festplatte angefertigt, aber es ist beruhigend, wenn ein Standarddokument empfiehlt, was Sysadmins für zusätzliche Festplatten verwenden sollten. Es ist hauptsächlich eine psychologische Anforderung.
Eternaltyro
1
@eternaltyro Ich habe genau das gleiche Gefühl, aber es gibt bereits ein gutes Argument in der Antwort von WouterVerhelst. Ich habe versucht, etwas zu entwerfen, um das zu verbessern, aber es hat nicht wirklich geklappt. Es war meistens nur eine Vervielfältigung und störte die praktischen Vorschläge. Bearbeitet, um dies zu verdeutlichen.
Sourcejedi
8

Wenn das FHS darüber spricht, was Sie nicht können, dann ist das, von dem es spricht, eine Distribution , kein Benutzer oder lokaler Systemadministrator.

Ein Unix-System hat nur einen Dateisystembaum. Sie können daher alles im lokalen System an einer beliebigen Stelle im Dateisystem einbinden, ohne die FHS in irgendeiner Weise zu beschädigen. Schließlich ist das FHS sehr bemüht, den lokalen Systemadministratoren aus dem Weg zu gehen. Für interne Festplatten, die sich zu jeder Zeit im System befinden, ist ein Mount-Punkt von /optoder /ntfsoder /scratchoder so weiter durchaus zulässig. Alternativ, wenn Sie laufen von Speicherplatz und Sie wollen ein paar Sachen aus Ihrem Root - Dateisystem bewegen und auf einen anderen Datenträger, können Sie verschieben /varoder /usreine separate Festplatte und mit den Dingen auf diese Weise behandeln.

Das einzige , was Sie sollten nicht tun , ist eine interne Festplatte auf einer Stelle zu montieren , dass die FHS sagt Verteilungen in schreiben können (wie zum Beispiel /usr, /varoder /lib) und dann entweder nicht die relevanten Daten an diese Stelle verschieben, oder ein nicht-POSIX verwenden Dateisystem für die betreffende Partition. Ansonsten ist fast alles Freiwild.

Wouter Verhelst
quelle
2

Um ein Verzeichnis für bestimmte Benutzer zugänglich zu machen, erstellen Sie eine Gruppe. Standardmäßig können Gruppen Basisverzeichnisse haben. Diese werden manchmal, aber nicht unbedingt, als / home / $ GROUP erstellt.

Es wäre möglich, ein Verzeichnis / home / allusers anzulegen. Sie können den Gruppennamen allusers reservieren (dh eine leere Gruppe erstellen), wenn Sie möchten. (Benutzer- und Gruppennamen sind technisch getrennte Namespaces, werden jedoch in der Regel konsistent gehalten. Sie möchten in diesem Fall beispielsweise keinen normalen Benutzer "allusers" erstellen.)

Dieses spezielle Benennungsschema lässt sich natürlich nicht auf mehrere Dateisysteme anwenden, z. B. eine interne Festplatte und ein Netzwerkdateisystem.

Sie sind keine Softwareverteilung, und die in der FHS enthaltenen Erklärungen gelten nicht für Sie. Die Befolgung dieser Einschränkung würde eine zusätzliche Einschränkung einführen. Wenn / home nicht mehr bereitgestellt werden kann, ist es auch weniger einfach, / home / allusers für Sicherungs-, Wiederherstellungs- oder Fehlerbehebungszwecke bereitzustellen.

sourcejedi
quelle
2

Schnelle Antwort: Es kommt darauf an ... FHS ist für Distributionen gedacht, wie andere gesagt haben. Es ist jedoch möglicherweise einfacher, zumindest den Grundgedanken zu befolgen, um die Wartung zu vereinfachen, insbesondere, wenn dies auf mehreren Systemen durchgeführt werden soll, die möglicherweise von anderen Personen unterstützt werden. Beachten Sie auch, wie Sicherungen erstellt werden, da Sie diese möglicherweise nicht anpassen müssen, um den zusätzlichen Speicherplatz zu berücksichtigen, den Sie hinzufügen.

Beispiele, die ich verwendet habe:

  • Großer Teil des allgemeinen gemeinsamen Speicherplatzes auf / mnt / play
  • CIFS-Mounts pro Benutzer über Pam-Mount unter / home / [Benutzername] / network / [Freigabe]
  • Serveranwendungen gemäß Handbuch zB / sapmnt / opt / whatever / bacula
  • Dateifreigaben unter / srv / [Freigabename] oder / fileshares / [Freigabename]

Vermeiden Sie auch alles, was von einem Automounter wie / media unter Mint / Ubuntu verwendet wird oder verwenden Sie die aufgelisteten Verzeichnisbäume für etwas anderes als den beabsichtigten Zweck. ZB ist es üblich, eine Festplatte in / var / [app] oder / usr / [app] zu mounten, um mehr Platz für diese bestimmte App zur Verfügung zu stellen, aber verwenden Sie sie dann nicht für etwas anderes, da Sie nur sich selbst erhalten durcheinander.

Richard N
quelle