Montaż CLI a montaż GUI

21

Na Ubuntu 12.10, kiedy chcę zamontować dysk twardy, mogę po prostu kliknąć odmontowany dysk i wszystko działa dobrze (po zamontowaniu na /media/username/partitionlabel).

Zasadniczo chciałbym to zrobić dokładnie za pomocą wiersza poleceń (dla skryptu, nad którym pracuję).

Ponieważ nie chcę automatycznie montować przy starcie systemu, fstab nie wchodzi w rachubę (prawda?).

Kiedy używam mount w CLI, muszę określić punkt montowania (który musi mieć wcześniej utworzony punkt montowania; muszę też zadbać o uprawnienia i tak dalej) - nie rozumiem, gdzie GUI bierze wszystko jego informacje z? Punkt montowania wydaje się zależeć od etykiety partycji, ale taki katalog nie istnieje przed zamontowaniem. Ponadto sposób interfejsu GUI nie wydaje się zbytnio obchodzić użytkownika, który nie jest rootem.

Czy istnieje „łatwy” sposób montażu za pomocą interfejsu CLI, podobnie jak w interfejsie GUI poprzez kliknięcie odmontowanego napędu?

NicApicella
źródło

Odpowiedzi:

16

Nautilus i inne menedżery plików, które montują dyski (tj . GUI ), używają udiskspolecenia.

Zapewnia to dynamiczne montowanie, w którym punkt montowania jest tworzony dla dysku w locie, a gdy dysk jest odmontowany, punkt montowania znika.

Zobacz man 1 udisksszczegółowe informacje na temat używania tego polecenia (ręcznie lub wywoływane ze skryptu / aplikacji). Aby dowiedzieć się więcej o tym udisks, jak działa, zobacz man 7 udisks.

Aby zamontować urządzenie z udisks, należy podać poprawną nazwę urządzenia dla urządzenia. Określenie nazwy woluminu urządzenia nie będzie działać. Możesz więc użyć udiskstego w następujący sposób:

udisks --mount /dev/sdb1

W przypadku ręcznego korzystania udisksz wiersza polecenia najlepiej jest po prostu podłączyć urządzenie, a następnie uruchomić je dmesg | tailwkrótce (patrz man dmesgi man tail), aby znaleźć nazwę nowo podłączonego urządzenia.

udisksJednak może nie być to najlepszy sposób na napisanie skryptu, za pomocą którego montuje się urządzenia . Nie wiem dokładnie, jak powinieneś to zrobić, i trudno byłoby wiedzieć, ponieważ nie powiedziałeś nam dokładnie, co chcesz, aby ten skrypt miał robić i kiedy chcesz, aby montował urządzenia.

Eliah Kagan
źródło
Wielkie dzięki - udisksdokładnie tego szukałem! Z jakiegokolwiek powodu pojawia się komunikat „Mount failed: Not Aouthorized” podczas uruchamiania ssh; jeśli nie pcham szczęścia, wskazówki będą mile widziane, jak to naprawić. ^^
NicApicella
2
@NicolaApicella Jak to działa? Otrzymasz nieautoryzowany komunikat, jeśli spróbujesz uruchomić go ze zdalnej sesji (w tym SSH) lub z pliku crontab; domyślnie użytkownicy inni niż root mogą montować woluminy tylko przy użyciu udiskslokalnych interaktywnych loginów. (Nadal mogą jednak uruchamiać skrypt z lokalnego, interaktywnego loginu, z którego korzysta udisks.)
Eliah Kagan
Tak, przepraszam, właśnie zauważyłem (i zredagowałem) mój poprzedni komentarz: Naprawdę go uruchamiam ssh. (I obecnie
googluje
6

Ponieważ nie chcę automatycznie montować przy starcie systemu, fstab nie wchodzi w rachubę (prawda?).

Nie. noautosłowo kluczowe powoduje pominięcie montażu w czasie uruchamiania.

Czy istnieje „łatwy” sposób montażu za pomocą interfejsu CLI, podobnie jak w interfejsie GUI poprzez kliknięcie odmontowanego napędu?

Najłatwiej byłoby, aby dodać go do /etc/fstabz noautooraz wykorzystanie ...

mount /dir

Będzie to miało sondę montowania dla punktu montowania, a jeśli nie zostanie znaleziona, dla urządzenia w /etc/fstab. /dirmusi jednak istnieć.

Jeśli podane /etc/fstabjest urządzenie lub identyfikator UUID, nie jest ono sprawdzane. Tak jak ...

mount /dev/sda1 /media/directory

Lub użyj udisks (pozwolę Eliaszowi to obsłużyć> :-))


mount jest ogólnie tylko superużytkownikiem.

Przykładowe opcje:

  • rw,noauto,user montuje go jako odczyt + zapis, ale nie przy starcie i możesz to zrobić jako użytkownik.

  • Możesz także dodać uprawnienia /etc/fstabdla plików użytkownika. Możesz umaskdo tego użyć .

  • umask = 0444: wszyscy czytają, nie zapisują, nie wykonują.

  • umask = 0333: wszyscy czytają, wykonują.
  • umask = 0338: właściciel, grupa odczytuje i wykonuje; inni nic
Rinzwind
źródło
OK, prawdopodobnie pójdę dalej i spróbuję tego, ponieważ i tak wydaje się to „sposobem na zrobienie tego”. :-) Myślę, że i tak będę musiał utworzyć katalog mountpoint (z poprawnymi prawami). ;-)
NicApicella
@Rinzwind Czy użytkownik inny niż root będzie mógł zamontować urządzenie?
Eliah Kagan
1
@EliahKagan Tak, jeśli ustawisz odpowiednie opcje w fstab (identyfikator użytkownika, użytkownik, ...).
NicApicella
@NicolaApicella Mam nadzieję, że ta odpowiedź może zostać poszerzona o informacje na ten temat. :)
Eliah Kagan
@NicApicella lubi mnie
rządzić
3

W jednym z komentarzy powiedziałeś:

Z jakiegokolwiek powodu pojawia się komunikat „Mount failed: Not Aouthorized” podczas uruchamiania przez ssh

Używam pmountzamiast udisks. Działa nad ssh.

Jeśli dobrze pamiętam, używam tej składni / etc - większość moich jest w tym miejscu ukryta za aliasami:

pmount /dev/sdb1 my_usb
ls /media/my_usb/
eject /media/my_usb
Izkata
źródło
2

Posługiwać się

udisks --mount /dev/sdb1

(zamień /dev/sdb1na urządzenie, które chcesz zamontować)

Florian Diesch
źródło