Yeah. Jika Anda menjalankan ln -s
Anda membuat tautan simbolik, yang merupakan inode yang menunjuk ke objek sistem file tertentu, itulah sebabnya symlink dapat melintasi sistem file dan tautan keras tidak dapat: tautan keras tidak memiliki inode sendiri.
Jika Anda memasang sistem file dengan --bind
, Anda membuat titik mount kedua untuk perangkat atau sistem file.
Jika Anda membayangkan symlink sebagai pengalihan, maka bayangkan --bind
sistem file yang terpasang sebagai membuat gateway lain ke data.
Symlinks dan bind mounts adalah ballgame yang sangat berbeda.
The --bind
gunung tampaknya sedikit lebih kuat untuk saya dan mungkin sedikit lebih cepat daripada bekerja dengan symlink. Di sisi lain, tidak ada kelemahan serius untuk menggunakan symlink, karena hit kinerja akan kecil (jika memang ada).
Sunting : Saya telah memikirkan hal ini, dan kinerja yang dicapai mungkin sedikit lebih besar dari yang saya kira sebelumnya. Jika Anda memiliki aplikasi yang membaca banyak file berbeda, maka setiap file baru yang dibuka akan membutuhkan tambahan membaca. Beberapa penelitian di sini menunjukkan bahwa asumsi saya benar, jadi jika Anda memiliki aplikasi berat IO yang berjalan di sana, pertimbangkan --bind
opsi untuk memasang di atas solusi symlink.
Alasannya tidak umum, mungkin fakta bahwa symlink terlihat dalam ls
, sedangkan bind mount hanya terlihat ketika melihat / proc / mounts atau / etc / mtab (yang dilakukan oleh perintah mount, jika itu adalah dieksekusi tanpa parameter). Selain itu, saya tidak berpikir ada masalah. Saya akan tertarik jika ada.
Penambahan : masalah lain ln -s
adalah bahwa untuk beberapa aplikasi, ketika jalur mendapat dereferensi, itu dapat menyebabkan aplikasi untuk menolak jika "mengharapkan" item tertentu berada di tempat tertentu.