Zielsetzung
Installation eines leichtgewichtigen Alpine Linux mit einfacher und ressourcenschonender Desktop-Umgebung auf Basis von Wayland.
Befehle zur Paketverwaltung
| Befehle für Service Management
|
---|
- apk update: Paketindex aktualisieren
- apk upgrade: Aktualisierungen einspielen
- apk info: Installierte Pakete auflisten
- apk search xyz: Paket xyz suche
- apk add xyz: Paket xyz installieren
- apk del xyz: Paket xyz deinstallieren
Weitere Details siehe Alpine Wiki | - rc-update add xyz: Service xyz zu Default-Runlevel hinzufügen
- rc-update del xyz: Service xyz aus Default-Runlevel entfernen
- rc-service xyz start|stop|restart: Service starten/stoppen/neustarten
- rc-status: Systemstatus anzeigen
- reboot: System neustarten
- halt: System anhalten
- poweroff: System herunterfahren
Weitere Details siehe Alpine Wiki |
Installation des Grundsystems
- Download des Disk Images für die Standard Edition von der Alpine Linux Downloadseite.
- Image mit dd auf einen USB-Stick schreiben und den Computer damit starten. Das Betriebssystem läuft zunächst komplett im RAM.
- Login als root ohne Passwort.
- Befehl setup-alpine für die Grundeinstellungen ausführen (Tastaturlayout, Netzwerk, usw.).
- Bei den APK-Repositories erst c zum Aktivieren der Community Repositories, dann f zum Finden des schnellsten Mirrors.
- Bei der Frage nach Installationsziel, Verzeichnis für APK-Cache usw. stets none auswählen, da hier noch nicht auf Festplatteinstalliert werden sollen.
Festplatte partitionieren
Für die Installation soll ein angepasstes Partitionslayout verwendet werden. Dieses muss zunächst manuall erstellt werden.
- Partitionsprogramm installieren, z.B. mit apk add parted (oder cfdisk, ...)
- Festplatte partitionieren (Achtung: partet nimmt die Änderungen bei jeder Eingabe sofort vor!
- EFI-Partition, FAT32, 100 MB
- Boot-Partition, EXT4, 100 MB
- Swap-Partition, 8GB
- Systempartition, EXT4, 100GB (ist eigentlich viel zu viel :-))
- Home-Partition, EXT4, Rest der Festplatte
- Dateisysteme erzeugen mit mkfs.xxx.
- Partitionen nach /mnt mounten, so wie sie später verwendet werden sollen (Systempartition, Boot, EFI, Home).
Anschließend kann die Installation mit folgendem Befehl fortgesetzt werden:
BOOTLOADER=GRUB setup-disk -m sys /dev/sdX
Danach die Swap-Partition aktivieren:
$ mkswap /dev/sdb3
$ swapon /dev/sdb3
$ blkid /dev/sdb3 >> /mnt/etc/fstab
$ nano /mnt/etc/fstab
UUID=.... none swap sw 0 0
^O^X
Abschluss der Basisinstallation
- USB-Stick entfernen und System von der Festplatte starten. Login zunächst noch mit dem root-User.
- Besser lesbare Schriftart für die Framebuffer-Konsole:
- apk add font-terminus
- ls /usr/share/consolefonts
- Font testen: setfont /usr/share/consolefonts/ter-122b.psf.gz
- Font dauerhaft setzen: nano /etc/conf.d/consolefont
consolefont="ter-122b.psf.gz"
^O^X
- cron-Jobs:
- rc-service crond start && rc-update add crond
- Die Jobs liegen in /etc/periodic/...
- Prüfen, welche Jobs ausgeführt werden sollten: run-parts --test /etc/periodic/15min
- nano Texteditor:
- apk add nano
- nano /etc/nanorc
- sudo als Ersatz für den root-Account:
- apk add sudo sudo-doc
- addgroup dennis wheel
- nano /etc/sudoers
## Uncomment to allow members of group wheel to execute any command
%wheel ALL=(ALL:ALL) ALL
^O^X
- Kompatibilität zu glibc-Programmen:
- apk add gcompat
- Weitere Optionen auf Basis flatpak, distrobox, chroot, docker/podman ... s. Alpine Wiki
- Farbiger Prompt:
- cd /etc/profile.d
- mv color_prompt.sh.disabled color_prompt.sh
- Logout und anschließend Login mit normalem Benutzer.
Nützliche Helferlein
- Man-Pages, man, apropos:
- apk add mandoc man-pages mandoc-apropos
- Man-Pages für die einzelnen Kommandos müssen einzeln installiert werden, z.B. apk add sudo-doc
- Helferlein zum Erkennen der vorhandenen Hardware:
- apk add hwinfo pciutils hwdata-usb hwdata-pci
- privoxy HTTP Proxy:
- apk add privoxy privoxy-doc privoxy-openrc
- rc-update add privoxy
- cd /etc/privoxy
- Umbennennen aller *.new-Dateien ohne .new am Ende
- rc-service privoxy start
- nano /etc/profile.d/privoxy.des.sh
export http_proxy=localhost:8118
export https_proxy=localhost:8118
^O^X
- bat - cat mit Syntaxhighlighting:
- tldr - Kurzreferenz für Shell-Befehle:
- Der offizielle Client ist der Node.js-Client. Doch für leichtgewichtige Systeme gibt es viele Alternativen.
- Hier installieren wir ttldr, das als reines Shell-Skript implementiert wurde.
- apk add curl unzip
- cd /opt
- wget https://github.com/avih/tldr-fmt/archive/refs/heads/master.zip
- unzip master.zip
- rm master.zip
- nano /etc/profile.d/tldr.des.sh
eport PATH="/opt/tldr-fmt-master:$PATH"
alias tldr=ttldr
^O^X
- Build-Werkzeuge vom Kompilieren von Software (falls benötigt):
- apk add build-base abuild ccache cmake extra-cmake-modules