Was ist ein Bind Mount?


325

Was ist ein "Bind Mount"? Wie mache ich eine? Wozu ist es gut?

Mir wurde gesagt, dass ich ein Bind-Mount für etwas verwenden soll, aber ich verstehe nicht, was es ist oder wie ich es verwende.


2
nützliche alternative Erklärung
Charlie Parker

Antworten:


564

Was ist ein Bind Mount?

Ein Bind-Mount ist eine alternative Ansicht einer Verzeichnisstruktur. Beim Mounten wird klassischerweise eine Ansicht eines Speichergeräts als Verzeichnisbaum erstellt. Ein Bind-Mount übernimmt stattdessen eine vorhandene Verzeichnisstruktur und repliziert sie unter einem anderen Punkt. Die Verzeichnisse und Dateien im Bind-Mount sind dieselben wie im Original. Jede Änderung auf einer Seite wirkt sich sofort auf die andere Seite aus, da in beiden Ansichten die gleichen Daten angezeigt werden.

Zum Beispiel nach der Ausgabe des Linux-Befehls

mount --bind /some/where /else/where

die Verzeichnisse /some/whereund /else/wherehaben den gleichen Inhalt.

Im Gegensatz zu einem festen Link oder einem symbolischen Link hat ein Bind-Mount keine Auswirkungen darauf, was im Dateisystem gespeichert ist. Es ist eine Eigenschaft des Live-Systems.

Wie erstelle ich ein Bind Mount?

bindfs

Das bindfsDateisystem ist ein FUSE- Dateisystem, das eine Ansicht eines Verzeichnisbaums erstellt. Zum Beispiel der Befehl

bindfs /some/where /else/where

Erstellt /else/whereeinen Einhängepunkt, unter dem der Inhalt von /some/wheresichtbar ist.

Da bindfs ein separates Dateisystem ist, werden die Dateien /some/where/foound /else/where/fooAnwendungen als unterschiedliche Dateien angezeigt (das bindfs-Dateisystem hat einen eigenen st_devWert). Jede Änderung auf einer Seite wird auf der anderen Seite „magisch“ reflektiert, aber die Tatsache, dass die Dateien identisch sind, ist nur dann ersichtlich, wenn man weiß, wie bindfs funktioniert.

Bindfs hat keine Kenntnis von Einhängepunkten. Wenn sich also ein Einhängepunkt darunter befindet /some/where, wird er als ein anderes Verzeichnis darunter angezeigt /else/where. Das Aktivieren oder Deaktivieren eines Dateisystems darunter wird als Änderung des entsprechenden Verzeichnisses /some/whereangezeigt /else/where.

Bindfs kann einige der Dateimetadaten ändern: Es können gefälschte Berechtigungen und Eigentumsrechte für Dateien angezeigt werden. Einzelheiten finden Sie im Handbuch . Beispiele finden Sie weiter unten.

Ein bindfs-Dateisystem kann als Nicht-Root-Benutzer gemountet werden. Sie benötigen lediglich die Berechtigung zum Mounten von FUSE-Dateisystemen. Abhängig von Ihrer Distribution kann es erforderlich sein, dass Sie sich in der fuseGruppe befinden oder allen Benutzern gestattet sind. Verwenden Sie zum Abmelden eines FUSE-Dateisystems fusermount -uanstelle von umountz

fusermount -u /else/where

nullfs

FreeBSD stellt das nullfsDateisystem bereit, das eine alternative Ansicht eines Dateisystems erstellt. Die folgenden zwei Befehle sind äquivalent:

mount -t nullfs /some/where /else/where
mount_nullfs /some/where /else/where

Wird nach dem Ausgeben eines Befehls /else/wherezu einem Einhängepunkt, an dem der Inhalt von /some/wheresichtbar ist.

Da nullfs ein separates Dateisystem ist, werden die Dateien /some/where/foound /else/where/fooAnwendungen als unterschiedliche Dateien angezeigt (das nullfs-Dateisystem hat einen eigenen st_devWert). Jede Änderung auf einer Seite wird auf der anderen Seite „magisch“ reflektiert, aber die Tatsache, dass die Dateien identisch sind, ist nur dann ersichtlich, wenn man weiß, wie nullfs funktioniert.

Im Gegensatz zu FUSE bindfs, das auf der Ebene des Verzeichnisbaums agiert, wirkt FreeBSDs nullfs tiefer im Kernel, sodass Mount-Punkte unter /else/wherenicht sichtbar sind: Nur der Baum, der Teil desselben Mount-Punkts /some/whereist, der sich unter widerspiegelt /else/where.

Das nullfs-Dateisystem kann unter anderen BSD-Varianten (OS X, OpenBSD, NetBSD) verwendet werden, wird jedoch nicht als Teil des Standardsystems kompiliert.

Linux bind mount

Unter Linux stehen Bind-Mounts als Kernel-Feature zur Verfügung. Sie können eine mit dem mountBefehl erstellen , indem Sie entweder die --bindBefehlszeilenoption oder die bindMount-Option übergeben. Die folgenden zwei Befehle sind äquivalent:

mount --bind /some/where /else/where
mount -o bind /some/where /else/where

Hierbei ist das „Gerät“ /some/wherekeine Festplattenpartition wie bei einem On-Disk-Dateisystem, sondern ein vorhandenes Verzeichnis. Der Mount-Punkt /else/wheremuss wie gewohnt ein vorhandenes Verzeichnis sein. Beachten Sie, dass in beiden Fällen kein Dateisystemtyp angegeben ist: Wenn Sie einen Bind-Mount durchführen, ist kein Dateisystemtreiber erforderlich, sondern es werden die Kerneldatenstrukturen aus dem ursprünglichen Mount kopiert.

mount --bindUnterstützt auch das Mounten eines Nicht-Verzeichnisses in ein Nicht-Verzeichnis: /some/whereKann eine reguläre Datei sein (in diesem Fall /else/wheremuss es sich auch um eine reguläre Datei handeln).

Ein Linux-Bind-Mount ist meist nicht vom Original zu unterscheiden. Der Befehl df -T /else/wherezeigt dasselbe Gerät und denselben Dateisystemtyp an wie df -T /some/where. Die Dateien /some/where/foound /else/where/foosind nicht zu unterscheiden, als ob es sich um harte Links handele. Es ist möglich, die Verbindung zu trennen /some/where. In diesem Fall /else/wherebleibt die Verbindung bestehen.

Bei älteren Kernels (ich weiß nicht genau, wann, glaube ich, bis zu 3.x) waren Bind-Mounts wirklich nicht vom Original zu unterscheiden. Neuere Kernel verfolgen Bindungsbereitstellungen und legen die Informationen über PID / mountinfo offen, wodurch findmntBindungsbereitstellungen als solche angegeben werden können .

Sie können Bind-Mount-Einträge einfügen /etc/fstab. Fügen Sie einfach bind(oder rbindusw.) in die Optionen zusammen mit anderen gewünschten Optionen ein. Das „Gerät“ ist der vorhandene Baum. Die Dateisystemspalte kann noneoder enthalten bind(wird ignoriert, die Verwendung eines Dateisystemnamens wäre jedoch verwirrend). Zum Beispiel:

/some/where /readonly/view none bind,ro

Wenn sich darunter Einhängepunkte befinden /some/where, ist deren Inhalt darunter nicht sichtbar /else/where. Stattdessen bindkönnen Sie rbindauch darunter liegende Einhängepunkte replizieren /some/where. Wenn zum Beispiel /some/where/mntein Einhängepunkt ist, dann

mount --rbind /some/where /else/where

ist äquivalent zu

mount --bind /some/where /else/where
mount --bind /some/where/mnt /else/where/mnt

Außerdem können unter Linux Bereitstellungen als freigegeben , als Slave , privat oder nicht bindend deklariert werden . Dies wirkt sich darauf aus, ob sich dieser Mount-Vorgang unter einem Bind-Mount widerspiegelt, der den Mount-Punkt repliziert. Weitere Informationen finden Sie in der Kerneldokumentation .

Linux bietet auch die Möglichkeit, Reittiere zu verschieben: --bindkopiert und --moveverschiebt einen Reittierpunkt.

In zwei gebundenen Verzeichnissen können unterschiedliche Mount-Optionen angegeben werden. Es gibt jedoch eine Besonderheit: Das Binden und Festlegen der Mount-Optionen kann nicht atomar erfolgen, sondern muss aus zwei aufeinander folgenden Operationen bestehen. (Ältere Kernel haben dies nicht zugelassen.) Mit den folgenden Befehlen wird beispielsweise eine schreibgeschützte Ansicht erstellt, es gibt jedoch ein kleines Zeitfenster, in dem /else/whereLese- und Schreibzugriff möglich ist:

mount --bind /some/where /else/where
mount -o remount,ro,bind /else/where

Ich kann keine Reittiere zur Arbeit bringen!

Wenn Ihr System FUSE nicht unterstützt, besteht ein klassischer Trick, um denselben Effekt zu erzielen, darin, einen NFS-Server auszuführen, die Dateien zu exportieren, auf die Sie zugreifen möchten, localhostund sie auf demselben Computer bereitzustellen. Dies hat einen erheblichen Mehraufwand an Speicher und Leistung zur Folge, sodass Bindungs-Mounts, sofern verfügbar, einen eindeutigen Vorteil haben (was bei den meisten Unix-Varianten dank FUSE der Fall ist).

Anwendungsfälle

Schreibgeschützte Ansicht

Es kann nützlich sein, eine schreibgeschützte Ansicht eines Dateisystems zu erstellen, entweder aus Sicherheitsgründen oder nur als Sicherheitsebene, um sicherzustellen, dass Sie es nicht versehentlich ändern.

Mit bindfs:

bindfs -r /some/where /mnt/readonly

Mit Linux ist das ganz einfach:

mount --bind /some/where /mnt/readonly
mount -o remount,ro,bind /mnt/readonly

Dadurch verbleibt ein kurzes Zeitintervall, in dem /mnt/readonlyLese- und Schreibzugriff ausgeführt werden. Wenn dies ein Sicherheitsrisiko darstellt, erstellen Sie zuerst das Bind-Mount in einem Verzeichnis, auf das nur Root zugreifen kann, machen Sie es schreibgeschützt und verschieben Sie es dann an einen öffentlichen Mount-Punkt. Beachten Sie im folgenden Snippet, dass es wichtig ist, dass /root/private(das Verzeichnis über dem Mount-Punkt) privat ist. Die ursprünglichen Berechtigungen für /root/private/mntsind irrelevant, da sie hinter dem Einhängepunkt versteckt sind.

mkdir -p /root/private/mnt
chmod 700 /root/private
mount --bind /some/where /root/private/mnt
mount -o remount,ro,bind /root/private/mnt
mount --move /root/private/mnt /mnt/readonly

Benutzer und Gruppen neu zuordnen

Dateisysteme zeichnen Benutzer und Gruppen anhand ihrer numerischen ID auf. Manchmal haben Sie mehrere Systeme, die derselben Person unterschiedliche Benutzer-IDs zuweisen. Dies ist kein Problem beim Netzwerkzugriff, macht jedoch Benutzer-IDs bedeutungslos, wenn Sie Daten auf einer Festplatte von einem System auf ein anderes übertragen. Angenommen, Sie haben eine Festplatte mit einem Mehrbenutzer-Dateisystem (z. B. ext4, btrfs, zfs, UFS usw.) auf einem System erstellt, auf dem Alice die Benutzer-ID 1000 und Bob die Benutzer-ID 1001 hat, und Sie möchten diese Festplatte zugänglich machen Ein System, in dem Alice die Benutzer-ID 1001 und Bob die Benutzer-ID 1000 hat. Wenn Sie den Datenträger direkt einbinden, werden die Dateien von Alice als Eigentum von Bob (da die Benutzer-ID 1001 ist) und die Dateien von Bob als Eigentum von Alice (weil die Benutzer-ID ist 1000).

Sie können bindfs verwenden, um Benutzer-IDs neu zuzuordnen. Mounten Sie zuerst die Festplattenpartition in einem privaten Verzeichnis, auf das nur Root zugreifen kann. Erstellen Sie anschließend in einem öffentlichen Bereich eine Bindfs-Ansicht, in der Benutzer- und Gruppen-IDs neu zugeordnet werden und die Benutzer- und Gruppen-IDs von Alice und Bob vertauscht werden.

mkdir -p /root/private/alice_disk /media/alice_disk
chmod 700 /root/private
mount /dev/sdb1 /root/private/alice_disk
bindfs --map=1000/1001:1001/1000:@1000/1001:@1001/1000 /root/private/alice_disk /media/alice_disk

Siehe Wie kann man auf Dateien im Benutzerordner des nicht gebooteten Systems zugreifen? und montiere --bind anderen User als mich selbst ein weiteres Beispiel.

Montage in einem Gefängnis oder Container

Ein chroot-Gefängnis oder -Container führt einen Prozess in einem Teilbaum der Verzeichnisstruktur des Systems aus. Dies kann nützlich sein, um ein Programm mit eingeschränktem Zugriff auszuführen, z. Eine Einschränkung von chroot ist, dass das Programm auf einen Teilbaum beschränkt ist: Es kann nicht auf unabhängige Teilbäume zugreifen. Mit Bindungs-Reittieren können andere Teilbäume auf diesen Hauptbaum gepfropft werden. Dies macht sie grundlegend für die praktischste Verwendung von Containern unter Linux.

Angenommen, ein Computer führt einen Dienst aus, /usr/sbin/somethingdder nur Zugriff auf Daten unter haben soll /var/lib/something. Der kleinste Verzeichnisbaum, der diese beiden Dateien enthält, ist das Stammverzeichnis. Wie kann der Service eingeschränkt werden? Eine Möglichkeit besteht darin, feste Verknüpfungen zu allen Dateien herzustellen, die der Dienst benötigt (mindestens /usr/sbin/somethingdund zu mehreren gemeinsam genutzten Bibliotheken) /var/lib/something. Dies ist jedoch umständlich (die festen Links müssen bei jedem Upgrade einer Datei aktualisiert werden) und funktioniert nicht, wenn /var/lib/somethingund /usrauf verschiedenen Dateisystemen. Eine bessere Lösung besteht darin, ein Ad-hoc-Stammverzeichnis zu erstellen und es mit Reitern zu füllen:

mkdir /run/something
cd /run/something
mkdir -p etc/something lib usr/lib usr/sbin var/lib/something
mount --bind /etc/something etc/something
mount --bind /lib lib
mount --bind /usr/lib usr/lib
mount --bind /usr/sbin usr/sbin
mount --bind /var/lib/something var/lib/something
mount -o remount,ro,bind etc/something
mount -o remount,ro,bind lib
mount -o remount,ro,bind usr/lib
mount -o remount,ro,bind usr/sbin
chroot . /usr/sbin/somethingd &

Die Mount-Namespaces von Linux verallgemeinern Chroots. Mit Bindungs-Mounts können Namespaces auf flexible Weise aufgefüllt werden. Siehe Erstellen einer Prozess eine andere Datei für den gleichen Dateinamen lesen für ein Beispiel.

Eine andere Distribution ausführen

Eine andere Verwendung von chroots besteht darin, eine andere Distribution in einem Verzeichnis zu installieren und Programme von dort aus auszuführen, selbst wenn Dateien in fest codierten Pfaden erforderlich sind, die nicht vorhanden sind oder unterschiedliche Inhalte auf dem Basissystem haben. Dies kann beispielsweise nützlich sein, um eine 32-Bit-Distribution auf einem 64-Bit-System zu installieren, das gemischte Pakete nicht unterstützt, ältere Versionen einer Distribution oder andere Distributionen zu installieren, um die Kompatibilität zu testen, oder um eine neuere zu testende Release zu installieren die neuesten Funktionen unter Beibehaltung eines stabilen Basissystems usw. Siehe Wie führe ich 32-Bit-Programme auf einem 64-Bit-Debian / Ubuntu aus? für ein Beispiel unter Debian / Ubuntu.

Angenommen, Sie haben eine Installation der neuesten Pakete Ihrer Distribution in dem Verzeichnis /f/unstable, in dem Sie Programme ausführen, indem Sie mit in dieses Verzeichnis wechseln chroot /f/unstable. Um Ausgangsverzeichnisse für diese Installationen verfügbar zu machen, binden Sie diese in die Chroot:

mount --bind /home /f/unstable/home

Das Programm schroot macht das automatisch.

Zugriff auf Dateien, die sich hinter einem Einhängepunkt befinden

Wenn Sie ein Dateisystem in ein Verzeichnis mounten, wird dadurch ausgeblendet, was sich hinter dem Verzeichnis befindet. Auf die Dateien in diesem Verzeichnis kann erst zugegriffen werden, nachdem die Bereitstellung des Verzeichnisses aufgehoben wurde. Da BSD-nullfs- und Linux-Bindungsbereitstellungen auf einer niedrigeren Ebene als die Bereitstellungsinfrastruktur ausgeführt werden, macht eine nullfs-Bereitstellung oder eine Bindungsbereitstellung eines Dateisystems Verzeichnisse verfügbar, die im Original hinter Unterbereitstellungen verborgen waren.

Angenommen, Sie haben ein tmpfs-Dateisystem bereitgestellt unter /tmp. Wenn sich Dateien unter befanden, /tmpals das tmpfs-Dateisystem erstellt wurde, bleiben diese Dateien möglicherweise weiterhin erhalten, auf die effektiv nicht zugegriffen werden kann, sie belegen jedoch Speicherplatz. Lauf

mount --bind / /mnt

(Linux) oder

mount -t nullfs / /mnt

(FreeBSD), um eine Ansicht des Root-Dateisystems unter zu erstellen /mnt. Das Verzeichnis /mnt/tmpist das aus dem Root-Dateisystem.

NFS-Exporte auf verschiedenen Pfaden

Einige NFS-Server (z. B. der Linux-Kernel-NFS-Server vor NFSv4) geben beim Exportieren eines Verzeichnisses immer den tatsächlichen Verzeichnisspeicherort an. Das heißt, wenn ein Client dies anfordert server:/requested/location, bedient der Server den Baum am Standort /requested/location. Es ist manchmal wünschenswert, Clients zu erlauben, /request/locationDateien unter anzufordern, aber tatsächlich bereitzustellen /actual/location. Wenn Ihr NFS-Server die Bereitstellung eines alternativen Standorts nicht unterstützt, können Sie ein Bind-Mount für die erwartete Anforderung erstellen, z

/requested/location *.localdomain(rw,async)

in /etc/exportsund die folgenden in /etc/fstab:

/actual/location /requested/location bind bind

Ein Ersatz für symbolische Links

Manchmal möchten Sie einen symbolischen Link erstellen, damit eine Datei /some/where/is/my/fileunter angezeigt wird /else/where, aber die verwendete Anwendung fileerweitert symbolische Links und lehnt ab /some/where/is/my/file. Ein Bind Mount kann dies umgehen: bind-mount /some/where/is/myto /else/where/is/myund realpathmeldet sich /else/where/is/my/filedann als unter /else/where, nicht unter /some/where.

Nebenwirkungen von Bind Reittieren

Rekursive Verzeichnisdurchläufe

Wenn Sie Bindmounts verwenden, müssen Sie sich um Anwendungen kümmern, die den Dateisystembaum rekursiv durchlaufen, wie z. B. Sicherungen und Indizierungen (z. B. zum Erstellen einer Lokalisierungsdatenbank ).

In der Regel sollten Bindungsbereitstellungen von rekursiven Verzeichnisdurchläufen ausgeschlossen werden, damit jeder Verzeichnisbaum am ursprünglichen Speicherort nur einmal durchlaufen wird. Konfigurieren Sie mit bindfs und nullfs das Traversal-Tool so, dass diese Dateisystemtypen nach Möglichkeit ignoriert werden. Linux-Bind-Mounts können nicht als solche erkannt werden: Der neue Speicherort entspricht dem Original. Bei Linux-Bindungsbereitstellungen oder bei Tools, die nur Pfade und keine Dateisystemtypen ausschließen können, müssen Sie die Bereitstellungspunkte für die Bindungsbereitstellungen ausschließen.

Überquerungen , die an Dateisystem - Grenzen (zB Stop find -xdev, rsync -x, du -x, ...) wird automatisch beendet , wenn sie ein bindfs oder nullfs Punkt stoßen montieren, weil die Mount - Punkt ein anderes Dateisystem ist. Bei Linux-Bindemounts ist die Situation etwas komplizierter: Es gibt nur dann eine Dateisystemgrenze, wenn der Bindemount ein anderes Dateisystem pfropft, nicht, wenn er einen anderen Teil desselben Dateisystems pfropft.

Über das Binden von Reittieren hinaus

Bindungsbereitstellungen bieten eine Ansicht einer Verzeichnisstruktur an einem anderen Speicherort. Sie legen dieselben Dateien offen, möglicherweise mit unterschiedlichen Mount-Optionen und (mit bindfs) unterschiedlichen Eigentumsrechten und Berechtigungen. Dateisysteme, die eine geänderte Ansicht eines Verzeichnisbaums darstellen, werden als Overlay-Dateisysteme oder stapelbare Dateisysteme bezeichnet . Es gibt viele andere Overlay-Dateisysteme, die erweiterte Transformationen durchführen. Hier sind einige gebräuchliche. Wenn Ihr gewünschter Anwendungsfall hier nicht behandelt wird, überprüfen Sie das Repository von FUSE-Dateisystemen .

Sichtbare Dateien filtern

  • Clamfs - Ausführen von Dateien durch einen Virenscanner, wenn sie gelesen werden
  • filterfs - versteckt Teile eines Dateisystems
  • rofs - eine schreibgeschützte Ansicht. Ähnlich wie bindfs -rnur ein bisschen leichter.
  • Union-Mounts - Präsentieren Sie mehrere Dateisysteme (so genannte Branches ) in einem einzigen Verzeichnis: Wenn sie tree1enthalten foound enthalten, tree2enthält barihre Union-Ansicht beide foound bar. Neue Dateien werden in einen bestimmten Zweig oder in einen Zweig geschrieben, der nach komplexeren Regeln ausgewählt wurde. Es gibt verschiedene Implementierungen dieses Konzepts, darunter:

Ändern Sie Dateinamen und Metadaten

Anzeigen geänderter Dateiinhalte

Ändern Sie die Art und Weise, wie Inhalte gespeichert werden

  • chironfs - Replizieren von Dateien auf mehrere zugrunde liegende Speicher ( RAID-1 auf Verzeichnisbaumebene )
  • copyfs - Bewahrt Kopien aller Versionen der Dateien auf
  • encfs - verschlüsselt Dateien
  • pcachefs - Cache-Ebene auf der Festplatte für langsame Remote-Dateisysteme
  • simplecowfs - speichert Änderungen über die bereitgestellte Ansicht im Speicher, wobei die Originaldateien intakt bleiben
  • Wayback - Bewahren Sie Kopien aller Versionen der Dateien auf

1
Vielleicht möchten Sie ein Beispiel hinzufügen, wie es mit systemd gemacht wird: utcc.utoronto.ca/~cks/space/blog/linux/SystemdBindMountUnits
dothebart

1
Was macht mount --bind /dir1 /dir1das? Wie unterscheidet es sich von dem Fall, in dem Quelle und Ziel der Montage unterschiedlich sind?
Mark

Ich habe unter Linux 5.0 in / proc / self / mountinfo keine Datensätze gefunden. Der Kernel sagt mir nicht, dass es bind mount ist oder nicht. Und ein Prozess kann Chroot leicht unterbrechen. Die Isolation muss über den Mount-Namespace erfolgen.
炸鱼薯条德里克

@炸鱼薯条德里克Ich denke , die verknüpfte Frage unix.stackexchange.com/questions/295525/... Adressen /proc/self/mountinfo. Was Chroot betrifft, so kann es zur Isolierung verwendet werden, jedoch nicht für sich allein. Sie benötigen jedoch keine Mount-Namespaces: chroot reicht für den Namespace-Teil des Dateisystems. Sie müssen sicherstellen, dass kein Prozess in der Chroot als derselbe Benutzer wie ein Prozess außerhalb der Chroot ausgeführt wird.
Gilles,

@ Mark Bind-Mounten eines Verzeichnisses auf sich selbst ist nicht sehr nützlich. Ich schätze, Sie könnten damit Dateisysteme verstecken, die unter einem bestimmten Verzeichnis eingebunden sind, aber ich kann mir keine Zeit vorstellen, in der ich das speziell tun wollte.
Gilles,

-1

Ganz einfach: Wenn Sie die Bindungsbereitstellung verwenden, wird eine Datei oder ein Verzeichnis auf dem Hostcomputer in einen Container eingebunden, sodass alle Änderungen, die im Dateiverzeichnis des Hostcomputers vorgenommen werden, automatisch im Container des Verzeichnisses verfügbar sind.


Dies ist eine der Möglichkeiten, ein Bindungs-Mount zu verwenden, aber Bindungs-Mounts an sich haben nichts mit Containern zu tun. Ich erwähne es in meiner Antwort, aber unter dem Namen "Gefängnis" und nicht "Container"; Hinzufügen von "Container" wäre eine wertvolle Änderung (ich werde es tun). Dies ist auch eine schlechte Beschreibung: Warum erwähnen Sie, dass Änderungen, die außerhalb vorgenommen wurden, auch innerhalb verfügbar sind, ohne umgekehrt zu erwähnen?
Gilles,
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.