“Okuma Değiştirme Başlığı başarısız oldu: Başarı” ne anlama geliyor?


9

Arch Linux'u yüklemeye çalışıyorum (2014-04-01 anlık görüntüsünden). Bir takas dosyası oluşturdum ve denedim swapon, ama anlamadığım bir hata (?) Mesajı aldım.

İdam ettim

fallocate -l 512M /mnt/sda2/swapfile
chmod 600 /mnt/sda2/swapfile
swapon /mnt/sda2/swapfile

ve çıktı

swapon: /mnt/sda2/swapfile: read swap header failed: Success

ve :(komut satırımın sonunda. Peki başarılı ya da başarısız oldu mu? Bu bir takas dosyasını nasıl kuramaz?

Yanıtlar:


18

Bu bir takas dosyası oluşturmak için değil mi?

Sana arada bir adımı atlamış düşünüyorum chmodve swapon:

mkswap /mnt/sda2/swapfile

Oksimoromik hataya gelince ...

takas: / mnt / sda2 / takas dosyası: takas başlığını oku başarısız oldu: Başarılı

Bunun tam anlamıyla anlamı, swaponkodda bir hata olması , ancak birincil işleviyle ilgili bir hata olmamasıdır.

C kütüphane fonksiyonları genellikle bir hata kodu depolayan global bir değişken olan errno'yu kullanır . Fonksiyonun kendisi, bir hatanın meydana geldiğini (herhangi bir hata) gösteren bir değer döndürür ve bu hatanın kesin niteliği saklanır errno. Fikir şu ki, bir hata belirtisi alırsanız, errnotam olarak ne olduğunu görmek için değerini kontrol edebilirsiniz .

strerror()Bir errno değeri (tamsayılar) alacak ve onunla ilgili bir insan dili dizesi döndürecek bir kütüphane işlevi de vardır . Bunlardan biri, Success0 hata koduna karşılık gelir (yani hata yok).

Yani böyle bir şey gördüğünüzde, şu gibi bir hatayı gösterir:

  • Bir hata alıyorum, sonra errno'yu sahne arkasında 0'a sıfırlayan başka bir işlevi (başarılı bir şekilde) çağırarak, ikinci işlevi çağırmadan önce aldığınız hatanın özelliklerini belirlemek için errno'yu kullanın.

Ve / veya

  • strerror()Bir noktada errno değeri atanmış olması gereken bir değişkeni geçmek (önceki hatanın gerçekleşmesini önlemek için) ama olmadı.

Eğer yapabilirsem iki oy alırsın - mkswapve errno.
Aaron D.Marasco
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.