*

Offline Jo

  • *****
  • 238
  • Geschlecht: Männlich
    • JoLichter.de
TuTo: Manjaro (KDE)
« am: 26. Januar 2020, 11:42:38 »
letzte Anpassung 2021-03-15 (GocryptFS, php.ini "extension=iconv", Evolution, PHP 8, samba, pkgfile)


LINUX MANJARO
Stabil mit immer aktueller Software
Basiert auf die leichtgewichtige Distribution Arch Linux
Viele aktuelle Desktops KDE, XFCE, GNOME, CINNAMON u.v.m.


VORWORT    direkt zum TUTORIAL
Dank Knoppix, Ubuntu und Mint ist LINUX erfolgreich geworden. Eine Live-DVD oder USB-Stick zum testen und installieren ist mit der simplen Bedienoberfläche auch für Einsteiger geeignet. Mit solch einem LINUX Live-System habt ihr immer eine Rettungs DVD oder Stick zur Hand um z.B. eure Daten zu retten oder ins Internet zu gehen! Ich nutze seit vielen Jahren die Debian Distributionen, Ubuntu, Mint oder KDE neon und habe dabei verschiedene Desktops getestet. KDE, XFCE, GNOME, CINNAMON oder MATE - ist alles Geschmackssache und jeder kann sich sein Lieblings-Desktop installieren.

Ubuntu ist für mich heute nicht mehr was es zu Beginn war. Schlecht gepflegte Universe, versuch ein eigenes Init-System einzuführen, Amazon-Anbindung, schwieriges Verhältnis zur Open Source-Community und dann noch die Katastrophe mit dem UNITY-Desktop, was viele Ressourcen gekostet hat. Klar, Mint ist inzwischen das bessere Ubuntu, leider aber auch davon abhängig.

Auf der Suche nach einer Alternative, die auch meinen Lieblings-Desktop KDE voll unterstützt, habe ich mich nun für Manjaro entschieden.

WARUM NUTZE ICH NUN MANJARO?
Erst mal möchte ich ein immer aktuelles und stabiles System haben. Manjaro lief selbst in meiner virtuellen Maschine schneller als mein damaliges KDE neon. Bootzeit meines PCs wie hier beschrieben dauert mit open-iscsi, Apache Web Server und MySQL ca. 10 Sekunden bis zur Anmeldung, weitere 3 Sekunden bis zum KDE Desktop, welcher sofort voll verfügbar ist. Das Laden von Anwendungen, wechseln zwischen den Anwendungen und booten des Computer ist einfach schneller. Wie kann ich die Geschwindigkeitsvorteile erklären? Evtl. liegt das an der Anzahl der Dienste und Daemons. Mit httpd und mysql services und fstrim.timer sind das bei mir nur 28 Dienste, bei Ubuntu waren das 94 Dienste! OK ein paar kann ich deaktivieren, dennoch sind es viel mehr. Prüft es selbst:
systemctl list-unit-files --state=enabled --no-pager
Manjaro ist eine auf Arch Linux basierende Linux-Distribution, die in Deutschland, Frankreich und Österreich entwickelt wird. Es ist in erster Linie ein freies Betriebssystem für Personal Computer, welches auf Benutzerfreundlichkeit ausgerichtet ist. Wie seine Basis, Arch Linux, nutzt es ein Rolling-Release-Modell. Jedoch nimmt Manjaro das meiste Risiko aus dem Rolling-Release-Modell heraus, indem es die Veröffentlichung neuer Anwendungen und Funktionen um mehrere Wochen verzögert. Sobald diese getestet und als sicher erwiesen wurden, werden sie zur Verfügung gestellt.

HAUPTMERKMALE
Manjaro teilt viele Eigenschaften mit Arch. Hierzu gehören insbesondere:
  • Geschwindigkeit, Stärke und Effizienz
  • Zugang zu neuer und neuester Software, oftmals bevor die Pakete für andere Distributionen erhältlich sind
  • Manjaro ist ebenfalls ein Rolling Release, so dass jeweils die neueste Software installiert werden kann ohne dass die Notwendigkeit bestünde, auch ein neues System zu installieren
  • Zugang zu von Arch-Nutzern bereit gestellten Paketen (AUR)

Allerdings besitzt Manjaro auch einige Eigenschaften, die es von Arch deutlich unterscheiden, insbesondere:
  • Eine einfachere und benutzerfreundlichere Installationsroutine
  • Automatische Hardwarerkennung, bspw. der Grafikkarte
  • Automatische Installation der Software, die für das Funktionieren des Computers benötigt werden, etwa von Grafiktreibern
  • Manjaro hat ein eigenes Software-Archiv (stable-Repository), um sicherzustellen, dass die Benutzer Zugang zu vollständig getesteter und stabiler Software erhalten, nimmt also in Bezug auf Aktualität der Pakete etwas mehr Abstand von Arch
  • Unterstützung bei der Installation und Benutzung mehrerer Kernel (ich nutze nur LTS-Kernel)
Quelle: wiki.manjaro.org

Mit Manjaro bekommt ihr neueste Technologie, die fertig entwickelt und umfassend getestet wurde (Cutting Edge). Beispiel: Manjaro hatte KDE Plasma 5.18 / 5.19 nicht sofort zur Verfügung gestellt, sondern erst mit dem drittes Release (5.18.3 / 5.19.3), welches die meisten der gemeldeten Probleme behebt. Dieses Rolling-Release-Modell bleibt immer aktuell und stabil. Bedeutet daher auch öfters größere Updates, was eine schnelle Internetverbindung voraussetzt. Ebenso sollte mindestens einmal im Monat Manjaro geupdatet werden, sonst kann es zu Problemen kommen.

Nicht jeder möchte immer das Neuste haben, selbst wenn umfassend getestet könnte das manche Anwender irritieren? Privat sollte das kein Problem sein, aber im Geschäftsbetrieb könnten die vielen Updates stören. Mitarbeiter die gerne kritisieren, weil sie der Meinung sind das Windows besser ist, fühlen sich dann bestätigt. Wobei bei Windows 10 die Datensammlungswut und die Mega-Updates nur noch nervig sind. Das ist echte Arbeitsverhinderung die es so bei Linux nicht gibt! Egal ob Windows, Linux oder MAC, viele Anwender sind froh wenn sie die benötigen Programme einigermassen beherrschen. Wenn dann mal etwas auf englisch erscheint oder ein Programm eine andere Oberfläsche hat, wird gemault und stört den Büroalltag. In dem Fall würde ich ein Linux LTS wie z.B. Linux MINT nehmen, welches 5 Jahre Langzeitsupport bietet.



TUTORIAL
Hier mein TuTo um Manjaro mit KDE auf einer leeren Festplatte (kann auch während der Einrichtung gelöscht werden) mit /home auf eine extra Partition zu installieren. Die Installation auf einer SSD Festplatte hat keine 5 Minuten gedauert! Die Bilder aus meiner VM zeigt die Testinstallation von Manjaro auf einer virtuellen 30GB Festplatte.

INHALT
Manjaro installieren
Tipps damit Manjaro lange läuft
Optimieren und pflegen
Paketverwaltungsbefehle
Programme deinstallieren & installieren
Kernel Crash?
SSD optimieren
VirtualBox installieren
Webserver installieren und einrichten (lokal)
Paketliste und System wiederherstellen
Anhang: Neuinstallation auf bestehendes LINUX ohne die /home Partition zu formatieren


1 ) Download Manjaro KDE Plasma 64 bit Version (Live Image), testen und installieren
Ich wähle die minimal Basis-Desktop-Umgebung ohne vorinstallierte zusätzliche Softwarepakete aus.
Download Link, ISO unter der aktuellen Version (höchste Zahl), dann im Ordner "minimal".


(z.B.: manjaro-kde-20.0-minimal-200426-linux56.iso | Stand 2020-04-28)

Wichtig: Erstellt vor der Installation ein Backup!

Das Live-Image habe ich mit dd (disk dump) auf einen USB-Stick kopiert. Unetbootin funktioniert anscheinend mit Efi nicht (komme beim booten immer nur in grub rescue). Unter Windows soll das mit Rufus und dem DD-Modus funktionieren (ungetestet). Ich habe das per Terminal wie folgt getan.

ACHTUNG! Beschreibt das richtige Laufwerk und listet dafür die Partititonen auf, um den Pfad für das USB-Laufwerk zu ermitteln:
sudo fdisk -l(bei mir ist das "/dev/sde1")

Sicherstellen das dieses USB-Gerät ausgehängt ist:
sudo umount /dev/sde1
ISO-Datei auf USB-Gerät schreiben. Den Pfad zur ISO-Datei (bei mir "Downloads") und Dateiname anpassen.
Als USB-Gerät nicht die Partitionsnummer "/dev/sde1" angeben, sondern "/dev/sde" (also ohne Zahl).
Beispiel Manjaro KDE 19.0.2 minimal (wenn die Version neuer ist, muss natürlich der Dateinamen angepasst werden):
sudo dd bs=4M if=~/Downloads/manjaro-kde-19.0.2-minimal-200311-linux56.iso of=/dev/sde status=progress oflag=sync
Hinweis: In Manjaro selbst könnt ihr dafür den Suse Studio Imagewriter nutzen (sudo pacman -S imagewriter).
Link: Dual Boot mit Windows nutzen (brauche ich nicht, benötige Win10 sehr selten und wenn dann via VM).

Beim Starten vom Live-Image per VM hatte ich ca. 2 Minuten einen schwarzen Bildschirm, also etwas Geduld und ihr könnt Manjaro testen, im echten System ist das viel schneller.


Wenn das Netzwerk, Soundkarte usw. funktioniert, einfach auf das Icon "Install Manjaro Linux" klicken.





Zwei Btrfs-Partitionen manuell anlegen. Swap-Partition in Testumgebung nicht notwendig (seit Kernel 5 kann eine swap-Datei nachträglich erstellt werden):
  • / (root - flagged as boot) sollte ca. 40GB groß sein, der Rest ist dann für /home (hier nur 10GB, da das eine Testumgebung ist)
  • /home verschlüsselt mit LUKS
Habe zum Testen die Home-Partition mit LUKS (dm-crypt) verschlüsselt, Nachteil: Nach der Installation erscheint die Passwortabfrage für die Home-Partition während des Boot-Prozesses, bei einem One-User System melde ich mich daher automatisch an um nicht 2x ein Passwort angeben zu müssen. Mit PAM lässt sich das automatisch einbinden, setzt jedoch gute Linux-Kenntnisse voraus.

Diese Verschlüsselung verhindert das jemand eure Festplatte ausbaut oder mit einem Live System auf eure Daten zugreifen kann. Wenn das System gebootet ist, ist daher alles entschlüsselt! Siehe auch Härten.

Möchtet ihr wichtige Daten sicher auch nach dem Anmelden verstecken, könnt ihr unter KDE mit Plasma Vault Ordner per CryFS oder GoCryptFS nachträglich sicher verschlüsseln. Auch cool, z.B. kann beim Öffnen eines Vault-Ordner das Netzwerk und Bluetooth automatisch deaktiviert werden. GocryptFS wurde von EncFS inspiriert und hat den Anspruch, Schwachstellen von EncFS zu beheben.



Hinweis: Bei einem Lenovo Flex 2-15 Notebook mit 500GB Festplatte und 4GB RAM habe ich das wie folgt getan.
  • Im Bios Setup (Fn & F2 beim Booten halten), "Boot Mode: Legacy Support" und "Boot Priority: Legacy First" setzen, "SATA: AHCI" dürfte klar sein und "Intel Virtual Technology: Enabled" wenn eine VM installiert werden soll.
  • Manjaro wurde mit GPT-Partitionierung (anstatt MBR) installiert. Ohne EFI wird eine 8MB (8MiB) unformatierte Partition mit der Markierung bios_grub (flag) benötigt und muss die allererste Partition auf der Festplatte sein! Dann eine 8GB (8096MiB) Swap Partition, 50GB (50000MiB) root (ext4) und den Rest für /home (ext4) angelegt.
Nachtrag: Partitionen meiner NVMe SSD die kein "Legacy Mode" unterstützt. Daher eine 100MB/FAT32 EFI-Systempartition (flagged: boot, esp) mit /boot/efi, root und /home ohne swap (GPT anstatt MBR-System)






2 ) PAMAC
Nach dem Start kann mit Pamac alles aktualisiert werden und mit dem Einstellungsmanager z.B. zusätzliche Sprachpakete installiert werden. Im Kontextmenü Optionen (Manjaro Notifier KDE Settings) können die Kernel-Benachrichtigungen angepasst werden, ich lasse nur bei LTS-Kernel benachrichtigen.


Bei einer Installation fehlte bei mir der Einstellungsmanager und das Icon in der Taskleiste (siehe Problem with background service manager kded5), dann das Tray-Icon und den fehlenden Daemon nachinstallieren:
sudo pacman -S kded pamac-tray-icon-plasma
Pamac ist ein grafischer Paketmanager von Manjaro und als Unterbau dient Pacman, welches ich per Kommandozeile im Terminal nutze. Dieser beherrscht auch die Installation von Paketen über das AUR (Arch User Repositories), welches von einer Gemeinschaft verwaltet wird und kann in den Einstellungen aktiviert werden. AUR Benutzer sollten mit dem Build-Prozess vertraut sein. Tatsächlich ist die AUR-Unterstützung deaktiviert (Standardeinstellung) und muss manuell aktiviert werden. Im Prinzip ist AUR das Pendant zu Ubuntus PPA's. Linux Anfänger und normale Benutzer empfehle ich Pakete nur aus den Manjaro Software Repositories zu installieren und wenn möglich nie aus dem AUR Pakete zu installieren.

Aktualisiere alle installierten Pakete, die aus den Repos oder dem AUR kommen per Pamac CLI:
pamac upgrade -aSicherer Weg um alte Paket-Cache-Dateien zu entfernen, mit Ausnahme der letzten zwei Paketversionen:
pamac clean --keep 2in einer Zeile:
pamac upgrade -a && sudo pamac clean --keep 2
Pacman verwaltet Binärpakete die aus den Repositorys stammen und hält das System aktuell, indem die Paketlisten mit einem Server synchronisiert werden. Durch dieses Server/Client-Modell ist es möglich, Pakete mit allen Abhängigkeiten herunterzuladen, zu installieren bzw. zu aktualisieren.
Diese Seite kann bei einem Problem hilfreich sein: archlinux.de/news oder manjaro.org/c/announcements


3 ) Grub anpassen, z.B.:
kate /etc/default/grubGRUB_DEFAULT=0
GRUB_TIMEOUT=2
#GRUB_TIMEOUT_STYLE=hidden
GRUB_DISTRIBUTOR="Manjaro"
GRUB_CMDLINE_LINUX_DEFAULT="noplymouth resume=UUID=xxxxxxxxxxxxxxx udev.log_priority=3"
GRUB_CMDLINE_LINUX=""
GRUB_SAVEDEFAULT="false"


Wichtig: "resume=UUID=xxxxx bla bla bla" stehen lassen - wichtig wenn Hibernate genutzt wird!
(ich bevorzuge die Anzeige der Kernel-Meldungen während des Bootvorgangs, daher  das "noplymouth" anstatt "quiet")

Dann Grub aktualisieren und den PC neu starten:
sudo update-grub
Ich möchte die Kernelmeldungen beim Ladeprozess mitverfolgen und 2 Sekunden das Grub Menü sehen, um notfalls einen älteren Kernel zu starten (wenn unterdrückt, beim Booten die linke Shift oder Esc Taste festhalten).

Wenn Btrfs genutzt wird und beim starten die Fehlermeldung sparse file not allowed erscheint, muss "GRUB_SAVEDEFAULT" deaktiviert werden. Das Abspeichern funktioniert aus Sicherheitsgründen nicht auf einem RAID-Verbund, einem LVM-Dateisystem, einem Btrfs-Dateisystem oder einem ZFS-Dateisystem (Quelle: GNU GRUB MANUAL).

4 ) SWAP-DATEI
Anstelle einer dedizierten swap-Partition kann seit dem Kernel 5 im Btrfs-Filesystem eine Auslagerungsdatei nachträglich erstellt werden. Quelle: Swapfiles on BTRFS

z.B. eine 8GB swap-Datei anlegen (gleiche Größe wie RAM verfügbar ist, ab 8GB erhöhe ich das nicht mehr), die Reihenfolge ist wichtig:
sudo truncate -s 0 /swapfile
sudo chattr +C /swapfile
sudo btrfs property set /swapfile compression none
sudo fallocate -l 8G /swapfile
sudo mkswap /swapfile
sudo chmod 600 /swapfile
sudo swapon /swapfile
sudo bash -c "echo /swapfile none swap defaults 0 0 >> /etc/fstab"
Eintrag in der fstab kontrollieren:
kate /etc/fstabPC neu starten und prüfen:
swapon -sTipp: Das KDE-Infozentrum zeigt die Speicherbelegung und viele andere Information zum System grafisch an.

Eine swap-Datei kann so entfernt werden:
sudo swapoff /swapfile
sudo rm -f /swapfile
Eintrag aus der fstab entfernen oder ausklammern:
kate /etc/fstabPC neu starten.

Tipps damit Manjaro lange läuft (ohne Gewähr, mehrere Manjaro KDE Installationen rennen so bei mir seit über 2 Jahren fast problemlos):
Härtet euren PC und verzichtet nach Möglichkeit auf AUR Pakete. Third-Party Software aus unbekannten Quellen sind ein No-Go, also Tabu!
Updatet wenigstens einmal im Monat per Terminal oder Skript KDEtweaksManjaro.sh im Anhang (siehe auch Paketverwaltungsbefehle):
sudo pacman-mirrors --country Germany,France,Austria && sudo pacman -Syyuu && sudo paccache -rk2(das synchronisiert die Spiegelserver aus 3 Ländern, Update und aufräumen in nur einer Zeile)

Bei grösseren Updates lese ich erst die Manjaro Announcements Seite und prüfe ob evtl. mit Problemen zu rechnen ist - hier werden dann auch Lösungen gezeigt.

Sollte der Pamac Paketmanager Probleme bei Updates machen, kann das helfen:
sudo pacman -Scc(alle Pakete im Pacman Cache werden vollständig entfernt - die 2 Fragen mit "j" bestätigen)

Ich nutze nur LTS Kernel, einen aktuellen und den vorherigen um eventuell einem Kernel Crash vorzubeugen!


So das war es eigentlich, mit Pamac könnt ihr noch fehlende Software installieren oder deinstallieren. Viel Freude mit Manjaro!

 :-[ O0





Infos und Details zu Manjaro KDE
So wie ich KDE mit Manjaro nutze, evtl. ist was für euch dabei?

Version prüfen per Terminal:
lsb_release -aAusgabe Basisinformationen:
inxi -FzAusgabe vollständiger Systeminformationen:
inxi -v8per KDE-Infozentrum


5 ) KDE Systemeinstellungen nach eigenen Bedarf und Wünschen anpassen, z.B.
  • Manjaro -> Hardwarekonfiguration, Kernel und Sprachpakete prüfen
  • Erscheinungsbild -> Globales Design und Stile  -> Breath
  • Erscheinungsbild -> Schriftarten  -> Wer einen 2K (QHD) oder 4K (UHD) Monitor benutzt kann hier die DPI für Schriften anpassen, z.B. hat ein 4K Monitor Dell U3219Q laut Techn. Datenblatt 140 DPI (wer keine Daten hat kann das leicht ausrechnen, Link DPI-Rechner)
  • Erscheinungsbild -> Symbole  -> Ab einem 4K (UHD) Monitor setze ich die Symbolgröße für jedes Icon eine Stufe höher
  • Hinweis: Einfacher ist das dem Schieberegler unter Hardware -> Anzeige und Monitor -> Anzeige-Einrichtung -> Globale Skalierung (das passt auch die DPI für Schriften an)
  • Arbeitsbereich -> Verhalten des Arbeitsbereichs -> Allgemeines Verhalten -> Klick-Verhalten: Doppelklick zum Öffnen der Dateien/Ordner
  • Arbeitsbereich -> Verhalten des Arbeitsbereichs -> Bildschirmsperre -> Aktivierung: 5 Min. | 300 Sek. | Meta+L | Erscheinungsbild: Diaschau, Virtuelle Arbeitsflächen 2
  • Arbeitsbereich ->Verhalten des Arbeitsbereichs -> Aktivitäten: Privatsphäre Verlauf für 1 Monat behalten oder "Nicht merken"
  • Arbeitsbereich -> Fensterverwaltung -> Fensterverhalten, im TAB "Fensteraktionen" Sondertaste: "Meta" (wichtig wenn ihr z.B. VirtualBox mit Windows benutzt)
  • Arbeitsbereich -> Starten und Beenden -> Anmeldeschirm (SDDM) -> Breath
  • Arbeitsbereich -> Starten und Beenden -> Arbeitsflächen-Sitzung: Abmeldung bestätigen aus, Rechner ausschalten, Mit leerer Sitzung starten
  • Arbeitsbereich -> Starten und Beenden -> Startbildschirm -> Breath
  • Arbeitsbereich -> Suchen -> Dateisuche: habe hier alles deaktiviert (beendet den baloo_file_extractor Prozess und die Suche nach Dateinamen funktioniert weiterhin; Indexinformationen löschen: rm -rf ~/.local/share/baloo)
  • Persönliche Informationen -> Benutzerkontodetails -> KDE-Passwortspeicher: Bei Nichtgebrauch schließen nach: 180 Min.
  • Persönliche Informationen -> Regionaleinstellungen -> Sprache: Deutsch, Rechtschreibprüfung: Deutsch (Deutschland)
  • Persönliche Informationen -> Anwendungen -> Standard-Anwendungen: Webbrowser: firefox (evtl. chrome oder palemoon?) / E-Mail-Programm (11/12): kmail (evtl. evolution oder thunderbird?)
  • Persönliche Informationen -> Anwendungen -> Dateizuordnungen: hier die gewünschte Standardprogramme anpassen z.B. für audio, image und video
  • Netzwerk -> Verbindungen: Hier könnt ihr LAN, WLAN oder z.B. VPN mit OpenConnect einrichten (Clientseitig getestet mit einem VASCO Token)
  • Netzwerk -> Bluetooth -> Erweiterte Einstellungen: Bluetooth-Integration aktivieren oder deaktivieren
  • Hardware -> Eingabegeräte -> Tastatur: Zahlenblock beim Plasma Start, Maus: Zeigebeschleunigung anpassen
  • Hardware -> Anzeige und Monitor -> Compositor: Hier nutze ich anstatt OpenGL 2.0 die Version OpenGL 3.1
  • Hardware -> Energieverwaltung -> Bildschirm-Energieverwaltung -> Ausschalten nach: 240 Min. / Wenn der Ausschalt-Knopf betätigt wird: Herunterfahren
  • Hardware -> Wechselmedien -> Automatisches Einhängen von Wechselmedien aktivieren
Optional die KDE Benachrichtigungen einrichten (Sound bei bestimmten Ereignissen):
Persönliche Informationen -> Benachrichtigungen -> Anwendungen: Einrichten .., dann Systemdienste -> KDE-Plasma-Arbeitsbereich: Ereignisse einrichten ...

Tipps: Alte Hardware oder lahme Grafikkarte? Dann schaltet die Desktop Effekte aus: Hardware -> Anzeige und Monitor -> Compositor. Die Diaschau ist eine schöne Alternative zum alten Bildschirmschoner / Screensaver welche es zu Röhrenbildschirm-Zeiten gab (CRT).

6 ) Paketverwaltungsbefehle
siehe auch KDEtweaksManjaro.sh als ZPI-Datei im Anhang (seit V21.06.011 nutze ich dafür pamac upgrade)
Link einer Tabelle mit Paketverwaltungsbefehle einiger Linux-Distributionen, z.B.:
Komplette System-Aktualisierung:
sudo pacman -Syyuuwenn Pakete auch über AUR installiert wurden (benötigt yay, siehe Punkt 10 ):
yay -SyyuuManjaro sauber halten (lässt zwei Versionen der Pakete für den Fall, dass ein Downgrade durchgeführt werden muss):
sudo paccache -rk2(siehe auch Automatische Cache-Wartung)

ALLES in einer Zeile und nicht mehr benötigte Abhängigkeiten anzeigen[ (verwaiste Pakete):
sudo pacman -Syyuu && sudo paccache -rk2 && sudo pacman -Qdtq
oder ALLES in einer Zeile wenn ihr zusätzlich AUR-Upgrade nutzten wollt:
yay -Syyuu && sudo paccache -rk2 && sudo pacman -Qdtq("Failed to parse JSON" erscheint wenn kein AUR genutzt wird)

Verwaiste Pakete entfernen:
sudo pacman -Rsn $(pacman -Qdtq)
Sollte der Pamac Paketmanager Probleme bei Updates machen, kann das helfen:
sudo pacman -Scc(alle Pakete im Pacman Cache werden vollständig entfernt - die 2 Fragen mit "j" bestätigen)

dann aktuelle Spiegelserver aus diesen 3 Ländern speichern und alles synchronisieren (nutze ich so da schneller, siehe auch Pacman-mirrors)
sudo pacman-mirrors --country Germany,France,Austria && sudo pacman -Syyuu(Mirrorliste wrd hier gespeichert: /etc/pacman.d/mirrorlist)

Automatische Cache-Wartung:
Der Pacman Cache (/var/cache/pacman/pkg/) wird standardmäßig per pamac-cleancache.timer einmal im Monat entfernt, ansonsten wird die Partition irgendwann voll. Details siehe /usr/lib/systemd/system/pamac-cleancache.timer (Timer einmal im Monat in Kombination mit Persistent=true). Prüfen ob dieser Timer aktiv ist:
systemctl list-timers(oder Systemeinstellungen -> Systemverwaltung -> Systemd -> Timers)
wenn dieser Timer fehlt:
sudo systemctl enable pamac-cleancache.timer
sudo systemctl start pamac-cleancache.timer

Pkgfile:
Mit pkgfile können die Pakete der offiziellen Repositorien nach Dateien durchsucht werden. Eine ähnliche Funktionalität ist auch in pacman (Option -F und Folgeoptionen) eingebaut, aber alternativ kann weiterhin pkgfile verwendet werden. Irgendwann ist mir ein sporadische Fehler (failed to start pkgfile database update) aufgefallen. Bei einer Installation hatte ich eine KDE-Edition mit git-Paketen erwischt bei dem der Systemd Service pkgfile-update.timer aktiviert war (welcher eigentlich deaktiviert ist). Da ich das nicht benötige habe ich diesen Service wieder deaktiviert (also wie 'default'). Vorgehensweise:
Wird pkgfile verwendet?
systemctl | grep pkgfileWenn ja, können wir nach allem suchen, was sich auf pkgfile verlässt:
pacman -Qi pkgfile | grep RequiredWenn niemand die pkgfile Datenbank benötigt, kann man den Systemd Service pkgfile-update.timer deaktivieren:
sudo systemctl disable pkgfile-update.timer(wieder aktivieren: sudo systemctl enable pkgfile-update.timer)

7 ) Deinstallieren, z.B. noto-fonts-cjk (asiatische Schriftzeichen), Yakuake (drop-down Terminal):
sudo pacman -Rns noto-fonts-cjk yakuake
Wer kein KDEConnect (verbindet Android mit dem Plasma-Desktop) benötigt, kann das entfernen:
sudo pacman -Rns kdeconnect
8 ) Mozilla Firefox Add-ons und härten
  • DNS-over-HTTPS (DoH). Inzwischen laufen fast alle Webseiten über HTTPS (SSL) und Provider können nicht sehen welche Daten wir übermitteln, besonders Benutzername und Passwort. Jedoch sind die Verbindung zum DNS-Server immer noch unverschlüsselt und der Provider kann diese in Klarschrift mitlesen. Lösung: DoH aktivieren, im Menü unter Einstellungen -> Verbindungs-Einstellungen, hier die Checkbox "DNS über HTTPS aktivieren" einschalten und als Anbieter z.B. Cloudflare wählen oder benutzerdefiniert "https://dnsforge.de/dns-query" von dnsforge.de eintragen (deutscher Server mit Werbefiter). Mit der FritzBox ab V7.2 könnt ihr euer Heimnetz global per DoT die DNS Abfragen verschlüsseln (Link).
  • Werbeblocker uBlock Origin (Werbung blocken, schneller laden und Seiten sicherer machen!)
  • Cookies Info löschen (EU-Cookie-Irrsinn blocken!) oder per uBlock Origin in der Filterliste »Belästigungen« die Liste "EasyList Cookie" aktivieren
  • Canvas Fingerprinting blockieren (siehe Wiki Canvas_Fingerprinting und zum Testen browserleaks.com)
  • Web Developer (Entwickler Tools für Internetseiten)
  • Foxy Gestures (z.b. Klickgesten zurück/vor: Enable chord gestures)
  • JScript Toggle On and Off (JavaScript ein- und ausschalten)
  • Firefox härten mit firejail (Profil ist vorhanden), Anwendung starten mit: firejail firefox %u
Hinweis: Es ist nahezu unmöglich, die User-Agent Kennung plausibel in allen Punkten zu faken und ein unvollständiger Fake-Versuch kann ein gutes Identifizierungsmerkmal für Tracking­dienste sein, da man sich von der großen Masse der Surfer stärker unterscheidet.

9 ) Evtl. Pale Moon Browser als Firefox Alternative installieren:
sudo pacman -S palemoon
  • deutsches Sprachpaket, beachte die Infos dort (about:config -> general.useragent.locale von "en-US" auf "de" setzen)
  • in den Pale Moon Einstellungen (Erweitert), die Updates deaktivieren, das übernimmt das Linuxsystem
  • Pale Moon unterstützt keine WebExtensions, daher funktioniert nur das ältere deutsche Wörterbuch Version 2.0.6 (german_dictionary-2.0.6-an+fx+sm+tb.xpi im Anhang)
  • uBlock Origin (direkt von github, sucht Latest release: uBlock0.firefox-legacy.xpi)
  • uBlock Origin Updater (damit wird uBlock Origin automatisch aktualisiert)
  • Canvas Fingerprinting verhindern: about:config -> canvas.poisondata auf "true" setzen, es gibt auch eine Erweiterung dazu: canvasblocker-legacy (meine Block Mode Einstellung: fake readout API)
  • Toggle JavaScript (Enabled/Disabled)
  • i-dont-care-about-cookies (entfernt lästige Cookie-Warnungen) oder per uBlock Origin in der Filterliste »Belästigungen« die Liste "EasyList Cookie" aktivieren
  • Pale Moon härten mit firejail (Profil ist vorhanden), Anwendung starten mit: firejail palemoon %u
Hinweis: Pale Moon ist ein wunderbarer Web-Browser und nutze den täglich. Einige Websites halten ihn machmal für veraltet und senden tatsächlich eine Seite mit der Meldung: "Ihr Browser ist veraltet. Bitte aktualisieren Sie auf einen modernen Browser, um diese Seite nutzen zu können". Das ist natürlich Unsinn und ich bin mit dieser Einschätzung nicht einverstanden. Pale Moon hat die Möglichkeit den User-Agent für bestimmte Domains zu ändern. Einfach einen neuen Eintrag auf der about:config Seite machen. Sucht nach "general.useragent.override", dann seht ihr eine Liste vohandener Einstellungen und könnt einen neuen Eintrag mit gleicher Syntax einfügen, z.B.:
"general.useragent.override.MEINE-HAUS-BANK.de" mit dem String: "Mozilla/5.0 (X11; Linux x86_64; rv:76.0) Gecko/20100101 Firefox/76.0" (evtl. die Version anpassen, hier habe ich Firefox 76 eingetragen).

uBlock Nachtrag Dezember 2020: Ich nutze die Erweterung "i-dont-care-about-cookies" nicht, funktioniert ist aber langsam. Dafür nutze ich die Filterliste »Belästigungen -> EasyList Cookie« in der uBlock Origin Erweiterung. Details siehe hier.

 :-[

Noch was zum Firejail, dieser kann in den gesamten Desktop integriert werden und jede Anwendung verwendet dann die Firejail-Sandbox, wenn sie standardmäßig unterstützt wird (nutze ich nicht!):
sudo firecfgRückgängig machen:
sudo firecfg --clean
Damit DRM z.B. mit Amazon Prime Video oder Apple Music funktioniert, muss die /etc/firejail/firejail.config Datei angepasst werden (Quelle). Sonst kommen Fehlermeldungen wie "content_equivalent" oder "Das Plugin "WidevineCdm" ist abgestürzt". Einfach per Terminal die Linie in der Config Datei aktivieren:
sudo sed -i 's/# browser-allow-drm no/browser-allow-drm yes/' /etc/firejail/firejail.config
10 ) ein paar fehlende Pakete installieren (meine):
sudo pacman -S yay base-devel hunspell-de manjaro-printer system-config-printer cups-pdf libimobiledevice backintime kolourpaint lame fdkaac audacity easytag mencoder frei0r-plugins devede vlc elisa gimp kfind kdf kwave mediainfo handbrake gthumb firejail pingus kmahjongg aisleriot libreoffice zip unzip unrar doublecmd plasma-vault cryfs encfs gocryptfs imagemagick dconf-editor geany htop meld kdialog imagewriter kompare
Hinweis:
  • sollte nach einem KDE (qt5) oder Gnome (gtk2) Zweig bzw. Provider zum Auswählen gefragt werden, wählt KDE (qt5)
  • "LibreOffice Fresh" ist die stabile Version mit den neuesten Funktionen und "LibreOffice Still" ist die stabile Version, die (über einen längeren Zeitraum) mehr Tests unterzogen wurde
  • mit libimobiledevice und ifuse (leider nur im AUR enthalten) können iOS-Gerät wie z.B. das iPhone als USB-Laufwerk eingebunden werden
Nachtrag: Das Paket ifuse und die Gruppe "fuse" wird anscheinend nicht mehr benötigt. Getestet mit iOS 13.5.1 und KDE Plasma 5.18.5, wenn doch:
yay -S ifuseBenutzer der Gruppe "fuse" hinzufügen:
sudo groupadd fuse
sudo gpasswd -a $USER fuse
Kontrolle nach Neustart:
id(Entfernen mit "sudo gpasswd -d $USER fuse" und "sudo groupdel fuse")

Wer Samba benötigt (Zugriff auf Dateifreigaben in gemischten Netzwerken, z.B. NAS):
sudo pacman -S samba smbclient kdenetwork-filesharing manjaro-settings-samba kio-fuseEin Samba-Passwort für euer Benutzerkonto erstellen: 'sudo smbpasswd -a $USER' (-a = add user | -x = delete user)
(Benutzter wird der user-group 'sambashare' hinzugefügt | Nachträglich möglich per 'sudo gpasswd -a $USER sambashare' | Kontrolle per 'groups' oder 'id')
Samba wieder entfernen:
sudo pacman -Rsn samba smbclient kdenetwork-filesharing manjaro-settings-samba kio-fuse
testparm prüft die Samba Konfigurationsdatei (smb.conf) auf interne Korrektheit:
$ testparm
Load smb config files from /etc/samba/smb.conf
Loaded services file OK.
Weak crypto is allowed
Server role: ROLE_STANDALONE

Press enter to see a dump of your service definitions

Das ttf-ms-fonts Paket ist in den Arch Repositorys enthalten und kann per AUR installiert werden:
yay -S ttf-ms-fonts(von Microsoft freigegebenen Kern-Schriftarten für Windows)
Wenn die Fehlermeldung "cannot find the fakeroot binary" erscheint, müsst ihr das erst installieren (ist im base-devel Paket enthalten):
sudo pacman -S base-devel
Der LibreOffice Writer nervt seit V 6.2 und wird trotz löschen immer wieder in die Favoritenliste angelegt. Workaround:
rm -r ~/.local/share/kactivitymanagerd
kactivitymanagerd stop; killall plasmashell; kactivitymanagerd start; plasmashell &
Das löscht alle Aktivitäten und Favoriten! Dann die Favoriten neu anlegen.

Plugin Content Aware Healing für GIMP (Filter -> Verbessern -> Heal Selection...), enthalten in gimp-plugin-registry:
yay -S babl-git gegl-git python2-gimp gimp-plugin-registry
Brennprogramm und optionale Abhängigkeiten installieren:
sudo pacman -S k3b dvd+rw-tools emovix cdrdao transcode cdparanoia soxBenutzer der Gruppe optical hinzufügen:
sudo gpasswd -a $USER opticalPC neu starten, im K3b Programm die Einstellungen prüfen (K3b einrichten...), z.B. Temporärer Ordner habe ich auf "/tmp" festgelegt.

Videoeditor:
Avidemux ist für einfache Schneide- Filter- und Kodierungsaufgaben geeignet.
sudo pacman -S avidemux-qt
Mit Kdenlive ist es möglich, mehrere Bild- und Tonspuren zu bearbeiten und verwendet die MLT Video Rendering Engine.
sudo pacman -S kdenlive
11 ) Druckfunktion aktivieren (benötigt manjaro-printer):
sudo systemctl enable --now org.cups.cupsd.servicePC neu starten oder manuell die Druckfunktion starten:
sudo systemctl start org.cups.cupsd.service(cups deaktivieren mit disable)
CUPS Web Interface: http://localhost:631

Standard Papierformat in der Datei /etc/papersize auf A4 setzen:
sudo sh -c "echo 'A4' > /etc/papersize"
CUPS entfernen (z.b. für ein Reset):
sudo systemctl disable --now org.cups.cupsd.service
sudo pacman -Rsn manjaro-printer
pacman -Qi cups
sudo pacman -Rsn cups cups-pdf

Wenn nach einem CUPS-Update der Drucker oder die Seite http://localhost:631 nicht erreichbar ist, aktualisiert ihr die  Systemdienste wie folgt (Quelle):
sudo systemctl disable --now org.cups.cupsd.socket
sudo systemctl disable --now org.cups.cupsd.service
sudo systemctl disable --now org.cups.cupsd.path
sudo systemctl enable --now cups.service
sudo systemctl enable --now cups.socket
sudo systemctl enable --now cups.path

Prüfen ob CUPS läuft:
sudo systemctl status cups.service
E-Mail Programme Kontact oder Evolution ist Geschmackssache, finde beide gut da diese Programme IMAP, CardDav, CalDav und openPGP nativ unterstützen:

12 ) Kontact ist ein Paket das die Programme KMail, KOrganizer und KAddressBook usw unter einem Hut vereint:
sudo pacman -S yay kontact kmail kaddressbook korganizer knotes akregator aspell-de kgpg
13 ) Evolution ist eine gute alternative das ich seit vielen Jahren nutze, Evolution ist ein Gnome E-Mail und -Kalender Programm welches auch sehr gut unter KDE läuft:
sudo pacman -S evolution gnome-keyring seahorse gnupg kgpg(anstatt kgpg könnt ihr auch gpa installieren)

KGpg ist ein grafisches KDE-Frontend für das Verschlüsselungsprogramm GnuPG. Damit lassen sich einfach neue Schlüssel erstellen, exportieren, importieren oder signieren. Z.B. eigenen Schlüssel mit öffentlichen und geheimen Teil, als auch nur öffentliche Schlüssel von Freunden, Kunden usw. Meinen öffentlichen Schlüssel könnt ihr von der Kontaktseite laden und mit dem Tool importieren. PGP erspart einem den Geheimtransport von Schlüsseln und besteht immer aus zwei Teilen. Einem öffentlichen, mit dem man nur verschlüsseln kann (public-key) und einem geheimen um diese Daten zu entschlüsseln (private-key). Siehe auch PGP Mail Verschlüsselung.
Wenn in der Konsole beim Start der Schlüsselverwaltung
kgpg -kdie Warnung "unsafe permissions on homedir ~/.gnupg" oder ähnlich erscheint, die Zugriffsrechte der Ordner auf 700 setzen:
sudo find ~/.gnupg \( -type d -exec chmod 700 {} + \);
GNOME Schlüsselbund automatisch mit SDDM Login entsperren, dass Passwort muss gleich mit dem KDE Login kwallet sein (Quelle):
kate /etc/pam.d/sddmHabe diese 2 Zeilen ans Ende der jeweiligen Sektion eingefügt:
auth       optional     pam_gnome_keyring.so
session    optional     pam_gnome_keyring.so auto_start


Reset Evolution und deinstallieren:
evolution --force-shutdown
rm -rf ~/.local/share/evolution
rm -rf ~/.cache/evolution
rm -rf ~/.config/evolution
dconf reset -f /org/gnome/evolution/
dconf reset -f /org/gnome/evolution-data-server
sudo pacman -Rns evolution

Fehler beim Drucken? Siehe WebKit Bug 202363, dafür gibt es ein workaround: Ändert im KDE-Menü-Edior den Befehl "evolution %U" in "WEBKIT_FORCE_SANDBOX=0 evolution".

14) bauh (optional, nutze ich nicht), ist eine GUI für AppImage, Flatpak, Snap, AUR und Web:
sudo pacman -S bauh flatpak
15 ) Roger Router benötigt die Pakete libcapi und librm aus den AUR Repos und sollte mit installiert werden (ich nutze derzeit die Flatpak Version):
sudo pacman -S yay pulseaudio pulseaudio-alsa
yay -S librm libcapi
yay -S roger-router
Start mit
roger
Installation des Fax-Druckers (cups muss dafür aktiviert sein):
lpadmin -p Roger-Router-Fax -m drv:///sample.drv/generic.ppd -v socket://localhost:9100/ -E -o PageSize=A4
Telefonliste löschen: Erst Liste im Fritz-Router löschen, dann die csv-Datei.
rm ~/.local/share/rm/[deinProfilname]/journal.csv
Einstellungen können per dconf angepasst werden. Roger Router Reset:
dconf reset -f /org/tabos/

Alternative: Roger Router per Flatpak installieren
sudo pacman -S flatpakRoger-Router über flathub installieren:
flatpak install flathub org.tabos.roger
Wenn die Warnung "org.freedesktop.Platform.openh264 ist nicht installiert" kommt, versucht folgendes:
flatpak install flathub org.freedesktop.Platform/x86_64/19.08
flatpak update

Roger-Router starten (evtl. muss der PC erst neu gestartet werden):
flatpak run org.tabos.roger
Telefonliste löschen: Erst Liste im Fritz-Router löschen, dann die csv-Datei.
rm ~/.var/app/org.tabos.roger/data/rm/[deinProfilname]/journal.csv
Settings bearbeiten:
kate ~/.var/app/org.tabos.roger/config/glib-2.0/settings/keyfile
Flatpak Updates:
flatpak update
Faltpak Liste:
flatpak list
Roger Router deinstallieren:
flatpak uninstall org.tabos.roger
flatpak uninstall --unused
rm -r ~/.var/app/org.tabos.roger/

Einstellungen werden in der Flatpak Version im "keyfile" gespeichert und ist im Ordner:
~/.var/app/org.tabos.roger/config/glib-2.0/settings/

Telefonliste "journal.csv" im Ordner:
~/.var/app/org.tabos.roger/data/rm/[deinProfilName]/

16 ) Gambas IDE installieren (optional)
In der Gruppe base-devel sind z.B. benötigte pakete wie autoconf, automake, fakeroot, make und gcc enthalten:
sudo pacman -S gambas3 rpm-tools base-develdebhelper installieren (nur nötig wenn Debian Installationspakete erstellt werden sollen):
yay -S debhelperWenn ein Gambas Programm unter Arch installiert wird, werden benötigte Pakete wie z.B. der Runtime-Interpreter (gambas3-runtime) automatisch mit installiert (IDE nicht notwendig).

16 ) SSD optimieren
a) In der /etc/fstab dürfen die Optionen "space_cache" und "autodefrag" bei SSD's mit dem Filesystem Btrfs nicht verwendet werden, jedoch noatime (Dateizugriffszeiten nicht speichern) und ssd.
(Der Kernel erkennt eine SSD automatisch wenn in der Datei /sys/block/<device>/queue/rotational eine "0" steht, setze die Option ssd sicherheitshalber dennoch)

Beispiel:
UUID=xxxx-xxxx /boot/efi        vfat    umask=0077 0 2
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /              btrfs   subvol=@,defaults,noatime,ssd 0 1
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /home          btrfs   defaults,noatime,ssd 0 2


Prüfen ob die SSD TRIM (discard) unterstützt:
lsblk --discardDISC-GRAN und DISC-MAX Werte ungleich Null zeigen die TRIM-Unterstützung an. Manuelles trimmen:
sudo fstrim -a -v
Es ist besser manuelles TRIM zu verwenden, daher verwende ich die Option "discard" in der fstab nicht und habe den fstrim.timer systemd Service aktiviert (Standard wöchentlich):
sudo systemctl enable fstrim.timer(kann mit 'disable' wieder deaktiviert werden)

Timer prüfen (oder Systemeinstellungen -> Systemverwaltung -> Systemd -> Timers):
systemctl cat fstrim.timerLogdatei einsehen:
journalctl | grep fstrim
b) Der LINUX-Kernel stellt tmpfs bereit. Tmpfs unterscheidet sich von einer LINUX Ramdisk insofern, als Speicher dynamisch alloziert wird und weniger genutzte Seiten in einen Swap-Bereich ausgelagert werden können. Seit systemd ist kein Eintrag in der fstab nötig (Link) und benutzt tmpfs bis zur Hälfte des RAM. Prüfen ob Unit tmp.mount geladen ist:
sudo systemctl status tmp.mount
In der Regel ist hier keine Anpassung notwendig!

Habe etwas Feintunig per fstab gemacht:
kate /etc/fstab# dynamic RAMDisk
tmpfs /tmp tmpfs defaults,noatime,size=40%,mode=1777 0 0
tmpfs /var/tmp tmpfs defaults,noatime,size=5%,mode=0777 0 0

(noatime = Dateizugriffszeiten nicht speichern und die /tmp Verzeichnisse benutzen ein Sticky Bit, daher das "mode=1777")

Der /tmp Eintrag wird nach einem PC Neustart durch einen systemd-generator generisch erstellt (ansonsten gibt es diese Datei nicht), prüfen:
cat /run/systemd/generator/tmp.mount
Im Verzeichnis /var/tmp werden temporäre Dateien abgelgt die zwischen Systemneustarts erhalten bleiben (z.B. systemd). Da ich das nicht benötige lege ich diese Daten auch im RAM ab. Logs lege ich nicht ins RAM, da sonst mein Apache den Start verweigert. Grund: /var/log/httpd fehlt nach dem Startup. Also entweder das Startscript patchen oder es sein lassen. Davon abgesehen würde ich diese Logfiles ungern auf eine Ramdisk legen, da diese beim Neustart gelöscht werden.

Einstellung nach Neustart prüfen, z.B.:
df -htmpfs           794M  1,2M  792M   1% /tmp
tmpfs           199M     0  199M   0% /var/tmp

(ohne SWAP-Speicher könnte es trotz genug Arbeitsspeicher zu Problemen kommen)

c) Firefox Cache ins RAM verlegen und Sitzungswiederherstellung anpassen (gilt auch für auch Firefox-ESR und Pale Moon)

Browser starten und in der Adressleiste about:config eingeben.
Dann irgendwo auf dem leeren Bildschirm im Browser, unter about:config,
einen Rechtsklick ausführen und auf "Neu" klicken. Hier einen neuen String mit dem Namen browser.cache.disk.parent_directory und dem Wert /tmp erstellen.
Auch solltet ihr das Backup für die Sitzungswiederherstellung von 15 Sekunden auf 5 Minuten setzen. Sucht nach browser.sessionstore.interval und setzt den Wert von 15000ms auf 300000ms.
Das muss für jeden User wiederholt werden.

d) SMART Werte von NVMe SSD auslesen (z.B. Samsung 970 PRO):
sudo pacman -S nvme-clilisten:
sudo nvme listInfos lesen:
sudo nvme --smart-log /dev/nvme0n1
e) Eine "~/.xsession-errors" Datei wie unter Debian gibt es hier nicht mehr und ist nun systemd Sache, Log siehe ksystemlog.

f) Schneller Booten:
Das Linux-System rennt unter dem Hintergrundprogramm (Daemon) Systemd und systemd-analyze gibt eine Liste aller laufenden Units von systemd aus, sortiert nach der Zeit, die diese für die Initialisierung benötigt haben:
systemd-analyze blame(mit Q beenden)

Manche service Dienste werden sehr selten benötigt, z.B. ModemManager.service (Analog/UMTS Modem) oder der NetworkManager-wait-online.service (teilt Anwendungen mit ob eine Online-Verbindung besteht). Wer das nicht benötigt kann diese deaktivieren:
systemctl disable ModemManager.service
systemctl disable NetworkManager-wait-online.service
Sollte dann etwas nicht mehr funktionieren, lässt sich ein service mit enable einfach wieder aktivieren.

17 ) Kernel Crash?
Tipp zum Vorbeugen


(Beispiel Manjaro-Einstellungsmanager mit LTS-Kernel 5.4.x und 4.19.x, kommende LTS-Kernel Version 5.10 soll im Dez. 2020 erscheinen)
  • einen älteren LTS-Kernel als zusätzliche Reserve installieren!
  • bei einem Kernel Update Crash (z.B. Stromausfall), kann damit gebootet und eine komplette System-Aktualisierung gestartet werden, z.B.:
sudo pacman -Syyuuwenn das nicht hilft oder ihr habt keinen anderen Kernel (Restore_the_GRUB_Bootloader):
  • starte PC mit dem USB-Stick (Manjaro Live System)
  • Terminal öffnen und:
sudo manjaro-chroot -a
sudo pacman-mirrors --country Germany,France,Austria && sudo pacman -Syyuu
sudo update-grub
exit
dann den PC ohne USB-Stick neu starten.


Tipps Logeinträge prüfen (Systemd)
Prüfen ob irgendwelche systemd-Dienste fehlgeschlagen sind:
systemctl --failed
Fehler Protokoll seit gestern:
journalctl -p err --since yesterday(kernel: proc: Bad value for 'hidepid', kann ignoriert werden, siehe github systemd 16896)

Shutdown/Reboot-Protokoll vom letzten Bootvorgang:
journalctl -b -1 | grep -A999 "System is rebooting.\|System is powering down."
Journal Protokoll von - bis:
journalctl --since "20:00:40" --until "20:01:00"



VIRTUALBOX installieren
Bei der Installation von VirtualBox wird die Version des aktuellen Kernels benötigt, Ausgabe mit:
uname -r(Ausgabe z.B. "5.4.15-2-MANJARO")

VB installieren:
sudo pacman -S virtualboxund wählt den eben entsprechenden Kernel aus, in dem Fall "linux54-virtualbox-host-modules"

Nach der Installation muss das VirtualBox-Modul dem Kernel hinzugefügt werden. Entweder den PC neu booten oder das Kernel Modul manuell hinzuzufügen:
sudo modprobe vboxdrv
Wird später ein neue Kernel installiert, muss das VirtualBox Modul nicht neu angepasst werden. Das Manjaro-Hardware-Erkennungs-Tool (mwhd-kernel) updated automatisch neue Kernel mit den entsprechenden Modulen.

Benutzer der Gruppe vboxusers hinzufügen, sonst ist kein USB verfügbar:
sudo gpasswd -a $USER vboxusers(entfernen mit: sudo gpasswd -d $USER vboxusers)

Passende "Oracle VirtualBox Extension Pack-x.x.x" (Nutzung von USB 2.0 und 3.0) könnt ihr hier laden und installieren:
Oracle_VM_VirtualBox_Extension_Pack-x.x.x.vbox-extpack


Funktioniert auch per Konsole. Namen der Erweiterungspakete anzeigen, die derzeit installiert sind:
VBoxManage list extpackswenn vorhanden altes Erweiterungspaket löschen, z.B. (Name evtl. anpassen, siehe "Pack no."):
sudo VBoxManage extpack uninstall "Oracle VM VirtualBox Extension Pack"dann das neue Erweiterungspaket installieren, z.B.:
sudo VBoxManage extpack install Oracle_VM_VirtualBox_Extension_Pack-6.1.18.vbox-extpack

WEBSERVER (Apache, PHP 8 und MariaDb) installieren
Benutze ich nur um CMS-Seiten LOKAL zu testen. Mein online Server rennt natürlich nur im FastCGI-Mode ohne Desktop Umgebung und die CMS ist entsprechend 'gehärtet' und immer aktuell!

Pakete für Webserver installieren:
sudo pacman -S mariadb php php-apache phpmyadmin php-gd php-imagick
WICHTIG!
Wenn sich die Datenbank (/var/lib/mysql) in einem Btrfs-Dateisystem befindet, sollte das Copy-on-Write für dieses Verzeichnis deaktiviert werden, bevor eine Datenbank erstellt wird (Quelle). So wird das copy-on-write für das Verzeichnis und Dateien deaktiviert (no-COW).
Prüfe ob Ordner leer ist:
sudo ls -all /var/lib/mysql/dann:
sudo chattr +C /var/lib/mysql
Wenn nicht leer, hilft dieser Trick um das nachträglich zu tun (als su):
sudo systemctl stop mysqld
mv /var/lib/mysql /var/lib/mysql_old
mkdir /var/lib/mysql
chattr +C /var/lib/mysql
cp -a /var/lib/mysql_old/* /var/lib/mysql
chown -R mysql:mysql /var/lib/mysql
sudo systemctl restart mysqld
wenn das funktioniert hat:
rm -rf /var/lib/mysql_old
MariaDB (MySQL) initialisieren:
sudo mysql_install_db --user=mysql --basedir=/usr --datadir=/var/lib/mysql
MariaDB starten und beim Booten starten:
sudo systemctl start mysqld
sudo systemctl enable mysqld
MariaDB Status prüfen:
systemctl status mysqld(Abbruch mit Strg & C )

Eigentlich sollte es mit dem Script "mysql_secure_installation" ohne MySQL-Passwort weiter gehen, jedoch hat das bei mir seit MariaDB noch nie funktioniert. Also erst das MySQL Passwort setzen (MariaDB 10.1.20 und neuer):
sudo mysql
MariaDB [(none)]> USE mysql;
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MeinPASSWORT';
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> exit

und die MySQL Installation mit diesem Script abschließen (wichtig!):
mysql_secure_installation(Abbruch mit Strg & C )

Hinweis: Sollte das Script euer MySQL Passwort nicht annehmen, hilft eine Reset (sonst überspringen):
sudo mysqld_safe --skip-grant-tables &
sudo mysql -u root
dann:
MariaDB [(none)]> use mysql;
MariaDB [(none)]> FLUSH PRIVILEGES;
MariaDB [(none)]> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MeinPASSWORT';
MariaDB [(none)]> exit
Prüfen, reparieren und optimieren der Tabellen:
sudo killall -9 mysqld
sudo mysqlcheck -A --auto-repair -u root -p
sudo mysqlcheck -A --auto-repair -f -o -u root -p

Installation mit diesem Script abschließen (wichtig!):
mysql_secure_installationAls erstes werdet ihr nach den MySQL root Passwort gefragt.
Dann bei der Frage "Switch to unix_socket authentication" per 'n' weiter und bei "You already have your root account protected" auch mit 'n' weiter. Als nächstes sollte auf jeden Fall der Anonymous User entfernt werden wenn der Server produktiv eingesetzt wird. Im nächsten Schritt sollte dem root User das Recht genommen werden sich über das Netzwerk anzumelden (ich arbeite nur lokal). Zusätzlich zum Anonymous User gibt es eine Testdatenbank die entfernt werden sollte. Am Ende werden die Berechtigungen neu geladen.

Wenn nachträglich Anpassungen vorgenommen werden müssen, MariaDB aktualisieren:
sudo su
systemctl restart mariadb.service && mariadb-upgrade -u root -p
exit
(Wichtig, obigen Befehl als root ausführen, sonst gibt es diesen Fehler: Could not create the upgrade info file '/var/lib/mysql/mysql_upgrade_info' in the MariaDB Servers)

Die Apache Datei httpd.conf konfigurieren:
kate /etc/httpd/conf/httpd.conf
Wenn Server nur lokal erreichbar sein soll:

Listen 127.0.0.1:80

Diese Zeilen mit einer Raute (#) auskommentieren:

#LoadModule unique_id_module modules/mod_unique_id.so
#LoadModule authn_file_module modules/mod_authn_file.so
#LoadModule mpm_event_module modules/mod_mpm_event.so

Diese Zeile aktivieren (Raute entfernen):

LoadModule mpm_prefork_module modules/mod_mpm_prefork.so

Diese Zeilen am Ende hinzufügen:

LoadModule php_module modules/libphp.so
AddHandler php-script .php
Include conf/extra/php_module.conf
Include conf/extra/phpmyadmin.conf

und prüfen ob diese Module aktiviert sind:

LoadModule userdir_module modules/mod_userdir.so
LoadModule rewrite_module modules/mod_rewrite.so


dann phpmyadmin.conf anlegen:
kate /etc/httpd/conf/extra/phpmyadmin.conf
Alias /phpmyadmin "/usr/share/webapps/phpMyAdmin"
<Directory "/usr/share/webapps/phpMyAdmin">
    DirectoryIndex index.php
    AllowOverride All
    Options FollowSymlinks
    Require local
</Directory>
Info "Require all granted" nur wenn nicht Lokal!

php.ini konfigurieren:
kate /etc/php/php.iniDiese Zeilen prüfen/anpassen/aktivieren:

date.timezone = Europe/Berlin
extension=gd
extension=iconv
extension=pdo_mysql
extension=mysqli
open_basedir = /srv/http/:/var/www/:/home/:/tmp/:/var/tmp/:/var/cache/:/usr/share/pear/:/usr/share/webapps/:/etc/webapps/
session.gc_probability = 1


config.inc.php konfigurieren:
kate /etc/webapps/phpmyadmin/config.inc.phpHier ein langes geheimes Passwort zur Cookie-Authentifizierung setzen, z.B.:
$cfg['blowfish_secret'] = 'seit_phpMyAdmin504-istdasPflicht_undMussLangSein!'; /* YOU MUST FILL IN THIS FOR COOKIE AUTH! */

Apache starten und beim Booten starten:
sudo systemctl restart httpd
sudo systemctl enable httpd

Apache Status prüfen:
systemctl status httpd(Abbruch mit Strg & C )

Listet PHP Module:
php -m
PHP Info Datei erstellen und speichern:
kate /srv/http/phpinfo.php<?php
 phpinfo();
?>

dann im Browser http://localhost/phpinfo.php öffnen, PHP Version und Konfiguration sollte angezeigt werden.

phpMyAdmin ist eine freie Webanwendung zur Administration von MySQL-Datenbanken und MariaDB, im Browser http://localhost/phpmyadmin/ öffen.



Wenn die Fehlermeldung "Auf das $cfg['TempDir'] (/usr/share/webapps/phpMyAdmin/tmp/) kann nicht zugegriffen werden. PhpMyAdmin kann keine Templates zwischenspeichern und ist daher langsam." kommt, den Temp Ordner anlegen und "http" als Besitzer und Gruppe setzen (chmod 777 is dann nicht notwendig):
sudo mkdir /usr/share/webapps/phpMyAdmin/tmp/
sudo chown -R http:http /usr/share/webapps/phpMyAdmin/tmp/

Sollte die Meldung "Der phpMyAdmin-Konfigurationsspeicher ist nicht vollständig konfiguriert, einige erweiterte Funktionen wurden deaktiviert..." kommen, fehlt wahrscheinlich die Datenbank „phpmyadmin“. Dann einfach mit diesem Link die Datenbank „phpmyadmin“ anlegen und die Konfigurationsspeicher-Tabellen einrichten: http://localhost/phpmyadmin/chk_rel.php.



"User directories" aktivieren ~/public_html
(möchte mein CMS nicht im Ordner /var/www/ testen, sondern in meinem /home)
kate /etc/httpd/conf/extra/httpd-userdir.confDieser Bereich sollte so aussehen:

UserDir public_html
#
# Control access to UserDir directories. The following is an example
# for a site where these directories are restricted to read-only.
#
<Directory "/home/*/public_html">
    DirectoryIndex index.php index.html
    AllowOverride All
    Options MultiViews SymLinksIfOwnerMatch IncludesNoExec
    Require method GET POST OPTIONS
</Directory>
Habe das "Directory Listing" des Apache-Webservers deaktiviert, also "Indexes" entfernt (Zugriff auf alle Unterverzeichnisse werden verwehrt).

Ordner public_html erstellen und Berechtigungen anpassen:
mkdir ~/public_html
chmod 775 ~/public_html
chmod 755 ~
Apache neustarten:
sudo systemctl restart httpd
PHP Info Datei erstellen und speichern:
kate ~/public_html/phpinfo.php<?php
 phpinfo();
?>

dann im Browser "http://localhost/~BENUTZERNAME/phpinfo.php" öffnen, PHP Version und Konfiguration sollte angezeigt werden.



Dateien die der Webserver erzeugt oder ändert (z.B. ein CMS) sind nur für Mitglieder der Gruppe 'http' (bei Debian 'www-data') schreibbar. Um diese Dateien zu beschreiben, den Benutzer zu dieser Gruppe hinzufügen (Neustart notwendig):
sudo gpasswd -a $USER http(entfernen mit: sudo gpasswd -d $USER http)

Berechtigungen für home und public_html anpassen/prüfen, die Reihenfolge ist wichtig:
sudo chown -R $USER:$USER ~/
find ~/ \( -type d -exec chmod 755 {} + \) -or \( -type f -exec chmod 644 {} + \)
find ~/public_html/ \( -type d -exec chmod 775 {} + \) -or \( -type f -exec chmod 664 {} + \)
sudo chown -R http:http ~/public_html
AppImage und ShellScript ausführbar machen:
chmod +x ./*.AppImage
chmod +x ./*.sh
prüfen:
find ~ ! -user $USER -lsdas sollte nur Dateien aus dem Ordner public_html auflisten.


Paketliste und System wiederherstellen
Kontrollieren ob/wann/was über dem Packetmanager de-/installiert wurde findet ihr in der pacman.log:
less /var/log/pacman.logoder mit einem Filter, z.B.:
grep "ALPM] installed" /var/log/pacman.logoder per pamac-gui im Menü -> "Chronik anzeigen", zeigt dann die Pamac Historie in einem Fenster.

Paketliste erstellen (Quelle)
Erstellt eine Liste von Paketen ohne (q) Versionsnummer aus, die ausdrücklich installiert wurden und nicht von anderen als Abhängigkeit benötigt werden:
pacman -Qeqt > paketliste.txt
System wiederherstellen. Man sollte diese Wiederherstellung möglichst in einem "frischen" System vornehmen (direkt nach der Basisinstallation).
pacman -S $(cat paketliste.txt)

ANHANG: Neuinstallation auf bestehendes LINUX ohne die /home Partition zu formatieren

Vorteil: Alle Dateien und Einstellungen bleiben erhalten - ohne Gewähr!
Gründe: Entweder weil eine Neuinstallation ratsam ist, ihr euer Linux zerschossen habt oder zu Linux Manjaro wechseln wollt, oder...

Voraussetzungen:
  • ihr kennt die Rechteverwaltung im Linux-Dateisystem (chown & chmod) - viele Probleme entstehen wenn Dateien im /home Ordner z.B. root gehören
  • Einstellungsdateien auf Standard setzen (reset) oder aus einem Backup wiederherstellen ist kein Problem für euch
  • nutzt die gleiche Desktop-Umgebung und Version - kein muss wenn nur kompatible Einstellungsdateien wiederhergestellt werden
  • /home ist auf einer eigenen Partition
  • Backup ist vorhanden und ihr wisst wie ein Restore funktioniert (wenn was schief läuft)

Prüfen ob die /home Dateien euch gehören, ausser ihr nutzt z.B. einen lokalen Webserver (siehe oben):
find ~ ! -user $USER -ls(Ausgabe sollte leer sein)
ansonsten:
sudo chown -R $USER:$USER ~/(Alle Dateien in /home/[Benutzer] gehören dann euch)
chmod anpassen, alle Ordner 755 und Dateien 644:
find ~/ \( -type d -exec chmod 755 {} + \) -or \( -type f -exec chmod 644 {} + \)AppImage und ShellScript ausführbar machen:
chmod +x ./*.AppImage
chmod +x ./*.sh

Backups erstelle ich mit BackInTime oder Timeshift. Wer kein Backup hat oder zusätzlich ein manuelles Backup auf einer externen Festplatte erstellen will, kann das wie hier beschrieben vor der Neuinstallation tun. Ansonsten könnt ihr die "Vorbereitung" überspringen.

VORBEREITUNG

a) Mit der KDE-Partitionsverwaltung eine externe USB-Festplatte formatieren, wenn noch nicht getan: Dateiformat ext4 und als Bezeichnung z.B. "Backup_ext4". Wenn ihr das Backup behalten wollt sollte die Festplatte mit LUKS verschlüsselt werden. Jedoch wäre dieses Backup schnell zu alt, daher würde ich solch eine verschlüsselte Festplatte nur mit einem Backup-Werkzeug wie z.B. BackInTime oder Timeshift nutzen.

Nach dem die Festplatte formatiert ist, die Zugriffsrechte per Terminal setzen (damit kein sudo notwendig ist). Pfad und Benutzername anpassen, bei mir ist der Benutzername jo:
sudo chown $USER:$USER /run/media/jo/Backup_ext4
sudo chmod 755 /run/media/jo/Backup_ext4

b) alle Dateien auf Backup Festplatte kopieren:
cp -arv ~/* /run/media/jo/Backup_ext4Hinweis: Wenn ihr Plasma Vault nutzt und diese(n) Ordner geöffnet habt, werden Dateien unverschlüsselt auf die Backup Festplatte geschrieben. Verschlüsselte Dateien liegen im versteckten Ordner "~/.local/share/plasma-vault/". Daher halte ich Plasma Vault beim Backup erstellen geschlossen (Settings: ~/.config/plasmavaultrc).

c) alle versteckte Dateien (Einstellungen) auf Backup Festplatte kopieren (ich lösche erst die Cache Dateien):
sudo rm -r ~/.cache/cp -arv ~/.[!.]* /run/media/jo/Backup_ext4/Dann die Backup Festplatte aushängen und sicher verwahren bis nach der Neuinstallation.

NEUINSTALLTION BEGINNEN

d) PC mit einem aktuellen Live-Image starten und Manjaro installieren. Beim installieren darf "/home" nur eingebunden und nicht formatiert werden! WICHTIG: Benutzername und Passwort muß identisch mit der alten Version sein!

e) Bei einem Kubuntu System hatte ich so Manjaro KDE installiert, in dem Fall findet ihr die alten Daten unter "/home/@home/[Benutzername]"
Diese Daten solltet ihr z.B. mit Dolphin ohne Root-Rechte in euren neuen Ordner "/home/[Benutzername]" kopieren oder verschieben.
Wenn die neue Desktop-Umgebung nicht zum alten Desktop passt oder zu alt ist, kopiere ich mit dem Dolphin oder Double Commander (doublecmd) nur versteckte Dateien zurück die Sinn machen (evtl. Schlüsselbund, Browser, E-Mail oder FileZilla Einstellungen).

Nach einem Ab- und Anmelden sollten alle Einstellungen wie vor der Neuinstallation konfiguriert sein.
Dann den alten Ordner "@home" löschen, fehlende Pakete nach installieren und Grub und SWAP konrollieren bzw. anpassen (siehe oben).

Bei dem Kubuntu zu Manjaro KDE Umzug wollte kwallet das WiFi Passwort nicht speichern, hier hatte ein kwallet-Reset geholfen:
rm -r ~/.local/share/kwalletd/
f) Wenn was schief gelaufen ist:
Stellt alle Daten aus dem Backup per Dolphin oder Terminal wieder her. Alle Dateien per Terminal zurück kopieren:
yes | cp -rv /run/media/jo/Backup_ext4/* ~/Daten werden ohne Rückfrage überschrieben!

Alle versteckte Ordner und Dateien wieder herstellen:
yes | cp -rv /run/media/jo/Backup_ext4/.[!.]* ~/Daten werden ohne Rückfrage überschrieben!
Wenn die neue Desktop-Umgebung nicht zum alten Desktop passt oder zu alt ist, kopiere ich mit dem Dolphin oder Double Commander (doublecmd) nur versteckte Dateien zurück die Sinn machen (evtl. Schlüsselbund, Browser, E-Mail oder FileZilla Einstellungen).

 :-[


PS: KDE-Kontrollleiste aus versehen gelöscht? Einfach aus einem Backup wiederherstellen (~/.config/plasma-org.kde.plasma.desktop-appletsrc).

« Letzte Änderung: 15. Juni 2021, 20:39:28 von Jo »