linux-suse-opensuse administration cups printing yast sles opensuse

CUPS: Print Server Management on SUSE (Artikel 159)

Verwaltung von Druckdiensten unter SUSE mittels CUPS. Erfahren Sie alles über die Einrichtung von Netzwerkdruckern, das Management von Warteschlangen und die grafische Steuerung via YaST.

# CUPS on SUSE: Der Enterprise Print-Server

TL;DR / Management Summary CUPS (Common Unix Printing System) ist das Rückgrat des Druckens unter Linux. In SUSE-Umgebungen ist CUPS tief integriert und erlaubt es, einen SLES-Server als zentralen Druckserver für hunderte Clients (Windows, Mac, Linux) bereitzustellen. Mit dem YaST Printer Modul lassen sich Treiber (PPDs) verwalten und Warteschlangen feingranular steuern. Ein Senior Admin muss wissen, wie er CUPS über das Netzwerk sicher freigibt und hängende Druckaufträge via CLI bereinigt.


# 1. Einführung & Architektur

Der Weg vom Dokument zum Papier.

CUPS nutzt das IPP (Internet Printing Protocol). Es empfängt Aufträge, konvertiert sie mittels PPD-Dateien (PostScript Printer Description) und sendet sie an den physischen Drucker.

# Der Druck-Stack (Mermaid)

graph LR
    A[Clients: PC / Laptop] -->|IPP Port 631| B[SUSE: CUPS Server]
    B --> C[Scheduler: cupsd]
    C --> D[Filter / Ghostscript]
    D --> E[Backend: USB / Network / LPD]
    E --> F[Physical Printer]
    G[YaST / Web UI] --> C

# 2. Einrichtung mit YaST

Drucker finden und binden.

Starten Sie das Modul: sudo yast2 printer.

  1. Print Configurations: Zeigt alle aktuell installierten Drucker.
  2. Add: Startet die Hardware-Erkennung. YaST scannt das lokale Netz nach IPP- und JetDirect-Druckern.
  3. Driver Selection: Wählen Sie den passenden PPD-Treiber. SUSE bringt tausende Treiber in den Paketen gutenprint und hplip mit.
  4. Share: Aktivieren Sie “Share Printers”, wenn andere Clients über diesen SLES-Server drucken sollen.

# 3. Die CUPS Web-Oberfläche

Administration im Browser.

Für detaillierte Statistiken und das Management von Jobs bietet CUPS ein eigenes Interface.

  • URL: https://<server_ip>:631
  • Sicherheit: Standardmäßig nur von localhost erreichbar. Zum Ändern in der /etc/cups/cupsd.conf:
    Listen *:631
    
      Order allow,deny
      Allow 192.168.1.*
    

# 4. Day-2 Operations: CLI Management

Wenn es schnell gehen muss.

# Drucker-Status prüfen

# Zeige alle Drucker und deren Zustand
lpstat -p -d

# Warteschlangen verwalten

# Zeige alle wartenden Aufträge
lpq -a

# Einen hängenden Auftrag löschen
cancel <Job-ID>

# Alle Aufträge eines Druckers löschen
lprm -P <Druckername> -

# 5. Troubleshooting & “War Stories”

Wenn der Drucker stumm bleibt.

# Story 1: “Der pausierte Drucker”

Symptom: Aufträge werden gesendet, landen in der Queue, werden aber nicht gedruckt. Der Status ist Enabled. Ursache: CUPS setzt einen Drucker bei Hardware-Fehlern (Papierstau, Toner leer) oft auf Paused. Lösung: Den Drucker manuell wieder aktivieren: sudo cupsenable <Druckername> und danach ggf. den Job neu starten: sudo cupsaccept <Druckername>.

# Story 2: “Das Treiber-Memory-Leak”

Symptom: Der cupsd Prozess verbraucht plötzlich GB-weise RAM, das Drucken wird extrem langsam. Ursache: Ein inkompatibler PPD-Filter (oft bei billigen Host-based Druckern) läuft in einer Endlosschleife bei der Konvertierung von PDF zu Raster. Lösung: Nutzen Sie generische PostScript oder PCL Treiber statt der herstellerspezifischen Spezial-Software, wenn der Drucker dies unterstützt.


# 6. Fazit & Empfehlung

  • Sicherheit: Nutzen Sie für Remote-Drucken immer HTTPS (Port 631).
  • Standardisierung: Nutzen Sie nach Möglichkeit nur Drucker, die den IPP-Standard nativ unterstützen.
  • Backup: Sichern Sie regelmäßig den Ordner /etc/cups/. Hier liegen alle PPDs und die Konfiguration Ihrer Warteschlangen.

# Anhang: Cheatsheet

Aufgabe SUSE / CLI Befehl
CUPS Status systemctl status cups
Default Drucker setzen lpoptions -d <name>
Testseite drucken lp -d <name> /usr/share/cups/data/testprint
Drucker löschen lpadmin -x <name>
Alle Jobs sehen lpstat -o
Web UI Login Root-User des Linux-Systems
Log-Datei /var/log/cups/error_log