====== 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** # /etc/fstab: static file system information. # # 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). # # 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 ==== * [[https://community.kde.org/Plasma/Wayland/Nvidia|https://community.kde.org/Plasma/Wayland/Nvidia]] * ''echo options nvidia_drm modeset=1 | sudo tee /etc/modprobe.d/nvidia_drm.conf'' \\ ''sudo mkinitcpio -p linux61'' ==== Packages ==== === Liste aller installierten Packages erstellen === * [[https://wiki.archlinux.org/title/Pacman/Tips_and_tricks#List_of_installed_packages|List of installed packages]] * [[https://wiki.archlinux.org/title/Pacman#Hooks|Pacman Hooks]] * [[https://forum.manjaro.org/t/creating-useful-pacman-hooks/55020|Creating useful Pacman hooks]] 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 [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**. nano /etc/pacman.d/hooks/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 - @'' ===== Bereitschaft und Ruhezustand ===== * [[https://wiki.archlinux.de/title/Bereitschaft_und_Ruhezustand|Bereitschaft und Ruhezustand ]]