Bagaimana cara me-mount file gambar tanpa root?

8

Saya memiliki file dengan sistem file ext4 di dalamnya dan ingin me-mount tanpa menggunakan sudo setiap saat (skrip harus dijalankan dengan hak pengguna). File yang ingin saya mount dan folder yang ingin saya mount juga keduanya ada di direktori home saya yang dienkripsi, jadi saya tidak bisa memasukkan lokasi file ke dalamnya /etc/fstab.

Saya mencoba fusermounttetapi saya selalu mendapatkan pesan kesalahan seperti "fusermount: argumen tambahan setelah mountpoint".

UTF-8
sumber
@muru Terima kasih, sayangnya ini tentang ext2. Bahkan jika akses tulis dimungkinkan, saya tidak akan memiliki penjurnalan karena ext2 tidak memiliki penjurnalan. Saya perlu membuat jurnal.
UTF-8
1
Maka Anda harus hidup dengan harus menjadi root.
muru
unix.stackexchange.com/a/32157/10805 Apa fusermountperintah yang Anda coba?
earthmeLon

Jawaban:

2

Anda dapat memilikinya di / etc / fstab. Direktori rumah saya dienkripsi, namun:

$ dd if=/dev/zero of=ext4_file bs=1024 count=1024
1024+0 records in
1024+0 records out
1048576 bytes (1,0 MB) copied, 0,0341311 s, 30,7 MB/s
$ /sbin/mkfs.ext4 -F ext4_file
mke2fs 1.42.12 (29-Aug-2014)

Filesystem too small for a journal
Discarding device blocks: done                            
Creating filesystem with 1024 1k blocks and 128 inodes

Allocating group tables: done                            
Writing inode tables: done                            
Writing superblocks and filesystem accounting information: done

$ grep ext4_directory /etc/fstab
/home/alessandro/ext4_file /home/alessandro/ext4_directory ext4 noauto,user 0 0
$ mount ext4_directory
$ mount | grep ext4_directory
/home/alessandro/ext4_file on /home/alessandro/ext4_directory type ext4 (rw,nosuid,nodev,noexec,relatime,user=alessandro)
Alessandro
sumber
Jika dia mengatakan itu karena terenkripsi, dia tidak bisa meletakkannya di / etc / fstab, dia benar. Itu tidak sepenuhnya me-mount itu.
David
Yah, tidak ada yang menghentikan saya dari menulisnya /etc/fstab, jadi saya mencobanya sebelum saya memposting pencarian ini. Saya tahu bahwa itu mungkin tidak akan me-mount tetapi berasumsi bahwa mungkin itu akan gagal tanpa konsekuensi dan fakta bahwa itu /etc/fstabmemungkinkan saya untuk me-mount tanpa root. Sayangnya ini menyebabkan sistem saya gagal untuk boot dan saya harus menghapus baris agar dapat menggunakan mesin saya lagi.
UTF-8
David, semua yang saya tulis saya lakukan pada PC dengan / home yang dipasang pada partisi terenkripsi. Dan itu berhasil. Dan saya tidak bisa melihat mengapa itu tidak bisa.
Alessandro
UTF-8, agar berfungsi / home harus di-mount sebelum file Anda. Atau Anda mengatur file Anda agar tidak di-mount secara otomatis, seperti saya mengaturnya ke arah yang saya berikan kepada Anda, mereka adalah skenario nyata.
Alessandro
Siapa yang memasukkan ext4_filefile fstab?? Tidakkah kamu melewatkan sesuatu?
Mohammad Kholghi
2

Anda bisa menggunakan udiskctl:

$ udisksctl loop-setup --file your_file.iso
Mapped file your_file.iso as /dev/loop6.

Sekarang, file Anda dipetakan ke a block device, dan Anda bisa memasangnya sebagai:

$ udisksctl mount -b /dev/loop6
Mounted /dev/loop6 at /media/user/your_file.

setelah selesai, unmount menggunakan:

$ udisksctl unmount -b /dev/loop6
Unmounted /dev/loop6.

akhirnya, hapus dengan:

$ udisksctl loop-delete -b /dev/loop6

Selamat bersenang-senang!

Mohammad Kholghi
sumber
Saya mencoba me-mount beberapa gambar Linux yang telah saya letakkan ( kali-linux-2019.1a-amd64.iso) tetapi saya selalu mengerti: Object /org/freedesktop/UDisks2/block_devices/loop5 is not a mountable filesystem.(Dengan nomor perangkat yang berbeda-beda, tentu saja.) Ini terjadi bahkan ketika saya mencoba memasangnya hanya-baca. Memasangnya hanya-baca melalui sudo mountkarya saja.
UTF-8
gunakan udisksctl loop-setup --file your_file.isolagi, sehingga memberi Anda perangkat loop baru, dan pasang yang itu (misalnya /dev/loop8). Di OS saya, tidak berfungsi menggunakan loop6dan tidak tahu mengapa. @ UTF-8
Mohammad Kholghi
2

Mount Image Disk GNOME

Di samping udisksctldan guestmount( libguestfs-tools) Anda bisa:

gnome-disk-image-mounter ~/ISOs/file.iso

Dari manual :

Terima file biasa dan URI GVfs (seperti seseorang: //filer/media/file.iso) ")

Secara default gambar disk dilampirkan read-only, gunakan opsi --writable untuk mengubah ini.

Pablo Bianchi
sumber
1

guestmount tipu daya libguestfs

sudo apt-get install libguestfs-tools

# Workarounds for Ubuntu 18.04 bugs.
# /server/246835/convert-directory-to-qemu-kvm-virtual-disk-image/916697#916697
sudo rm -rf /var/cache/.guestfs-*
echo dash | sudo tee /usr/lib/x86_64-linux-gnu/guestfs/supermin.d/zz-dash-packages
sudo chmod +r /boot/vmlinuz-*

# Create a test image.
mkdir sysroot
dd if=/dev/urandom of=sysroot/myfile bs=1024 count=1024
virt-make-fs --format=raw --type=ext2 sysroot sysroot.ext2

# Mount it, have fun, unmount!
mkdir -p mnt
# /dev/sda becuase we have a raw filesystem.
guestmount -a sysroot.ext2.qcow2 -m /dev/sda mnt
cmp sysroot/myfile mnt/myfile
guestunmount mnt

Bergantung pada:

  • implementasi userland dari sistem file
  • SEKERING

Documents: http://libguestfs.org/guestmount.1.html

Diuji pada Ubuntu 18.04, libguestfs-tools 1: 1.36.13-1ubuntu3.

Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功
sumber