Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
arch:install [17.12.2022 15:30. ] – [Festplatten partitionieren] djangoarch:install [31.10.2023 18:52. ] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 1: Zeile 1:
 ====== Arch Linux - (manuelle) Minimalinstallation ====== ====== Arch Linux - (manuelle) Minimalinstallation ======
 {{:arch:archlinux-logo.png?nolink&200 |Bild: Archlinux Logo}} Im folgenden Artikel wollen wir uns eingehender mit der Installation von **[[https://archlinux.org/|Arch Linux]]** befassen. Eine sehr gute Beschreibung was diese Distribution ausmacht, ist im folgenden Artikel **[[https://wiki.archlinux.de/title/%C3%9Cber_Arch_Linux|Über Arch Linux]]** sehr gut beschrieben. Im Gegensatz zu altbekannten Distributionen verfügt Arch Linux über keinen graphischen Installationsclient; daher muss die Grundinstallation ausschliesslich über die Kommandozeile vorgenommen werden.  {{:arch:archlinux-logo.png?nolink&200 |Bild: Archlinux Logo}} Im folgenden Artikel wollen wir uns eingehender mit der Installation von **[[https://archlinux.org/|Arch Linux]]** befassen. Eine sehr gute Beschreibung was diese Distribution ausmacht, ist im folgenden Artikel **[[https://wiki.archlinux.de/title/%C3%9Cber_Arch_Linux|Über Arch Linux]]** sehr gut beschrieben. Im Gegensatz zu altbekannten Distributionen verfügt Arch Linux über keinen graphischen Installationsclient; daher muss die Grundinstallation ausschliesslich über die Kommandozeile vorgenommen werden. 
-In der künftigen Ausprägung unserer Infrastruktur werden wir natürlich mit Hilfe von **[[linux:ansible:start|Ansible]]** automatisiert unsere Hosts und Anwendungen installieren, konfigurieren und auf dem Laufenden halten. Hierzu werden wir uns ein individuelles Boot-Image initial erzeugen, mit Hilfe dessen wir dann mit dem Orchestrierungswerkzeug **Ansible** dann weiterarbeiten wollen. + 
 +In der künftigen Ausprägung unserer Infrastruktur werden wir natürlich mit Hilfe von **[[linux:ansible:start|Ansible]]** automatisiert unsere Hosts und Anwendungen installieren, konfigurieren und auf dem Laufenden halten. Hierzu werden wir uns [[boot_iso|später]] ein individuelles Boot-Image initial erzeugen, mit Hilfe dessen wir dann mit dem Orchestrierungswerkzeug **Ansible** dann weiterarbeiten wollen. 
  
 Wir werden also zunächst eine 0815-Installation, die lediglich zur Erstellung eines initialen, auf unsere Bedürfnisse und Rahmenbedingungen zugeschnittenes Boot-ISO-Image erzeugen. Wir werden also zunächst eine 0815-Installation, die lediglich zur Erstellung eines initialen, auf unsere Bedürfnisse und Rahmenbedingungen zugeschnittenes Boot-ISO-Image erzeugen.
  
 ===== Vorbereitungen / Überlegungen ===== ===== Vorbereitungen / Überlegungen =====
-Die grundsätzliche Herangehensweise bei der Minimalinstallation ist im folgenden **[[https://wiki.archlinux.de/title/Arch_Install_Scripts|Arch Linux WIKI Artikel]]** grundsätzlich beschrieben.+Die grundsätzliche Herangehensweise bei der Minimalinstallation ist im folgenden **[[https://wiki.archlinux.de/title/Arch_Install_Scripts|Arch Linux WIKI Artikel]]** bzw. hier im **[[https://wiki.archlinux.org/title/Installation_guide|Arch Linux Installation Guide]]** grundsätzlich beschrieben.
 ==== Download ==== ==== Download ====
 Von der **[[https://www.archlinux.de/download|Downloadseite]]** holen wir uns nun das aktuelle ISO-Image und die zugehörige **''sha256sums.txt''** Datei auf unseren Virtualisierungshost mit Hilfe von **''wget''**. Von der **[[https://www.archlinux.de/download|Downloadseite]]** holen wir uns nun das aktuelle ISO-Image und die zugehörige **''sha256sums.txt''** Datei auf unseren Virtualisierungshost mit Hilfe von **''wget''**.
Zeile 101: Zeile 102:
 Partition number (1-4, default 1): 1 Partition number (1-4, default 1): 1
 First sector (2048-62914559, default 2048):  First sector (2048-62914559, default 2048): 
-Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62914559, default 62914559): +1024+Last sector, +/-sectors or +/-size{K,M,G,T,P} (2048-62914559, default 62914559): +1024M
  
 Created a new partition 1 of type 'Linux' and of size 512.5 KiB. Created a new partition 1 of type 'Linux' and of size 512.5 KiB.
Zeile 271: Zeile 272:
   root@archiso ~ # swapon /dev/mapper/archlinux-swap   root@archiso ~ # swapon /dev/mapper/archlinux-swap
  
-Anschließend folgen die restlichen Mount-Points aus dem LVM:+Anschliessend folgen die restlichen Mount-Points aus dem LVM:
   root@archiso ~ # mount /dev/mapper/archlinux-home /mnt/home   root@archiso ~ # mount /dev/mapper/archlinux-home /mnt/home
  
Zeile 294: Zeile 295:
   └─archlinux-var_log 252:4    0     3G  0 lvm  /mnt/var/log</code>   └─archlinux-var_log 252:4    0     3G  0 lvm  /mnt/var/log</code>
  
 +==== Basissystem einrichten ====
 +Mit Hilfe von **''pacstrap''** installieren wir nun unser Basissystem.
 +  root@archiso ~ # pacstrap /mnt base base-devel dnsutils linux-lts linux-firmware lvm2 man-db man-pages openssh python sshpass tree vi vim
 +
 +==== System einrichten ====
 +=== fstab generieren ===
 +Im nächsten Schritt erzeugen wir die Konfigurationsdatei **''/etc/fstab''** in unserer temporären Installationsumgebung.
 +   root@archiso ~ # genfstab -Up /mnt > /mnt/etc/fstab
 +
 +=== arch-chroot /mnt ===
 +Wie in der **[[https://wiki.archlinux.de/title/Arch_Install_Scripts|Beispielsdokumentation]]** angegeben können wir nun für die weitere Konfiguration in die Chailroot-Umgebung unserer Muster-VM wechseln.
 +  root@archiso ~ # arch-chroot /mnt/
 +
 +  [root@archiso /]#
 +
 +Wie sehen hier durch den geänderten Boot-Prompt, dass wir uns nunmehr in der Chailroot-Umgebung unserer Muster-VM befinden, von wo aus wir die weiteren Schritte abarbeiten können.
 +
 +=== Hostname ändern ===
 +Zunächst setzen wir den Hostnamen für unsere Muster-/Test-VM.
 +  [root@archiso /]# echo archlinux > /etc/hostname
 +
 +=== Spracheinstellungen setzen ===
 +Unser System soll mit der Systemsprache **English-US** und UTF-8 ausgestattet werden. Dies erreichen wir mit folgendem Befehl:
 +  [root@archiso /]# echo LANG=en_US.UTF-8 > /etc/locale.conf
 +
 +Anschließend kommentieren wir in der Datei **''/etc/locale.gen''** die beiden Einträge für **''en_US.UTF-8 UTF-8''** und **''en_US ISO-8859-1''** in dem wir bei diesen jeweils das Kommentarzeichen **''#''** entfernen.
 +  [root@archiso /]# vim /etc/locale.gen
 +
 +Unsere Änderungen können wir bei Bedarf auch nochmals kontrollieren bevor wir diese aktivieren.
 +  [root@archiso /]# grep -Ev '(^#|^$)' /etc/locale.gen
 +<code>en_US.UTF-8 UTF-8  
 +en_US ISO-8859-1</code>
 +
 +Unsere Änderungen aktivieren wir nun noch im System.
 +  [root@archiso /]# locale-gen
 +<code>Generating locales...
 +  en_US.UTF-8... done
 +  en_US.ISO-8859-1... done
 +Generation complete.</code>
 +
 +=== mkinitcpio konfigurieren ===
 +**[[https://wiki.archlinux.de/title/Mkinitcpio|mkinitcpio]]** muss via **''/etc/mkinitcpio.conf''** für die Benutzung unserer **LVMs** noch konfiguriert, sprich bei den **''HOOKS''** das Keyword **''lvm2''** ergänzt werden, damit die Maschine später ordnungsgemäss booten kann.
 +  [root@archiso /]# vim /etc/mkinitcpio.conf
 +<file bash /etc/mkinitcpio.conf>...
 +
 +##   NOTE: If you have /usr on a separate partition, you MUST include the
 +#    usr and fsck hooks.
 +HOOKS=(base udev autodetect modconf kms keyboard keymap consolefont block lvm2 filesystems fsck)
 +
 +...
 +</file>
 +
 +=== Kernel-Image erzeugen ===
 +Nun erzeugen wir das initiale Ramdisk Environment indem wir die **''initramfs''**-Erstellung wie folgt anstossen: 
 +  [root@archiso /]# mkinitcpio -p linux-lts
 +
 +=== Root-Passwort setzen ===
 +Unser System-User **''root''** benötigt natürlich auch noch ein passendes Root-passwort, welches wir nun setzen.
 +  [root@archiso /]# passwd
 +<code>New password: 
 +Retype new password: 
 +passwd: password updated successfully</code>
 +
 +=== Keyboardlayout setzen ===
 +Das deutsche Tastaturlayout **''de-latin1-nodeadkeys''** setzen wir nun permanent.
 +  [root@archiso /]# echo KEYMAP=de-latin1-nodeadkeys > /etc/vconsole.conf
 +
 +Ebenso definieren wir noch die Schriftart der shell / console fest:
 +  [root@archiso /]# echo FONT=lat9w-16 >> /etc/vconsole.conf
 +
 +==== Bootloader konfigurieren und einrichten ====
 +Zum Starten unserer Muster-Test-VM wollen wir auf den „Bootloader“ **[[https://wiki.archlinux.de/title/GRUB|GRUB]]** zurück greifen. Diesen instllieren wir nun mit Hilfe des Paketmanagers **''pacman''**.
 +  [root@archiso /]# pacman -S --noconfirm grub 
 +
 +Da wir per BIOS booten wollen, ist es nötig dass GRUB in den **MBR**((**M**aster **B**oot **R**ecord) geschrieben wird, dies erreichen wir mit folgendem Befehl.
 +  [root@archiso /]# grub-install /dev/vda
 +
 +Da wir beim Hoch- und Runterfahren des Servers sehen wollen was im Detail passiert oder eben nicht passen wir die //**GRUB Boot Loader Konfiguration**// noch ein klein wenig an. Ebenso wollen wir unsere alt gewohnte Bezeichnungen unserer Netzwerkinterfaces beibehalten. 
 +  [root@archiso /]# vim /etc/default/grub
 +<file bash /etc/default/grub>...
 +
 +# GRUB boot loader configuration
 + 
 +GRUB_DEFAULT=0
 +GRUB_TIMEOUT=5
 +GRUB_DISTRIBUTOR="Arch"
 +GRUB_CMDLINE_LINUX_DEFAULT="loglevel=3 net.ifnames=0"
 +GRUB_CMDLINE_LINUX=""
 +
 +# Preload both GPT and MBR modules so that they are not missed
 +GRUB_PRELOAD_MODULES="part_gpt part_msdos lvm"
 +
 +...
 +</file>
 +
 +Zu guter Letzt müssen wir noch die GRUB-Konfiguration generieren:
 +  [root@archiso /]# grub-mkconfig -o /boot/grub/grub.cfg
 +
 +==== chroot verlassen ====
 +Am Ende unserer manuellen Konfiguration können wir nun die Chailroot-Umgebung mit dem Befehl **''exit''** verlassen.
 +  [root@archiso /]# exit
 +<code>exit
 +arch-chroot /mnt/  19.29s user 11.98s system 0% cpu 1:01:43.33 total</code>
 +
 +==== Reboot ====
 +Nun ist es an der Zeit unsere Muster-Test-VM neu zu starten.
 +  root@archiso ~ # reboot
 +
 +{{ :arch:arch_003.png?nolink&500 |Bild: Arch Linux Boot Screen}}
 +
 +nach kurzer Zeit steht unsere Muster-Test-VM bereit.
 +
 +{{ :arch:arch_004.png?nolink&600 |Bild: Arch Linux Muster-Test-VM}}
 +
 +===== Zwischenergebnis =====
 +<WRAP center round important 80%>
 +**Wichtig**: \\
 +
 +Wir werden natürlich nicht jedes mal beim Bau einer virtuellen Maschine diese per Hand auf Basis dieser Musterlösung aus dem WIKI via **//cut 'n' paste//** manuell erstellen sondern dies mit Hilfe eines Ansible-Playbooks automatisiert erledigen lassen. Hierzu demnächst mehr => FIXME :!:
 +</WRAP>
  
  
 +===== Muster-Test-VM zurückbauen =====
 +Nach getaner Arbeit benötigen wir zur gegebenen Zeit unsere Test-Maschine nicht mehr. Wir können diese daher wie gewohnt herunterfahren ...
 +   # virsh shutdown vml000200
  
 +... oder natürlich auch auf die "harte Tour":
 +   # virsh destroy vml000200
  
-<code></code> +Anschliessend löschen wir die VM samt ihrem zugehörigen Image vom System. 
-<code></code>+   # virsh undefine vml000200 --remove-all-storage 
 +<code>Domain vml000200 has been undefined 
 +Volume 'vda'(/var/lib/libvirt/images/vml000200.img) removed.</code>
  
  
 +====== Links ======
 +  * **[[start|Zurück zur "Arch-Linux"-Übersicht]]**
 +  * **[[wiki:start|Zurück zu >>Projekte und Themenkapitel<<]]**
 +  * **[[https://dokuwiki.nausch.org/doku.php/|Zurück zur Startseite]]**
  
  
  • arch/install.1671291051.txt.gz
  • Zuletzt geändert: 17.12.2022 15:30.
  • von django