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
とswapon
の間のステップを逃したと思います。
_mkswap /mnt/sda2/swapfile
_
オキシモロミックエラーは...
swapon:/ mnt/sda2/swapfile:スワップヘッダーの読み取りに失敗しました:成功
これが文字通り意味するのは、swapon
コードにバグがあるということですが、必ずしもその主要な機能に関連するものではありません。
Cライブラリ関数は、エラーコードを格納するグローバル変数 errno をよく使用します。関数自体は、発生したエラー(エラー)を示す値を返し、そのエラーの正確な性質はerrno
に格納されます。エラーの兆候があった場合は、errno
の値をチェックして、エラーの内容を正確に確認できるという考え方です。
Errno値(整数)を取得し、それに関連する人間の言語の文字列を返すstrerror()
ライブラリ関数もあります。それらの1つはSuccess
であり、これは0のエラーコードに対応します(つまり、エラーなし)。
したがって、このようなものが表示された場合は、次のような間違いを示しています。
および/または
strerror()
に渡すと(前の間違いが起こらないようにするため)、そうではありませんでした。