GNU/Linux >> Belajar Linux >  >> Linux

Bagaimana cara mendaftarkan tipe sistem file FUSE dengan mount (8) dan fstab?

Secara umum, seseorang "mendaftarkan" jenis sistem file mount baru dengan membuat mount.fstype yang dapat dieksekusi .

$ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs

Jika vdbfs.py mengambil mount -ish argumen (mis. dev path [-o opts] ), lalu mount -t vdbfs dan menggunakan vdbfs sebagai bidang ke-3 di fstab akan bekerja. Jika tidak, Anda dapat membuat pembungkus yang mengambil argumen dari bentuk itu dan memetakannya ke apa pun vdbfs.py Anda mengambil.

FUSE juga harus memasang mount.fuse dapat dieksekusi; mount.fuse 'vdbfs.py#dev' path -o opts akan melanjutkan dan memanggil vdbfs.py dev path -o opts . Dalam hal ini, Anda dapat menggunakan fuse sebagai tipe sistem file Anda dan awali perangkat Anda dengan vdbfs.py# .


Jadi untuk mengklarifikasi jawaban ephemient, ada dua opsi:

  1. Edit /etc/fstab seperti ini:

    # <file system>   <mount point>      <type>  <options>         <dump>  <pass>
    # ...
    vdbfs.py#<dev>    /srv/virtual-db    fuse    user,<other-opts>    0    0
    

    Atau,

  2. Buat awalan yang dapat dieksekusi dengan "mount." (memastikannya dapat digunakan dengan mount -opsi seperti):

    $ ln -s /usr/bin/vdbfs.py /usr/sbin/mount.vdbfs
    

    Dan edit /etc/fstab seperti ini:

    # <file system> <mount point> <type>    <options>         <dump>  <pass>
    # ...
    <dev>    /srv/virtual-db    vdbfs.py    user,<other-opts>    0    0
    

Sehubungan dengan pemasangan otomatis saat start up dan pemasangan manual dengan mount , user dan noauto opsi relevan dan didukung penuh oleh fuse itu sendiri sehingga Anda tidak perlu menerapkannya sendiri. user opsi memungkinkan pengguna yang tidak memiliki hak istimewa yang merupakan anggota grup "fuse" memasang sistem file Anda dengan mount perintah, dan noauto mengarahkan sistem file Anda untuk tidak secara otomatis me-mount saat startup. Jika Anda tidak menentukan noauto , itu akan dipasang secara otomatis.


Untuk mengklarifikasi @patryk.beza mengomentari jawaban yang diterima, cara yang benar untuk memasang sistem file FUSE adalah dengan menyetel jenis sistem file ke fuse.<subtype> .

Misalnya, untuk memasang implementasi s3fs-fuse, yang tidak menyediakan /sbin/mount.* spesifik pembungkus dan biasanya menggunakan s3fs perintah pengguna untuk memasang bucket S3, seseorang dapat menggunakan perintah ini sebagai root:

mount -t fuse.s3fs bucket-name /path/to/dir -o <some,options>

atau baris ini di /etc/fstab :

bucket-name /path/to/dir fuse.s3fs <some,options> 0 0

atau unit pemasangan SystemD ini (misalnya, /etc/systemd/system/path-to-dir.mount ):

[Unit]
Description=S3 Storage
After=network.target

[Mount]
What=bucket-name
Where=/path/to/dir
Type=fuse.s3fs
Options=<some,options>

[Install]
WantedBy=multi-user.target

Cara kerjanya:mount mengenali konsep "subtipe sistem file" ketika tipe diformat dengan titik (mis. <type>.<subtype> ), sehingga menjadi tipe dengan format fuse.someimpl diakui sebagai tanggung jawab FUSE mount helper /sbin/mount.fuse . Pembantu pemasangan FUSE kemudian menyelesaikan someimpl bagian dari implementasi FUSE, dengan cara yang sama seperti # format digunakan dalam jawaban aslinya (menurut saya ini hanyalah pencarian jalur untuk program bernama <subtype> , tapi saya tidak 100% yakin tentang itu).


Linux
  1. Cara Mengatur LogAnalyzer dengan Rsyslog dan MySQL

  2. Bagaimana Cara Memasang Sistem File, Memetakan Userid?

  3. Bagaimana Cara Memeriksa Apakah Sebuah Partisi Dipasang Sebagai 'noexec'?

  1. Linux – Bagaimana Cara Memasang Sistem File Jarak Jauh Dengan Menentukan Nomor Port?

  2. Cara mengaktifkan dan memasang 2 grup Volume dengan nama yang sama di CentOS/RHEL

  3. Cara Membuat/Menghapus dan Memasang Sistem File Stratis di CentOS/RHEL 8

  1. SSHFS? Apa itu dan bagaimana cara menggunakannya?

  2. Cara Memasang dan Melepas Drive di Linux

  3. Bagaimana Melakukan Chroot Dengan Ruang Nama Linux?