Fryboyter

Archlinux.org schafft Beginners Guide ab

Bei mir laufen inzwischen mehrere Geräte mit Arch Linux. Da hier eine Neuinstallation aufgrund von rolling Release recht selten ist, merke ich mir die einzelnen Schritte nicht alle. Daher habe ich jedes mal auf den Beginners Guide zurückgegriffen. In dieser Schritt-für-Schritt-Anleitung braucht man zum Großteil nur die Befehle abtippen und hat am Ende eine lauffähige Installation von Arch Linux.

Im Wiki von Archlinux.org zeigt nun der Link des Beginners Guide auf die normale Installationsanleitung. Dieser Schritt ist scheinbar schon seit einigen Jahren geplant, und wurde nun durchgezogen. Der Sinn dahinter ist wohl, die beiden Anleitungen zu verschmelzen um so nur eine Anleitung aktualisieren zu müssen. Macht aus meiner Sicht durchaus auch Sinn. Aber…

In der aktuellen Installationsanleitung wird zum Teil nur noch auf andere Wiki-Seiten verwiesen. So zum Beispiel bei dem Teil bei dem es um die Partitionen geht. Hier haben wir dann folgende Links:

https://wiki.archlinux.org/index.php/Partition_table https://wiki.archlinux.org/index.php/Fdisk https://wiki.archlinux.org/index.php/Parted https://wiki.archlinux.org/index.php/MBR https://wiki.archlinux.org/index.php/GPT https://wiki.archlinux.org/index.php/Gdisk https://wiki.archlinux.org/index.php/UEFI https://wiki.archlinux.org/index.php/EFI_System_Partition https://wiki.archlinux.org/index.php/GRUB https://wiki.archlinux.org/index.php/LVM https://wiki.archlinux.org/index.php/Disk_encryption https://wiki.archlinux.org/index.php/RAID

Ok…

Der Link zur Verschlüsselung bringt hinsichtlich des eigentlichen Installationsvorgangs auch nichts. Also muss man sich von dort über https://wiki.archlinux.org/index.php/Dm-crypt auf https://wiki.archlinux.org/index.php/Dm-crypt/Encrypting_an_entire_system vorkämpfen.

Vermutlich habe ich hier eine andere Ansicht als die Entwickler der Distribution. Aber eine Anleitung besteht für mich nicht zu einem Großteil aus Verweisen. Zielgruppe hin oder her. Zumal ja durchaus einige Sachen auch im Detail direkt in der Installationsanleitung beschrieben werden. Wie z. B. das Erstellen des Root-Passworts mit passwd. Das ist meiner Meinung nach aber dann wieder so 0815, dass ich nicht nachvollziehen kann, wieso es direkt in der Anleitung erscheint.

Aktuell finde ich das ganze ziemlich seltsam und mir kommen zwei Möglichkeiten in den Sinn. Entweder wurde die Aktion mit der heißen Nadel gestrickt. Oder es wird hier künstlich versucht die Schwelle für die Einsteiger zu erhöhen. Ich würde mich nach über 10 Jahren mit Linux nicht mehr als Anfänger bezeichnen. Aber sorry, die Installationsanleitung ist mir in der jetzigen Form zu umständlich. Aber wie schon gesagt, vielleicht habe ich da einfach eine andere Ansicht wie die Entwickler. Und vielleicht liege ich auch falsch.

Wer der deutschen Sprache mächtig ist, findet auf wiki.archlinux.de übrigens noch den deutschsprachigen “Anleitung für Einsteiger”. Da ich nicht sagen kann, ob das deutschsprachige Wiki hier mit dem englischsprachigen gleichzieht, habe ich mir diese auch gleich mal als PDF gesichert.

Linux | OSBN

Paketverwaltung von Arch Linux auf dem Raspberry Pi beschleunigen

Seit längerem stelle ich einen Server für Quake 3 Arena zur Verfügung. Dieser läuft auf einem Raspberry Pi 3 mit ALARM (Arch Linux für ARM). Da dieser jedem zur Verfügung steht, muss ich regelmäßig die Pakete aktualisieren. Hierbei hängt der Updatevorgang in der Regel bei (1 / 3) Updating manpage index… und (2 / 3) Updating the info directory file… für einige Minuten fest.

Um beides schnell abzuwickeln ist der Raspberry Pi einfach zu schwach. Daher habe mir überlegt, brauche ich direkt nach einem Update bzw. einer Installation eines Pakets z. B. einen aktuellen Manpage-Index auf dem Raspberry Pi? Eigentlich nicht. Verantwortlich für die beiden Schritte sind sogenannte Hooks die es seit Pacman 5 gibt. Diese liegen unter /usr/share/libalpm/hooks/. In dem Verzeichnis liegen unter anderem die Dateien man-db.hook und texinfo-install.hook. Laut der Manpage von libalpm lassen sich die Hooks deaktivieren wenn man sie nach /dev/null umleitet. Um nicht an den originalen Hooks Änderungen vorzunehmen, erstellen wir unter /etc/pacman.d erst einmal das Verzeichnis hooks. Alle Hooks die dort vorhanden sind, überschreiben die, die unter /usr/share/libalpm/hooks/ vorhanden sind. Dort erstellen wir dann zwei Symlinks die nach /dev/null zeigen.

ln -s /dev/null /etc/pacman.d/hooks/man-db.hook
ln -s /dev/null /etc/pacman.d/hooks/texinfo-install.hook

Installiert oder aktualisiert man nun ein Paket und hat die Debug-Funktion von pacman aktiviert, sollte man folgende Zeilen in der Ausgabe finden und der Vorgang sollte schnell durchlaufen.

debug: skipping overridden hook /usr/share/libalpm/hooks/man-db.hook 
debug: skipping overridden hook /usr/share/libalpm/hooks/texinfo-install.hook

So ganz ohne aktuellen Manpage-Index wollte ich dann aber doch nicht sein. Früh morgens findet auf dem Server im Grunde genommen keine Aktivität statt. Dann könnte man beide Hooks ja eigentlich laufen lassen. Lösen kann man das ganze über systemd und den timern. Diese sind in etwa vergleichbar mit den bekannten Cronjobs. Unter /etc/systemd/system/ erstellt man hierfür erst einmal zwei Service- sowie zwei Timer-Dateien mit folgendem Inhalt.

manpage-index.service

[Unit]
Description=Manpage-Index aktualisieren

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'mkdir -p /var/cache/man; exec mandb --quiet --no-purge'

manpage-index.timer

[Unit]
Description=Manpage-Index täglich aktualisieren

[Timer]
OnCalendar=*-*-* 02:30:00
Persistent=true

texinfo-index.service

[Unit]
Description=Texinfo aktualisieren

[Service]
Type=oneshot
ExecStart=/bin/sh -c 'for f in /usr/share/info/*.gz; do install-info "$f" /usr/share/info/dir 2> /dev/null; done'

texinfo-index.timer

[Unit]
Description=Run texinfo updater daily
[Timer]
OnCalendar=*-*-* 03:30:00
Persistent=true

Mit systemctl start texinfo-index.timer und systemctl start manpage-index.timer werden die beiden Timer dann noch abschließend aktiviert, so dass diese nun täglich um 2.30 und 3.30 Uhr gestartet werden.

Linux | OSBN

Alte und neue Konfigurationsdateien unter Arch mit pacmarge abgleichen

Bei einem Update von Arch Linux kann es passieren, dass es auch Änderungen an den Konfigurationsdateien gibt. Anstelle dass bereits vorhandene Konfigurationsdateien automatisch angepasst oder sogar komplett überschrieben werden, werden die neuen Konfigurationsdateien mit der Endung .pacnew angelegt. Somit ist es dann die Aufgabe des Administrators die vorhandenen Konfigurationsdateien mit den Pacnew-Dateien abzugleichen. Für diesen Job nutze ich ein Script, welches sowohl vorhandene als auch Pacnew-Dateien aufspürt und beide mit meld öffnet, so dass ich diese händisch abgleichen kann.

Der Arch-Entwickler foutrelis hat hierfür nun das Tool pacmarge gebaut, welches diese Aufgabe automatisiert. Man findet es im AUR. Führt man pacmarge nach einem Update aus, welches auch die Konfigurationsdateien betrifft, erhält man beispielsweise folgende Ausgabe.

pacmarge

Hier sieht man dass bis auf die Datei mirrorlist alle Dateien erfolgreich zusammengeführt wurden. Aber vertrauen ist gut, Kontrolle ist besser. Von daher habe ich die vorhandenen Konfigurationsdateien bereits vorab gesichert und dann mit den durch pacmarge geänderten Dateien verglichen. So wie es aussieht macht das Tool seine Arbeit wirklich gut. Einen Fehler konnte ich nicht finden. Dennoch werde ich wohl bei meinem Script und meld bleiben. Wenn da etwas schief geht, kenne ich die Fehlerquelle definitiv. Layer 8.

Linux | OSBN

Arch AUR nutzt ab Version 4.0 eine auf Git basierende Plattform

Gestern wurde auf der Mailing-List “arch-general” verkündet, dass ab dem 8. Juni 2015 der Umzug von AUR auf eine Plattform die auf Git basiert der Umzug startet. Wer seine Pakete weiterhin betreuen will, muss diese auf der neuen Plattform bis spätestens 07. Juli 2015 unter [aur4.archlinux.org](http://aur4.archlinux.org) einreichen. So lange werden die Pakete für die ursprünglichen Betreuer reserviert. Ab dem 8. Juli kann man unter der genannten Adresse dann die Pakete einreichen die reserviert waren aber der jeweilige Betreuer nichts gemacht hat. Am 8. August wird dann aur4.archlinux.org offiziell aur.archlinux.org ab. Änderungen an den Paketen die zwischen dem 8. Juli und dem 8. August erfolgen müssen unter aur4.archlinux.org eingereicht werden.

Eine kurze Anleitung zum Einreichen auf der neuen Plattform findet man im [Wiki](https://wiki.archlinux.org/index.php/Arch_User_Repository#AUR_4). Wer Probleme mit der neuen Plattform hat, kann diese im Bugtracker melden.

Linux | OSBN

Pakete unter Arch im Ram erstellen

Um das Bauen der Pakete unter Arch zu beschleunigen kann man die Paketverwaltung anweisen dies im Arbeitsspeicher zu tun.

Hierzu erstellt man in der /etc/fstab erst einmal folgenden Eintrag.

tmpfs    /scratch    tmpfs    nodev,size=4G    0 0

Anstelle von /scratch kann man jederzeit auch ein anderes Verzeichnis angeben in dem der Arbeitsspeicher gemountet wird. Size= kann man weglassen. Allerdings werden dann bis zu 50 Prozent des vorhandenen Arbeitsspeicher genutzt.

Nachdem wir die Datei abgespeichert haben, schalten wir den Eintrag mittels mount -a scharf. Nun muss noch die Datei /etc/makepkg.conf angepasst werden. In dieser suchen wir nach #BUILDDIR= und entfernen das # am Anfang der Zeile unter ändern alles nach dem = auf /scratch (bzw. das Verzeichnis das wir in der /etc/fstab angegeben haben, so dass BUILDDIR=/sratch dabei herauskommen sollte und speichern die Datei ab.

Pakete die nun aus den Sourcecode erstellt werden, z. B. aus AUR sollten nun um einiges schneller gebaut werden als z. B. auf der HDD.

Linux | OSBN