CLI-Montage vs. GUI-Montage

21

Wenn ich unter Ubuntu 12.10 eine Festplatte mounten möchte, kann ich einfach auf das nicht gemountete Laufwerk klicken und alles funktioniert einwandfrei (durch Mounten auf /media/username/partitionlabel).

Grundsätzlich möchte ich genau das über die Befehlszeile tun (für ein Skript, an dem ich arbeite).

Da ich beim Booten nicht automatisch einbinden möchte, kommt fstab nicht in Frage (oder?).

Wenn ich mount auf der CLI verwende, muss ich einen Mountpoint angeben (für den ein zuvor erstellter Mountpoint erforderlich ist; außerdem muss ich auf Berechtigungen und so weiter achten) seine Infos von? Der Einhängepunkt scheint von der Bezeichnung der Partition abzuhängen, aber ein solches Verzeichnis existiert vor dem Einhängen nicht. Außerdem scheint es der GUI-Art nicht zu viel zu bedeuten, dass ein Benutzer nicht root ist.

Gibt es eine "einfache" Möglichkeit zum Mounten über die CLI, genau wie auf der GUI, indem Sie auf ein nicht gemountetes Laufwerk klicken?

NicApicella
quelle

Antworten:

16

Nautilus und andere Dateimanager, die Laufwerke bereitstellen (z. B. die GUI ), verwenden den udisksBefehl.

Dadurch wird eine dynamische Bereitstellung bereitgestellt, bei der der Bereitstellungspunkt für das Laufwerk im laufenden Betrieb erstellt wird. Wenn das Laufwerk nicht bereitgestellt wird, verschwindet der Bereitstellungspunkt.

Weitere man 1 udisksInformationen zur Verwendung dieses Befehls finden Sie unter (entweder manuell oder über ein Skript / eine Anwendung aufgerufen). Weitere Informationen zur Funktionsweise udisksfinden Sie unter man 7 udisks.

Um ein Gerät mit udisksbereitzustellen, müssen Sie einen gültigen Gerätenamen für das Gerät angeben . Die Angabe der des Geräts Volume - Name wird nicht funktionieren. So können Sie udiskswie folgt verwenden:

udisks --mount /dev/sdb1

Bei manueller Verwendung udisksüber die Befehlszeile ist es möglicherweise am besten, einfach ein Gerät anzuschließen und dmesg | tailkurz danach auszuführen (siehe man dmesgund man tail), um den Gerätenamen des neu angeschlossenen Geräts zu ermitteln.

Dies ist jedoch möglicherweise nicht der beste Weg, um ein Skript zu schreiben, mit dem Geräte gemountet werden udisks. Ich weiß nicht genau, wie Sie es tun sollen, und es wäre schwierig zu wissen, da Sie uns nicht genau mitgeteilt haben, was dieses Skript tun soll und wann es Geräte mounten soll.

Eliah Kagan
quelle
Vielen Dank - udisksgenau das, wonach ich gesucht habe! Aus irgendeinem Grund erhalte ich die Meldung "Mount failed: Not Aouthorized", wenn ich es über starte ssh. Wenn ich mein Glück nicht tue, wäre es hilfreich, Hinweise zu geben, wie das Problem behoben werden kann. ^^
NicApicella
2
@NicolaApicella Wie läuft es? Sie erhalten eine nicht autorisierte Nachricht, wenn Sie versuchen, diese über eine Remote-Sitzung (einschließlich SSH) oder eine Crontab auszuführen. Standardmäßig können Nicht-Root-Benutzer Volumes nur udisksüber lokale interaktive Anmeldungen bereitstellen. (Sie können dennoch ein Skript über ein lokales interaktives Login ausführen, das verwendet udiskswird.)
Eliah Kagan
Ja, sorry, habe gerade meinen vorherigen Kommentar bemerkt (und bearbeitet): Ich renne ihn in der Tat ab ssh. (Und derzeit googeln ein
Update
6

Da ich beim Booten nicht automatisch einbinden möchte, kommt fstab nicht in Frage (oder?).

Nee. noautoDurch das Schlüsselwort wird das Laden beim Booten übersprungen.

Gibt es eine "einfache" Möglichkeit zum Mounten über die CLI, genau wie auf der GUI, indem Sie auf ein nicht gemountetes Laufwerk klicken?

Am einfachsten wäre es, es /etc/fstabmit hinzuzufügen noautound zu verwenden ...

mount /dir

Dies hat einen Mount-Test für einen Mount-Punkt und, falls nicht, für ein Gerät in /etc/fstab. /dirmuss aber existieren.

Wenn entweder Gerät oder UUID angegeben sind, /etc/fstabwird nicht geprüft. Wie so ...

mount /dev/sda1 /media/directory

Oder benutze udisks (ich lasse Eliah damit umgehen> :-))


mount ist generell nur Superuser.

Beispieloptionen:

  • rw,noauto,user mounte es als read + write aber nicht beim booten und du kannst es als user machen.

  • Sie können auch Berechtigungen für einen Benutzer /etc/fstabfür Dateien hinzufügen . Sie können dafür verwenden umask.

  • umask = 0444: Alle lesen, nicht schreiben, nicht ausführen.

  • umask = 0333: Jeder liest, führt aus.
  • umask = 0338: Eigentümer, Gruppe lesen und ausführen; andere nichts
Rinzwind
quelle
OK, ich werde es wahrscheinlich versuchen, da es sowieso der "Weg" zu sein scheint. :-) Also ich schätze, ich muss sowieso ein Mountpoint-Verzeichnis (mit den richtigen Rechten) erstellen. ;-)
NicApicella
@Rinzwind Kann ein Benutzer ohne Rootberechtigung das Gerät mounten?
Eliah Kagan
1
@EliahKagan Ja, wenn Sie die entsprechenden Optionen in fstab (uid, user, ...) festlegen.
NicApicella
@NicolaApicella Ich hoffe, dass diese Antwort um Informationen dazu erweitert wird. :)
Eliah Kagan
@ NicApicella er liebt es, mich
herumzukommandieren
3

In einem der Kommentare sagten Sie:

Aus irgendeinem Grund erhalte ich "Mount failed: Not Aouthorized", wenn ich es über ssh starte

Ich benutze pmountstatt udisks. Es funktioniert über ssh.

Wenn ich mich richtig erinnere, ist dies die Syntax / etc, die ich damit verwende - die meisten von mir sind an dieser Stelle hinter Aliasen verborgen:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
Izkata
quelle
2

Verwenden

udisks --mount /dev/sdb1

(Ersetzen Sie es /dev/sdb1durch das Gerät, das Sie einhängen möchten.)

Florian Diesch
quelle