Yeniden başlatmaya zorla fsck.ext4, ama gerçekten "zor"

18

Ubuntu 10.04 sunucularından biri bana sorun veriyor. % Co_de% çalıştırdığımda, ücretsiz inode sayısında, ücretsiz blok sayısında ve daha fazlasında hatalar olduğunu söyler.

Denedim:

touch /forcefsck

Ayrıca denendi:

shutdown -rF now

ve yine de, yeniden başlattıktan sonra hataları görüyorum.

Ayrıca eeePC netbook'um Ubuntu 10.10'u da kontrol ettim ve aynı soruna sahiptim!

Nasıl gerçekten "zorla" "güçlü" "dosya sistemimi ciddi bir şekilde düzeltin" / "dosya sisteminin yeniden başlatılmasında fsck" i nasıl zorlayabilirim?

Açıklama: Hataların olup olmadığını kontrol etmek için takılı bir dosya sistemi olduğundan fsck.ext4 -n /dev/sda5 çalışıyorum. Bu bana olduğunu söyler. Önyükleme işlemi sırasında her 30 bağlantıda bir otomatik fsck'in, kök dosya sistemindeki hataların üstesinden gelmek için kesin olarak olduğunu düşündüm. Ama benim durumumda bunu yapmıyor. Bir LiveCD ile yeniden başlatıp hataları düzeltebilir ve tekrar yeniden başlatabilirim, ancak bu canlı bir sunucu için ciddi bir kesinti. Bir yeniden başlatma, otomatik fsck, daha sonra devam etmeyi sürdürmek, canlı bir sunucuda çok daha sürdürülebilir ve doğru davranışın olması gerektiğine inanıyorum.

Ek bilgi: İşte çıktı. Autofsck'in düzelteceği bir şeye benziyor, değil mi?

[email protected]:~# fsck.ext4 -n /dev/sda5
e2fsck 1.41.11 (14-Mar-2010)
Warning!  /dev/sda5 is mounted.
Warning: skipping journal recovery because doing a read-only filesystem check.
/dev/sda5 contains a file system with errors, check forced.
Pass 1: Checking inodes, blocks, and sizes
Pass 2: Checking directory structure
Pass 3: Checking directory connectivity
Pass 4: Checking reference counts
Pass 5: Checking group summary information
Free blocks count wrong (1849368, counted=1948909).
Fix? no

Free inodes count wrong (545504, counted=552134).
Fix? no


/dev/sda5: ********** WARNING: Filesystem still has errors **********

/dev/sda5: 116752/662256 files (0.2% non-contiguous), 795324/2644692 blocks
    
sordu UrkoM 24.11.2010 15:27

6 cevap

10

e2fsck man sayfasından:

  

"Genel olarak, takılı dosya sistemlerinde e2fsck komutunu çalıştırmanın güvenli olmadığını unutmayın. Tek istisna, -n seçeneğinin belirtilmesi ve -c, -l veya -L seçeneklerinin belirtilmemesidir. Bunu yapmak güvenlidir, e2fsck tarafından basılan sonuçlar dosya sistemi monte edilmişse geçerli değildir.Eğer e2fsck, monte edilen bir dosya sistemini kontrol edip etmemeniz gerektiğini sorarsa, tek doğru cevap '' hayır '' olur. Gerçekten ne yaptıklarını biliyorlar, bu soruyu başka bir şekilde yanıtlamayı düşünmeliler. "

Eğer takılı bir FS'yi -n seçeneğini kullanarak bile fsck ile kontrol ederseniz, sonuç hiç geçerli olmayabilir. Monte edilmiş dosya sistemlerini kontrol etme. Bir Live-CD / Live-USB kullanın.

Eğer bağlıyken dosya sistemini kontrol etmiyorsanız, neden touch /forcefsck kullanmanız gerektiğini anlamıyorum, sadece onu kaldırabilir ve düzeltebilirsiniz. Ama eğer durum böyleyse ve bir düzeltmeden sonra FS'nizde hala hatalar var demektir:

e2fsck -cy /dev/sda5

Bu, sahip olabileceğiniz bozuk bloklar denilen sabit disk ile ilgili bir sorunu çözecektir (bu uzun zaman alacaktır).

Eğer monte edilmiş bir dosya sistemini kontrol etmek istiyorsanız, nasıl devam edeceğimi bilmiyorum ama bence başka bir soru yaratmalısınız.

    
verilen cevap Nyamiou The Galeanthrope 24.11.2010 22:27
22

Bunun gerçekten eski bir iş parçacığı olduğunu biliyorum, ancak kısa bir süre önce bu sorunu çözmek zorunda kaldım. Bu nedenle, işletim sistemini açılış sırasında fsck ile bulunan sorunları gidermeye zorlamak (12.04 için).

sudo touch /forcefsck komutunu çalıştırmanız gerekiyor. Bu, sonraki önyüklemede bir fsck gerçekleştirmesine neden olur. Fsck'in sonuçlarını /var/log/boot.log dosyasında görebilirsiniz.

Ancak, fsck'in bulduğu her şeyi düzelteceği garanti edilmez. Bunu yapmak için / etc / default / rcS dosyasını düzenlemeniz gerekecektir. Dosyanın sonunda bir satır var:

FSCKFIX=no

Bunun şu şekilde değiştirilmesi gerekiyor:

FSCKFIX=yes

Bu, fsck'i uygulanmakta olan tüm düzeltmeleri zorlayacak ve kullanıcı etkileşimi istemeyecek olan -y seçeneği ile aynı etkiye sahip olacaktır.

Bu, fsck'i OP'nin, özellikle uzak bir sistemdeyseniz her zaman mümkün olmayan, canlı bir diskten önyükleme yapmak zorunda kalmadan istediği gibi çalıştırmanızı sağlar.

    
verilen cevap Brian 12.11.2014 15:50
12
sudo touch /forcefsck
sudo reboot

Bir yazım hatası aldınız - dokunmaya / forcefcsk. "C" ve "s" değişti. fsck, FileSystemChecK için kısadır.

    
verilen cevap Dan Benamy 31.05.2012 17:09
3

Bir fsck'i zorlayamazsınız / bölüm kullanımda olduğu için onaracaktır. Çekimi farklı bir bölümden veya canlı cd'den çalıştırmayı deneyin.

    
verilen cevap charlie-tca 24.11.2010 20:33
1

Düzeltmelerin otomatik olarak aşağıdaki şekilde gerçekleştirilmesini sağlayabilirsiniz:

Tune2fs -c 5 -i 10 / dev / sda1

-c , fsck 'yi çalıştırmadan önce maksimum bağlama sayısıdır ve -i , fsck ' yi çalıştırmadan önceki maksimum gün sayısıdır.

Bu durumda, hangisi önce gelirse, her 5 bağlantıda veya her 10 günde bir yapılacaktır.

İki tane bilgisayarım var, biri Linux SuSE 13.2 ve diğeri Linux Mint 18.0 ile çalışıyor ve her ikisinde de mükemmel çalışıyor.

    
verilen cevap hk3jld 01.01.2017 01:00
0

touch /forcefsck tek başına, sistemimin bir sonraki açılışta fsck çalışmasını sağlamadı. Ben de koşmam gerekiyordu:

sudo tune2fs -c 1 /dev/<my partition>

örn.

sudo tune2fs -c 1 /dev/sda1

Daha fazla açıklama bulundu: Nasıl Yapılır? Yeniden başlattıktan sonra dosya sistemini kontrol etmek için fsck'e zorla

    
verilen cevap Clock ZHONG 17.12.2016 10:21

Etiketlerdeki diğer soruları oku

___ answer520915 ___

Aslında %code% paketinin kendisini bulamadım. Ne yardımcı oldu:

%pre%

Ubuntu 14.04 x64

    
___ Paylaşılan Kütüphaneleri Yüklerken Hata (libGLU.so.1) ___ answer386732 ___

Bunu anladım. 32 bit sürümleri yüklemeliydim.

Aynı problemi olan ve 64 bit işletim sistemi çalıştıran herkes için. Eksik dosyaları içeren paketleri bulun ve kullanın:

  

sudo apt-get yükleme paketi: i386

"Paket" paketinin adını değiştirin. ": İ386" olmadan, yalnızca 64 bit sürümünü kuracaktır.

    
___ answer575808 ___

Bunu sadece 32 bit veya 64 bit referans olmaksızın yüklemem gerekiyordu.

%pre%     
___ answer731179 ___

Bazı dosyaları sildiğimde aynı türde bir sorun yaşadım, bu komutu kullanarak onları geri aldım

%pre%

Umarım işe yarar.

    
___ answer492716 ___

Ben oynamak istedim (The Fall) bir oyun için libGLU.so.1 gerekli ve bu hatayı aldım:

%pre%

Bir aramadan sonra birisinin ia32-libs'den bahsettiği ve bu im ve runnig'i yükledikten sonra bir hata sayfası buldum.

bulunan sayfa bulundu:

İşte

Çalıştırdığım komut:

%pre%     
___ qstntxt ___

Ubuntu 12.10'da 64 bit AMD işlemci ile Chamsys MagicQ programını çalıştırmaya çalışıyorum.
Programı çalıştırmaya çalıştığımda bana söylediği şey bu.

  

./ magicq: paylaşılan kitaplıkları yüklerken hata oluştu: libGLU.so.1: paylaşılan nesne & gt; dosyasını açamıyor: Böyle bir dosya veya dizin yok

MagicQ için kütüphane bağımlılıklarının listesi:

  

austin @ ubuntu: ~ / magicq $ ldd ./magicq
    linux-gate.so.1 = & gt; (0xf7799000)
    libGLU.so.1 = & gt; bulunamadı     libusb-0.1.so.4 = & gt; bulunamadı     libQt5PrintSupport.so.5 = & gt; bulunamadı     libQt5OpenGL.so.5 = & gt; bulunamadı     libQt5Widgets.so.5 = & gt; bulunamadı     libQt5Network.so.5 = & gt; bulunamadı     libQt5Gui.so.5 = & gt; bulunamadı     libQt5Core.so.5 = & gt; bulunamadı     libGL.so.1 = & gt; /usr/lib32/fglrx/libGL.so.1 (0xf7694000)
    libpthread.so.0 = & gt; /lib/i386-linux-gnu/libpthread.so.0 (0xf7679000)
    libstdc ++. so.6 = & gt; bulunamadı     libm.so.6 = & gt; /lib/i386-linux-gnu/libm.so.6 (0xf764d000)
    libgcc_s.so.1 = & gt; /lib/i386-linux-gnu/libgcc_s.so.1 (0xf762e000)
    libc.so.6 = & gt; /lib/i386-linux-gnu/libc.so.6 (0xf7483000)
    libXext.so.6 = & gt; bulunamadı     libatiuki.so.1 = & gt; /usr/lib32/fglrx/libatiuki.so.1 (0xf746c000)
    libdl.so.2 = & gt; /lib/i386-linux-gnu/libdl.so.2 (0xf7467000)
    /lib/ld-linux.so.2 (0xf779a000)

Biliyorum libGLU.so.1 / usr / lib / x86_64-linux-gnu'nun "paylaşılan kütüphaneye (uygulama / x-sharedlib) bağlantısı" olarak olduğunu biliyorum. "Link hedefi:" libGLU.so.1.3.1 " Bunu nasıl düzeltirim?

    
___ Ubuntu 13.10'da PHP uzantısı Mcrypt kullanamazsınız (Nginx, PHP-FPM) [duplicate]