Schlagwort: bash

Raspberry Pi Image anpassen um WLAN und SSH direkt zu konfigurieren

Wer z.B. einen Raspberry Pi Zero W headless einrichten möchte muss ins root-Verzeichnis der boot-Partition zwei Dateien legen. Einmal eine leere Datei „.ssh“ und eine „wpa_supplicant.conf“, die nur Linefeeds enthalten darf (ein CRLR). Also Linux-Zeilenumbrüche, nicht Windows.

Die Datei sieht so aus:

country=DE 
ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev 
update_config=1 
network={
     ssid="WLAN SSID"
     scan_ssid=1
     psk="WLAN PASSWORT"
     key_mgmt=WPA-PSK
}

Im Notepad++ stellt man die Zeilenumbrüche unten rechts um:

Quelle: https://www.dahlen.org/2017/10/raspberry-pi-zero-w-headless-setup/

Wer nun extrem „effizient“ sein möchte könnte auf die Idee kommen, direkt das Image zu verändern, das auf die SD-Karte geschrieben wird. Wer wie ich zu faul ist, die Anfänge der Partitionstabelle auszurechnen lässt einfach kpartx laufen, das loop-Devices erstellt, die auf die Partitionstabellen zeigen:

root@host:~# kpartx  -av 2020-02-13-raspbian-buster-lite.img

Danach kann man die boot-Partition mounten:

root@host:~# mkdir loop0p1
root@host:~# mount /dev/mapper/loop0p1 loop0p1/

Wer das auf einem Raspberry Pi macht, der schon WLAN hat macht einfach so weiter:

root@host:~# cd loop0p1/
root@host:~# touch ssh
root@host:~# cp /etc/wpa_supplicant/wpa_supplicant.conf .

Alles wieder unmounten:

root@host:~# umount loop0p1
root@host:~# kpartx -d 2020-02-13-raspbian-buster-lite.img
loop deleted : /dev/loop0

Hier bin ich auf kpartx gestoßen: https://www.raspberrypi.org/forums/viewtopic.php?t=28860#p254654

So könnte man auch direkt den Hostname ändern oder einen public-key hinterlegen, schon mal local einstellen, etc.. Also eigentlich alles, was man sonst auch immer direkt nach dem Flashen machen muss.

Lange Dateinamen unter Linux finden

find . -type f | grep -E "^(.+)/[^/]{127,}$"

Diese Befehlszeile findet Dateinamen mit 127 oder mehr Zeichen.

Wofür braucht man so etwas? Synology unterstützt bei verschlüsselten Volumes nur Dateinamen bis zu einer Länge von 127 Zeichen. Um „problematische“ Files zu identifizieren, welche bspw. ein Backup oder einen Sync auf ein verschlüsseltes Volumen verhindern, sollte man vorher die Länge aller Dateinamen checken.

Bash Shortcuts / Tastenkombinationen

Shortcut Beschreibung
Ctrl + a zum Zeilenanfang springen
 Ctrl + e  zum Zeilenende springen
Alt + b  ein Wort nach links springen
 Alt + f ein Wort nach rechts springen
 Ctrl + w Wort links vom Cursor löschen
 Alt + d  Wort rechts vom Cursor löschen
 Ctrl + u  vom Cursor bis zum Zeilenanfang löschen
 Ctrl + k vom Cursor bis zum Zeilenende löschen
 Alt + .  letztes Argument einfügen
 …