Arch - Ein kleiner Spickzettel

In den letzten Jahren habe ich meinen Heimserver immer mit Ubuntu oder Debian betrieben. Da ich aber mal etwas Neues ausprobieren wollte, habe ich Anfang des Jahres Arch Linux1 darauf installiert.

Lange Zeit dachte ich, das will ich nicht. Ich dachte: Das ist komplizierter, man muss alles von Hand installieren und einrichten, das ist nur etwas für Leute, die wirklich alles von Grund auf einrichten wollen.

Dann habe ich auf reddit einen Beitrag gelesen, dessen Kernaussage war: Arch Linux ist gar nicht so schwer.

Also dann, mal drauf auf die Kiste.

Was ich festgestellt habe: Das Arch-Wiki2 ist echt super, eigentlich findet man da alles was man braucht.

Trotzdem schreibe ich hier einen kleinen Spickzettel für mich selbst.

Paketverwaltung

Die Paketverwaltung erfolgt über pacman. Arch ist ein Rolling-Release und es gibt immer wieder Updates. Dabei versucht pacman immer alles gleichzeitig zu aktualisieren, damit alle Abhängigkeiten zwischen den Paketen sauber sind.

Quelle: https://wiki.archlinux.org/title/pacman

Bestimmtes Paket installieren

pacman -S package_name

Paket löschen

pacman -R package_name

Update aller Pakete

pacman -Syu
  • S Sync
  • y refresh, update vom Repository
  • u sysupgrade

Suche von Paketen

remote:

pacman -Ss string

lokal:

pacman -Qs string
  • S Sync, betrifft das remote Repository
  • Q Query, betrifft das lokale Repository
  • s search

Cron bzw. systemd

Für regelmäßige Aufgaben ist der Vorschlag von Arch nicht Cron zu benutzen, sondern Timer für Systemd anzulegen.

Hier ein Beispiel für regelmäßige Backups.

Ein Service welcher beim starten das Backup-Skript unter /usr/local/bin/backup aufruft.

/etc/systemd/system/backup.service

[Unit]
Description=create backup service

[Service]
Type=oneshot
ExecStart=/usr/local/bin/backup

Der Timer welcher den Service einmal die Woche aufruft.

/etc/sytemd/system/backup.timer

[Unit]
Description=create backup timer

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

Dann noch den Timer aktivieren:

systemctl enable backup.timer

Um aufzulisten welche Timer es so gibt:

[root@server ~]# systemctl list-timers
NEXT                        LEFT        LAST                        PASSED        UNIT                             ACTIVATES                         
Tue 2023-02-14 20:12:54 CET 6h left     Mon 2023-02-13 20:12:54 CET 17h ago       systemd-tmpfiles-clean.timer     systemd-tmpfiles-clean.service
Wed 2023-02-15 00:00:00 CET 10h left    Tue 2023-02-14 00:00:02 CET 13h ago       shadow.timer                     shadow.service
Fri 2023-02-17 01:17:22 CET 2 days left Thu 2023-02-09 09:09:39 CET 5 days ago    archlinux-keyring-wkd-sync.timer archlinux-keyring-wkd-sync.service
Mon 2023-02-20 00:00:00 CET 5 days left Mon 2023-02-13 00:00:03 CET 1 day 13h ago backup.timer                     backup.service