Klasik durum: Kötü bir koştum rm
ve hemen sonra yanlış dosyaları kaldırdığımı farkettim. (Kritik bir şey yok ve son derece tolere edilebilir yedeklemelerim vardı ama yine de sinir bozucuyum.)
Daha fazla disk etkinliğinin düşmanı olduğumu bilerek dosyaları extundelete
ya da böyle araçları kullanarak kurtarmak istediğimde , makineyi derhal fiziksel olarak kapattım (örneğin, güç düğmesiyle değil, halt
böyle bir komutla). Bu, çalışan ya da açık olan önemli bir işi olmayan bir dizüstü bilgisayardı, bu yüzden kabul edilebilir bir işlemdi. (Bu arada, kayıp dosyaları hala bir işlemle açılabilir eğer böyle bir durumda yapılması gereken ilk şey, ilk tahmin etmek olacağını o zamandan beri öğrenilen https://unix.stackexchange.com/a/101247 - eğer öyleyse, makineyi kapatmak yerine onları bu şekilde kurtarmalısınız.)
Yine de, makine kapatıldıktan sonra bir süre düşündüm ve dosyaların doğru adli tıp için canlı bir sistemi önyüklemeye zaman ayırmaya değmediğine karar verdim. Bu yüzden makineyi tekrar çalıştırdım. Sonra dosyalarımın hala diskte oturduğunu keşfettim: rm
kapatılmadan önce diske aktarılmadı. Biraz dans ettim ve beklenmedik affetmesi için sysadmins tanrısına teşekkür ettim.
Benim sorum şu, bunun nasıl mümkün olduğunu ve rm
aslında bir diske yayılmadan önceki tipik gecikmenin ne olduğunu anlamak . Diskin IO'nun hemen boşaltılmadığını ama bir süre bellekte oturduğunu biliyorum, ancak disk günlüğünün beklemedeki işlemlerin tamamen kaybolmadığından hemen emin olacağını düşündüm. https://unix.stackexchange.com/a/78766 , kirli sayfaları temizlemek ve günlük işlemlerini temizlemek için ayrı bir mekanizmaya işaret ediyor gibi gözüküyor, ancak derginin a'ya nasıl dahil olacağı rm
ve daha önce beklenen gecikme hakkında yeterli ayrıntı vermiyor işlemler kızardı.
Bazı detaylar: veriler LUKS biriminin içindeki ext4 bölümündeydi ve makineyi yeniden başlatırken aşağıdakileri gördüm syslog
:
Sep 24 10:24:58 gamma kernel: [ 11.457007] EXT4-fs (dm-0): 1 orphan inode deleted
Sep 24 10:24:58 gamma kernel: [ 11.458393] EXT4-fs (dm-0): recovery complete
Sep 24 10:24:58 gamma kernel: [ 11.482475] EXT4-fs (dm-0): mounted filesystem with ordered data mode. Opts: (null)
ama bununla ilgili olduğundan emin değilim rm
.
Başka bir soru, çekirdeği, makineyi kapatmak yerine, beklemedeki disk işlemlerinin hiçbirini gerçekleştirmemesini (ancak bir yere dökmelerini) söylemenin bir yolu olup olmadığıdır. (Tabii ki, beklemedeki işlemleri gerçekleştirmemek tehlikeli gibi görünüyor, ancak makineyi kapattığınızda ne olacağı ve bu bazı durumlarda sizi kurtarabilir.) Bu elbette "temizleyici" ve ilginç olurdu örneğin, fiziksel güç kaynağının kolay bir seçenek olmadığı uzak sunucular için.
rm
yazılmadan önce ödemesiz zamanı tahmin edebilecek tek ilgili mekanizma mı? Başka bir deyişle, işler yalnızca bir yazı hemen hemen yapılmak üzereyken dergiye yapılır mı? Yoksa resim bundan daha mı karmaşık? Alt-sysrq-u gelince, bu oldukça zarif bir fikir. "Görünüyor" iddiası için vermeniz gereken bir referans var mı? (Verdiğiniz linklerden takip ediyor gibi görünmüyor.) Teşekkürler! :)