Eine Offline-Version des Befehlszeilen-Assistenten von Red Hat Enterprise Linux (RHEL) mit RHEL Lightspeed ist jetzt als Entwicklervorschau für bestehende Abonnenten von Red Hat Satellite verfügbar. Dies ermöglicht die Nutzung der Leistung des RHEL-Befehlszeilen-Assistenten in einem eigenständigen Format, das lokal auf einer Workstation oder einem einzelnen RHEL-System läuft. Dadurch kann der Assistent auch in einer völlig getrennten, Offline- oder Air-Gap-Umgebung funktionieren, da er für den Betrieb keine externe Netzwerkverbindung benötigt. Der Befehlszeilen-Assistent bietet KI-gestützte Anleitungen und Vorschläge, die Sie bei einer Vielzahl von RHEL-Aufgaben unterstützen. Wir haben sein Wissen über RHEL-Installation und Upgrade erweitert, sodass Sie auch bei begrenzter oder fehlender Konnektivität Unterstützung in diesen Bereichen erhalten.  

Architekturübersicht

Die Offline-Version des Befehlszeilen-Assistenten umfasst eine Reihe von Container-Images, die mit Podman ausgeführt werden können.  Wir verwenden folgende Container:

  • installer container: Ruft die anderen erforderlichen Container ab, installiert den Befehl rhel-cla und erstellt optional einen systemd-Service
  • rlsapi container: Stellt den Endpunkt bereit, mit dem der Client des Befehlszeilen-Assistenten kommuniziert
  • rag-database container: Die RAG-Datenbank (Retrieval-Augmented Generation), die das Wissen des LLM mit zusätzlichen Daten wie der RHEL-Dokumentation ergänzt
  • ramalama container: Stellt LLM-Inferenz bereit 

Voraussetzungen und Anforderungen

Im Rahmen Ihrer Subskription für Red Hat Satellite erhalten Sie Tools zur lokalen Verwaltung Ihrer RHEL-Umgebungen. Diese Tools umfassen das Produkt Satellite selbst sowie das kürzlich eingeführte Red Hat Offline Knowledge Portal, das eine Offline-Version der exklusiven Wissensinhalte von Red Hat bereitstellt. Wir haben die Subskription für Satellite jetzt erweitert, um auch die Offline-Version des RHEL-Befehlszeilen-Assistenten bereitzustellen.

Die Offline-Version des Befehlszeilen-Assistenten umfasst eine Reihe von Containern, die auf einem RHEL-System oder einer Mac- oder Windows-Workstation ausgeführt werden können. Für Mac-Systeme ist Podman Desktop erforderlich. Wir empfehlen die Verwendung eines Systems, das mit einer NVIDIA-, AMD- oder Mac M-Serien-GPU ausgestattet ist.

Hardwareanforderungen

Nur-CPU-Systeme (RHEL 9.6+ und 10+ / Fedora 42 / Windows 11):

  • RAM: 8 GB
  • CPU-Kerne: 2

GPU-fähige Systeme (RHEL 9.6+ und 10+ / Fedora 42 / Windows 11):

  • RAM: 4 GB
  • GPU: Mindestens 4 GB VRAM

Apple-Systeme (macOS 15.x):

  • M2-Chip oder neuer

Systemübergreifend:

  • Verfügbarer Speicherplatz: 10 GB

Erste Schritte

Container-Images für die Offline-Version des RHEL-Befehlszeilen-Assistenten sind in der Red Hat Container Registry für Kunden mit einer Satellite-Subskription verfügbar. Authentifizieren Sie sich zunächst bei der Red Hat Container Registry:  

$ podman login registry.redhat.io

Sie führen die Installation mit dem installer container durch.  Dieser Container ruft die anderen erforderlichen Container ab, installiert den Befehl rhel-cla und erstellt optional einen systemd-Service.  Der systemd-Service lässt sich in Umgebungen nutzen, in denen Sie die Container des Offline-RHEL-Befehlszeilen-Assistenten bei jedem Start des Systems automatisch starten möchten.

Vergewissern Sie sich vor dem Ausführen des Installationsprogramms, dass die Verzeichnisse ~/.config und ~/.local/bin in Ihrem Benutzerverzeichnis vorhanden sind. Führen Sie den folgenden Befehl aus, um den installer container zu starten:


$ podman run -u : --rm -v $HOME/.config:/config:Z \

-v $HOME/.local/bin:/config/.local/bin:Z \

registry.redhat.io/rhel-cla/installer-rhel10:latest \

install-systemd


Wenn Sie den systemd-Service nicht installieren möchten, fügen Sie das Argument install-systemd am Ende des Befehls nicht hinzu. 

Nach Abschluss der Installation können Sie den Befehl rhel-cla verwenden, um den Status des Offline-RHEL-Befehlszeilen-Assistenten zu starten, zu stoppen, zu deinstallieren oder zu überprüfen.  Auf einem Mac müssen Sie den Befehl rhel-cla ausführbar machen: 

$ chmod +x ~/.local/bin/rhel-cla

So starten Sie die Offline-Version des RHEL-Befehlszeilen-Assistenten:

$ rhel-cla start

Dies generiert eine Ausgabe, aber Sie müssen nur nach einer Meldung suchen, die einen erfolgreichen Start aller Komponenten anzeigt:

✅ RHEL CLA-Pod is running!

Services verfügbar unter:

GPU konfigurieren

Der nächste Schritt besteht darin, die GPU in der Datei ~/.config/rhel-cla/.env zu konfigurieren.  Öffnen Sie diese Datei in einem Texteditor und schließen Sie die folgende Konfiguration ab:

  • Legen Sie die Variable LLAMACPP_IMAGE auf den entsprechenden ramalama container für Ihre GPU-Hardware fest.  Die Datei enthält Kommentare, die weitere Details enthalten.
  • Legen Sie die Variable HOST_DEVICE auf das Gerät für Ihre GPU fest.
  • Legen Sie bei Bedarf die NVIDIA-spezifischen Variablen fest. Die Kommentare in der Datei enthalten weitere Details dazu.  

Die Offline-Version des RHEL-Befehlszeilen-Assistenten enthält das Microsoft Phi4-mini-LLM-Modell. Sie können ein anderes Modell verwenden, indem Sie die LLM-Variable aktualisieren. 

Starten Sie nach dem Ändern der Konfigurationseinstellungen den Offline-RHEL-Befehlszeilen-Assistenten neu:

$ rhel-cla stop

$ rhel-cla start

Konfigurieren Sie den Client des Befehlszeilen-Assistenten

Installieren Sie das Paket command-line-assistant auf einem RHEL-System:

$ sudo dnf install command-line-assistant

Der Client des Befehlszeilen-Assistenten ist standardmäßig so konfiguriert, dass er den Online-Service RHEL Lightspeed verwendet. Aktualisieren Sie die Endpunktkonfigurationsoption in der Datei /etc/xdg/command-line-assistant/config.toml, die auf das System verweist, das die Offline-Container des RHEL-Befehlszeilen-Assistenten hostet. In meiner Umgebung führe ich den Client des Befehlszeilen-Assistenten und die Offline-Container auf demselben System aus. Daher würde ich den Endpunkt auf den Wert aktualisieren, der nach dem Start des Befehlszeilen-Assistenten-Dienstes angezeigt wurde: 

endpoint = "http://127.0.0.1:8000/"

Möglicherweise müssen Sie Port 8000 in der Firewall öffnen, wenn sich die Offline-Version der Container des RHEL-Befehlszeilen-Assistenten auf einem anderen System befindet als der Client des Befehlszeilen-Assistenten.

Nachdem Sie eine Änderung an der Konfiguration des Clients des Befehlszeilen-Assistenten vorgenommen haben, müssen Sie den Befehlszeilen-Assistenten daemon (clad) neu starten, falls er aktuell läuft: 

$ sudo systemctl restart clad

Nutzung

Zu diesem Zeitpunkt ist alles konfiguriert, sodass Sie den Befehlszeilen-Assistenten verwenden können, um Hilfe zu RHEL-Themen zu erhalten. Sie können ihm Fragen zur Installation von RHEL, zur Behebung von Problemen und vieles mehr stellen. Zum Beispiel:

$ c "what is an immutable file?"

+ Asking RHEL Lightspeed

Diese Funktion verwendet KI-Technologie. Fügen Sie keine persönlichen Daten oder andere sensible Informationen in Ihre Eingaben ein. Interaktionen können dazu verwendet werden, die Produkte oder Services von Red Hat zu verbessern.


Hello! I'm glad you're interested in learning about immutable files. An immutable file is a file that cannot be modified, deleted, or renamed after it has been created. This concept is often used in systems to ensure data integrity and security.

In Red Hat Enterprise Linux, you can create an immutable file using the chattr command. Here's an example:

[bash] Snippet

sudo chattr +i filename

This command will make the file named filename immutable. You can verify that the file is immutable by using the lsattr command:

[bash] Snippet

lsattr filename

The output will show an i attribute next to the file name, indicating that it is immutable.

Remember, if you try to modify, delete, or rename an immutable file, you will receive an error message. You can remove the immutability attribute using the -i option with the chattr command:

[bash] Snippet

sudo chattr -i filename

I hope this helps! Let me know if you have any other questions.


Prüfen Sie KI-generierte Inhalte immer vor der Verwendung.

Verzögerung der ersten Abfrageantwort

Beim ersten Start einer Chat-Sitzung lädt das System das Modell in seinen Speicher. Dies kann zu einer langsamen Antwort bei der ersten Frage führen.

Reine CPU-Systeme

Die Reaktionszeit des Befehlszeilen-Assistenten hängt von der verwendeten Hardware ab. Es ist zwar möglich, den Offline-RHEL-Befehlszeilen-Assistenten auf einem System ohne GPU mithilfe von CPU-Inferenz zu verwenden, dies führt jedoch zu langsamen Reaktionszeiten.

Das Client-Paket des Befehlszeilen-Assistenten, das in RHEL 9.6 und RHEL 10 verfügbar ist, läuft nach 30 Sekunden ab. Dieses 30-sekündige Timeout kann derzeit nicht konfiguriert werden. Es ist jedoch geplant, das Paket des Befehlszeilen-Assistenten in RHEL 9.7 und RHEL 10.1 zu aktualisieren, um ein konfigurierbares Timeout zu ermöglichen.

Darüber hinaus kann es zu einer langsamen Antwortzeit bei der ersten Abfrage kommen (wie oben erläutert), wodurch das 30-sekündige Timeout ausgelöst werden kann.

Für einzelne Systemanwendungsfälle vorgesehen

Die Offline-Version des RHEL-Befehlszeilen-Assistenten ist für einzelne Systemanwendungsfälle vorgesehen. Es kann beispielsweise auf einem RHEL-System gehostet und vom Client des Befehlszeilen-Assistenten auf diesem System genutzt werden. Alternativ lässt es sich auf einem Server hosten, wobei eine einzelne RHEL-Workstation mit einem Client des Befehlszeilen-Assistenten konfiguriert wird, um auf diesen Server zu verweisen, und so weiter. Es ist nicht dafür konzipiert, mit mehreren Clients des RHEL-Befehlszeilen-Assistenten zu skalieren, die sich mit einem System verbinden, das den Offline-Befehlszeilen-Assistenten hostet.  

Fazit

Die Einführung der neuen Offline-Version des RHEL-Befehlszeilen-Assistenten ist ein bedeutender Schritt nach vorne, wenn es darum geht, RHEL-Nutzende in Offline- oder nicht vernetzten Umgebungen zu unterstützen. Dieser leistungsstarke, eigenständige KI-gestützte Assistent bietet eine unschätzbare Ressource für RHEL-Nutzende, die häufig in Air-Gap-Netzwerken, an entfernten Standorten oder in Umgebungen mit eingeschränkter Internetverbindung arbeiten.

In der Vergangenheit stellte der Zugriff auf Ressourcen wie Dokumentation und Informationen zur Fehlerbehebung in Offline-Einstellungen eine große Herausforderung dar und konnte zu erhöhten Ausfallzeiten und Frustration führen. Die Offline-Version des RHEL-Befehlszeilen-Assistenten hilft Ihnen dabei, dieses Problem zu beheben, indem sie eine Fülle von Kenntnissen und KI-gesteuerten Problemlösungsfunktionen von RHEL Lightspeed direkt zur Verfügung stellt, unabhängig von der Netzwerkverfügbarkeit.

Weitere Details zur Offline-Version des RHEL-Befehlszeilen-Assistenten finden Sie in der Dokumentation.


Über die Autoren

Brian Smith is a product manager at Red Hat focused on RHEL automation and management.  He has been at Red Hat since 2018, previously working with public sector customers as a technical account manager (TAM).  

UI_Icon-Red_Hat-Close-A-Black-RGB

Nach Thema durchsuchen

automation icon

Automatisierung

Das Neueste zum Thema IT-Automatisierung für Technologien, Teams und Umgebungen

AI icon

Künstliche Intelligenz

Erfahren Sie das Neueste von den Plattformen, die es Kunden ermöglichen, KI-Workloads beliebig auszuführen

open hybrid cloud icon

Open Hybrid Cloud

Erfahren Sie, wie wir eine flexiblere Zukunft mit Hybrid Clouds schaffen.

security icon

Sicherheit

Erfahren Sie, wie wir Risiken in verschiedenen Umgebungen und Technologien reduzieren

edge icon

Edge Computing

Erfahren Sie das Neueste von den Plattformen, die die Operations am Edge vereinfachen

Infrastructure icon

Infrastruktur

Erfahren Sie das Neueste von der weltweit führenden Linux-Plattform für Unternehmen

application development icon

Anwendungen

Entdecken Sie unsere Lösungen für komplexe Herausforderungen bei Anwendungen

Virtualization icon

Virtualisierung

Erfahren Sie das Neueste über die Virtualisierung von Workloads in Cloud- oder On-Premise-Umgebungen