Manjaro

Einrichtung

Vorbemerkungen

BTRFS for system, EXT4 for /home

In Calamares select custom partitioning:

  • locate the small (e.g., 230 MB) FAT32 EFI system partition. Mount to /boot/efi and apply flags: boot, esp
  • locate the main Windows NTFS partition. Resize e.g. to 128 GB
  • create a „mid-sized“ BTRFS partition, e.g. 40 GB. Mount to / and apply flag: root
  • create a large EXT4 partition filling the remaining space. Mount to /home

home Partition einbinden

Alle folgenden Befehlt am Besten als root!

Mit fdisk -l die Partitionen anzeigen.

fdisk -l

[desktop-cs cs]# **fdisk -l**
Festplatte /dev/sda: 931,51 GiB, 1000204886016 Bytes, 1953525168 Sektoren
Festplattenmodell: ST1000DM010-2EP1
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 4096 Bytes
E/A-Größe (minimal/optimal): 4096 Bytes / 4096 Bytes
Festplattenbezeichnungstyp: dos
Festplattenbezeichner: 0x07395cfc

Gerät Boot Anfang Ende Sektoren Größe Kn Typ
**/dev/sda1**  2048 1953519615 1953517568 931,5G 83 Linux

Festplatte /dev/nvme0n1: 465,76 GiB, 500107862016 Bytes, 976773168 Sektoren
Festplattenmodell: Samsung SSD 970 EVO Plus 500GB
Einheiten: Sektoren von 1 * 512 = 512 Bytes
Sektorgröße (logisch/physikalisch): 512 Bytes / 512 Bytes
E/A-Größe (minimal/optimal): 512 Bytes / 512 Bytes
Festplattenbezeichnungstyp: gpt
Festplattenbezeichner: 02DFEF97-2D3A-2649-92A7-55F990E78AF4

Gerät Anfang Ende Sektoren Größe Typ
/dev/nvme0n1p1 4096 618495 614400 300M EFI-System
/dev/nvme0n1p2 618496 940912604 940294109 448,4G Linux-Dateisystem
/dev/nvme0n1p3 940912605 976768064 35855460 17,1G Linux Swap

Hier /dev/sda1

Ein temporären Verzeichnis erstellen

mkdir /mnt/tmp

Verzeichnis in der neuen /home-Partition mounten.

mount /dev/sda1 /mnt/tmp

Dateien vom alten /home in das neue /home-Verzeichnis kopieren

rsync -avx –progress /home/ /mnt/tmp

Die neue Partition jetzt mounten.

mount /dev/sda1 /home

Die neue Partition überprüfen (das dauert).

du -sh /home; mount|grep /home

Die Ausgabe sollte etwa so aussehen.

548G    /home
dev/sda1 on /home type ext4 (rw)

Altes /home-Verzeichnis unmounten.

umount /home

Jetzt kann es rekursiv gelöscht werden.

rm -rf /home/*

Neues /home-Verzeichnis zum booten eintragen

blkid

/dev/nvme0n1p3: LABEL="swap" UUID="e211ed71-2be5-45c2-8fb4-a52e725d3f81" TYPE="swap" PARTUUID="242edb77-9302-4f45-96f6-20233447161b"
/dev/nvme0n1p1: UUID="9F7E-F41D" BLOCK_SIZE="512" TYPE="vfat" PARTUUID="f8f2e4ca-ea59-8e40-ba9b-67da6882891a"
/dev/nvme0n1p2: UUID="b4e65314-f91e-41cc-a834-3532fd3ec966" BLOCK_SIZE="4096" TYPE="ext4" PARTLABEL="root" PARTUUID="f0fec236-8082-8942-96ba-6045a0158718"
/dev/sda1: LABEL="home-Partition" UUID="be8713e1-44f3-4b2b-b0b3-cbf51c36eb94" BLOCK_SIZE="4096" TYPE="ext4" PARTUUID="07395cfc-01"

Jetzt Eintrag in der /etc/fstab

 <font inherit/monospace;;inherit;;#000000background-color:#ffffff;># /etc/fstab: static file system information.</font>                    #
# Use 'blkid' to print the universally unique identifier for a device; this may
# be used with UUID= as a more robust way to name devices that works even if
# disks are added and removed. See fstab(5).
#
# <file system>             <mount point>  <type>  <options>  <dump>  <pass>
UUID=9F7E-F41D                            /boot/efi      vfat    umask=0077 0 2
UUID=b4e65314-f91e-41cc-a834-3532fd3ec966 /              ext4    defaults,noatime 0 1
UUID=e211ed71-2be5-45c2-8fb4-a52e725d3f81 swap           swap    defaults,noatime 0 0
tmpfs                                     /tmp           tmpfs   defaults,noatime,mode=1777 0 0
# /dev/sda1 (home Partition)
UUID=be8713e1-44f3-4b2b-b0b3-cbf51c36eb94 /home ext4 defaults 0 2

Zum Schluss

reboot

Plasma/Wayland/Nvidia

Packages

Liste aller installierten Packages erstellen

Datei in /etc/pacman.d/hooks (pacman-installed-packages.hook) erstellen, ggf. Verzeichnis anlegen. Diese Datei wird bei jedem Install oder Remove von Packages aus den offiziellen Repositories aktualisiert.

Offizielle Pakete

Folgender Befehl erstellt eine Liste aller installierten Pakete.

  • Option- -t: Die Pakete, die bereits von anderen explizit installierten Paketen benötigt werden, werden nicht erwähnt. Bei einer Neuinstallation von dieser Liste werden sie installiert, jedoch nur als Abhängigkeiten.
  • Option -n: Fremdpakete (z. B. von AUR) werden in der Liste nicht aufgeführt.
pacman -Qqetn > pkglist.txt
Fremdpakete (AUR)

Fremdpakete (AUR) müssen separat neu installiert werden;

  • Option -m: Fremdpakete (z. B. von AUR) werden in der Liste aufgeführt.
pacman -Qqem > foreignpkglist.txt

Pakete aus Listen wiederherstellen

Um Pakete aus einer zuvor gespeicherten Paketliste zu installieren, ohne zuvor installierte Pakete, die bereits auf dem neuesten Stand sind, neu zu installieren, führen Sie Folgendes aus: Vor der Installation von Fremdpaketen müssen in den Einstellungen Drittanbieter aktiviert werden.

pacman -S --needed - < pkglist.txt

Es ist jedoch wahrscheinlich, dass in der Liste Fremdpakete vorhanden sind, z. B. aus dem AUR oder lokal installierte Pakete. Um die Fremdpakete aus der Liste herauszufiltern, kann die bisherige Befehlszeile wie folgt erweitert werden. Das sollte bei dem Vorgehen wie zuvor beschrieben nicht der Fall sein.

pacman -S --needed $(comm -12 <(pacman -Slq | sort) <(sort pkglist.txt))

Um schließlich sicherzustellen, dass die installierten Pakete Ihres Systems mit der Liste übereinstimmen, und entfernen Sie alle Pakete, die nicht darin aufgeführt sind:

pacman -Rsu $(comm -23 <(pacman -Qq | sort) <(sort pkglist.txt))

Die Liste mit Hooks aktuell halten

Die Hooks werden im Verzeichnis /etc/pacman.d/hooks angelegt. für offizielle Pakete pkglist.hook

nano /etc/pacman.d/hooks/pkglist.hook
pkglist.hook
[Trigger]
Operation = Install
Operation = Remove
Type = Package
Target = *

[Action]
Description = Liste installierter Pakete aktualisieren
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/pacman -Qqet> /home/cs/Dokumente/cloud/gdrive/pacman-installed-packages/pkglist.txt'

Für AUR Packages foreignpkglist.hook.

foreignpkglist.hook.
nano /etc/pacman.d/hooks/foreignpkglist.hook
foreignpkglist.hook
[Trigger]
Operation = Install
Operation = Remove
Type = Package
Target = *

[Action]
Description = Liste aller installierter AUR Pakete aktualisieren
When = PostTransaction
Exec = /bin/sh -c '/usr/bin/pacman -Qqem> /home/cs/Dokumente/cloud/gdrive/pacman-installed-packages/foreignpkglist.txt'

Packages aus einer Liste installieren

Um Pakete aus einer zuvor gespeicherten Paketliste zu installieren, ohne zuvor installierte Pakete, die bereits auf dem neuesten Stand sind, neu zu installieren, führeFolgendes aus:

# pacman -S –needed - <pkglist.txt

Troubleshooting

Fix the Grub Bootloader by Reinstall

Kein Flickern im Firefox unter wayland/nvidia

Als Umgebungsvariable folgendes eintragen:

MOZ_ENABLE_WAYLAND=1 NV_PRIME_RENDER_OFFLOAD=1 NV_PRIME_RENDER_OFFLOAD_PROVIDER=NVIDIA-G0 __GLX_VENDOR_LIBRARY_NAME=nvidia

Siehe

Unter about:support sollte dann unter WebGL-1-Treiber: Version 4.6.0 NVIDIA 535.86.05 eingetragen sein.

SSH keys generieren

  • Generate a local ssh key pair (run only once): ssh-keygen
  • Send the public ssh key to each client: ssh-copy-id <user>@<client_name>

Bereitschaft und Ruhezustand