Arch-Linux
“讀取交換標頭失敗:成功”是什麼意思?
我正在嘗試安裝 Arch Linux(來自 2014-04-01 快照)。我已經製作了一個交換文件並嘗試了
swapon
它,但是我收到了一個我不明白的錯誤(?)消息。我已經執行了
fallocate -l 512M /mnt/sda2/swapfile chmod 600 /mnt/sda2/swapfile swapon /mnt/sda2/swapfile
輸出是
swapon: /mnt/sda2/swapfile: read swap header failed: Success
我
:(
在命令行的末尾。那麼它是成功還是失敗?這不是如何設置交換文件嗎?
這不是如何設置交換文件嗎?
chmod
我認為您在and之間錯過了一步swapon
:mkswap /mnt/sda2/swapfile
至於含氧錯誤…
swapon:/mnt/sda2/swapfile:讀取交換標頭失敗:成功
這字面意思是
swapon
程式碼中有一個錯誤,但不一定與它的主要功能有關。C 庫函式經常使用errno,這是一個儲存錯誤程式碼的全域變數。該函式本身將返回一個指示發生錯誤(任何錯誤)的值,並且該錯誤的確切性質將儲存在
errno
. 這個想法是,如果你得到一個錯誤的指示,你可以檢查它的值,errno
看看它到底是什麼。還有一個
strerror()
庫函式將採用 errno 值(它們是整數)並返回與之相關的人類語言字元串。其中之一是Success
,它對應於錯誤程式碼 0(即沒有錯誤)。所以當你看到這樣的東西時,它表示一個錯誤,例如:
- 得到一個錯誤,然後呼叫另一個函式(成功)在幕後將 errno 重置為 0,然後在呼叫第二個函式之前使用 errno 來確定你得到的錯誤的細節。
和/或
- 傳遞
strerror()
一個本應在某個時刻被分配 errno 值的變數(以防止發生先前的錯誤)但沒有。