Kayıp + bulunanları silersem ne olur?


38

Ext3 gibi bazı Linux dosya sistemleri oluşturduğunuzda 'kayıp + bulundu' dizini oluşturulur. Göre bu dosyalar sistem çökmesi çeşit hasar görmüş olsaydı dosyalar orada yer alacaktır.

Bu dizin kaldırılırsa ve sistem çökerse ne olur? Klasör kaldırılırsa, sadece mkdir lost + found bulunan yeni bir dizin oluşturabilirim veya sadece dosya sistemi oluşturulurken ayarlanabilecek nitelikler var.

Yanıtlar:


35

fsck, kayıp + bulunan dizini yoksa yeniden oluşturur.

Başlangıçta, dosya sisteminin temiz bir şekilde çıkarılmadığı tespit edilirse, çoğu dağıtım fsck'i çalıştırır. Fsck, kayıp + kayıp dizini oluşturduğu için, onu yaratacak ve o dizine bulacağı herhangi bir şeyi yerleştirecektir.


15

Çalıştırmak istemiyor veya çalıştırmak istemiyorsanız fsck, lost+founddizinleri şu şekilde yeniden oluşturabilirsiniz mklost+found:

mklost +, disk bloklarını kayıp + bulunan dizine önceden tahsis eder, böylece e2fsck (8) bir dosya sistemini kurtarmak için çalıştırıldığında, çok sayıda bağlantısız dosyayı depolamak için dosya sisteminde bloklar tahsis etmesine gerek kalmaz. Bu, e2fsck'in kurtarma işlemi sırasında dosya sistemindeki veri bloklarını ayırmak zorunda kalmamasını sağlar.


RHEL 6.4'te, ne fsckde e2fsckdizinin monte edilip edilmediğine bakılmaksızın, bunu benim için yeniden yarattığım yer. cd <root-dir-of-the-mount> && mklost+foundyaptı.
Luis Antolín Cano

7

Önceden varolan bir kayıp + bulunan dizin, çok sayıda bağlantısız dosya içerecek kadar büyük boyutta bir dizin, dizini oluşturmak ve uygun boyuta getirmek için e2fsck'e daha az yük getirir.

Yine de bunu yapmaya çalışacaktır, ancak bozuk bir dosya sistemi karşısında daha riskli olabilir.

Çok eski fsck'ler diğer platformlardaki diğer dosya sistemleri için yaratma / kaybetme / bulma, büyütme becerisine sahip değil. Bu, bulunan / kaybedilen + mantığının tarihçesidir. Ancak mevcut mantık, e2fsck'in işini kolaylaştırmak için.


4
Kayıp + bulunanları oluşturamadıkları için değil - zaten berbat olmuş bir dosya sisteminde dosyalar / dizinler oluşturmak kötü bir fikirdir. Bunun yerine, temizlemeye çalışırken berbat bir dosya sisteminde bulduğunuz her bir düğümlenmiş dizinin girişlerini depolamak için yeterince büyük bir dizini önceden oluşturuyorsunuz.
chris

5

Hayır ise lost+found, e2fsck(diğer fsckuygulamaların kodunu incelemedim ) sizin için oluşturmayı önerecektir. Ancak, eğer istersen kendin yeniden yaratabilirsin; Bu dizin hakkında özel bir şey yok (en azından kodu incelemekten değil).


2
fsck kaybedilmiş + gerekliyse bulunmalı değil mi?
David Schmitt

2
Teşekkürler, e2fsck kodunu kontrol ettim ve gerçekten sizin için yeniden yaratmayı teklif ediyor. (Bu başarılı olmasına rağmen garanti edilmez - bu yüzden önceden oluşturulmuş bir kayıp + bulunan da faydalıdır.) Düzgün!
Chris Jester-Young,

6
@ ChrisJester-Young - Cevabınız yanlış. lost+foundözel bir dizindir. Önceden ayrılmış disk blokları vardır, böylece kurtarma araçlarının kurtarma sırasında blok ayırması gerekmez. Gibi araçlar mklost+foundözellikle var çünkü mkdirdüzgün oluşturmaz. Bkz. Linux.die.net/man/8/mklost+found
aggregate1166877

2

e2fsck, kayıp + bulunanı yeniden oluşturacak ve aynı dizinde oluşturabildiğinden emin olmak için aynı adla olabilecek herhangi bir dosyayı da imha edecektir.

Birçok eski Unix dosya sisteminin, kayıp + bulunmasının özellikle inode sayı 2'ye eklenmesini istediğini, bu nedenle dizin kaybolursa çoğu durumda dosya sistemini yeniden oluşturma gereği duyulduğunu unutmayın. e2fsck, herhangi bir serbest inode için arama yapar, görünüşe göre özellikle inode 2'ye ihtiyaç duymaz, bu da kurtarma işlemini eski günlerden çok daha basit hale getirir.


1

Sadece mkdir kullanarak bu dizini oluşturabilirsiniz. Kök veya sahip olduğu kök ya da tekerlek grubuna sahip olmalıdır. Bunun dışında, özellikle bu konuda özel bir şey yok. Elektrik kesintisi veya sistem önyüklenirken yanlış kapatma durumunda, fsck otomatik olarak başlatılmalıdır. fsck sistemden geçecek ve bulduğu bozuk dosyaları kurtarmayı deneyecektir. Karşı karşıya geldiği olası zarar görmüş dosyalar oraya taşınır.

Taşınacak dosyalar için diğer durum, fsck, ana düğümü eksik olan bir dosya bulursa olur. Bu genellikle, bir klasörün inode'unun depolandığı belirli bir konumda diskte bir blok bozulduğunda ortaya çıkar. Üst kodlarını kayıp + bulunan klasör olarak atayacaklar.

Düzenleme: İkinci durumun dizini yeniden oluşturacağından emin değilim. Güvenli tarafta olmak için onu yalnız bırakacaktım. Silmek için herhangi bir sebep düşünemiyorum. Olsa da kötü bir şey olmaz.


1
Sadece yaratmanın uygun olduğundan emin misinmkdir ?

Evet, alan tahsisi, inode dizinlerine veya hatta yola bağlı değildir. Ayrılmış alan tahsisi, kök / çekirdek ayrıcalıkları ve fsck'in bildiği erişim için özel çağrılar gerektiren bazı bellekler üzerinde daha az bir bayraktır, yalnızca o alanın potansiyel olarak bozuk veya bozuk dosyaları bu belleğe kopyalayıp oluşturarak kullanılır. Yeni belleği gösteren bir inode ile dosya. Dosya işlemleri bu dosyalarda normal şekilde davranır, ancak taşıma veya kaydetme gibi değişiklikler verileri ayrılmış bellekten çeker.
TrueDuality

1

Ek olarak, Debian 6 ve Ubuntu 12 LTS'de, yerel dosya sistemlerinde eksik dizinleri fark eden ve bunun hakkında günlük hatırlatmaları gönderen cronpaket , e-posta yoluyla gönderilmesini tavsiye etti ./etc/cron.daily/standardlost+foundmklost+found

Ancak bu, Debian 7 ve Ubuntu 14 LTS tarafından kaldırıldı çünkü eskidi.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.