Ist dies nicht das Einrichten einer Auslagerungsdatei?
Ich denke, Sie haben einen Schritt dazwischen verpasst chmod
und swapon
:
mkswap /mnt/sda2/swapfile
Was den oxymoromischen Fehler betrifft ...
swapon: / mnt / sda2 / swapfile: Lese-Swap-Header fehlgeschlagen: Erfolgreich
Dies bedeutet wörtlich, dass der swapon
Code einen Fehler enthält, der jedoch nicht unbedingt mit seiner primären Funktionsweise zusammenhängt.
C-Bibliotheksfunktionen verwenden häufig errno , eine globale Variable, die einen Fehlercode speichert. Die Funktion selbst gibt einen Wert zurück, der angibt, dass ein Fehler aufgetreten ist (ein Fehler), und die genaue Art dieses Fehlers wird in gespeichert errno
. Die Idee ist, dass Sie, wenn Sie einen Hinweis auf einen Fehler erhalten, den Wert von überprüfen können errno
, um genau zu sehen, was es ist.
Es gibt auch eine strerror()
Bibliotheksfunktion, die einen Errno-Wert (sie sind Ganzzahlen) annimmt und eine dazugehörige Zeichenfolge in menschlicher Sprache zurückgibt. Eine davon ist Success
, was einem Fehlercode von 0 entspricht (dh kein Fehler).
Wenn Sie also so etwas sehen, weist dies auf einen Fehler hin, wie z.
- Einen Fehler erhalten, dann eine andere Funktion (erfolgreich) aufrufen, die errno hinter den Kulissen auf 0 zurücksetzt, und dann errno verwenden, um die Besonderheiten des Fehlers zu ermitteln, den Sie erhalten haben, bevor Sie die zweite Funktion aufgerufen haben.
Und / oder
- Übergeben
strerror()
einer Variablen, der irgendwann der Wert errno zugewiesen werden sollte (um zu verhindern, dass der vorherige Fehler auftritt), aber nicht.
mkswap
underrno
.