Fsync başarısız hatası alıyorum. Neden?


12

Ec2 örneğinde (ki Ubuntu 12.04) tcp zaman damgalarını değiştirmeye çalıştım. Ben editör açtı ve değeri değişti 1dan 0. Ve dosyayı kaydetmeye çalıştığımda bu hatayı alıyorum:

/proc/sys/net/ipv4/tcp_timestamps" E667: Fsync failed

Ubuntu için çok yeniyim. Biri bana bu konuda yardımcı olabilir mi?

Yanıtlar:


27

Editörünüz muhtemelen bu dosyaya komik şeyler yapıyor (/ proc içindeki dosyalar gerçek dosyalar değil, işletim sisteminin alt düzeylerine bir arayüzdür). Değişiklik muhtemelen iyi çalışıyor olsa da , proc'taki şeyleri güncellemenin olağan yolu doğrudan bir kabuk komutuyla:

echo 1 | sudo dd of=/proc/sys/net/ipv4/tcp_timestamps

Bu ayarın her önyüklemenizde uygulanmasını istiyorsanız /etc/sysctl.d/tcp-timestamps.conf, aşağıdakileri içeren bir dosya oluşturun :

net.ipv4.tcp_timestamps = 1

3
Bu kalıp (echo VALUE | sudo dd / = / path / to / file) çok kullanışlıdır. Çok teşekkür ederim!
Malcolm

1
Bunun için benim için de çalıştı ve diğer çekirdek parametrelerini ayarladı. Bu, allow_tpm adlı başka bir çekirdek parametresi ayarlamanıza yardımcı oldu. yankı 1 | sudo dd = / sys / modül / libata / parametreler / allow_tpm

1
Amaç nedir dd of? Tek anladığım yankı ve boru, ama dd'nin neden gerekli olduğunu anlamıyorum. Neden olmasın >?
Adelin

1
@Adelin ddYazma kök olarak gerçekleştirmek için orada. Komut kanalının geri kalanının ayrıcalıklı olmasına gerek yoktur, bu nedenle dd sudo altında çalıştırdığımız tek bölümdür. Kabuğun tamamını kök olarak çalıştırsaydık, >yönlendirme iyi olurdu. Ancak root privs ile çalıştırılanları en aza indirmeyi seviyorum.
Jeremy Kerr

7

Bir ara aynı hatayı alıyorduk. İncelemede birkaç dakika harcadıktan sonra cihazda yer kalmadı. Sizin için durumun böyle olup olmadığını kontrol edebilirsiniz. Sorunu hızlı bir şekilde çözmek için biraz depolama alanı boşaltmayı deneyin.

Not: Bu, sorunun en iyi teknik açıklaması olamaz, ancak sorunun hızlı bir şekilde çözülmesine yardımcı olabilir. Doğrulanmış cevap bunu daha ayrıntılı olarak açıklamaktadır. Cevabım sadece bu sorunu nasıl düzelttiğimi paylaşmaktı.


2
Neden reddedildiđini bilmiyorum. Google'da ilk sonuç oldu ve sorunumu çözdü, bu yüzden çok teşekkür ederim!
Johannes Stadler

3

Bunun uzun zaman önce doğru cevaplandığını görüyorum, ancak daha basit bir komut var:

sudo sysctl net.ipv4.tcp_timestamps=1

Ayrıca aynısını aşağıdaki gibi diğer ayarlarla da yapabilirsiniz:

sudo sysctl vm.admin_reserve_kbytes=16384

Gördüğünüz gibi, / proc / sys / içindeki herhangi bir dosyayı, sınırlayıcıyı "/" 'den "' e değiştirirken, konumunun geri kalanını belirterek değiştirebilirsiniz.

Örnek: "/ proc / sys / net / ipv4 / tcp_timestamps", "net.ipv4.tcp_timestamps" olarak belirtildi


1

Fsync başarısız oldu UYARI: Orijinal dosya kaybolabilir veya hasar görebilir Dosya başarıyla yazılana kadar editörden çıkmayın!

Benim için çalışan birkaç dosyayı temizlemek gibi bir uzay sorunu olabilir

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.