Wie zu Montieren und demontieren-Speichergeräte vom Linux Terminal

0
533

Dateisysteme in Linux-und Unix-ähnlichen Betriebssystemen wie macOS montiert werden kann, ausgehängt, und erneut mit dem terminal. Dies ist ein leistungsfähiges und vielseitiges Werkzeug—hier ist alles, was Sie brauchen, um wissen.

Der Linux File System

Die file-Systeme in Linux, macOS und anderen Unix-ähnlichen Betriebssystemen nicht mit separaten volume-IDS für die Speicher-Geräte in der Weise, dass, sagen wir, Windows tut. Windows vergibt für jedes volume einen Laufwerksbuchstaben wie C: oder D: und die Datei-system für jedes volume ist ein Baum von Verzeichnissen, die sitzen unten, die Laufwerksbuchstaben.

In Linux ist die Datei-system ist ein all-in-one-directory-Baum. Ein mounted-storage-Gerät hat seinen Datei-system aufgepfropft auf den Baum, so dass es scheint, um ein integraler Teil einer zusammenhängenden Datei-system. Die neu eingehängten Dateisystem zugänglich sein wird, über das Verzeichnis, in dem es montiert ist. Das Verzeichnis mit dem Namen des mount-Punkt für das Datei-system.

Viele Dateisysteme automatisch gemountet beim Booten oder on-the-fly als Datenträger an den computer angeschlossen während der Laufzeit. Vorsichtige Systemadministratoren deaktivieren Sie den runtime-auto-mount-Funktionen, so dass Sie kontrollieren können, verbindungen zum system.

Dies bedeutet angeschlossenen Speichergeräten zur Laufzeit möglicherweise nicht auto-mount und erfordern Montage manuell. Ein Dateisystem mounten manuell können Sie Entscheidungen über das Dateisystem, z.B. wenn der mount-Punkt sein wird und ob das Dateisystem wird ” read-only oder read-write.

Ob aus Notwendigkeit, oder durch Wahl, mount, unmount und remount Befehle geben Ihnen die Fähigkeit, die Kontrolle über diesen wichtigen Aspekt des Linux-Systems.

Befragen Sie Ihr Dateisystem Mit mount

Berg hat sehr viele Optionen, aber, um eine Liste der gemounteten Dateisysteme auf Ihrem computer erfordert keine Optionen auf allen. Geben Sie einfach mount ein und drücken Sie Enter:

mount listet alle angeschlossenen Dateisysteme in das terminal-Fenster.

Es kann schwierig sein zu Holen, dass durch dump von Daten zu finden, was Sie suchen.

Verfeinern Sie die Ausgabe durch Fragen mount, um nur eine Liste der Dateisysteme, die für Sie von Interesse. Die -t (Typ) die option erzählt montieren, von welchem Typ die Datei-system zu berichten.

mount-t tmpfs
mount-t ext4

Als Beispiel haben wir gefragt, mount-Liste nur tmpfs Dateisysteme. Wir bekommen eine viel handlichere Ausgabe.

Ein tmpfs-Dateisystem scheint, als ob es eine normale, Dateisystem, aber es ist eigentlich gespeichert im Speicher—der tmp steht für temporär—statt auf einem persistenten Speichergerät.

Sie wollen Ersatz für die tmpfs-parameter für den Dateityp, in dem Sie interessiert sind.

Wir haben auch hat einen Befehl ausgegeben, um die Liste ext4-Dateisysteme. Auf diesem test-PC, es gibt eine einzige ext4-Dateisystem, es ist auf dem Gerät der sda—das erste Speichergerät montiert, in der Regel die Haupt-Festplatte und montiert auf /, das ist die Wurzel des Dateisystem-Baum.

Die anderen Indikatoren bedeuten:

  • rw: Das Dateisystem ist lesbar und beschreibbar.
  • relatime: Der kernel ist mit einem optimierten Schema zum aufzeichnen von Datei-Zugriff und änderung von meta-Daten.
  • errors=remount-o: Wenn eine so schwerwiegende Fehler erkannt wird, wird das Dateisystem neu gemountet werden, im nur-Lesen-Modus zu erlauben, die Diagnose.

RELATED: Das Linux-Dateisystem Sollte Man Verwenden?

Befragen Sie Ihr Dateisystem Mit df

Der df-Befehl kann auch verwendet werden, um anzuzeigen, welche Dateisysteme gemountet sind und wo Ihre mount-Punkte sind.

df ohne Parameter liefert Sie die gleiche information overload problem wie der Berg. Als ein Beispiel, in Ubuntu Linux gibt es ein squashfs-pseudo-Dateisystem erstellt für jede Anwendung, die installiert wurde, mit dem Befehl “ausrichten”. Wer will, um zu sehen, alle von denen?

Um die Kraft df, um Sie zu ignorieren—oder eine beliebige andere Datei-system-Typ— verwenden Sie die -x (schließen) option:

df -x squashfs

Sie kann leicht sehen, den Namen der Datei-Systemen, deren Kapazitäten, belegten und freien Speicherplatz, und Ihre mount-Punkte.

RELATED: zum Anzeigen von Speicherplatz und Festplatten-Nutzung Vom Linux Terminal

Erneutes mounten Aller Dateisysteme in der fstab

Alle Dateisysteme gemountet beim Booten Einträge in einer Datei namens fstab, der Dateisystem-Tabelle befindet sich in /etc.

Sie verwenden können, montieren Sie zu zwingen, einen “aktualisieren” – und wieder montieren alle Dateisysteme in der fstab. Unter normalen Bedingungen ist dies nicht erforderlich. Es kommt wirklich in seine eigene, wenn Sie haben Probleme mit mehreren Dateisystemen.

Müssen Sie sudo verwenden, so werden Sie nach Ihrem Passwort gefragt.

sudo mount-a

Zugegeben, auf eine korrekte computer, es ist ein wenig enttäuschend.

Auf einem computer mit Datei-system-Probleme, aber die montieren könnte, klar die Probleme. Wenn das nicht klappt, dann zumindest werden Sie bekommen Diagnose-Meldungen auf dem Bildschirm und in die system-logs, die Sie leiten wird, suchen die Ursache des Problems.

RELATED: Was Ist Linux die fstab-Datei, und Wie Funktioniert Es?

Montage eines ISO-Image

Es ist leicht zu montieren ein ISO-image, so dass Sie den Zugriff auf Ihre Inhalte nur als Teil des Dateisystems.

Dies funktioniert mit jeder ISO-image. In diesem Beispiel, wir werden passieren, mit einem Winzigen Linux-Kern ISO, weil es bequem ist es klein und schnell herunterladen. (Eine kleine Linux-distribution mit einer grafischen Benutzeroberfläche, in 18 MB! Sie haben wahrscheinlich .mp3-Dateien, die größer als die.)

Im gleichen Verzeichnis wie die ISO-image, Problem mit diesem Befehl. Ersetzen Sie den Namen der ISO-Datei, die Sie montieren möchten.

sudo mount-t iso9660 -o loop TinyCore-current.iso /mnt

Da müssen wir mit sudo müssen Sie Ihr Passwort eingeben.

Die -t (Typ) die option erzählt montieren, welche Art von Datei-system, das wir besteigen. Es ist eine ISO-Datei, so bieten wir die iso9660-Typ-Bezeichner.

Die -o – (Optionen) – flag wird verwendet, um zusätzliche Parameter zu montieren. Unsere parameter-Schleife.

Verwenden wir eine Schleife, um Kraft zu montieren, um eine Schleife Gerät, die Datei zu schließen, um unser ISO-image. Ein loop-device-Datei kann eine Datei (wie die ISO-image) montiert werden, und behandelt, als wäre es ein Speicher-Gerät.

Gerätedateien sind spezielle Dateien, die als eine Schnittstelle, so dass angeschlossene Geräte erscheinen, als würden Sie eine normale Datei-system-Datei. Dies ist Teil der ” alles in Linux ist eine Datei, die design-Philosophie.

Es gibt viele verschiedene Arten von Mediendateien. Wir sahen einen, der früher, wenn wir bemerken, dass der einzige ext4-Datei-system auf das test-Maschine montiert war, / und hieß sda.

Um genauer zu sein, das ext4-Dateisystem auf einer Speichereinheit verbunden ist, um die Datei-system über die /dev/sda device-Datei und der Datei-system auf das Speichergerät an /.

Wir müssen den Namen des ISO-image, natürlich, und wir müssen auf mount wissen, wo wir möchten, das Dateisystem gemountet werden soll. Wir haben gewählt /mnt.

Das ISO-image montiert ist. Eine Erinnerung daran, dass die ISO-images sind immer angebracht, im nur-Lesen-Modus erscheint im terminal-Fenster.

Erkunden Sie das ISO-Image

Jetzt, wo es montiert ist, können wir navigieren in den Verzeichnissen, die in der ISO-image auf die gleiche Weise wie jeder andere Teil des Dateisystems. Lassen Sie die Liste der Dateien im ISO-image. Es ist gemountet unter /mnt erinnern.

ls /mnt
ls /mnt/cde/

Das ISO-Image aushängen

Abmelden, ein Dateisystem, verwenden Sie den Befehl umount. Beachten Sie, dass es keine “n” zwischen “u” und “m”—der Befehl ist umount und nicht “Auswerfen”.

Sie müssen sagen, umount, welches Dateisystem Sie sind unmounten. Tun dies, indem Sie die Dateisystem mount-Punkt.

sudo umount /mnt

Keine Nachrichten sind gute Nachrichten. Wenn es nichts zu berichten, dann ging alles gut.

Erstellen eines Mount-Punkt

Sie können erstellen und verwenden Sie Ihre eigenen mount-Punkte. Wir erstellen eine sogenannte isomnt und mounten das ISO-image auf. Ein mount-Punkt nur ein Verzeichnis. So können wir mkdir zum erstellen unserer neuen mount-Punkt.

sudo mkdir /media/dave/isomnt

Nun können wir den gleichen Befehl format nach wie vor zu montieren ISO-image. Dieses mal werden wir nicht mounten auf /mnt, werden wir mounten es auf /media/dave/isomnt/:

sudo mount-r -t iso9660 -o loop TinyCore-current.iso /media/dave/isomnt/

Wir können nun Zugriff auf das Dateisystem von unserer neuen mount-Punkt.

ls /media/dave/isomnt/cde/optional

Aber diese Wege sind immer sehr lang. Das ist bald zu anstrengend. Lassen Sie uns etwas dagegen tun.

Die Bindung einer Mount-Punkt

Sie können binden Sie ein mount-Punkt zu einem anderen Verzeichnis. Das Dateisystem kann dann zugegriffen werden, entweder durch den ursprünglichen mount-Punkt oder durch das Verzeichnis, gebunden ist.

Hier ist ein Beispiel. Wir erstellen ein Verzeichnis in unserem home-Verzeichnis namens iso. Dann werden wir binden Sie den mount-point der ISO-image – /media/dave/isomnt der neuen iso-Verzeichnis in unserem home-Verzeichnis.

Wir werden in der Lage sein, um Zugriff auf das ISO-image durch das original mount point /media/dave/isomnt und durch die neue iso-Verzeichnis. Die -B (binden) – option erfordert, dass der name des mount-Punkt und der name des Verzeichnisses, es zu binden.

mkdir iso
sudo mount -B /media/dave/isomnt/ iso
ls-iso
ls /media/dave/isomnt
cd iso
ls
cd-cde

Mit umount Mit Bindet

Ein Dateisystem, mount-point gebunden in ein anderes Verzeichnis erfordert unmounten von den mount-Punkt und das binden zeigen.

Auch wenn wir hängen Sie das Dateisystem aus seiner ursprünglichen mount-Punkt, können Sie immer noch Zugriff auf das Dateisystem von seinem gebundenen Verzeichnis. Muss das Dateisystem ausgehängt werden aus diesem Verzeichnis auch.

sudo umount /media/dave/isomnt
ls-iso

sudo umount iso
ls-iso

Montage einer Diskette

Ein Diskettenlaufwerk (mit Diskette) ist ein Speichermedium. Das bedeutet, dass eine sd (storage device) device-Datei wird verwendet, um die Verbindung mit dem physikalischen Gerät. Wir etablieren müssen, welches der nächste freie sd-Gerät Datei. Wir können dies tun, durch umleiten der Ausgabe von df durch grep und suchen Sie nach Einträgen, die mit “sd” in.

df | grep /dev/sd

Auf diesem Rechner gibt es nur einen einzigen sd-Geräte-Datei in Gebrauch ist. Ist dies /dev/sda. Der nächste sd-Geräte-Datei ausgegeben werden /dev/sdb. Das bedeutet, wenn wir schließen Sie das Diskettenlaufwerk an den computer, Linux wird /dev/sdb zu verbinden, um das floppy-Laufwerk.

Wir sagen, mount, mounten Sie das Dateisystem auf der Diskette im floppy-Laufwerk angeschlossen ist, nach /dev/sdb zu /mnt mount-Punkt.

Legen Sie die Diskette in das Diskettenlaufwerk ein, und schließen Sie das floppy-Laufwerk an einen USB-port auf dem computer. Geben Sie den folgenden Befehl ein:

sudo mount /dev/sdb /mnt

Dateisystem-Label

Wir können die-l – (label) – option mit mount, um herauszufinden, was, wenn überhaupt, ist mit einem Etikett zu einer Datei-system. Labels sind nicht mehr als willkürliche Namen. Sie haben keinen funktionalen Zweck.

Wir sind mit die -t (Typ) die option zu Fragen, zu montieren, um Bericht über die vfat-Datei-Systemen nur.

mount-l -t vfat

Finden Sie die Bezeichnung in eckigen Klammern am Ende der Auflistung. Die Bezeichnung für das floppy-Laufwerk ist NORTUN.

Wir können Zugriff auf das Diskettenlaufwerk durch die /mnt mount-Punkt.

cd /mnt
ls
ls -l SPIEL.C

Die Diskette enthält C-language-Quellcode-Dateien. Der Datumsstempel einer Datei zeigt, dass es zuletzt geändert wurde im Oktober 1992. Es ist wahrscheinlich älter als viele unserer Leser. (Unnötig zu sagen, die Bedeutung von NORTUN als ein label ist, verloren in den nebeln der Zeit.)

Wenn wir wiederholen unsere df geleitet durch grep-Befehls eine Liste mit sd-Gerät-Dateien, wir werden sehen, dass es jetzt zwei von Ihnen.

df | grep /dev/sd

Unsere floppy-Laufwerk zeigt, wie eingehängt auf /dev/sdb als wir erwartet haben. Das Dateisystem auf der Diskette im Laufwerk ist gemountet auf /mnt .

Zu unmounten Sie die Diskette, die wir verwenden, umount und übergeben Sie die Geräte-Datei als parameter.

sudo umount /dev/sdb

Die Lazy umount-Option

Was passiert, wenn du (oder ein anderer Benutzer) werden über das Dateisystem, wenn Sie versuchen, um das Gerät zu trennen? Der unmount fehl.

sudo umount /dev/sdb

Sie ist gescheitert, weil das aktuelle Arbeitsverzeichnis des Benutzers ist in der Datei system er versucht zu unmounten. Linux ist schlau genug, nicht zu lassen, Sie sah aus dem ast auf dem man sitzt.

Um dies zu überwinden, verwenden Sie die-l (faul) option. Dies bewirkt umount zu warten, bis die Datei system ist in der Lage zu sein, die sicher ausgehängt werden.

sudo umount -l /dev/sdb
ls
cd ~
ls /mnt

Auch wenn der umount-Befehl ausgegeben wird, wird das Dateisystem noch gemountet und der Benutzer kann die Liste der Dateien als normale.

Sobald der Benutzer wechselt das Verzeichnis auf das home-Verzeichnis der Diskette die Datei system gelöst und ausgehängt. Versuchen, um eine Liste der Dateien in /mnt erzeugt keine Ergebnisse.

Mounten einer Samba-Freigabe

Samba ist ein Satz von software-services, die es ermöglichen, Netzwerk-Freigaben zugegriffen werden austauschbar zwischen Linux-und Unix-artige Betriebssysteme und Windows-Betriebssystemen.

Das einrichten von Samba wird über den Rahmen dieses Artikels. Aber, wenn Sie den autorisierten Zugriff auf eine Samba-Freigabe, das wurde Ihnen zur Verfügung gestellt, dies ist, wie können Sie Sie mounten in Linux.

Ein Raspberry Pi mit dem gleichen Netzwerk verbunden wie die test-Maschine hat eine Samba-Freigabe auf. Es ist ein Verzeichnis namens Backup, das den Samba-Namen “teilen”. Lassen Sie uns stellen Sie eine SSH-Verbindung und Blick auf den Inhalt des freigegebenen Verzeichnisses. Das freigegebene Verzeichnis auf einem USB-stick montiert auf dem Pi.

Der Benutzername ist pi und der Netzwerk-name des Raspberry Pi ist marineville.local.

ssh pi@marineville.local
ls /media/pi/USB64/Backup
beenden

Der Benutzer gibt den Befehl SSH und ist aufgefordert, Ihre Raspberry Pi-Passwort.

Sie bieten Ihr Passwort und authentifiziert werden. Das terminal-Fenster, Eingabeaufforderung ändert sich zu pi@marineville denn es ist verbunden mit dem Raspberry Pi.

Dann Listen Sie den Inhalt des freigegebenen Verzeichnis auf /media/pi/USB64/Backup . Der Inhalt sind zwei Verzeichnisse, eines namens dave, und man nannte pat. Jetzt wissen wir also, was Sie erwartet, wenn wir mounten der Samba-Freigabe.

Sie geben Sie exit ein, trennen Sie es von der Raspberry Pi und die Eingabeaufforderung ändert sich wieder zu dave@howtogeek.

Verwenden von Samba installieren, müssen Sie das cifs-utils Paket.

Die Verwendung von apt-get zu installieren Sie dieses Paket auf Ihrem system, wenn Sie Ubuntu oder eine andere Debian-basierte distribution. Auf anderen Linux-Distributionen, verwenden Sie Ihre Linux-distribution Paket-management-tool statt.

sudo apt-get install cifs-utils

Wenn die installation abgeschlossen ist, mounten Sie die Freigabe mit einem Befehl wie dem folgenden, ändern Sie die IP-Adresse, share-name und mount-Punkt (muss bereits existieren) zu Ihren Gegebenheiten angepasst.

sudo mount-t cifs -o credentials=/etc/samba/creds,uid=1000,gid=1000 //192.168.4.13/share /media/dave/NAS

Lassen Sie uns brechen die Teile des Befehls.

  • -t cifs: Der Typ des Dateisystems ist cifs.
  • -o credentials=/etc/samba/creds,uid=1000,gid=1000: die Optionen, Die Parameter sind der Pfad zu einer Datei namens creds, dass gesichert ist, und enthält den Benutzernamen und das Passwort für den Raspberry Pi-Benutzer, die Benutzer-ID (UID) und Group ID (GID), die verwendet werden, um den Besitzer und die Gruppe von der Wurzel des Dateisystems.
  • //192.168.4.13/teilen: Der Netzwerkadresse des Geräts mit dem Samba-share auf es, und der Samba-name des freigegebenen Verzeichnisses. Das Stammverzeichnis der Freigabe ist ein Ordner namens Backup, aber seine Samba-Freigabe namens zu teilen.
  • /media/dave/NAS: Der name des mount-Punkt. Sie müssen erstellen Sie Ihre mount-Punkt im Voraus.

Durch den Zugriff auf unsere mount-Punkt unter /media/dave/NAS sind wir Zugriff auf das freigegebene Verzeichnis auf dem Raspberry Pi über das Netzwerk. Sehen wir die zwei Ordner auf dem Raspberry Pi namens dave und pat.

cd /media/dave/NAS

Erstellen und Mounten eines Dateisystems

Sie können den dd-Befehl verwenden, erstellen Sie eine Bild-Datei, dann verwenden Sie mkfs erstellen Sie eine Datei-system drin. Das Dateisystem kann dann montiert werden. Dies ist eine gute Art, zu üben und zu Experimentieren mit Halterung.

Wir verwenden die if (input file) die option zu sagen, dd zu verwenden, der Strom von null-Werten aus /dev/null als Eingabe-Datei.

Die of (output file) eine neue Datei namens geek_fs.

Wir sind mit dem bs (block size) option zum anfordern einer Blockgröße von 1 MB.

Wir verwenden die count-option zu sagen, dd 20 Blöcke in die Ausgabe-Datei.

dd if=/dev/null./geek_fs bs=1M count=20

Das schafft unser image-Datei für uns. Es enthält nichts als null-Werte.

Wir erstellen ein funktionierendes Dateisystem innerhalb der geek_fs-Datei mit dem Befehl mkfs. Die -t (Typ) die option ermöglicht die Auswahl der Datei-system-Typ. Wir erstellen Ihnen ein ext4 system.

mkfs -t ext4 ./geek_fs

Das ist alles was es braucht, um eine Datei-system.

Let ‘ s mounten es auf /media/dave/geek und verwenden Sie dann chown um den Besitzer und Gruppen-Zugehörigkeiten zu ermöglichen den Zugriff auf.

sudo mount ./geek_fs /media/dave/geek
sudo chown dave:users /media/dave/geek

Funktioniert es? Ändern wir nun in die neue Datei-system und kopieren Sie in eine Datei zu sehen.

cd /media/dave/geek
cp /etc/fstab .

ls -l

Wir waren in der Lage, ändern Sie das Verzeichnis in die neue Datei system, und wir erfolgreich eine Kopie der /etc/fstab-Datei. Es funktioniert!

Wenn wir montieren, um eine Liste der gemounteten Dateisysteme, sondern beschränkt seine Ausgabe auf ext4-Dateisysteme mit der Option-t (Typ) die option, wir werden sehen, dass es jetzt zwei montierten ext4-Dateisysteme.

mount-t ext4

Erneutes mounten eines Dateisystems

Zusammenbau ist ein Dateisystem verwendet, das -o remount-option. Es ist in der Regel getan, eine Datei zu ändern-system von einem read-only (prüfen) Zustand zu-Lesen-schreiben (Produktion) Stand.

Wir montieren unsere floppy-Laufwerk wieder. Dieses mal verwenden wir die Option-r (read-only) versehen ist. Dann werden wir Rohrbefestigung durch grep und Blick auf die details der Disketten-Datei-system.

sudo mount-r /dev/sdb /mnt
mount | grep /mnt

Wie Sie sehen können die markierten ro zeigt das Dateisystem eingehängt ist read-only.

Mit dem -o remount mit der option rw (read-write) flag können wir einen unmount und remount das Dateisystem mit den neuen Einstellungen, alles in einem Befehl.

sudo mount-o remount,rw /mnt

Wiederholung der Rohrleitungen montieren durch grep zeigt uns, dass die ro wurde ersetzt durch rw (hervorgehoben). Die Datei system ist jetzt im read-write-Modus.

mount | grep /mnt

(Nicht) Verschieben einer Datei-System

Sie verwendet werden, um in der Lage zu unmounten eines Dateisystems und mounten es auf einem anderen mount-Punkt mit einem einzigen Befehl.

Das -M (move) die option in mount vorhanden ist spezifisch, um Ihnen zu erlauben, das zu tun. Aber es funktioniert nicht mehr in Linux-Distributionen, die Umstellung auf systemd. Und das sind die meisten der großen Namen.

Wenn wir versuchen, um ein Dateisystem von /mnt ./geek, es schlägt fehl und gibt die Fehlermeldung, die unten gezeigt. Versuchen, die Dateien aufzulisten, die in den Dateien ystem durch ./geek gibt keine Ergebnisse zurück.

sudo mount -M /mnt ./geek
ls ./geek

Die Problemumgehung ist die Verwendung der-B (binden) die option, die wir schon früher verwendet, um zu binden das original mount-Punkt der neuen mount-Punkt.

sudo mount -B /mnt ./geek
ls ./geek

Abgesehen von nicht die Freigabe der original mount-Punkt, diese haben die gleiche praktische Ergebnis.

Abschließende Bemerkungen

Mit der –make-option “private” war es möglich, die Kraft der Bewegung auf systemd Linux-Versionen. Dass Technik nicht vorgelegt, ist hier aus zwei Gründen.

  1. Es kann zu unvorhersehbaren Verhalten.
  2. Es war nicht persistent und benötigen würde, zu wiederholen, bei jedem Neustart.

Devuan Linux verwendet SysV-init nicht systemd. Ein computer geladen wurde mit der neuesten version von Devuan und getestet. Das -M (move) die option funktioniert wie erwartet, auf das system.

Abgesehen von den systemd Probleme mit dem -M (move) die option, die Sie sollten die Verwendung von mount und umount einfach. Dies sind die großen Befehle in Ihren ärmel, wenn Sie sich mit einem beschädigten system, und Sie haben zu starten, setzen Sie die Datei-system wieder zusammen mit der hand.