GNU/Linux >> Belajar Linux >  >> Linux

Apakah Ada Kelemahan Dari Menggunakan Mount –bind Sebagai Pengganti Tautan Simbolik?

Symlink memiliki batasan dalam cara fungsi seperti ls , mv , dan cp dapat beroperasi pada mereka karena tidak seperti perintah yang dimulai shell seperti cd , fungsi-fungsi ini tidak memiliki informasi tentang bagaimana pengguna mengakses direktori sehubungan dengan jalur logis (lihat posting terkait). Sepertinya menggunakan mount --bind sebagai gantinya dapat menyiasatinya, menawarkan peningkatan fungsionalitas dan kompatibilitas dengan samba dan server file lainnya karena direktori yang dipasang kemudian akan memiliki dua jalur fisik independen, bukan tautan.

Saya ingin mengganti semua tautan simbolik saya dengan referensi menggunakan mount --bind opsi tetapi ini berarti memasang lebih dari 150 poin di fstab. Apakah ada masalah kinerja yang berpotensi timbul dari ini atau kelemahan lain yang harus saya pertimbangkan?

Jawaban yang Diterima:

Dengan mount --bind , pohon direktori ada di dua (atau lebih) tempat dalam hierarki direktori. Hal ini dapat menyebabkan sejumlah masalah. Cadangan dan salinan file lainnya akan memilih semua salinan. Menjadi sulit untuk menentukan bahwa Anda ingin menyalin sistem file:Anda akhirnya akan menyalin file yang dipasang di bind dua kali. Penelusuran dengan find , grep -r , find , dll., akan melintasi semua salinan, dan seterusnya.

Anda tidak akan mendapatkan "peningkatan fungsionalitas dan kompatibilitas" dengan pengikatan mount. Mereka terlihat seperti direktori lain, yang sebagian besar waktu tidak perilaku yang diinginkan. Misalnya, Samba mengekspos tautan simbolik sebagai direktori secara default; tidak ada untungnya menggunakan bind mount. Di sisi lain, bind mount dapat berguna untuk mengekspos hierarki direktori melalui NFS.

Anda tidak akan memiliki masalah kinerja apa pun dengan pengikatan mount. Apa yang akan Anda alami adalah sakit kepala administrasi. Bind mount memiliki kegunaannya sendiri, seperti membuat pohon direktori dapat diakses dari chroot, atau mengekspos direktori yang disembunyikan oleh titik mount (ini biasanya penggunaan sementara saat struktur direktori sedang direnovasi). Jangan menggunakannya jika Anda tidak membutuhkannya.

Hanya root yang dapat memanipulasi bind mount. Mereka tidak dapat dipindahkan dengan cara biasa; mereka mengunci lokasi mereka dan direktori leluhur.

Secara umum, jika Anda meneruskan tautan simbolis ke sebuah perintah, perintah itu bekerja pada tautan itu sendiri jika beroperasi pada file, dan pada target tautan jika beroperasi pada konten file. Ini berlaku untuk direktori juga. Ini biasanya hal yang benar. Beberapa perintah memiliki opsi untuk memperlakukan tautan simbolik secara berbeda, misalnya ls -L , cp -d , rsync -l . Apa pun yang Anda coba lakukan, kemungkinan besar symlink adalah alat yang tepat, daripada bind mount sebagai alat yang tepat.

Terkait:Linux - Server Ubuntu, atur font terminal ke font ttf khusus?
Linux
  1. Apakah Ada Konvensi Penamaan Untuk Variabel Dalam Skrip Shell?

  2. Bagaimana Cara Mendaftar Patch A -p0 Dari Setiap Direktori Kerja?

  3. Untuk Apa Inode Baik?

  1. Apakah Ada Perbedaan Antara Memasang Sistem File A /proc Di Dalam Chroot Dibandingkan Dengan Memasangnya Dari Luar?

  2. Apakah ada cara untuk memeriksa apakah ada tautan simbolik yang mengarah ke direktori?

  3. Untuk menampilkan jalur sumber mount pengikat untuk mount setelah v2.25.2

  1. Apakah ada GUI untuk Linux yang tidak menggunakan X11?

  2. Bagaimana cara mengubah kepemilikan dari tautan simbolik?

  3. Menggunakan bendera arsip rsync tanpa menyalin tautan simbolik