Benutzer:Tuxnix: Unterschied zwischen den Versionen

Aus wiki.archlinux.de
(Entwurf: Package-Preload (Beispiel))
(Crypted Root für Bios-Rechner integriert)
(9 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
# Package-Preload (Beispiel)
{{inuse|[[Benutzer:Tuxnix|Tuxnix]] ([[Benutzer Diskussion:Tuxnix|Diskussion]])}}{{SEITENTITEL:sway}}{{righttoc}}


Das folgende Beispiel zeigt die Möglichkeit auf den Download von neuen Paketen auf einem zentalen Rechner automatisch durchzuführen und die Pakete von dort aus auf andere Rechner zu verteilen.
(Versuch einer neuen Gliederung der Artikelserie)<br><br>
Um die Gefahr eines [partielles Upgrades](https://wiki.archlinux.de/title/Pacman#Keine_partiellen_Upgrades), das die Konsistenz des Systems bei einen unbedachten `pacman -S foobar` beschädigen könnte zu vermeiden, wird eine separate Sync-DB genutzt, damit die vorhandene Paketdatenbank weiterhin den jeweiligen Stand der Aktualität des Systems wiedergibt. Die  Installation, der auf diese Weise vorab heruntergeladenen Pakete, wird dabei wie bisher mit dem Befehl `pacman -Syu` auf jedem Rechner einzeln durchgeführt. Das upgrade läuft entsprechend schneller ab, da für bereits heruntergeladene Pakete auf den gemeinsam genutzten Paket Cache zugegriffen wird.
<b>Entwurf Artikel: 2. Partitionierung+Basispakete BIOS-Rechner</b><br>


## Für den Rechner (server) der das Package-Preload durchführen soll:
[[spicker | Arch Linux Installations Spickzettel]]<br>
Letztes Kapitel [[1._Vorbereitung|1. Vorbereitung]]<br><br>


### Vorbereitung
<b>2. Partitionierung+Basispakete bei einem BIOS-Rechner</b><br>
Für die separate Sync-Datenbank wird ein Verzeichnis angelegt und der Ordner local symbolisch darauf verlinkt.
* A) ROOT
```
* B) ROOT + SWAP
mkdir /var/lib/preload
* c) Crypted ROOT
ln -s /var/lib/pacman/local/ /var/lib/preload
(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)<br><br>
```
------
### Einrichtung des nfs Servers
<b> A) ROOT</b><br>
Im Unterschied zu dem Beispiel im Wiki-Artikel [nfs Server](https://wiki.archlinux.de/title/Network_File_System) wird in der Datei /etc/exports die Zeile
(Die Einrichtung einer [[Swap#Swapdatei | Swap-Datei]]) ist nachtraeglich moeglich)<br><br>
`/var/cache/pacman/pkg <client>(rw,sync,no_root_squash)` hinzugefügt.  Für <client> ist der entsprechende hostname des zugreifenden Rechners zu setzen. Für den Zugriff von weiteren Rechnern kann jeweils eine neue Zeile angelegt werden.


<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


### pkgpreload.sh
<u>Formatieren:</u><br>
```
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br><br>
#!/usr/bin/env bash
# file-> /usr/local/bin/pkgpreload.sh


# Proof if root
<u>Mounten:</u><br>
if (( `id -u` != 0 )); then
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br><br>
echo "Sorry, you must be root."
exit
fi


ListDir="/var/cache/pacman/pkg"
<u>Installation der Basispakete</u><br>
PreLoad_DB="/var/lib/preload"
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano</code><br><br>


# Write and sort package lists
<u>Installation von Microcode:</u><br>
pacman -Qqe > ${ListDir}/${HOSTNAME}.list
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>
sort -u ${ListDir}/*.list > ${ListDir}/org.list


# Ignore packages not available in our sync DB (like AUR and local installed packages)
<u>fstab erzeugen:</u><br>
comm -12 <(pacman -Slq --dbpath ${PreLoad_DB} | sort) <(sort ${ListDir}/org.list) > /${ListDir}/all.list
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>


# Preload packages
<u>Chrooten:</u><br>
pacman -Syuw --noconfirm --dbpath ${PreLoad_DB}
<code style=font-size:12px>arch-chroot /mnt</code><br><br>
```
Die Datei pkgpreload.sh nach /usr/local/bin/pkgpreload.sh abspeichern und mit einem `chmod +x /usr/local/bin/pkgpreload.sh` ausführbar machen.
Zusätzlich wäre zu überlegen, den Befehl [paccache](https://wiki.archlinux.de/title/Pacman#Paccache) ins script zu integrieren um der Vorrat an alten Paketen zu limitieren.


### systemd service
Service unter /etc/systemd/system/pkgpreload.service abspeichern und danach aktivieren
`systemctl enable --now pkgpreload.service`
```
# file-> /etc/systemd/system/pkgpreload.service


[Unit]
Weiter siehe Kapitel [[3._Konfigurationtion|3. Konfiguration]]<br><br>
Description=preloads packages
----------
After=network-online.target
<b>B) ROOT + SWAP</b>
Wants=network-online.target


[Service]
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
ExecStart=/usr/local/bin/pkgpreload.sh
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>-4G</code> - Letzten Sektor -4GiB<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|t}}</code> – Partitionstyp waehlen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer 2 bestaetigen<br>
<code style=font-size:12px>82</code> – Partitionstyp auf 'Linux swap' setzen<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


[Install]
<u>Formatieren:</u><br>
WantedBy=basic.target
<code style=font-size:12px>mkfs.ext4 -L ROOT /dev/'''x'''1</code><br>
```
<code style=font-size:12px>mkswap -L SWAP /dev/'''x'''2</code><br><br>


### systemd timer
<u>Mounten:</u><br>
Timer unter /etc/systemd/system/pkgpreload.timer abspeichern und danach aktivieren
<code style=font-size:12px>mount /dev/'''x'''1 /mnt</code><br>
`systemctl enable --now pkgpreload.timer`
<code style=font-size:12px>swapon /dev/'''x'''2</code><br><br>
Für andere Zeitintervalle siehe [systemd/Timers](https://wiki.archlinux.de/title/Systemd/Timers#Die_[Timer]_Sektion)
```
# file-> /etc/systemd/system/pkgpreload.timer


[Unit]
<u>Installation der Basispakete</u><br>
Description=preloads packages
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano</code><br><br>


[Timer]
<u>Installation von Microcode:</u><br>
OnCalendar=daily
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>
Persistent=true


[Install]
<u>fstab erzeugen:</u><br>
WantedBy=basic.target
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>
```


## Für alle anderen Rechner:
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>


### Den nfs Client einrichten
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
Wie beim server ist auch hier das Paket nfs-utils zu installieren.
----------
`pacman -S nfs-utils`
<b>B) Crypted Root</b>
Danach ist der /etc/fstab Datei die folgende Zeile anzufügen.
`<server>:/var/cache/pacman/pkg /var/cache/pacman/pkg nfs rw,nofail 0 0`
Der Ausduck <server> ist hier durch den hostname des Servers zu ersetzen.
Nach einem reboot müsste die Verbindung stehen.


### pacman Hook
<code style=font-size:12px>fdisk -l</code> - '''x''' ermitteln<br>
Ein Verzeichnis hooks anlegen
<code style=font-size:12px>fdisk /dev/'''x'''</code> - fdisk starten<br>
`mkdir /etc/pacman.d/hooks`
<code style=font-size:12px>{{taste|o}}</code> - neue Partitionstabelle im cache<br>
<code style=font-size:12px>{{taste|n}}</code> - neue Partition erstellen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Primaerpatition bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Partitionsnummer bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Ersten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|Enter}}</code> - Letzten Sektor bestaetigen<br>
<code style=font-size:12px>{{taste|a}}</code> - Bootsektor aktivieren<br>
<code style=font-size:12px>{{taste|p}}</code> - zur eigenen Kontrolle vor dem Speichern<br>
<code style=font-size:12px>{{taste|w}}</code> - schreiben der Partitionstabelle<br><br>


Und die folgende pkglist.hook Datei dort abspeichern
<u>Kernelmodul laden:</u><br>
```
<code style=font-size:12px>modprobe dm-crypt</code><br><br>
# file->/etc/pacman.d/hooks/pkglist.hook


[Trigger]
<u>Root Partiton verschluesseln:</u><br>
Type = Package
<code style=font-size:12px>cryptsetup luksFormat /dev/'''x'''1</code><br><br>
Operation = Install
Operation = Remove
Target = *


[Action]
<u>Verschlüsselte Partiton oeffnen und mappen:</u><br>
Description = updating packagelist
<code style=font-size:12px>cryptsetup open /dev/'''x'''1 ROOT</code><br>
When = PostTransaction
<u>Und formatieren:</u><br>
Exec = /bin/sh -c 'pacman -Qqe  > /var/cache/pacman/pkg/$HOSTNAME.list; exit'
<code style=font-size:12px>mkfs.ext4 /dev/mapper/ROOT</code><br><br>
```
 
<u>Mounten:</u><br>
<code style=font-size:12px>mount /dev/mapper/ROOT /mnt</code><br><br>
 
<u>Installation der Basispakete:</u><br>
<code style=font-size:12px>pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano cryptsetup</code><br><br>
 
<u>Installation von Microcode:</u><br>
<code style=font-size:12px>pacstrap /mnt intel-ucode</code> oder <code style=font-size:12px>pacstrap /mnt amd-ucode</code><br><br>
 
<u>fstab erzeugen:</u><br>
<code style=font-size:12px>genfstab -L /mnt > /mnt/etc/fstab</code><br><br>
 
<u>Chrooten:</u><br>
<code style=font-size:12px>arch-chroot /mnt</code><br><br>
 
<u>Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:</u><br>
<code style=font-size:12px>dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin</code><br>
<code style=font-size:12px>cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin</code><br>
<code style=font-size:12px>chmod 000 /keyfile.bin</code><br><br>
 
<code style=font-size:12px>nano /etc/mkinitcpio.conf</code><br>
<u>'/keyfile.bin' zu Files hinzufuegen:</u><br>
<code style=font-size:12px>FILES=(/keyfile.bin)</code><br>
<u>Die Zeile 'HOOKS' in dieser Reihenfolge anpassen:</u><br>
<code style=font-size:12px>HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"</code><br>
<u>Und neues initramfs erzeugen</u><br>
<code style=font-size:12px>mkinitcpio -p linux</code><br><br>
 
Weiter siehe Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
----------
<b>Entwurf Artikel: 3. Konfiguration</b>
 
Letztes siehe Kapitel 2.[[spicker | Arch Linux Installations Spickzettel]]<br>
 
<b>3. Konfiguration:</b><br>
 
<code style=font-size:12px>echo '''mein-rechner''' > /etc/hostname</code><br>
<code style=font-size:12px>echo LANG=de_DE.UTF-8 > /etc/locale.conf</code><br>
<code style=font-size:12px>echo KEYMAP=de-latin1 > /etc/vconsole.conf</code><br>
<code style=font-size:12px>echo FONT=lat9w-16 >> /etc/vconsole.conf</code><br>
<code style=font-size:12px>ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime</code><br><br>
 
<code style=font-size:12px>nano /etc/locale.gen</code><br>
<u>Und das # am Anfang folgender Zeilen entfernen:</u><br>
<code style=font-size:12px>#de_DE.UTF-8 UTF-8</code><br>
<code style=font-size:12px>#de_DE ISO-8859-1</code><br>
<code style=font-size:12px>#de_DE@euro ISO-8859-15</code><br>
<code style=font-size:12px>#en_US.UTF-8 UTF-8</code><br>
 
<code style=font-size:12px>locale-gen</code><br><br>
 
<u>Das Root Password erstellen:</u><br>
<code style=font-size:12px>passwd</code><br><br>
 
<u>Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:</u><br>
<code style=font-size:12px>useradd -m -g users -s /bin/bash '''duda'''</code><br>
<code style=font-size:12px>passwd '''duda'''</code><br>
<code style=font-size:12px>usermod -aG wheel,audio,video,power '''duda'''</code><br><br>
 
<u>Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:</u><br>
<code style=font-size:12px>EDITOR=nano visudo</code><br>
<u>Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:</u><br>
<code style=font-size:12px># %wheel ALL=(ALL) ALL</code><br><br>
 
<u>Weitere Dienste installieren:</u><br>
<code style=font-size:12px>pacman -S acpid avahi iwd</code><br><br>
 
<u>Dienste aktivieren:</u><br>
<code style=font-size:12px>systemctl enable acpid</code> - Energieverwaltung<br>
<code style=font-size:12px>systemctl enable avahi-daemon</code> - Netzwerk Zuweisung<br>
<code style=font-size:12px>systemctl enable NetworkManager</code> - Netzwerkmanager<br>
<code style=font-size:12px>systemctl enable iwd</code> - WLAN Daemon</u><br>
<code style=font-size:12px>systemctl enable systemd-timesyncd</code> - Zeit Synchronisation<br><br>
 
----------
<b>Entwurf Artikel: 4. Bootloader für BIOS-Rechner</b>
 
Letztes Kapitel [[3._Konfiguration|3. Konfiguration]]<br><br>
 
<b>4. Bootloader für BIOS-Rechner</b><br>
* A) Grub
* B) syslinux
* C) Grub (crypted)<br><br>
---------------
<b>A) Grub</b>
 
<u>Grub installieren:</u><br>
<code style=font-size:12px>pacman -S grub</code><br>
<code style=font-size:12px>grub-install /dev/'''x'''</code><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>
 
<u>Chrootumgebung verlassen und Partitionen loesen:</u><br>
<code style=font-size:12px>exit</code><br>
<code style=font-size:12px>umount /mnt</code><br><br>
 
<code style=font-size:12px>poweroff</code><br>
<u>ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen  </u><br><br>
 
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
 
-----------
<b>C) Grub (crypted r)</b><br>
 
<u>grub installieren:</u><br>
<code style=font-size:12px>pacman -S grub</code><br><br>
 
<u>grub konfigurieren:</u><br>
<code style=font-size:12px>nano /etc/default/grub</code><br>
<u>Und diese Zeile wie folgt anpassen:</u><br>
<code style=font-size:12px>GRUB_CMDLINE_LINUX="cryptdevice=/dev/'''x'''1:ROOT"</code><br>
<u>Und diese Zeile auskommentieren:</u><br>
<code style=font-size:12px>GRUB_ENABLE_CRYPTODISK=y</code><br>
 
<u>Initramfs suchen:</u><br>
<code style=font-size:12px>grub-install /dev/'''x''' --recheck</code><br>
<u>grub.cfg schreiben:</u><br>
<code style=font-size:12px>grub-mkconfig -o /boot/grub/grub.cfg</code><br><br>
 
Weiter siehe Kapitel [[4._Grafische_Benutzeroberfl%C3%A4che|4. Grafische Benutzeroberfläche ]]
 
----------
Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r

Version vom 18. April 2024, 22:27 Uhr

„Tuxnix“ wurde von Tuxnix (Diskussion) als in Bearbeitung markiert. Um Bearbeitungskonflikte zu vermeiden, kontaktiere Tuxnix (Diskussion) bitte, bevor du den Artikel bearbeitest.


(Versuch einer neuen Gliederung der Artikelserie)

Entwurf Artikel: 2. Partitionierung+Basispakete BIOS-Rechner

Arch Linux Installations Spickzettel
Letztes Kapitel 1. Vorbereitung

2. Partitionierung+Basispakete bei einem BIOS-Rechner

  • A) ROOT
  • B) ROOT + SWAP
  • c) Crypted ROOT

(Für das Partitionieren auf einem BIOS-Rechner wird bis zu einer Volumengröße von 2TBit fdisk eingesetzt.)


A) ROOT
(Die Einrichtung einer Swap-Datei) ist nachtraeglich moeglich)

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
a - Bootsektor aktivieren
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1

Mounten:
mount /dev/x1 /mnt

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt


Weiter siehe Kapitel 3. Konfiguration


B) ROOT + SWAP

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
-4G - Letzten Sektor -4GiB
a - Bootsektor aktivieren
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
t – Partitionstyp waehlen
↵ Enter - Partitionsnummer 2 bestaetigen
82 – Partitionstyp auf 'Linux swap' setzen
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Formatieren:
mkfs.ext4 -L ROOT /dev/x1
mkswap -L SWAP /dev/x2

Mounten:
mount /dev/x1 /mnt
swapon /dev/x2

Installation der Basispakete
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

Weiter siehe Kapitel 3. Konfiguration


B) Crypted Root

fdisk -l - x ermitteln
fdisk /dev/x - fdisk starten
o - neue Partitionstabelle im cache
n - neue Partition erstellen
↵ Enter - Primaerpatition bestaetigen
↵ Enter - Partitionsnummer bestaetigen
↵ Enter - Ersten Sektor bestaetigen
↵ Enter - Letzten Sektor bestaetigen
a - Bootsektor aktivieren
p - zur eigenen Kontrolle vor dem Speichern
w - schreiben der Partitionstabelle

Kernelmodul laden:
modprobe dm-crypt

Root Partiton verschluesseln:
cryptsetup luksFormat /dev/x1

Verschlüsselte Partiton oeffnen und mappen:
cryptsetup open /dev/x1 ROOT
Und formatieren:
mkfs.ext4 /dev/mapper/ROOT

Mounten:
mount /dev/mapper/ROOT /mnt

Installation der Basispakete:
pacstrap /mnt base base-devel linux linux-firmware dhcpcd nano cryptsetup

Installation von Microcode:
pacstrap /mnt intel-ucode oder pacstrap /mnt amd-ucode

fstab erzeugen:
genfstab -L /mnt > /mnt/etc/fstab

Chrooten:
arch-chroot /mnt

Erzeugen einer Schlüsseldatei zur Vermeidung einer zweiten Eingabe des Verschlüsselungspassworts:
dd bs=512 count=4 if=/dev/urandom of=/keyfile.bin
cryptsetup luksAddKey /dev/disk/by-label/ROOT /keyfile.bin
chmod 000 /keyfile.bin

nano /etc/mkinitcpio.conf
'/keyfile.bin' zu Files hinzufuegen:
FILES=(/keyfile.bin)
Die Zeile 'HOOKS' in dieser Reihenfolge anpassen:
HOOKS="base udev autodetect keyboard keymap modconf block encrypt filesystems fsck"
Und neues initramfs erzeugen
mkinitcpio -p linux

Weiter siehe Kapitel 3. Konfiguration


Entwurf Artikel: 3. Konfiguration

Letztes siehe Kapitel 2. Arch Linux Installations Spickzettel

3. Konfiguration:

echo mein-rechner > /etc/hostname
echo LANG=de_DE.UTF-8 > /etc/locale.conf
echo KEYMAP=de-latin1 > /etc/vconsole.conf
echo FONT=lat9w-16 >> /etc/vconsole.conf
ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime

nano /etc/locale.gen
Und das # am Anfang folgender Zeilen entfernen:
#de_DE.UTF-8 UTF-8
#de_DE ISO-8859-1
#de_DE@euro ISO-8859-15
#en_US.UTF-8 UTF-8

locale-gen

Das Root Password erstellen:
passwd

Den Benutzer 'duda' anlegen und ihn ggf. zu den Gruppen hinzufuegen:
useradd -m -g users -s /bin/bash duda
passwd duda
usermod -aG wheel,audio,video,power duda

Gruppenmitgliedern von wheel Rootrechte per 'sudo' verleihen:
EDITOR=nano visudo
Kommentarzeichen und Leerzeichen von dieser Zeile entfernen:
# %wheel ALL=(ALL) ALL

Weitere Dienste installieren:
pacman -S acpid avahi iwd

Dienste aktivieren:
systemctl enable acpid - Energieverwaltung
systemctl enable avahi-daemon - Netzwerk Zuweisung
systemctl enable NetworkManager - Netzwerkmanager
systemctl enable iwd - WLAN Daemon
systemctl enable systemd-timesyncd - Zeit Synchronisation


Entwurf Artikel: 4. Bootloader für BIOS-Rechner

Letztes Kapitel 3. Konfiguration

4. Bootloader für BIOS-Rechner

  • A) Grub
  • B) syslinux
  • C) Grub (crypted)


A) Grub

Grub installieren:
pacman -S grub
grub-install /dev/x
grub-mkconfig -o /boot/grub/grub.cfg

Chrootumgebung verlassen und Partitionen loesen:
exit
umount /mnt

poweroff
ISO-Stick entfernen, Neustarten und auf der Konsole Einloggen

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


C) Grub (crypted r)

grub installieren:
pacman -S grub

grub konfigurieren:
nano /etc/default/grub
Und diese Zeile wie folgt anpassen:
GRUB_CMDLINE_LINUX="cryptdevice=/dev/x1:ROOT"
Und diese Zeile auskommentieren:
GRUB_ENABLE_CRYPTODISK=y

Initramfs suchen:
grub-install /dev/x --recheck
grub.cfg schreiben:
grub-mkconfig -o /boot/grub/grub.cfg

Weiter siehe Kapitel 4. Grafische Benutzeroberfläche


Anmerkung: Bisher in die Artikel eingearbeitet BIOS-Rechner Grub / r+rs / crypted r