Di mana file pergi jika Anda memasang drive ke folder yang sudah berisi file?

32

Saya baru saja secara tidak sengaja memasang drive baru ke folder yang sudah berisi file. Saya tidak peduli tentang mereka dan memilikinya di tempat lain, tetapi folder itu tampak kosong sekarang. Saya ingin tahu apa yang terjadi pada file. Apakah mereka dihapus oleh Linux?

T. Brian Jones
sumber
Mereka tidak "pergi" ke mana pun. Anda tidak bisa melihatnya.
Shadur
14
Mereka pergi ke tempat yang sama di mana karakter dari buku pergi ketika Anda tidak membacanya.
Andrew Beals
5
Ini adalah salah satu fungsi / fitur lucu dari pemasangan yang saya gunakan / penyalahgunaan kadang-kadang untuk mengetahui keadaan beberapa hal. Beberapa mount point (direktori), saya akan meninggalkan file kosong not mountedsehingga jika saya telusuri ke dalamnya, saya akan segera tahu bahwa itu tidak dipasang untuk alasan apa pun.
killermist

Jawaban:

37

Hanya "dibayangi" dan akan ada di sana lagi saat dilepas. :)

Sebenarnya file-file itu "ada" utuh dan jika Anda perlu menjangkau mereka segera, tanpa melepas, ini bisa diselesaikan dengan apa yang disebut bindmount:

mount --bind /Original/FS/Mount/Point /Somewhere/Else

Ini berfungsi (jadi) karena ketika Anda meminta kernel untuk me-mount filesystem ke beberapa mountpoint, kernel memperlakukan mountpoint itu sebagai "view port" untuk filesystem yang Anda mount, jadi diharapkan Anda akan melihat konten FS yang terpasang di sana.

Tapi ini bukan satu-satunya cara bagaimana "lapisan" FSes itu dapat digabungkan menjadi satu tampilan. Ada yang disebut pendekatan " union mount " (lucu mengetahui bahwa ini "konsep sentral dalam Rencana 9", BTW). Di Linux Anda bisa menggunakan Aufs , yang tidak pernah masuk ke kernel garis utama, atau, saat ini (sejak 3.18), OverlayFS - benar .

poige
sumber
21

Filesystem yang baru dipasang seperti overlay yang menyembunyikan bagian dari filesystem awal. Ada trik untuk mengakses file, seperti bind mount seperti yang dijelaskan oleh poige. Di Linux saya pribadi menyukai kenyataan bahwa Anda dapat me-mount sistem file lebih dari sekali pada titik mount yang berbeda. Jadi Anda dapat dengan baik me-mount filesystem root /dan juga di /mnt. Ini sangat berguna saat men-debug ruang yang hilang / file yang hilang / menghitung ...

Gotcha's:

  • File-file lama masih ada dan menghabiskan ruang . Adalah kesalahan umum memiliki ruang disk 'hilang' dalam file yang disembunyikan oleh mount. Misalnya ketika Anda secara tidak sengaja menulis file besar dalam direktori dan pada suatu waktu memutuskan untuk memasang sistem file di atasnya. Misalnya, secara tidak sengaja memulai basis data besar sebelum sistem file logging di-mount dengan benar ...
  • Ketika suatu program memiliki file yang terbuka yang kemudian disembunyikan oleh sistem file yang baru dipasang, program tidak akan peduli dan terus menggunakan file 'tersembunyi' sampai ditutup. Sejak saat itu, file itu menjadi tidak terlihat oleh proses sampai filesystem baru dilepas dan direktori yang mendasarinya muncul lagi.
jippie
sumber
Sangat menarik bahwa Anda dapat memasang sistem file lebih dari sekali. Ini terasa seperti itu akan berguna.
T. Brian Jones