Pemasangan CLI vs pemasangan GUI

21

Di Ubuntu 12.10, ketika saya ingin memasang hard drive, saya cukup mengklik drive yang tidak di-mount dan semuanya berfungsi dengan baik (dengan memasang ke /media/username/partitionlabel).

Pada dasarnya, saya ingin melakukan hal itu melalui command line (untuk skrip yang sedang saya kerjakan).

Karena saya tidak ingin automount di boot, fstab keluar dari pertanyaan (kan?).

Ketika saya menggunakan mount pada CLI, saya perlu menentukan mountpoint (yang perlu memiliki mountpoint yang dibuat sebelumnya; juga, saya perlu mengurus izin dan yang lainnya) - yang saya tidak mengerti adalah di mana GUI mengambil semua infonya dari? Mountpoint tampaknya bergantung pada label partisi, tetapi direktori seperti itu tidak ada sebelum pemasangan. Selain itu, cara GUI tampaknya tidak terlalu peduli tentang pengguna yang tidak menjadi root.

Apakah ada cara "mudah" untuk memasang melalui CLI, seperti halnya pada GUI dengan mengklik pada drive yang tidak di-mount?

NicApicella
sumber

Jawaban:

16

Nautilus dan manajer file lain yang memasang drive (yaitu, GUI ) menggunakan udisksperintah.

Ini memberikan mount dinamis , di mana titik mount dibuat untuk drive on-the-fly, dan ketika drive dilepas, titik mount hilang.

Lihat man 1 udisksdetail tentang cara menggunakan perintah ini (baik secara manual, atau dipanggil dari skrip / aplikasi). Untuk mempelajari lebih lanjut tentang cara udiskskerjanya, lihat man 7 udisks.

Untuk memasang perangkat dengan udisks, Anda harus menentukan nama perangkat yang valid untuk perangkat tersebut. Menentukan nama volume perangkat tidak akan berfungsi. Jadi, Anda bisa menggunakan udisksseperti ini:

udisks --mount /dev/sdb1

Ketika menggunakan secara manual udisksdari command-line, Anda mungkin lebih baik untuk cukup mencolokkan suatu perangkat, kemudian jalankan dmesg | tailsegera sesudahnya (lihat man dmesgdan man tail) untuk menemukan nama perangkat dari perangkat yang baru dipasang.

Namun, ini mungkin bukan cara terbaik untuk menulis skrip yang memasang perangkat udisks. Saya tidak tahu persis bagaimana Anda harus melakukannya, dan itu akan sulit untuk diketahui karena Anda belum memberi tahu kami secara tepat apa yang Anda ingin lakukan skrip ini dan kapan Anda ingin memasang perangkat.

Eliah Kagan
sumber
Terima kasih banyak - udiskspersis apa yang saya cari! Untuk alasan apa pun, saya mendapatkan "Mount gagal: Tidak Aouthorized" ketika menjalankannya melalui ssh; jika saya tidak mendorong keberuntungan saya, petunjuk akan dihargai bagaimana memperbaikinya. ^^
NicApicella
2
@NicolaApicella Bagaimana Anda menjalankannya? Anda akan mendapatkan pesan yang tidak diotorisasi jika Anda mencoba menjalankannya dari sesi jarak jauh (termasuk SSH) atau dari crontab; secara default, pengguna non-root hanya dapat me-mount volume dengan udisksdari login interaktif lokal. ( udisksMeskipun demikian, mereka masih dapat menjalankan skrip dari login interaktif lokal yang menggunakan .)
Eliah Kagan
Ya, maaf, baru saja memperhatikan (dan mengedit) komentar saya sebelumnya: Saya memang menjalankannya ssh. (Dan saat ini googling perbaikan.)
NicApicella
6

Karena saya tidak ingin automount di boot, fstab keluar dari pertanyaan (kan?).

Nggak. noautokata kunci membuatnya melewati pemasangan pada saat boot.

Apakah ada cara "mudah" untuk memasang melalui CLI, seperti halnya pada GUI dengan mengklik pada drive yang tidak di-mount?

Cara termudah untuk menambahkannya adalah /etc/fstabdengan noautodan menggunakan ...

mount /dir

Ini akan me-mount penyelidikan untuk mountpoint dan jika tidak ditemukan maka untuk perangkat di /etc/fstab. /dirperlu ada sekalipun.

Jika salah satu perangkat atau UUID disediakan /etc/fstabtidak diselidiki. Seperti ...

mount /dev/sda1 /media/directory

Atau gunakan udisks (saya akan membiarkan Eliah menanganinya> :-))


mount umumnya adalah pengguna super saja.

Opsi contoh:

  • rw,noauto,user mount sebagai baca + tulis tetapi tidak saat boot dan Anda dapat melakukannya sebagai pengguna.

  • Anda juga dapat menambahkan izin untuk pengguna /etc/fstabuntuk file. Anda bisa menggunakannya umaskuntuk itu.

  • umask = 0444: semua orang membaca, tidak menulis, tidak mengeksekusi.

  • umask = 0333: semua orang membaca, mengeksekusi.
  • umask = 0338: pemilik, grup membaca dan mengeksekusi; yang lain, tidak ada
Rinzwind
sumber
OK, saya mungkin akan pergi ke depan dan mencobanya, karena sepertinya itu adalah "cara untuk melakukannya". :-) Jadi saya kira saya harus membuat direktori mountpoint (dengan hak yang benar). ;-)
NicApicella
@Rinzwind Akankah pengguna non-root dapat memasang perangkat?
Eliah Kagan
1
@ EliahKagan Ya, jika Anda mengatur opsi yang sesuai di fstab (uid, pengguna, ...).
NicApicella
@NicolaApicella Saya berharap jawaban ini dapat diperluas untuk memasukkan informasi tentang itu. :)
Eliah Kagan
@NicApicella dia suka memerintah saya:
:)
3

Dalam salah satu komentar, Anda berkata:

Untuk alasan apa pun, saya mendapatkan "Gunung gagal: Tidak Aouthorized" ketika menjalankannya melalui ssh

Saya menggunakan pmountbukan udisks. Ini bekerja lebih dari ssh.

Jika saya ingat dengan benar, ini adalah sintaks / etc yang saya gunakan dengannya - sebagian besar dari saya tersembunyi di balik alias pada saat ini:

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

Menggunakan

udisks --mount /dev/sdb1

(ganti /dev/sdb1dengan perangkat yang ingin Anda pasang )

Florian Diesch
sumber