CachyOS: Unterschied zwischen den Versionen

Aus Jos-Wiki
Zur Navigation springen Zur Suche springen
KKeine Bearbeitungszusammenfassung
 
(5 dazwischenliegende Versionen desselben Benutzers werden nicht angezeigt)
Zeile 1: Zeile 1:
Snapper oder Timeshift:
== Snapper oder Timeshift: ==
 
https://discuss.cachyos.org/t/snapper-or-timeshift/3652/7
https://discuss.cachyos.org/t/snapper-or-timeshift/3652/7


Super Video auf Youtube


Virtuelle Maschinen unter CachyOS:
== Virtuelle Maschinen unter CachyOS: ==
 
https://discuss.cachyos.org/t/i-want-to-use-my-cachyos-to-create-virtual-machines-with-kvm-what-should-i-install/313
https://discuss.cachyos.org/t/i-want-to-use-my-cachyos-to-create-virtual-machines-with-kvm-what-should-i-install/313


Zeile 14: Zeile 13:
danach
danach


<code>sudo systemctl restart libvrt.service</code>
<code>sudo systemctl restart libvirtd.service</code>
 
 
 
== '''Globales Menü entfernen:''' ==
Um das globale Menü wieder zu aktivieren, kannst du die folgenden Schritte ausführen:
 
1. Öffne die Datei `~/.config/plasma-org.kde.plasma.desktop-appletsrc` mit einem Texteditor wie `nano` oder `vim`.
 
2. Füge den folgenden Code am Ende der Datei ein:
 
 
<code>[Containments]</code>
 
<code>Containments=org.kde.plasma.taskmanager</code>
 
<code>Containments[org.kde.plasma.taskmanager]/Settings=PanelSettings</code>
 
<code>Containments[org.kde.plasma.taskmanager]/Containments=org.kde.plasma.appmenu</code>
 
<code>Containments[org.kde.plasma.appmenu]/Settings=PanelSettings</code>
 
 
Anschließend
 
<code>killall plasmashell && kstart5 plasmashell</code>
 
 
Auslastung der Festplatten:
 
<code>sudo iotop -aoP</code>
 
oder
 
<code>sudo pacman -S iotop</code>
 
 
<code>iotop</code> zeigt nur Prozesse, nicht Dateien
 
→ dafür nutzt du '''<code>lsof</code>''' oder '''<code>inotify</code>''':
 
==== a) Offene Dateien aller Prozesse mit Disk-I/O: ====
<code>sudo lsof +D /pfad/zum/laufwerk</code>
 
==== b) Live-Überwachung: ====
<code>sudo inotifywait -m -r /pfad/zum/laufwerk</code>
 
→ zeigt jede Dateioperation (open, write, delete …) in Echtzeit.
 
==== c) Noch präziser (für Experten): ====
oder
 
<code>sudo dstat -dny 1</code>
 
<code>sudo iostat -dx 1</code>
 
→ I/O pro Gerät, getrennt nach Lesen/Schreiben.
 
=== Skript zum Prüfen der Platten ===
Pakete (CachyOS/Arch)
 
<code>sudo pacman -S iotop sysstat lsof inotify-tools</code>
 
Installation
 
<code>nano ~/iowatch.sh</code>
 
<code># Code einfügen, speichern</code>
 
<code>chmod +x ~/iowatch.sh</code>
 
<code># (optional) nach /usr/local/bin verschieben:</code>
 
<code>sudo mv ~/iowatch.sh /usr/local/bin/iowatch</code>
 
Skript:
 
<code>#!/usr/bin/env bash</code>
 
<code>#iowatch.sh – Live-Überblick über Disk-I/O (Prozesse, Geräte, Dateien)</code>
 
<code>#Für Arch/CachyOS: sudo pacman -S iotop sysstat lsof inotify-tools</code>
 
<code>set -Eeuo pipefail</code>
 
<code>bold(){ printf "\e[1m%s\e[0m\n" "$*"; }</code>
 
<code>need() { command -v "$1" >/dev/null 2>&1 || { echo "FEHLT: $1"; MISSING=1; }; }</code>
 
<code>usage() {</code>
 
<code>cat <<'EOF'</code>
 
<code>Nutzung:</code>
 
<code>iowatch.sh top            # Live Top-Schreiber/Leser (Prozesssicht)</code>
 
<code>iowatch.sh dev            # Per-Gerät I/O (iostat)</code>
 
<code>iowatch.sh pid <PID> # I/O einer PID + geöffnete Dateien</code>
 
<code>iowatch.sh trace <PFAD>  # Dateiaktivität unter Pfad (inotify)</code>
 
<code>Tipps:</code>
 
<code>- 'top' + zweites Terminal mit 'dev' parallel ergibt das volle Bild.</code>
 
<code>- Für 'pid' siehst Du /proc/<pid>/io Zähler + lsof-Dateiliste.</code>
 
<code>EOF</code>
 
<code>exit 1</code>
 
<code>}</code>
 
<code>$# -lt 1  && usage</code>
 
<code># Abhängigkeiten prüfen (nur was der jeweilige Modus braucht)</code>
 
<code>MISSING=0</code>
 
<code>case "${1:-}" in</code>
 
<code>top) need iotop ;;</code>
 
<code>dev) need iostat ;;</code>
 
<code>pid) need lsof;  $# -ge 2  || usage ;;</code>
 
<code>trace) need inotifywait;  $# -ge 2  || usage ;;</code>
 
<code>*) usage ;;</code>
 
esac [[ "${MISSING:-0}" == 1 ]] && { echo "Bitte fehlende Tools installieren (z. B.: sudo pacman -S iotop sysstat lsof inotify-tools)"; exit 2; }
 
MODE="$1"; shift || true
 
case "$MODE" in
  top)
    # kumulierte + aktuelle Sicht, nur aktive Prozesse, übersichtlich
    bold "🔎 Prozesse mit I/O (ESC/Strg+C zum Beenden)…"
    # -a kumuliert seit Start, -o nur aktive, -P Prozesse (keine Threads), -t Zeitstempel
    sudo iotop -aoP -t
    ;;
 
  dev)
    bold "💽 Geräte-I/O (iostat -x – %util, r/s, w/s, await). Strg+C beendet."
    # 1-Sekunden-Takt mit erweiterten Metriken
    iostat -x 1
    ;;
 
  pid)
    PID="$1"
    -d "/proc/$PID"  || { echo "PID $PID existiert nicht."; exit 3; }
    bold "🧩 I/O-Zähler für PID $PID – $(ps -p "$PID" -o comm=)"
    echo "Links: /proc/$PID/io (Bytes), Rechts: geöffnete REG-Dateien (lsof)"
    echo "Strg+C beendet."
    # Live-Loop: zeige /proc/<pid>/io alle 1s und daneben lsof-Auszug (einmal pro 3s)
    last_lsof=0
    while :; do
      now=$(date +%s)
      tput clear || true
      bold "Zeit: $(date)"
      echo "----- /proc/$PID/io -----"
      # zeigt u. a. read_bytes / write_bytes, rchar/wchar (von OS gezählt)
      cat "/proc/$PID/io" || { echo "PID beendet."; exit 0; }
 
      echo
      echo "----- lsof (REG-Dateien, kürzlich geöffnet) -----"
      # lsof ist teuer – nur alle 3s neu ziehen
      if (( now - last_lsof >= 3 )); then
        # Nur Regular Files, kein mmap/anon, kürzen auf sinnvolle Spalten
        sudo lsof -p "$PID" -FnPt0 2>/dev/null | tr '\0' '\n' | sed -n 's/^n//p' | \
          awk 'length($0)<200' | head -n 50 > /tmp/iowatch_lsof_$PID.txt || true
        last_lsof=$now
      fi
      nl -ba /tmp/iowatch_lsof_$PID.txt 2>/dev/null || echo "(keine REG-Dateien gefunden)"
 
      echo
      echo "Hinweis: 'read_bytes'/'write_bytes' steigen, wenn der Prozess tatsächlich von/auf Blockgeräte liest/schreibt."
      sleep 1
    done
    ;;
 
  trace)
    PATHROOT="$1"
    -e "$PATHROOT"  || { echo "Pfad nicht gefunden: $PATHROOT"; exit 4; }
    bold "📡 Dateiaktivität unter: $PATHROOT  (inotifywait, rekursiv)"
    echo "Ereignisse: OPEN, CLOSE_WRITE, MODIFY, MOVED_TO, CREATE, DELETE …"
    echo "Strg+C beendet."
    sudo inotifywait -m -r -e open,close_write,modify,move,create,delete --format '%T %w%f %e' --timefmt '%F %T' "$PATHROOT"
    ;;
esac

Aktuelle Version vom 9. November 2025, 15:00 Uhr

Snapper oder Timeshift:[Bearbeiten | Quelltext bearbeiten]

https://discuss.cachyos.org/t/snapper-or-timeshift/3652/7

Super Video auf Youtube

Virtuelle Maschinen unter CachyOS:[Bearbeiten | Quelltext bearbeiten]

https://discuss.cachyos.org/t/i-want-to-use-my-cachyos-to-create-virtual-machines-with-kvm-what-should-i-install/313

In der Datei /etc/libvirt/network.conf muss folgende Änderung vorgenommen werden:

firewall_backend = "iptables"

danach

sudo systemctl restart libvirtd.service


Globales Menü entfernen:[Bearbeiten | Quelltext bearbeiten]

Um das globale Menü wieder zu aktivieren, kannst du die folgenden Schritte ausführen:

1. Öffne die Datei `~/.config/plasma-org.kde.plasma.desktop-appletsrc` mit einem Texteditor wie `nano` oder `vim`.

2. Füge den folgenden Code am Ende der Datei ein:


[Containments]

Containments=org.kde.plasma.taskmanager

Containments[org.kde.plasma.taskmanager]/Settings=PanelSettings

Containments[org.kde.plasma.taskmanager]/Containments=org.kde.plasma.appmenu

Containments[org.kde.plasma.appmenu]/Settings=PanelSettings


Anschließend

killall plasmashell && kstart5 plasmashell


Auslastung der Festplatten:

sudo iotop -aoP

oder

sudo pacman -S iotop


iotop zeigt nur Prozesse, nicht Dateien

→ dafür nutzt du lsof oder inotify:

a) Offene Dateien aller Prozesse mit Disk-I/O:[Bearbeiten | Quelltext bearbeiten]

sudo lsof +D /pfad/zum/laufwerk

b) Live-Überwachung:[Bearbeiten | Quelltext bearbeiten]

sudo inotifywait -m -r /pfad/zum/laufwerk

→ zeigt jede Dateioperation (open, write, delete …) in Echtzeit.

c) Noch präziser (für Experten):[Bearbeiten | Quelltext bearbeiten]

oder

sudo dstat -dny 1

sudo iostat -dx 1

→ I/O pro Gerät, getrennt nach Lesen/Schreiben.

Skript zum Prüfen der Platten[Bearbeiten | Quelltext bearbeiten]

Pakete (CachyOS/Arch)

sudo pacman -S iotop sysstat lsof inotify-tools

Installation

nano ~/iowatch.sh

# Code einfügen, speichern

chmod +x ~/iowatch.sh

# (optional) nach /usr/local/bin verschieben:

sudo mv ~/iowatch.sh /usr/local/bin/iowatch

Skript:

#!/usr/bin/env bash

#iowatch.sh – Live-Überblick über Disk-I/O (Prozesse, Geräte, Dateien)

#Für Arch/CachyOS: sudo pacman -S iotop sysstat lsof inotify-tools

set -Eeuo pipefail

bold(){ printf "\e[1m%s\e[0m\n" "$*"; }

need() { command -v "$1" >/dev/null 2>&1 || { echo "FEHLT: $1"; MISSING=1; }; }

usage() {

cat <<'EOF'

Nutzung:

iowatch.sh top # Live Top-Schreiber/Leser (Prozesssicht)

iowatch.sh dev # Per-Gerät I/O (iostat)

iowatch.sh pid <PID> # I/O einer PID + geöffnete Dateien

iowatch.sh trace <PFAD> # Dateiaktivität unter Pfad (inotify)

Tipps:

- 'top' + zweites Terminal mit 'dev' parallel ergibt das volle Bild.

- Für 'pid' siehst Du /proc/<pid>/io Zähler + lsof-Dateiliste.

EOF

exit 1

}

$# -lt 1 && usage

# Abhängigkeiten prüfen (nur was der jeweilige Modus braucht)

MISSING=0

case "${1:-}" in

top) need iotop ;;

dev) need iostat ;;

pid) need lsof; $# -ge 2 || usage ;;

trace) need inotifywait; $# -ge 2 || usage ;;

*) usage ;;

esac [[ "${MISSING:-0}" == 1 ]] && { echo "Bitte fehlende Tools installieren (z. B.: sudo pacman -S iotop sysstat lsof inotify-tools)"; exit 2; }

MODE="$1"; shift || true

case "$MODE" in

 top)
   # kumulierte + aktuelle Sicht, nur aktive Prozesse, übersichtlich
   bold "🔎 Prozesse mit I/O (ESC/Strg+C zum Beenden)…"
   # -a kumuliert seit Start, -o nur aktive, -P Prozesse (keine Threads), -t Zeitstempel
   sudo iotop -aoP -t
   ;;
 dev)
   bold "💽 Geräte-I/O (iostat -x – %util, r/s, w/s, await). Strg+C beendet."
   # 1-Sekunden-Takt mit erweiterten Metriken
   iostat -x 1
   ;;
 pid)
   PID="$1"
    -d "/proc/$PID"  || { echo "PID $PID existiert nicht."; exit 3; }
   bold "🧩 I/O-Zähler für PID $PID – $(ps -p "$PID" -o comm=)"
   echo "Links: /proc/$PID/io (Bytes), Rechts: geöffnete REG-Dateien (lsof)"
   echo "Strg+C beendet."
   # Live-Loop: zeige /proc/<pid>/io alle 1s und daneben lsof-Auszug (einmal pro 3s)
   last_lsof=0
   while :; do
     now=$(date +%s)
     tput clear || true
     bold "Zeit: $(date)"
     echo "----- /proc/$PID/io -----"
     # zeigt u. a. read_bytes / write_bytes, rchar/wchar (von OS gezählt)
     cat "/proc/$PID/io" || { echo "PID beendet."; exit 0; }
     echo
     echo "----- lsof (REG-Dateien, kürzlich geöffnet) -----"
     # lsof ist teuer – nur alle 3s neu ziehen
     if (( now - last_lsof >= 3 )); then
       # Nur Regular Files, kein mmap/anon, kürzen auf sinnvolle Spalten
       sudo lsof -p "$PID" -FnPt0 2>/dev/null | tr '\0' '\n' | sed -n 's/^n//p' | \
         awk 'length($0)<200' | head -n 50 > /tmp/iowatch_lsof_$PID.txt || true
       last_lsof=$now
     fi
     nl -ba /tmp/iowatch_lsof_$PID.txt 2>/dev/null || echo "(keine REG-Dateien gefunden)"
     echo
     echo "Hinweis: 'read_bytes'/'write_bytes' steigen, wenn der Prozess tatsächlich von/auf Blockgeräte liest/schreibt."
     sleep 1
   done
   ;;
 trace)
   PATHROOT="$1"
    -e "$PATHROOT"  || { echo "Pfad nicht gefunden: $PATHROOT"; exit 4; }
   bold "📡 Dateiaktivität unter: $PATHROOT  (inotifywait, rekursiv)"
   echo "Ereignisse: OPEN, CLOSE_WRITE, MODIFY, MOVED_TO, CREATE, DELETE …"
   echo "Strg+C beendet."
   sudo inotifywait -m -r -e open,close_write,modify,move,create,delete --format '%T %w%f %e' --timefmt '%F %T' "$PATHROOT"
   ;;

esac