CUPS

From EIK wiki

Wiki versioonid

Autor: Kristjan Vask ITK, viimati uuendatud 17.05.2011
Uuendus: Ivar Ambos, Kristjan Väljako --Iambos 10:53, 27 October 2011 (EEST)

v0.1 - sissejuhatus ja ülevaade olemas
v0.2 - paigaldamine ja konf
v0.3 - allikad, piirangud, struktuur korrigeeritud
v0.4 - halduskäsud
v0.5 - info piirangute kohta
v1.0 - parandatud sõnastust, artikkel valmis kasutamiseks

Sissejuhatus

CUPS (eelnevalt tuntud kui Common Unix Printing System, kuid hetkel ilma ametliku nimeta) on printimise süsteem unix-laadsetele op süsteemidele. Cups võimaldab arvutil käituda kui printserver.Esimene stabiilne väljalase toimus 1. juunil 1999. Arvuti mis jooksutab CUPSi on võimaline kätlema printimistöid klientarvutitelt, neid protsessima ning saatma need seejärel korrektsesse printerisse. CUPS koosneb print spoolerist ja ajastajast, filtersüsteemist mis konverteerib printimisandmed formaati mida printer mõistab ning backend süsteemist, mis saadab andmed edasi printerile. Cups kasutab Internet Printing Protocol-i (IPP) tööde ja järjekordade haldamiseks. CUPS on vaikimisi sees paljudes Linuxi distributsioonides. CUPS kasutab GNU litsentsi. Võimaldab Kerberose abil autentimist. Ülevaade on tehtud CUPS versiooni 1.4.6 järgi.

Ülevaade

CUPSi abil on võimalik protsessida mitmeid erinevaid andmeformaate otse printserveril. Enne CUPSi oli raske leida standardiseeritud printerite haldamise süsteemi mis võimaldaks käsitleda laia valikut printereid kuna paljud printeritootjad kasutasid oma endi formaate. CUPS võimaldab driveri- ja printeritootjatel lihtsamini ehitate draivereid mis töötavad ka printserveril.

Tööde protsessimine toimub serveril, võimaldamaks lihtsamalt võrguprintimist seadistada. Kui installitud on ka Samba, siis on kasutajatel võimalik kasutada ka võrgus olevaid Windowsi arvutite taga olevaid printereid. Haldusega on võimalik tegeleda mitmete graafiliste vahendite abil või käsurealt.

Web interface näeb välja selline ning on lihtsasti kasutatav:

Cups administration interface.PNG

Paigaldamine

Ubuntu töölauaversioonidel (näiteks 10.10) on CUPS juba vaikimisi peal, serverile saab selle peale tavalise apt-get käsuga

apt-get install cups

Konfigureerimine

Kõige kiirem ja mõistlikum on kasutada konfigureerimiseks web interface-i mis asub aadressil http://localhost:631/, ligi pääseb tavalise brauseriga.

Selle näitejuhendi eesmärk on aga tutvustada cupsi seadistamist võimaldamaks võrguprintimist linuxi arvutite jaoks käsurealt. Printerile soovitan kindlasti määrata staatilise ip ning siin juhendis käsitletakse samuti staatilise ip-ga printerit. Konfimiseks tarvilikud juurkasutaja õigused. Juhendi täitmiseks on tarvilikud linuxi käsurea baasteadmised ning eeldab võrgunduse põhitõdede tundmist, juhend pole seega päris algaja jaoks.

Enne pihta hakkamamist teeme varukoopia cupsi konfiguratsioonifailist, kui midagi nihu läheb on hea lihtne taastada:

cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.backup

Kui backup tehtud siis võib avada faili cupsd.conf sobiva tekstiredaktoriga.

nano /etc/cups/cupsd.conf

1. asjana tuleks otsida üles selline rida :

#ServerName myhost.domain.com

Kui seda pole siis tuleb see lisada.

myhost.domain.com asemele tuleks panna printserveri hostname või staatiline ip aadress, näitena on kasutatud ip-d. Välja näeks see rida konfifailis sedasi:

ServerName 192.168.1.5

Järgmiseks tuleks lisada broadcast aadressi rida, kasutada tuleb võrgu broadcast aadressi, näites on aadress selline:

BrowseAddress 192.168.1.255

Viimasena tuleks otsida üles konfifailist sellised read:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
</Location>

Lisa uus rida peale "Allow From 127.0.0.1" ja lisa sinna ip aadressite vahemik mis on kasutusel sinu võrgus. Välja näeks see näiteks sedasi:

<Location />
Order Deny,Allow
Deny From All
Allow From 127.0.0.1
Allow From 192.168.1.*
</Location>

Muudatuste jõustamiseks tuleks CUPS restartida, iga kord kui muuta cupsd.conf faili, tuleb selle jõustamiseks cups restartida.

/etc/init.d/cupsd restart

Tööjaamadel tuleks muuta faili /etc/cups/client.conf ning lisada sinna printserveri ip-ga rida, näiteks:

ServerName 192.168.1.5

Printeri lisamine serverile

Postscript driveriga printeri lisamine:

sudo /usr/sbin/lpadmin -p kontori_printer1 -E -v ipp://192.168.1.12 -m postscript.ppd.gz

Printerinime võiks asendada sobilikuga ning ip printeri aadressiga, driveri enda printerile sobivaga. Driverit tuleb hoida kaustas /usr/share/ppd või /usr/share/cups/model.

PPD faili puudumisel saab selle tõmmata printeri tootja kodulehelt või näiteks siit http://www.cups.org/ppd.php. Cupiga tulevad vaikimisi kaasa samuti mõned generic ppd-d.

Kasulikud käsud haldustööks

Näitab kõiki printimise järjekorras olevaid töid

lpq -a

Näitab kõiki printimise järjekorras olevaid töid koos printeri nimega

lpstat -o 

Näitab printerite nimekirja koos IP-ga

lpstat -v 

Otsib vastavat printerit

lpstat -v | grep printer_9

Näitab printerite nimekirja koos olekuga

lpstat -p 

printerinimi Näitab kindla printeri töid

lpq -P 

Kui printeri olek on disabled, siis enablemiseks on käsk:

sudo /usr/sbin/lpadmin -p printerinimi -E 

(masinas on käsk sudo /usr/bin/enable nimi)

Printimise testimiseks

lp -d printerinimi failinimi

Kustutab kindla printeri kõik tööd

sudo lprm -P printeri nimi

Kustutab kõik tööd cupsil

cancel -a printername

Piirangute seadmine

Cupsil on olemas algelised võimalused printimise üle arve pidamiseks ja piirangute seadmiseks Iga prinditud leht logitakse faili/var/log/cups/page_log. Failist võib välja lugeda kes printis ja kui palju. Süsteem põhines CUPS filtritel mis analüüsib PostScript andmevoogu et määrata prinditud lehtede arvu.

Näide kuidas määrata printimise limiiti 100lk

lpadmin -p printer2 -o job-quota-period=604800 -o job-page-limit=100

Job-quota-period tähendab piirangu rakendamiseks määratud aega, aeg on antud sekundites. Kuna tegemist on väga algelise piirangumehhanismiga siis ei saa piiranguid määrata kasutajapõhiselt, mis tähendab et printer võib printida nädalas 100 lk kõigi kasutajate peale kokku. Soovitav on kasutada piirangute haldamiseks CUPSiga ühilduvat lisatarkvara, näiteks PyKota-t.

Kasutatud kirjandus

http://dev.linuxfoundation.org/~till/printing-tutorial/tut.html

http://www.cups.org/documentation.php/doc-1.4/network.html

http://www.linuxquestions.org/linux/answers/Networking/Setting_Up_a_Network_Printer_using_CUPS

http://www.linuxfoundation.org/collaborate/workgroups/openprinting/database/cupsfaq

http://www.linuxjournal.com/article/8618