Beschreibung
Das Common UNIX Printing System („CUPS“) ist eine plattformübergreifende Drucklösung für alle UNIX-Umgebungen. Es basiert auf dem „Internet Printing Protocol“ und bietet vollständige Druckdienste für die meisten PostScript- und Rasterdrucker. CUPS ist ein Ersatz für das LPD-Drucksystem. Es ersetzt den lpr-Befehl durch seine eigene und die LPD-Druckertreiber durch eigene Versionen.
CUPS ähnelt LPD jedoch dahingehend, dass es PostScript als zugrunde liegende Sprache für Seitenbeschreibungen verwendet. Linux- (und UNIX-) Programme kennen den Unterschied zwischen CUPS und LPD nicht. Dieser Dienst führt einen Druckerserver-Daemon aus. Der Daemon sendet Informationen über seine Drucker und Klassen in das lokale Netzwerk. Jede Maschine im lokalen Netzwerk, auf der ein CUPS-Daemon läuft, empfängt diese Signale. Dadurch weiß es, welche Drucker im lokalen Netzwerk verfügbar sind. Ein CUPS-Client muss also nur seinen CUPS-Daemon starten und hat Zugriff auf alle Drucker im lokalen Netzwerk.
# yum install cups # yum install cups-lpd
Dienststeuerung
Das Skript zur Verwaltung des cups-Dienstes ist /etc/init.d/cups . Wenn Drucken erforderlich ist, wurde der Cups-Dienst so aktiviert, dass er beim Serverstart automatisch gestartet wird, z. B.:
# chkconfig --add cups # chkconfig --list cups cups 0:off 1:off 2:on 3:on 4:on 5:on 6:off
Aktivieren Sie den Dienst cups-lpd, z. B.:
# chkconfig cups-lpd on
Verwendung:
# service cups Usage: cups {start|stop|restart|condrestart|reload|status}
Beispiele:
# service cups status cupsd (pid 2308) is running...
# service cups stop Stopping cups: [ OK ]
# service cups start Starting cups: [ OK ]
# service cups restart Stopping cups: [ OK ] Starting cups: [ OK ]
# service cups condrestart Stopping cups: [ OK ] Starting cups: [ OK ]
# service cups reload Reloading cups: [ OK ]
# service cups status cupsd (pid 3689) is running...
Nachdem der Dienst gestartet wurde, läuft ein cupsd-Daemon, der auf seinem Standardport 631 lauscht, z. B.:
# ps -aux|grep cupsd root 17591 0.0 0.7 9704 2080 ? Ss 02:48 0:00 cupsd
# netstat -anp|grep cups tcp 0 0 127.0.0.1:631 0.0.0.0:* LISTEN 17591/cupsd udp 0 0 0.0.0.0:631 0.0.0.0:* 17591/cupsd
Konfiguration
1. Zugriffskontrolle
Die zentrale Konfigurationsdatei des Cups-Daemons ist /etc/cups/cupsd.conf . Die Syntax ist vergleichbar mit der, die von der Apache-Webserver-Konfigurationsdatei benötigt wird. Die Zugriffskontrolle, die entscheidet, wer drucken darf, wird mithilfe von Location-Abschnitten konfiguriert, z. B.:
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 </Location>
Deny-Anweisungen werden zuerst behandelt, gefolgt von Allow-Anweisungen. Standardmäßig wird der Zugriff von allen Hosts verweigert, mit Ausnahme von 127.0.0.1, dem lokalen Host. Im Beispiel unten dürfen Hosts aus dem Localhost (127.0.0.1) und dem Netzwerkadressraum 10.182.121.0/25 Drucker auf dem System verwenden.
<Location /> Order Deny,Allow Deny From All Allow From 127.0.0.1 Allow From 10.182.121.0/25 </Location>
2. Konfigurationstool
Sobald der Cups-Daemon gestartet ist, kann CUPS über seine Weboberfläche konfiguriert werden – http://localhost:631. Wenn Sie dazu aufgefordert werden, geben Sie die Root-Anmeldeinformationen ein. Drucker können zur CUPS-Konfiguration hinzugefügt werden, indem Sie auf „Verwalten“ und die Schaltflächen „Drucker hinzufügen“ klicken. Die Webschnittstelle fragt nach zusätzlichen Druckerinformationen, z. B.:
Name – Name des Druckers.
Standort – der physische Standort des Druckers.
Beschreibung – eine Beschreibung des Druckers
Klicken Sie auf „Weiter“. ‘ Taste, um zu konfigurieren, wie der Drucker angeschlossen ist. Wählen Sie nach der Konfiguration des Druckeranschlusses die Marke und das Modell des Druckers aus. Sobald die Druckerkonfiguration abgeschlossen ist, wird der Drucker zur CUPS-Konfiguration hinzugefügt. Das Folgende ist ein Beispiel für eine cups-Konfigurationsdatei, nachdem ein Drucker hinzugefügt wurde:
$ cat /etc/cups/printers.conf # Printer configuration file for CUPS v1.3.5 # Written by cupsd on 2008-04-01 11:14 <Printer Printer> Info HP printer <- PRINTER BRAND AND MODEL Location 2nd Floor <- LOCATION DeviceURI parallel:/dev/lp0 <- PRINTER ATTACHED TO LOCAL MACHINE State Idle StateTime 1207041285 Accepting Yes Shared Yes JobSheets none none QuotaPeriod 0 PageLimit 0 KLimit 0 OpPolicy default ErrorPolicy stop-printer </Printer>
Ein entsprechender Eintrag erscheint nun in der /etc/printcap Datei, also:
$ cat /etc/printcap # This file was automatically generated by cupsd(8) from the # /etc/cups/printers.conf file. All changes to this file # will be lost. Printer|HP printer:rm=hostname.cn.oracle.com:rp=Printer:Hinweis :Bearbeiten Sie nicht die Datei /etc/printcap oder Dateien im Verzeichnis /etc/cups/. Jedes Mal, wenn der cups-Daemon gestartet oder neu gestartet wird, werden neue Konfigurationsdateien dynamisch erstellt. Die Dateien werden auch dynamisch neu erstellt, wenn Änderungen mithilfe von Systemdruckkonfigurationstools angewendet werden.