Claude Code – Installation und Konfiguration auf Linux Mint

Voraussetzungen

1. Installation als Benutzer andre

Als normaler Benutzer (nicht root) einloggen bzw. wechseln:

su - andre

Claude Code per nativer Installationsmethode einrichten (kein npm, kein Node.js erforderlich):

curl -fsSL https://claude.ai/install.sh | bash

Danach den PATH dauerhaft setzen:

echo 'export PATH="$HOME/.local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc

Installation prüfen:

claude --version

2. Erster Login (OAuth mit claude.ai)

claude

Claude Code öffnet einen Browser-Link zur Authentifizierung. Falls der automatische Redirect fehlschlägt, die URL aus dem Terminal manuell kopieren und im Browser öffnen. Nach der Anmeldung mit dem claude.ai-Account den angezeigten Code ins Terminal eingeben.

Claude Code ist im Claude Pro/Max Abo enthalten – es entstehen keine zusätzlichen API-Kosten bei Nutzung über den OAuth-Login.

3. Arbeitsordner anlegen

mkdir -p ~/Claude
cd ~/Claude

Dieser Ordner dient als zentrales Arbeitsverzeichnis für alle Claude-Projekte und -Konfigurationen.

4. Globale Basisanweisungen (CLAUDE.md)

Die globale CLAUDE.md wird von Claude Code bei jedem Start automatisch geladen:

mkdir -p ~/.claude
nano ~/.claude/CLAUDE.md

Inhalt:

# Globale Verhaltensregeln
 
- Antworte präzise und ohne Floskeln
- Kein übertriebenes Lob ("Great question!", "Absolutely!" usw.)
- Keine unnötigen Wiederholungen des Gesagten
- Bevorzuge Deutsch, bei Code englische Bezeichner
- Direkte Antworten – kein Drumherum
- Bei Unsicherheit: sagen, dass etwas unklar ist, nicht raten

5. Fachprofile anlegen

Profile ermöglichen es, Claude je nach Aufgabe gezielt auf einen Fachbereich auszurichten.

mkdir -p ~/.claude/profiles

Profil: Bash & Java-Entwickler

nano ~/.claude/profiles/dev.md
# Profil: Bash & Java-Entwickler
 
Du agierst als erfahrener Entwickler mit Fokus auf Bash-Scripting und Java.
 
## Bash
- Bevorzuge POSIX-kompatible Lösungen
- Erkläre komplexe Einzeiler kurz aber vollständig
- Weise auf Fallstricke hin (Quoting, Globbing, Pipefail)
- Kein unnötiger GUI-Kram, keine Windows-Alternativen
- Shellcheck-Konformität anstreben
 
## Java
- Modernes Java (ab Java 17) bevorzugen
- Design Patterns nennen wenn sinnvoll
- Auf Performance-Implikationen hinweisen
- Maven/Gradle-Kontext berücksichtigen

Profil: Ethical Hacker & Forensiker

nano ~/.claude/profiles/hacker.md
# Profil: Ethical Hacker & Forensiker
 
Du agierst als erfahrener Ethical Hacker und digitaler Forensiker (OSCP/GCFE-Niveau).
 
## Offensive Security
- Denke in Angriffsvektoren, CVEs und TTPs (MITRE ATT&CK)
- Nenne konkrete Tools: nmap, Metasploit, Burp Suite, Gobuster, Hydra usw.
- Erkläre Exploits technisch präzise
- Weise auf Legalität nur hin, wenn wirklich relevant (kein Dauerdisclaimer)
 
## Digitale Forensik
- Denke in Artefakten, Timelines und Chain of Custody
- Tools: Autopsy, Volatility, Wireshark, dd, foremost, strings
- Unterscheide zwischen Live-Forensik und Post-mortem-Analyse
- Dateisystem-Kenntnisse (ext4, NTFS, FAT) einbeziehen
 
## Allgemein
- Strukturierte Antworten: Ziel → Vorgehen → Tools → Beispielbefehl

Profil: Linux RHEL-Architekt

nano ~/.claude/profiles/architekt.md
# Profil: Linux Red Hat Architekt
 
Du agierst als Senior Linux-Architekt mit Fokus auf Red Hat Enterprise Linux und Enterprise-Umgebungen.
 
## Technischer Fokus
- RHEL 8/9, Rocky Linux, CentOS Stream
- systemd, SELinux, firewalld, podman, ansible
- Subscription Management (RHSM), Satellite
- OpenSCAP und Compliance (CIS, STIG, DISA)
- Hochverfügbarkeit: Pacemaker, Corosync, DRBD
 
## Architektur
- Denke in Patterns und Betriebskonzepten, nicht nur Einzellösungen
- Beziehe Compliance ein: BSI Grundschutz, ISO 27001, DORA wo relevant
- Skalierbarkeit und Automatisierung als Grundprinzip
- Infrastructure as Code bevorzugen (Ansible, Terraform)
 
## Kommunikation
- Antwort auf Deutsch, technisch präzise
- Kommandos immer mit kurzem Kontext warum, nicht nur was

6. Profil-Loader Script

Das Script cl erlaubt die interaktive Profilauswahl vor dem Start von Claude Code:

nano ~/.local/bin/cl
#!/bin/bash
# Claude Code Profil-Loader
# Verwendung: cl [claude-optionen]
 
PROFILES_DIR="$HOME/.claude/profiles"
GLOBAL="$HOME/.claude/CLAUDE.md"
TMP_PROMPT="/tmp/claude_profile_$$.md"
 
echo ""
echo "=== Claude Code – Profilauswahl ==="
echo ""
 
# Profile auflisten
profiles=($(ls "$PROFILES_DIR"/*.md 2>/dev/null | xargs -n1 basename -s .md))
 
if [[ ${#profiles[@]} -eq 0 ]]; then
    echo "Keine Profile gefunden in $PROFILES_DIR"
    claude "$@"
    exit 0
fi
 
echo "Verfügbare Profile:"
for i in "${!profiles[@]}"; do
    echo "  $((i+1))) ${profiles[$i]}"
done
echo "  $((${#profiles[@]}+1))) Kein Profil (nur globale Regeln)"
echo ""
 
read -rp "Auswahl [1-$((${#profiles[@]}+1))]: " choice
 
if [[ "$choice" -ge 1 && "$choice" -le ${#profiles[@]} ]]; then
    selected="${profiles[$((choice-1))]}"
    echo ""
    echo "Lade Profil: $selected"
    cat "$GLOBAL" "$PROFILES_DIR/$selected.md" > "$TMP_PROMPT"
    claude --system-prompt "$(cat "$TMP_PROMPT")" "$@"
    rm -f "$TMP_PROMPT"
else
    echo ""
    echo "Starte ohne Fachprofil..."
    claude "$@"
fi

Ausführbar machen:

chmod +x ~/.local/bin/cl

7. Projektspezifische CLAUDE.md

In jedem Projektordner kann eine eigene CLAUDE.md liegen – Claude lädt sie automatisch beim Start im jeweiligen Verzeichnis. Ideal für projektspezifischen Kontext:

cd ~/Claude/meinprojekt
nano CLAUDE.md

Beispielinhalt für ein Bash-Analyse-Projekt:

# Projektkontext
 
Dieses Projekt ist ein internes Bash-Script zur Kostenanalyse.
 
- Zielumgebung: RHEL 8, bash 4.4
- Kein Python, kein externe Dependencies
- Ausgabe muss shellcheck-konform sein
- Variablennamen auf Deutsch (Lesbarkeit für Kollegen)

8. Verwendung im Alltag

Normaler Start (Profilauswahl)
cd ~/Claude/meinprojekt
cl
Direktstart ohne Profilauswahl
claude
Einmaliger Befehl ohne interaktiven Modus
claude -p "Erkläre mir den Unterschied zwischen hard link und symbolic link"
Claude beenden

Im interaktiven Modus:

/exit

Oder: Strg + C

9. Verzeichnisstruktur Übersicht

~/.claude/
├── CLAUDE.md              ← Globale Basisregeln (immer geladen)
└── profiles/
    ├── dev.md             ← Bash & Java-Entwickler
    ├── hacker.md          ← Ethical Hacker & Forensiker
    └── architekt.md       ← Linux RHEL-Architekt

~/.local/bin/
└── cl                     ← Profil-Loader Script

~/Claude/                  ← Arbeitsordner für Projekte
└── meinprojekt/
    └── CLAUDE.md          ← Projektspezifischer Kontext