Guest User

MEIN.GUIDE_Arch-Installation

a guest
Nov 15th, 2019
60
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. Voraussetzungen:
  2. -Windows bereits installiert (also auch eine EFI-Partition mit 100MB, ggf. vergrößern)
  3. -Partitionen (mit Lable "Arch" für Arch und "Swap" für Swap existieren bereits)
  4. -kein Linux-Bootloader vorhanden
  5. -Verbindung soll während der Installation via WiFi hergestellt und genutzt werden; im spätern Einsatz aber auch LAN, also beides.
  6.  
  7. Befehle:
  8. - $ loadkeys de-latin1 (bzw. $ loadkezs deßlatin1)
  9. - $ mount -L Arch /mnt
  10.  
  11. - $ btrfs sub create /mnt/@
  12. - $ btrfs sub create /mnt/@home
  13. - $ btrfs sub create /mnt/@pkg
  14. - $ btrfs sub create /mnt/@snapshots
  15. - $ umount /mnt
  16.  
  17. - $ mount -o noatime,ssd,space_cache=v2,compress=zstd,subvol=@ /dev/nvme0n1p6 /mnt
  18. - $ mkdir -p /mnt/{boot,home,var/cache/pacman/pkg,btrfs}
  19.  
  20. - $ mount /dev/nvme0n1p2 /mnt/boot
  21. - $ mount -o noatime,ssd,space_cache=v2,compress=zstd,subvol=@home /dev/nvme0n1p6 /mnt/home
  22. - $ mount -o noatime,ssd,space_cache=v2,compress=zstd,subvol=@pkg /dev/nvme0n1p6 /mnt/var/cache/pacman/pkg
  23. - $ mount -o noatime,ssd,space_cache=v2,compress=zstd,subvolid=5 /dev/nvme0n1p6 /mnt/btrfs
  24.  
  25. - $ swapon -L Swap
  26.  
  27. - $ ping -c3 www.archlinux.de   # nur um Verbindung zu testen; kann an dieser Stelle noch nicht klappen und wird nach dem nächsten Block erneut aufgerufen
  28.  
  29. - $ ip link
  30. - $ wpa_passphrase  "mein.WLAN"  das.ist.ein.passwort  > /etc/wpa_supplicant/wpa_supplicant.conf
  31. - $ wpa_supplicant -i wlp5s0 -D wext -c /etc/wpa_supplicant/wpa_supplicant.conf -B
  32. - $ dhcpcd wlp5s0
  33.  
  34. - $ cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak
  35.  
  36. - $ pacman -Sy reflector # Installation bestätigen, z.B. mit 'Enter'
  37. - $ reflector -c Germany -p http -p https --sort rate -n 15 | sed '11,14!s/^S/#S/'
  38.  
  39. - $ pacstrap /mnt base base-devel linux intel-ucode bash-completion linux-firmware nano networkmanager dhcpcd btrfs-progs dosfstools grub efibootmgr ntfs-3g
  40.  
  41. - $ genfstab -LUp /mnt > /mnt/etc/fstab
  42.  
  43. - $ arch-chroot /mnt
  44.  
  45. +++ ggf. reflector erneut installieren und ausführen (s.o.)
  46.  
  47. - $ ln -sf /usr/share/zoneinfo/Europe/Berlin /etc/localtime
  48. - $ hwclock --systohc (oder -w)
  49. - $ nano /etc/locale.gen    # mit 'Strg+w' suchen, 'Alt+w' für weitersuchen; alles mit 'de_DE', 'en_US', 'es_ES' entkommentieren; 'Strg+o' speichern, 'Strg+x' schließen
  50. +++ggf. nur "de_DE" entkommentieren und Englisch hinterher hinzufügen, denn aktuell startet der Gnome Display Manager (=Login Screen) immer mit englischem Tastatur-Layout, egal was ich mache
  51. - $ locale-gen
  52. - $ echo LANG=de_DE.UTF-8 > /etc/locale.conf
  53. - $ echo KEYMAP=de-latin1 > /etc/vconsole.conf
  54. - $ echo mein.notebook > /etc/hostname
  55. - $ mkinitcpio -p linux     # Wenn später 'mkinitcpio Fehler bei hooks nach Kernelupdate meldet, erneute diesen Befehl ausführen
  56. - $ passwd  # Anweisungen folgen
  57.  
  58. - $ grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=GRUB     # hier wird in den Videos von unicks.eu immer "/boot/EFI" angegeben, aber dann findet grub arch nicht oder das bios nicht grub, idk, lirum larum windows wird dann ohne Auswahlmöglichkeit gebootet
  59. - $ pacman -S os-prober
  60. - $ mkdir /mnt/Win10
  61. - $ mount /dev/nvme0n1p4 /mnt/Win10
  62. - $ grub-mkconfig -o /boot/grub/grub.cfg    # ist später mit "$ sudo update-grub" möglich, s.u.
  63.  
  64. - $ systemctl enable NetworkManager.service     # ohne '.service' werden 2 (od. 3?) weitere aktiviert: NetworkManager-dispatcher.service, NetworkManager-wait-onlline.service, NetworkmMnager.service.d sind neben NetworkManager.service am Ende aktiv
  65.  
  66. - $ exit
  67. - $ umount /dev/nvme*
  68. - $ reboot
  69.  
  70. Nach Neustart Passwort eingeben
  71.  
  72. - $ nmtui
  73.  
  74. - $ useradd -m -g users -G wheel,audio,video,power,games -s /bin/bash das.ist.mein.user
  75. - $ passwd das.ist.mein.user    # Anweisungen folgen
  76.  
  77. # - $ pacman -S sudo # ist bereits installiert
  78. - $ EDITOR=nano visudo # '%wheel ALL=(ALL) ALL' entkommentieren
  79.  
  80. - $ systemctl enable --now fstrim.timer
  81. - $ pacman -S acpid dbus avahi cronie
  82. - $ systemctl enable acpid.service
  83. - $ systemctl enable avahi-daemon.service
  84. - $ systemctl enable --now cronie.service
  85. - § date # zeigt die eingestellte Zeit an
  86. ggf. - $ systemctl enable --now systemd-timesyncd.service # korrigiert die Uhrzeit
  87. ggf. - $ hwclock -w # korrigeirt die Hardwareuhr (= im BIOS)
  88.  
  89. #############################
  90. # Basissystem ist installiert
  91. #############################
  92.  
  93. - $ pacman -S xorg-server xorg-xinit                                  
  94. - $ pacman -S xf86-video-intel
  95. - $ nano /etc/mkinitcpio.conf # Zeile 'MODULE' wie folgt ändern: MODULES=(i915)
  96. - $ mkinitcpio -p linux
  97. # in '/boot/grub/grub.cfg' 'vga=...' aus 'kernel'-Zeile entfernen   # war nicht vorhanden
  98.  
  99. Gnome installieren:
  100. - $ pacman -S gnome gnome-extra # Anweisungen folgen
  101. - $ systemctl enable gdm (ggf. erneut NetworkManager)
  102. - $ reboot
  103.  
  104. #############################################################################################
  105. # Ab hier kann jetzt auch die .txt per Stick in den neuen PC und dann weiter mit copy & paste
  106. #############################################################################################
  107.  
  108. #fstab aufhübschen:
  109. # eindeutige Subvolume-Namen wählen, doppelte Einträge entfernen, z.B. "subvol=@pkg" statt "subvolid=257,subvol=/@pkg,subvol=@pkg"; bei /btrfs/ reicht "subvolid=5"
  110. # root-Verzeichnis wird schon vor der fstab geladen, daher kann es in der fstab auskommentiert werden; bootet man später von einem snapshot, stimmt der Pfad eh nicht mehr
  111.  
  112. - $ sudo gedit /etc/fstab
  113. - $ reboot  # um zu überprüfen, ob noch alles läuft
  114.  
  115. #snapper installieren
  116. #Vorbereitung, falls man cronie hat und keine stündlichen/täglichen automatischen snapshots haben wil:
  117. - $ sudo gedit /etc/pacman.conf     # "NoExtract" entkommentieren und ergänzen: NoExtract = etc/cron.daily/snapper etc/cron.hourly/snapper
  118.  
  119. - $ sudo su
  120. - $ pacman -S snapper
  121. - $ gedit /etc/snapper/config-templates/default
  122. # verschiedene Zeilen ändern: " NUMBER_LIMIT="10" ", " NUMBER_LIMIT_IMPORTANT="5" ", " TIMELINE_CREATE="nO" ", " EMPTY_PRE_POST_CLEANUP="yes" "
  123. +++Idee: snapshot beim Starten (boot) und maximale Anzahl von diesen Snapshots auf max. 3... aber wie?
  124. - $ snapper -c root create-config /
  125.  
  126. # unter "$ btrfs sub list /btrfs/" sollte nun ein Verzeichnis "@/.snapshots" auftauchen
  127.  
  128. #von snapper angelegtes Verzeichnis "@/.snapshots" auf das vorher angelegte subvolume "@snapshots" ändern (ohne "/")
  129. - $ btrfs sub del /.snapshots
  130. - $ mkdir /.snapshots
  131. - $ gedit /etc/fstab
  132. # ergänze fstab um "UUID=... /.snapshots btrfs rw,noatime,compress=zstd:3,ssd,space_cache=v2,subvol=@snapshots 0 0" und speichern
  133.  
  134. - $ mount /.snapshots
  135.  
  136. - $ df -Th  # zur Kontrolle, ob alles richtig gemountet ist
  137. - $ snapper list    # zur Kontrolle aller Snapshots (zu diesem Zeitpunkt sollten noch keine vorhanden sein
  138.  
  139. - $ exit    # su-Modus beenden!
  140.  
  141. TO DO:
  142. #Programm damit Snapshots in GRUB auftauchen, z.B. grub-btrfs (in offiziellen Paketquellen)
  143. +++ grub-btrfs aktualisiert auch schon die grub-Einträge, wenn neue snapshots durch systemd erstellt wurden (nicht wenn neue snapshots durch anderes Programm, etwa snap-pac (s.u.) erstellt wurden
  144.  
  145. #Programm damit automatisch pre/post snapshots erstellt werden, z.B. snap-pac !ABER: erst zum Schluss installieren  # redundant: macht grub-btrfs schon
  146.  
  147. #Programm, welches zusätzlich GRUB-Einträge nach Aktion von snap-pac updatet, z.B. snap-pac-grub  # redundant: macht grub-btrfs schon
  148.  
  149. #siehe auch "snp"; lässt beliebige Befehle als Trigger für pre/post Snapshots einstellen, z.B. 'pacman -Syyu' o.ä.
  150.  
  151. #ggf. Programm um grub upzudaten mit nur einem befehel, z.B. update-grub (AUR)  # ganz praktisch, aber nicht notwendig (s.o.)
  152.  
  153. ##vor dem erstellen von Paketen "/etc/makepkg.conf" bearbeiten: Zeile "MAKEFLAGS="-j9" auf Anzahl der Kerne +1 setzen (bei 8 Kernen also auf 9; mit "§ nproc" erhält man die Zahl der Kerne)
  154.  
  155. #+ "$ makepkg -rsi" installiert vorerst alle benötigten Abhängigkeiten und entfernt diese nach dem Packen wieder (was macht "-frsi" ?)
  156.  
  157. #AUR helper: pacaur oder yay, etc..
  158. ##irgendwas mit gui/tui
RAW Paste Data