Beitrag
von NAB » 14.04.2016 04:15:49
Windows verwendet bei Textdateien den korrekten Zeilenabschluss "Wagenrücklauf+Zeilenvorschub", also "Carriage Return + Line Feed", also CR+LF. Beide zusammen erzeugen eine "Neue Zeile", also ein "New Line" oder NL.
Unter Unix hat sich das falsche, aber kürzere "Line Feed" durchgesetzt. Unix macht also keinen Unterschied zwischen LF und NL.
Das Problem ist, dass man das unter Linux oftmals nicht sieht ... ein CR+LF sieht genau so aus wie ein falscher Unix-LF ... Neue Zeile und Cursor an den Anfang der Zeile.
Ob ein CR+LF stört, hängt stark davon ab, wie das Programm programmiert ist. Ich vermute, mit dem "5:" will update-grub mitteilen, dass es über die Zeile 5 in /etc/default/grub stolpert. Das ist unter Windows eine Leerzeile, unter Linux eine Zeile, in der ein CR steht.
Die ersten 4 Zeilen werden ignoriert, weil sie mit einem # beginnen. Das Programm sucht also nach einem New Line als Zeilenabschluss und guckt, was dahinter ist.
In Zeile 5 entdeckt es einen Carriage Return vor dem New Line ... und versucht, den sinnvoll zu interpretieren ... und scheitert daran offensichtlich.
Wenn du Linux-Konfigurationsdateien immer so unter Windows bearbeitet hast, könntest du noch ein paar interessante Zeitbomben im System haben ...
Never change a broken system. It could be worse afterwards.
"No computer system can be absolutely secure." Intel Document Number: 336983-001