Benutzer:Tuxnix: Unterschied zwischen den Versionen
Tuxnix (Diskussion | Beiträge) KKeine Bearbeitungszusammenfassung |
Tuxnix (Diskussion | Beiträge) Keine Bearbeitungszusammenfassung |
||
Zeile 1: | Zeile 1: | ||
Nur für eigene Zwecke | Nur für eigene Zwecke | ||
=Kopie aus AfE nach den ersten Boot= | |||
===Netzwerk erneut herstellen=== | |||
Das Netzwerk kann jetzt, wie oben im Kapitel ''Netzwerkverbindung herstellen'', mit dem richtigen Gerätenamen eingerichtet oder wieder mit {{ic|dhcpcd enp4s0}} gestartet werden. | |||
Anmerkung: Sollte die Netzwerk-Verbindung via "netctl -u wireless-wpa" gestartet worden sein, funktioniert dies nach der Installation nicht mehr, da "wpa" nicht mit installiert wird. Dies kann man wie folgt abändern: | |||
Erneutes Starten mit der boot-CD, mounten der root-Partition mit "mount /dev/sda1 /mnt". Dann erneutes verbinden mit dem Netzwerk und installieren des Paketes wpa_supplicant ins root-Verzeichnis: "pacstrap /mnt wpa_supplicant". Nach einem Neustart kann sich nun auch die Festplatteninstallation via wpa mit dem Netzwerk verbinden! | |||
===Regelmäßiges Aktualisieren=== | |||
Arch Linux gehört zu den Distributionen, welche sehr schnell aktuelle Softwarepakete zur Verfügung stellen. Darum sollte man ein installiertes Arch Linux mittels pacman aktualisieren und sich angewöhnen, dies regelmäßig zu tun. Es ist sehr hilfreich, vorher auf [https://www.archlinux.de/?page=Start Arch Linux - Aktuelle Neuigkeiten] nachzusehen, ob sich etwas Wichtiges am Gesamtsystem oder an einzelnen Komponenten geändert hat. Es werden erforderliche Lösungsvorschläge und Anleitungen beschrieben. | |||
====Der Paketmanager pacman==== | |||
[[Pacman]] ist der '''pac'''kage '''man'''ager von Arch Linux. Er verwaltet das gesamte Paketsystem, also die Installation, das Löschen, das Downgraden von Paketen u.v.m.; er ist auch zuständig für die Verwaltung selbst kompilierter Programme, das automatische Lösen von Paket-Abhängigkeiten sowie das entfernte und lokale Suchen nach Paketen. | |||
=====Konfiguration von pacman===== | |||
* /etc/pacman.conf | |||
pacman wird über die Datei {{ic|/etc/pacman.conf}} konfiguriert. Siehe weitere Infos unter [[pacman]]. | |||
* /etc/pacman.d/mirrorlist | |||
pacman benötigt die Datei {{ic|/etc/pacman.d/mirrorlist}}, welche die Serveradressen für den Download von Paketen enthält. Siehe weitere Infos unter [[pacman]]. | |||
Eine Optimierung der Liste der Spiegelserver kann mittels {{ic|reflector}} erfolgen. | |||
===Die Schönheit des Rolling Release=== | |||
Arch Linux ist eine '''Rolling Release''' Distribution, was bedeutet, dass es im Vergleich zu anderen Linux-Distributionen keine Versionsnummern oder -namen gibt. Diese Form der Verwaltung verzichtet darauf, das ganze System neu installieren zu müssen, um es aktuell und damit auch sicher zu halten – man hat es nun selbst in der Hand, jederzeit upzudaten. Die Benutzung eines Rolling-Release setzt auch ein gewisses Maß an Eigenverantwortung voraus. So ist man z.B. gut beraten, sich vor einer Systemaktualisierung über aktuelle Änderungen oder Schwierigkeiten, die dabei auftreten könnten, zu informieren. Aktuelle Informationen findet man [https://www.archlinux.de/?page=Start hier]{{Sprache|de}}, [https://bbs.archlinux.de/viewforum.php?id=257 hier]{{Sprache|de}},[https://www.archlinux.org/ hier]{{Sprache|en}} und [https://www.archlinux.org/news/ hier]{{Sprache|en}}. Außerdem ist es empfehlenswert, die [https://mailman.archlinux.org/mailman/listinfo/arch-announce Arch-Announce]{{Sprache|en}} Mailingliste zu abonnieren, um stets auf dem neuesten Wissenstand etwaige Änderungen betreffend zu sein. | |||
====Achtung bei Systemupdates mit neuem Kernel==== | |||
Falls der Kernel ein größeres Update erfährt, werden Module, wie zum Beispiel ''' nvidia''' und '''madwifi''' (wird später installiert, falls nötig), unbenutzbar, da die neuen, aktualisierten Paketversionen solcher Module gegen den neueren Kernel gebaut wurden, aber das System derzeit einen älteren verwendet. Ein Neustart wird nötig sein. | |||
Ebenso könnte nach einer langen Pause ohne Aktualisierung bzw. bei der Aktualisierung eines frischen Systems der Fall eintreten, dass gleichzeitig mit dem neuen Kernel andere Programmpakete oder neue Versionen von bereits vorhandenen mitinstalliert werden, die wichtige Neuerungen beinhalten, auf die der neue Kernel angewiesen ist. Dann ist es wahrscheinlich, dass der Kernel zwar aktualisiert wird, aber ''mkinitcpio'' Fehler beim Durchlaufen der Hooks meldet (wie etwa fehlende Udev-Regeln beim Hook "filesystems"). Das würde dazu führen, dass das System dann nicht mehr startet und etwa von einem anderen Linux-System oder der Live-CD repariert werden muss! Um dergleichen zu vermeiden, genügt es nach so einem Update i.d.R., das Initramfs noch einmal neu zu generieren, und zwar folgendermaßen: | |||
mkinitcpio -p linux | |||
===Einen Benutzer hinzufügen und Gruppen wählen=== | |||
Tägliche Arbeiten sollten nicht mit dem Root-Account gemacht werden, da dieser für administrative Aufgaben vorgesehen ist und ein Arbeiten damit gefährlich sein kann. Deshalb wird nun ein normaler Benutzer hinzugefügt. Beachte, dass Benutzernamen nur Kleinbuchstaben und Sonderzeichen enthalten dürfen: | |||
In diesem Beispiel heißt der Benutzer duda | |||
useradd -m -g users -s /bin/bash duda | |||
passwd duda | |||
Geben Sie ein neues UNIX-Passwort ein:geheim | |||
Geben Sie das neue UNIX-Passwort erneut ein:geheim | |||
passwd: Passwort erfolgreich geändert | |||
Falls der Benutzer wieder entfernt werden soll, so kann das mit | |||
userdel -r duda | |||
gemacht werden. | |||
Ein weiteres wichtiges Werkzeug könnte noch installiert werden, um ein Kommando mit Root-Rechten ausführen zu können. | |||
pacman -S sudo | |||
Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von: | |||
EDITOR=nano visudo | |||
oder | |||
nano /etc/sudoers | |||
Suchen der folgenden Zeile (steht unterhalb von "## Uncomment to allow members of group wheel to execute any command"): | |||
# %wheel ALL=(ALL) ALL | |||
und entfernen des Kommentatorzeichens und des Leerzeichens. | |||
%wheel ALL=(ALL) ALL | |||
Den Benutzer zu der Gruppe wheel hinzufügen | |||
gpasswd -a duda wheel | |||
Um dem Nutzer noch Rechte für Audio etc. zu geben, kann er noch in die Gruppen {{ic|audio}}, {{ic|video}}, {{ic|games}}, {{ic|power}} hinzugefügt werden. | |||
===Weitere nützliche Dienste=== | |||
Sollte das System auf einer SSD betrieben werden, welche TRIM unterstützt, sollte der {{ic|fstrim.timer}} aktiviert werden: | |||
# systemctl enable --now fstrim.timer | |||
Jetzt, das heißt bevor wir uns der grafischen Oberfläche und/oder Multimedia zuwenden, ist ein guter Zeitpunkt, ein paar zusätzliche Dienste zu installieren und zu aktivieren. | |||
# pacman -S acpid dbus avahi cups | |||
Diese Dienste müssen natürlich auch jeweils explizit gestartet werden. Um dies automatisch beim Booten zu tun, muss systemd dazu angewiesen werden. Dies geschieht durch: | |||
# systemctl enable <Dienstname> | |||
Für diese Beispiele: | |||
# systemctl enable acpid | |||
# systemctl enable avahi-daemon | |||
# systemctl enable cups.service | |||
Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden: | |||
Dies können Services wie NetworkManager erledigen. Mehr dazu unter https://wiki.archlinux.de/title/Daemons und unter https://wiki.archlinux.de/title/Daemons/Liste. | |||
===Cronjobs ausführen lassen=== | |||
Einige Pakete legen sogenannte Cronjobs an. Das sind Befehle, die zu bestimmten Zeiten automatisch ausgeführt werden. Im Normalfall braucht man sich um die Cronjobs nicht zu kümmern. Mehr zu diesem Thema unter [[cron]] | |||
# pacman -S cronie | |||
# systemctl enable --now cronie | |||
Als Alternative zu o.g. klassischen Conrojobs können oft auch ''[https://www.freedesktop.org/software/systemd/man/systemd.timer.html systemd.timer]''s genutzt werden, ohne zusätzliche Software installieren zu müssen. | |||
===Automatische Zeiteinstellung=== | |||
Wer die Zeit automatisch korrigieren lassen will, kann das mit ''systemd-timesyncd'' machen. | |||
systemctl enable --now systemd-timesyncd.service | |||
Die Zeit wird nach wenigen Sekunden korrekt sein.<br> | |||
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen: | |||
date | |||
Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren. | |||
hwclock -w | |||
Man muss unterscheiden zwischen einer sogenannten Systemzeit und einer Hardwareuhr auf der Hauptplatine des Rechners. Die Hardwareuhr ist die CMOS-Uhr, auch Echtzeituhr oder RTC (real time clock) genannt. Die Systemzeit ist die Zeit, die der Linuxkernel gerade hat (nur so grob). Beim Einschalten übernimmt Linux (Systemzeit) die Hardwareuhrzeit. Beim Herunterfahren wird die Systemzeit '''nicht''' an die Hardwareuhr wieder übergeben. Zur Beachtung: Werden mehrere Betriebssysteme benutzt, sollte nur ein Betriebssystem die Hardwareuhr korrigieren. | |||
=Kopie aus AfE:= | =Kopie aus AfE:= |
Version vom 4. Dezember 2020, 20:42 Uhr
Nur für eigene Zwecke
Kopie aus AfE nach den ersten Boot
Netzwerk erneut herstellen
Das Netzwerk kann jetzt, wie oben im Kapitel Netzwerkverbindung herstellen, mit dem richtigen Gerätenamen eingerichtet oder wieder mit dhcpcd enp4s0
gestartet werden.
Anmerkung: Sollte die Netzwerk-Verbindung via "netctl -u wireless-wpa" gestartet worden sein, funktioniert dies nach der Installation nicht mehr, da "wpa" nicht mit installiert wird. Dies kann man wie folgt abändern: Erneutes Starten mit der boot-CD, mounten der root-Partition mit "mount /dev/sda1 /mnt". Dann erneutes verbinden mit dem Netzwerk und installieren des Paketes wpa_supplicant ins root-Verzeichnis: "pacstrap /mnt wpa_supplicant". Nach einem Neustart kann sich nun auch die Festplatteninstallation via wpa mit dem Netzwerk verbinden!
Regelmäßiges Aktualisieren
Arch Linux gehört zu den Distributionen, welche sehr schnell aktuelle Softwarepakete zur Verfügung stellen. Darum sollte man ein installiertes Arch Linux mittels pacman aktualisieren und sich angewöhnen, dies regelmäßig zu tun. Es ist sehr hilfreich, vorher auf Arch Linux - Aktuelle Neuigkeiten nachzusehen, ob sich etwas Wichtiges am Gesamtsystem oder an einzelnen Komponenten geändert hat. Es werden erforderliche Lösungsvorschläge und Anleitungen beschrieben.
Der Paketmanager pacman
Pacman ist der package manager von Arch Linux. Er verwaltet das gesamte Paketsystem, also die Installation, das Löschen, das Downgraden von Paketen u.v.m.; er ist auch zuständig für die Verwaltung selbst kompilierter Programme, das automatische Lösen von Paket-Abhängigkeiten sowie das entfernte und lokale Suchen nach Paketen.
Konfiguration von pacman
- /etc/pacman.conf
pacman wird über die Datei /etc/pacman.conf
konfiguriert. Siehe weitere Infos unter pacman.
- /etc/pacman.d/mirrorlist
pacman benötigt die Datei /etc/pacman.d/mirrorlist
, welche die Serveradressen für den Download von Paketen enthält. Siehe weitere Infos unter pacman.
Eine Optimierung der Liste der Spiegelserver kann mittels reflector
erfolgen.
Die Schönheit des Rolling Release
Arch Linux ist eine Rolling Release Distribution, was bedeutet, dass es im Vergleich zu anderen Linux-Distributionen keine Versionsnummern oder -namen gibt. Diese Form der Verwaltung verzichtet darauf, das ganze System neu installieren zu müssen, um es aktuell und damit auch sicher zu halten – man hat es nun selbst in der Hand, jederzeit upzudaten. Die Benutzung eines Rolling-Release setzt auch ein gewisses Maß an Eigenverantwortung voraus. So ist man z.B. gut beraten, sich vor einer Systemaktualisierung über aktuelle Änderungen oder Schwierigkeiten, die dabei auftreten könnten, zu informieren. Aktuelle Informationen findet man hier, hier,hier und hier. Außerdem ist es empfehlenswert, die Arch-Announce Mailingliste zu abonnieren, um stets auf dem neuesten Wissenstand etwaige Änderungen betreffend zu sein.
Achtung bei Systemupdates mit neuem Kernel
Falls der Kernel ein größeres Update erfährt, werden Module, wie zum Beispiel nvidia und madwifi (wird später installiert, falls nötig), unbenutzbar, da die neuen, aktualisierten Paketversionen solcher Module gegen den neueren Kernel gebaut wurden, aber das System derzeit einen älteren verwendet. Ein Neustart wird nötig sein.
Ebenso könnte nach einer langen Pause ohne Aktualisierung bzw. bei der Aktualisierung eines frischen Systems der Fall eintreten, dass gleichzeitig mit dem neuen Kernel andere Programmpakete oder neue Versionen von bereits vorhandenen mitinstalliert werden, die wichtige Neuerungen beinhalten, auf die der neue Kernel angewiesen ist. Dann ist es wahrscheinlich, dass der Kernel zwar aktualisiert wird, aber mkinitcpio Fehler beim Durchlaufen der Hooks meldet (wie etwa fehlende Udev-Regeln beim Hook "filesystems"). Das würde dazu führen, dass das System dann nicht mehr startet und etwa von einem anderen Linux-System oder der Live-CD repariert werden muss! Um dergleichen zu vermeiden, genügt es nach so einem Update i.d.R., das Initramfs noch einmal neu zu generieren, und zwar folgendermaßen:
mkinitcpio -p linux
Einen Benutzer hinzufügen und Gruppen wählen
Tägliche Arbeiten sollten nicht mit dem Root-Account gemacht werden, da dieser für administrative Aufgaben vorgesehen ist und ein Arbeiten damit gefährlich sein kann. Deshalb wird nun ein normaler Benutzer hinzugefügt. Beachte, dass Benutzernamen nur Kleinbuchstaben und Sonderzeichen enthalten dürfen:
In diesem Beispiel heißt der Benutzer duda
useradd -m -g users -s /bin/bash duda
passwd duda Geben Sie ein neues UNIX-Passwort ein:geheim Geben Sie das neue UNIX-Passwort erneut ein:geheim passwd: Passwort erfolgreich geändert
Falls der Benutzer wieder entfernt werden soll, so kann das mit
userdel -r duda
gemacht werden.
Ein weiteres wichtiges Werkzeug könnte noch installiert werden, um ein Kommando mit Root-Rechten ausführen zu können.
pacman -S sudo
Damit der Benutzer Root-Rechte bekommt, muss eine Konfiguration verändert werden. Eingabe von:
EDITOR=nano visudo
oder
nano /etc/sudoers
Suchen der folgenden Zeile (steht unterhalb von "## Uncomment to allow members of group wheel to execute any command"):
# %wheel ALL=(ALL) ALL
und entfernen des Kommentatorzeichens und des Leerzeichens.
%wheel ALL=(ALL) ALL
Den Benutzer zu der Gruppe wheel hinzufügen
gpasswd -a duda wheel
Um dem Nutzer noch Rechte für Audio etc. zu geben, kann er noch in die Gruppen audio
, video
, games
, power
hinzugefügt werden.
Weitere nützliche Dienste
Sollte das System auf einer SSD betrieben werden, welche TRIM unterstützt, sollte der fstrim.timer
aktiviert werden:
# systemctl enable --now fstrim.timer
Jetzt, das heißt bevor wir uns der grafischen Oberfläche und/oder Multimedia zuwenden, ist ein guter Zeitpunkt, ein paar zusätzliche Dienste zu installieren und zu aktivieren.
# pacman -S acpid dbus avahi cups
Diese Dienste müssen natürlich auch jeweils explizit gestartet werden. Um dies automatisch beim Booten zu tun, muss systemd dazu angewiesen werden. Dies geschieht durch:
# systemctl enable <Dienstname>
Für diese Beispiele:
# systemctl enable acpid # systemctl enable avahi-daemon # systemctl enable cups.service
Auch ist es sinnvoll, einen Netwerkservice für den Internetzugang automatisch zu laden:
Dies können Services wie NetworkManager erledigen. Mehr dazu unter https://wiki.archlinux.de/title/Daemons und unter https://wiki.archlinux.de/title/Daemons/Liste.
Cronjobs ausführen lassen
Einige Pakete legen sogenannte Cronjobs an. Das sind Befehle, die zu bestimmten Zeiten automatisch ausgeführt werden. Im Normalfall braucht man sich um die Cronjobs nicht zu kümmern. Mehr zu diesem Thema unter cron
# pacman -S cronie # systemctl enable --now cronie
Als Alternative zu o.g. klassischen Conrojobs können oft auch systemd.timers genutzt werden, ohne zusätzliche Software installieren zu müssen.
Automatische Zeiteinstellung
Wer die Zeit automatisch korrigieren lassen will, kann das mit systemd-timesyncd machen.
systemctl enable --now systemd-timesyncd.service
Die Zeit wird nach wenigen Sekunden korrekt sein.
Um zu sehen, ob die Uhrzeit nun auch wirklich korrekt ist, kann man folgenden Befehl nutzen:
date
Anschließend kann man die Hardwareuhr oder auch RTC oder CMOS-Uhr auf der Hauptplatine korrigieren.
hwclock -w
Man muss unterscheiden zwischen einer sogenannten Systemzeit und einer Hardwareuhr auf der Hauptplatine des Rechners. Die Hardwareuhr ist die CMOS-Uhr, auch Echtzeituhr oder RTC (real time clock) genannt. Die Systemzeit ist die Zeit, die der Linuxkernel gerade hat (nur so grob). Beim Einschalten übernimmt Linux (Systemzeit) die Hardwareuhrzeit. Beim Herunterfahren wird die Systemzeit nicht an die Hardwareuhr wieder übergeben. Zur Beachtung: Werden mehrere Betriebssysteme benutzt, sollte nur ein Betriebssystem die Hardwareuhr korrigieren.
Kopie aus AfE:
Installation eines Bootloaders
- Als Bootmanager für BIOS-Boot-Systeme stehen Grub und syslinux zur Verfügung.
- Für UEFI-BOOT-Syteme kann als Bootloader systemd-boot oder EFISTUB oder Grub oder rEFInd eingesetzt werden.
Installation des GRUB Bootloaders
Für Benutzer von intel-ucode bitte folgende Seite zusätzlich beachten: Microcode.
Falls bei einen BIOS-Boot-System von einem Datenträger mit GPT-Partitionstabelle gebootet werden soll, benötigt Grub eine zusätzliche Partition von der Größe von 1MiB und dem Partitionstyp ef02. Siehe Grub.
Installation des Pakets:
pacman -S grub
Booten per BIOS
grub-install /dev/sda
Booten per UEFI
Installation des EFI Bootmanagers (sonst kommt die Fehlermeldung: efibootmgr: not found):
pacman -S efibootmgr grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name>
Alternativ kann man
grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=<Boot-Name> --recheck --debug
verwenden, um zusätzliche Informationen zu bekommen, falls es zu einem Fehler kommt.
Wenn man einen etwas längeren Namen mit Leerzeichen für Grub geben möchte, muss man einfach 2 Anführungszeichen anbringen:
--bootloader-id="Ein sehr langer Name für den Grub Bootloader, der auch so im UEFI angezeigt wird :D"
Weitere Konfiguration nach BIOS oder UEFI grub-install:
Es kann jetzt die Grub Konfiguration generiert werden.
grub-mkconfig -o /boot/grub/grub.cfg
Sollte grub-mkconfig dabei eine Fehlermeldung wie
... error: out of memory. error: syntax error. error: Incorrect command. error: syntax error. Syntax error at line 164 ...
liefern (siehe auch: "FS#38041 - grub 1:2.00.1282.g5ae5c54-1 will not generate grub.cfg file syntax errors", sollte das Anhängen folgender Zeile an /etc/default/grub:
# fix broken grub.cfg gen GRUB_DISABLE_SUBMENU=y
und ein erneuter Aufruf von grub-mkconfig Abhilfe schaffen.
Installation des Syslinux Bootloader
Wenn bereits ein Linux-Bootloader installiert ist, kann dieser Punkt übersprungen werden. Der bereits vorhandene Bootloader muss natürlich entsprechend konfiguriert werden.
Zur Beachtung, der Syslinux Bootloader funktioniert nicht bei allen 64bit Dateisystemen wie z.B. ext4. Es muß dann ein anderer Bootloader gewählt werden wie z.B. Grub. Dieser Fehler macht sich erst nach dem Reboot mit folgender Meldung bemerkbar: Failed to load ldlinux.c32 . Boot failed: Please change disks and press a key to continue.
Syslinux kann jetzt installiert werden.
Bei einer GPT-Partitionstabelle muss das Paket gptfdisk zusätzlich installiert werden.
pacman -S gptfdisk pacman -S syslinux
Mit einem Editor (nano) die Konfigurationsdatei anpassen:
nano /boot/syslinux/syslinux.cfg
Die Zeilen APPEND root=/dev/sda3 ro ändern in
APPEND root=/dev/sda1 rw
oder wenn man die LABEL-Partitionsbezeichnung bevorzugt:
APPEND root=LABEL=p_arch rw
Anschließend syslinux auf den Bootsektor installieren
syslinux-install_update -iam
Manuelle Installation von syslinux
Falls nicht alles reibungslos ablief, kann Syslinux manuell installiert werden.
Dazu wird mit dem Programm fdisk das Bootflag auf die Partition gesetzt, von der die Bootdaten gebootet werden sollen.
Beispiel, um für /dev/sda1 das Bootflag zu setzen:
fdisk /dev/sda x a p r w
Dann wird die Partition der Bootdaten, wie z. B. /dev/sda1, unter /boot gemountet und der Bootloader installiert.
mount /dev/sda1 /boot mkdir /boot/syslinux extlinux --install /boot/syslinux
Jetzt muss noch der MBR von Syslinux auf die Festplatte geschrieben werden.
cat /usr/lib/syslinux/bios/mbr.bin > /dev/sda