CachyOS

Aus Jos-Wiki
Zur Navigation springen Zur Suche springen

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