Bisakah Anda memiliki beberapa direktori yang hilang dan ditemukan?

10

Saya tidak mengetahui mklost+foundperintah sampai saya membaca pertanyaan ini .

The mklost+foundperintah akan membuat hilang + baru ditemukan direktori dalam pwd tersebut.

  1. Mengapa Anda perlu menjalankan perintah ini? Direktori yang hilang + ditemukan sudah ada di / pada setiap distro yang saya periksa.

  2. Apa yang akan terjadi jika Anda memiliki banyak direktori yang hilang dan ditemukan? Akankah fragmen data yang dipulihkan pergi ke dir + yang hilang ditemukan di /, atau akankah menuju ke dir yang hilang + ditemukan yang paling baru?

Saya tidak yakin bagaimana saya bisa dengan sengaja membuat fragmen data untuk menguji ini.

spuder
sumber
3
rm -rf /lost+found. Ups ...
cjm

Jawaban:

11

Mengapa Anda perlu menjalankan perintah ini?

Dalam hal lost+founddirektori tidak ada. Karena ini hanya direktori biasa, rootpengguna dapat menghapusnya menggunakan rm -r. Beberapa versi fsck, ketika mereka perlu menggunakan lost+founddirektori, akan membuatnya jika tidak ada, dan beberapa versi tidak. Jika tidak ada lost+founddirektori, fscktidak dapat memulihkan file yatim, yaitu file yang tidak memiliki entri direktori yang merujuk padanya.

Versi Linux mklost+foundmemiliki fitur berikut (dari halaman manual mklost + found ):

mklost+foundpra-alokasikan blok disk ke direktori yang hilang + ditemukan sehingga ketika e2fsck (8) dijalankan untuk memulihkan sistem file, ia tidak perlu mengalokasikan blok dalam sistem file untuk menyimpan sejumlah besar file yang tidak ditautkan. Ini memastikan bahwa e2fsck tidak perlu mengalokasikan blok data dalam sistem file selama pemulihan.

Ini berarti bahwa, jika Anda harus memulihkan file dari sistem file yang rusak menggunakan fsck, lebih sedikit file akan hilang sebagai bagian dari proses pemulihan karena fscktidak perlu mengalokasikan blok dari sistem file; blok tersebut yang mungkin berisi data file yang valid.

Apa yang akan terjadi jika Anda memiliki banyak direktori yang hilang dan ditemukan?

Untuk sistem file yang diberikan, fsckhanya akan menggunakan satu lost+founddirektori: direktori yang ada di direktori root sistem file. lost+foundDirektori lain tidak akan diperlakukan secara khusus.

Tandai Plotnick
sumber
3

Q1. Mengapa Anda perlu menjalankan perintah ini? Direktori yang hilang + ditemukan sudah ada di / pada setiap distro yang saya periksa.

Sesuatu perlu dibuat lost+found, perintah ini akan muncul untuk melakukan itu. Setiap media yang Anda pasang perlu mempertahankannya sendiri lost+found.

kutipan dari halaman manual

mklost + found digunakan untuk membuat direktori yang hilang + ditemukan di direktori kerja saat ini pada sistem file extended kedua Linux. Biasanya ada direktori yang hilang + ditemukan di direktori root dari setiap sistem file.

Apa masalahnya dengan membuat lost+founddirektori?

mklost + found pra-mengalokasikan blok disk ke direktori found + yang hilang sehingga ketika e2fsck (8) dijalankan untuk memulihkan sistem file, ia tidak perlu mengalokasikan blok di sistem file untuk menyimpan sejumlah besar file yang tidak terhubung. Ini memastikan bahwa e2fsck tidak perlu mengalokasikan blok data dalam sistem file selama pemulihan.

Q2. Apa yang akan terjadi jika Anda memiliki banyak direktori yang hilang dan ditemukan? Akankah fragmen data yang dipulihkan pergi ke dir + yang hilang ditemukan di /, atau akankah menuju ke dir yang hilang + ditemukan yang paling baru?

Saya berharap bahwa yang terakhir akan menjadi yang digunakan oleh e2fsckjika perlu memindahkan blok data ke lost+found.

slm
sumber
"Sesuatu perlu membuat lost+found": Ya, tetapi dalam kebanyakan kasus perintah itu mke2fs.
Nate Eldredge
2

"Direktori yang hilang + ditemukan sudah ada di /setiap distro yang saya periksa."

Tapi bukan itu intinya. Setiap sistem file "nyata" (yang memetakan ke semacam penyimpanan blok, yang bertentangan dengan sistem file pseudo seperti / proc dan swap) membutuhkan + panti asuhan yang hilang. Sebagai contoh, jika Anda memiliki sistem file terpisah untuk / home, maka harus ada /home/lost+found. Ini karena fscktidak akan memindahkan file ke /lost+foundpada sistem file root; ia meninggalkan file-file yang ia temukan di tempat menemukannya, tetapi membuat entri direktori di panti asuhan sehingga manusia dapat campur tangan untuk mengatur adopsi yang sesuai. Mengetahui bahwa ada sesuatu dalam /home/lost+foundvs /var/lost+founddapat membuat intervensi manual jauh lebih mudah.

Monty Harder
sumber
0

Menurut Administrasi Sistem Esensial

Kesalahan disk atau shutdown sistem yang salah dapat menyebabkan file menjadi hilang: file yang hilang merujuk ke lokasi disk yang ditandai sebagai digunakan dalam struktur data pada disk, tetapi yang tidak terdaftar dalam direktori apa pun (misalnya, file non-kosong di ode yang tidak tercantum dalam direktori apa pun). Ketika sistem mem-boot, ia menjalankan program bernama fsck yang, di antara hal lain, menemukan file-file ini. Ada direktori yang hilang + ditemukan di setiap partisi disk; / Hilang + ditemukan adalah yang ada di root disk.

Utilitas yang paling mungkin seperti tampilan fsck meletakkan fragmen file dalam direktori yang hilang + ditemukan di dalam root partisi masing-masing. Direktori yang hilang + ditemukan lainnya harus diabaikan.

spuder
sumber