Kürzlich habe ich mich mit Alpine Linux und der Erstellung eigener ISOs befasst. Dabei stieß ich aufgrund meines Workflows, oder vielmehr aufgrund meines Texteditors auf ein kurioses Problem: DOS vs. Unix Zeilenenden.
Nach Bearbeitung einer sh-Textdatei im GitLab Single-File Editor erschien mir beim ISO-Generator „mkimg.sh“ von Alpine folgende Fehlermeldung:
: not foundpts/mkimage.sh: aports/scripts/mkimg.profil.sh: line 2: profile_standard
Das Kommando zum generieren des ISO war dabei recht nornal und auch das Skript wurde bis auf eine minimale Änderung nicht angepasst.
/ # sh aports/scripts/mkimage.sh --tag alpha --outdir /media/sda1/iso --arch x86_64 --repository https://dl-cdn.alpinelinux.org/alpine/v3.22/main --repository https://dl-cdn.alpinelinux.o
rg/alpine/v3.22/community --profile profil
Es dauerte eine Weile, bis ich realisierte, dass der GitLab Single-File Editor die Zeilenenden oder Line-Endings von LF (Unix) auf CRLF (DOS) änderte und das zur fehlerhaften Ausführung meines sh-Skripts führte.

Mit der GitLab Web-IDE, einem beliebigen anderen Editor oder dem dos2unix-Tool ließ sich das Skript wieder zurückwandeln und funktionierte auf Anhieb einwandfrei.

