                     A CUPS hasznalata FreeBSD rendszereken

  Griffin, Chess

   <chess@chessgriffin.com>

   Verzio: 8def749c53

   A FreeBSD a FreeBSD Foundation bejegyzett vedjegye.

   A gyartok es terjeszto"k altal hasznalt megnevezesek ko:zu:l sok vedjegy
   jogot ko:vetel. Ahol ilyen megnevezes tu"nik fel ebben a dokumentumban, es
   a FreeBSD Projektnek tudomasa volt a vedjegyro"l, a megnevezest a "TM"
   vagy a "(R)" szimbolum ko:veti.

   2013-11-13 07:52:45 +0000 irta Hiroki Sato.
   Kivonat

   Ez a cikk a CUPS beallitasat es hasznalatat mutatja be a FreeBSD operacios
   rendszeren.

   Forditotta: Pali Gabor, utolso elleno"rzes: 2010.11.28.

   [ Fejezetekre darabolt dokumentum / Teljes dokumentum ]

     ----------------------------------------------------------------------

   Tartalom

   1. A Common Unix Printing System (CUPS) ro:vid bemutatasa

   2. A CUPS nyomtatoszerver telepitese

   3. A CUPS nyomtatoszerver beallitasa

   4. Nyomtatok beallitasa a CUPS nyomtatoszerverehez

   5. A CUPS kliensek beallitasa

   6. Hibakereses

   7. A CUPS portok finomhangolasa

   Targymutato

1. A Common Unix Printing System (CUPS) ro:vid bemutatasa

   A CUPS, avagy Common UNIX Printing System (Egyseges UNIX Nyomtatasi
   Rendszer) a UNIX(R) alapu operacios rendszerekhez fejlesztett hordozhato
   nyomtatasi reteg. Az Easy Software Products egy szabvanyos nyomtatasi
   technologiakent alkotta meg a UNIX(R) gyartok es felhasznalok szamara.

   A CUPS az un. Internet Printing Protocol (IPP, Internetes Nyomtatasi
   Protokoll) megoldasaira tamaszkodoan kezeli a nyomtatasi feladatokat es
   sorokat. Emellett meg a Line Printer Daemon (LPD), a Server Message Block
   (SMB) es AppSocket (vagy mas neven JetDirect) protokollokat is ismeri
   valamennyire. A CUPS a hetko:znapi igenyeknek megfelelo" UNIX(R) alapu
   nyomtatas megteremtesehez ezenkivu:l meg tamogatja a halozati nyomtatok
   bo:ngeszesenek leheto"seget, illetve a PostScript Printer Description
   (PPD, PostScript Nyomtato Leiras) hasznalatat. Ennek eredmenyekeppen a
   CUPS to:keletesen alkalmas nyomtatok megosztasara es eleresere FreeBSD,
   Linux(R) Mac OS(R) X vagy Windows(R) tipusu rendszereket vegyesen
   tartalmazo ko:rnyezetekben.

   A CUPS hivatalos oldala a http://www.cups.org/ cimen erheto" el.

2. A CUPS nyomtatoszerver telepitese

   A CUPS telepitheto" portkent vagy csomagkent. Ha portkent szeretnenk
   telepiteni, akkor ahhoz a ko:vetkezo" parancsot kell kiadnunk
   rendszergazdakent:

 # cd /usr/ports/print/cups && make install clean

   A CUPS csomagjanak telepiteset pedig ezzel a paranccsal tudjuk (szinten
   rendszergazdakent) elvegezni:

 # pkg_add -r cups

   Tovabbi nem ko:telezo"en telepitendo", de hatarozottan ajanlott csomagok
   meg a print/gutenprint-cups es a print/hplip, amelyek ku:lo:nbo:zo" tipusu
   nyomtatokhoz tartalmaznak meghajtokat es segedprogramokat. A CUPS
   telepitese utan a hozza tartozo konfiguracios allomanyokat a
   /usr/local/etc/cups ko:nyvtarban talalhatjuk.

3. A CUPS nyomtatoszerver beallitasa

   A CUPS szerver telepitese utan nehany allomany modositasaval vegezhetju:k
   el a szu:kseges beallitasokat. Elo"szo:r is hozzunk letre (ha meg nem
   letezne) vagy nyissuk meg az /etc/devfs.rules allomanyt es a cups csoport
   szamara adjunk hozzaferest a rendszeru:nkben talalhato o:sszes nyomtatora:

 [system=10]
 add path 'unlpt*' mode 0660 group cups
 add path 'ulpt*' mode 0660 group cups
 add path 'lpt*' mode 0660 group cups
 add path 'usb/X.Y.Z' mode 0660 group cups

  Megjegyzes:

   Az X, Y es Z helyen a nyomtato /dev/usb ko:nyvtarban szereplo" ertekeit
   adjuk meg. A nyomtatohoz tartozo eszko:zleirot a dmesg(8) kimeneteben
   talaljuk meg ugenX.Y neven, amely egy szimbolikus link a /dev/usb
   ko:nyvtarban talalhato megfelelo"jere.

   Ezutan az /etc/rc.conf allomanyba meg vegyu:k fel a ko:vetkezo" ket sort:

 cupsd_enable="YES"
 devfs_system_ruleset="system"

   Az imenti bejegyzesek gondoskodnak a CUPS nyomtatoszerver beu:zemelesero"l
   a rendszer inditasa soran, illetve to:ltik be az elo"bbi lepesben
   letrehozott helyi devfs szabalyokat.

   Bizonyos Microsoft(R) Windows(R) rendszert hasznalo kliensekkel csak akkor
   fogunk tudni nyomtatni a CUPS eseteben, ha a
   /usr/local/etc/cups/mime.types es /usr/local/etc/cups/mime.convs
   allomanyokban kivesszu:k a megjegyzesbo"l ezt a sort:

 application/octet-stream

   Miutan vegrehajtottuk ezeket a modositasokat, az alabbi parancsok
   hasznalataval vagy az operacios rendszerrel egyu:tt inditsuk ujra a
   devfs(8) es CUPS szolgaltatasokat:

 # /etc/rc.d/devfs restart
 # /usr/local/etc/rc.d/cupsd restart

4. Nyomtatok beallitasa a CUPS nyomtatoszerverehez

   A CUPS sikeres telepiteset es beallitasat ko:veto"en elkezdhetju:k a
   nyomtatoszerverhez kapcsolodo helyi nyomtatok hozzaadasat. Ez nagyon
   hasonlo, ha nem is teljesen megegyezo" mas UNIX(R) alapu rendszerek,
   peldaul Linux(R) eseten a nyomtatok beallitasahoz.

   A CUPS szerver iranyitasa es mu"ko:dtetese elso"sorban az altala felkinalt
   webes felu:leten to:rtenik, amelyet a http://localhost:631 cimen
   keresztu:l tudunk elerni. Amennyiben a CUPS egy masik szamitogepen fut,
   akkor a cimben termeszetesen a localhost (sajat gepu:nk) helyen az adott
   gep IP-cimet kell megadnunk. A CUPS webes felu:leten megleheto"sen
   ko:nnyen lehet tajekozodni, ku:lo:n menu:ket talalunk a nyomtatok es
   nyomtatasi sorok beallitasara, a felhasznalok hitelesitesere es a to:bbi.
   Ezeken felu:l meg az "Administration" kepernyo" jobb oldalan ku:lo:nbo:zo"
   jelo:lo"negyzetekkel tudunk egyszeru"en do:nteni a gyakori beallitasokrol,
   peldaul a szerverhez csatlakozo nyomtatokat megosztjuk-e a halozaton
   keresztu:l, engedu:nk-e tovabbi felhasznalokat hozzaferni a
   szolgaltatasokhoz, kinek milyen engedelyei legyenek a nyomtatokra es
   nyomtatasi sorokra.

   A nyomtatok hozzaadasahoz elegendo" a CUPS webes felu:leten az
   "Administration" menu:n belu:l az "Add Printer" gombra vagy valamelyik
   "New Printers Found" gombra kattintani. A "Device" lego:rdu:lo" menu:
   megjelenese utan egyszeru"en valasszuk ki belo"le a megfelelo" helyileg
   csatlakoztatott nyomtatot, majd folytassuk a telepiteset. Ha telepitettu:k
   a korabban ajanlott print/gutenprint-cups es print/hplip programokat,
   akkor ennek soran a hozzajuk tartozo meghajtok is meg fognak jelenni,
   amelyek esetleg to:bbet tudnak vagy megbizhatobbak.

5. A CUPS kliensek beallitasa

   A CUPS szerver beallitasa, illetve a nyomtatok telepitese es megosztasa
   utan a kliensek, vagyis a CUPS altal kinalt szolgaltatasokat elerni kivano
   gepek beallitasa ko:vetkezik. Ha csupan egyetlen gepu:nk van, amely
   egyszerre szerver es kliens, akkor az itt szereplo" informaciok nagy
   reszere nem lesz szu:ksegu:nk.

  5.1. UNIX(R) kliensek

   A UNIX(R) kliensek eseteben is a CUPS hasznalatara lesz szu:ksegu:nk.
   Miutan rajuk is telepitettu:k, a CUPS altal halozaton megosztott
   nyomtatokat maguktol fel is ismerik a ku:lo:nbo:zo" munkako:rnyezetek,
   peldaul a GNOME vagy KDE nyomtatokezelo"i. Emellett a szerverhez hasonloan
   a kliensen is el tudjuk erni a http://localhost:631 cimen a CUPS helyi
   felhasznaloi felu:letet, ahol az "Administration" menu:ben az "Add
   Printer" gombbal tudunk felvenni a szervernel tapasztalt modon hasonlohoz.
   Amikor viszont megjelenik a "Device" lego:rdu:lo" menu:, akkor valasszuk
   az automatikusan felismert halozati CUPS nyomtatot, vagy az ipp es http
   elemek valamelyiken keresztu:l adjuk meg a halozati CUPS nyomtato IPP vagy
   HTTP alapu egyseges forrasazonositojat (URI) a ko:vetkezo" formak
   valamelyikeben:

 ipp://szervernev-vagy-ip/printers/nyomtatonev

 http://szervernev-vagy-ip:631/printers/nyomtatonev

   Ha a CUPS kliensek valamiert nem latnak a halozaton megosztott
   nyomtatokat, akkor probaljuk meg hozzaadni a
   /usr/local/etc/cups/client.conf allomanyhoz a ko:vetkezo" sort:

 ServerName szerver-ip

   Ahol a szerver-ip helyere irjuk be a halozatunkon talalhato CUPS szerver
   helyi IP-cimet.

  5.2. Windows(R) kliensek

   A Windows(R) XP elo"tti valtozatai nem kepesek egyu:ttmu"ko:dni a
   halozaton megosztott IPP alapu nyomtatokkal. A Windows(R) XP rendszerto"l
   kezdo"do"en azonban mar rendelkeznek a szu:kseges tamogatassal, ezert itt
   mar nagyon ko:nnyu" beallitani a CUPS nyomtatokat. Ehhez
   rendszeradminisztratorkent futtassuk a Windows(R) a nyomtatok
   hozzaadasahoz tartozo varazslojat, ahol valasszuk a "Halozati nyomtato"
   tipust, majd a ko:vetkezo" formaban to:ltsu:k ki az eszko:z
   forrasazonositojat:

 http://szervernev-vagy-ip:631/printers/nyomtatonev

   Ha az IPP tamogatasat meg nem tartalmazo regebbi Windows(R) valtozatunk
   van, akkor a CUPS szolgaltatasait a net/samba3 szerveren keresztu:l tudjuk
   elerheto"ve tenni, azonban ennek bemutatasaval itt most nem foglalkozunk.

6. Hibakereses

   A CUPS hasznalata soran tapasztalhato problemak to:bbseget az engedelyek
   helytelen beallitasa okozza. Elo"szo:r tehat, ha valami nem mu"ko:dik
   rendesen, akkor elleno"rizzu:k ujra az elo"bb felvazolt devfs(8)
   beallitasokat. Ezutan gyo"zo"dju:nk meg arrol is, hogy az
   allomanyrendszerben tenylegesen keletkezo" eszko:zo:k engedelyei
   megfelelo"ek. Tovabba segithet megoldani a problemat, ha felvesszu:k a
   felhasznalonkat a korabban targyalt cups csoportba. Ha a CUPS felhasznaloi
   felu:letenek "Administration" kepernyo"jen talalhato beallitasok latszolag
   hatastalanok, akkor erdemes ugy probalkoznunk, hogy elo"szo:r keszitu:nk
   egy bizonsagi masolatot a /usr/local/etc/cups/cupsd.conf allomanyrol es
   kezzel modositgatva kiserletezu:nk ku:lo:nfele konfiguracios leheto"segek
   kombinacioival. Ehhez talalhatunk itt egy peldat. Ezzel kapcsolatban
   azonban megjegyezzu:k, hogy a bemutatott cupsd.conf allomany inkabb
   attekintheto" mintsem biztonsagos modon targyalja a leheto"segeket. Ezert
   javasoljuk, hogy miutan sikeru:lt elernu:nk a CUPS szervert es beallitani
   a klienseket, nezzu:k at alaposan a mintaul szolgalo opciokat es
   korlatozzuk le minel jobban a hozzaferest.

 # Altalanos informaciok naplozasa.  Ha hibat keresu:nk, irjuk az
 # "info" helyett a "debug" erteket.
 LogLevel info

 # A rendszergazdak csoportja.
 SystemGroup wheel

 # A 631-es porton varjuk a kliensek kapcsolodasat.
 Port 631
 #Listen localhost:631
 Listen /var/run/cups.sock

 # A helyi halozaton megosztott nyomtatok mutatasa.
 Browsing On
 BrowseOrder allow,deny
 #BrowseAllow @LOCAL
 BrowseAllow 192.168.1.*   # Adjuk meg a helyi halozatunkat.
 BrowseAddress 192.168.1.* # Adjuk meg a helyi halozatunkat.

 # Alapertelmezett hitelesitesi modszer, amikor szu:kseg van ra.
 DefaultAuthType Basic
 DefaultEncryption Never # Vegyu:k ki ezt a sort, ha titkositani akarunk.

 # A szervert a helyi halozaton barmelyik gep elerheti.
 <Location />
   Order allow,deny
   #Allow localhost
   Allow 192.168.1.* # Adjuk meg a helyi halozatunkat.
 </Location>

 # A helyi halozatrol el tudjuk erni az adminisztracios felu:letet.
 <Location /admin>
   #Encryption Required
   Order allow,deny
   #Allow localhost
   Allow 192.168.1.* # Adjuk meg a helyi halozatunkat.
 </Location>

 # A helyi halozatunkrol el tudjuk erni a konfiguracios allomanyt.
 <Location /admin/conf>
   AuthType Basic
   Require user @SYSTEM
   Order allow,deny
   #Allow localhost
   Allow 192.168.1.* # Adjuk meg a helyi halozatunkat.
 </Location>

 # Az alapertelmezett nyomtatasi es feladatkezelesi hazirendek.
 <Policy default>
   # A feladatokat kizarolag csak a tulajdonosaik vagy a rendszergazda
   # kepesek elvegezni.
   <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs \
 Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription \
 Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job \
 CUPS-Move-Job>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>

   # A karbantartast csak megfelelo" hitelesites utan vegezhetu:nk.
   <Limit Pause-Printer Resume-Printer Set-Printer-Attributes Enable-Printer \
 Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs \
 Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer \
 Promote-Job Schedule-Job-After CUPS-Add-Printer CUPS-Delete-Printer CUPS-Add-Class \
 CUPS-Delete-Class CUPS-Accept-Jobs CUPS-Reject-Jobs CUPS-Set-Default>
     AuthType Basic
     Require user @SYSTEM
     Order deny,allow
   </Limit>

   # A feladatokat csak a tulajdonosaik es a rendszergazda tudjak to:ro:lni.
   <Limit Cancel-Job CUPS-Authenticate-Job>
     Require user @OWNER @SYSTEM
     Order deny,allow
   </Limit>

   <Limit All>
     Order deny,allow
   </Limit>
 </Policy>

7. A CUPS portok finomhangolasa

   Ha a CUPS lesz az elso"dlegesen hasznalt nyomtatasi rendszer, akkor az
   /etc/make.conf allomanyban erdemes lehet meg tovabbi olyan valtozokat
   beallitanunk, amelyek elo"terbe helyezik a CUPS hasznalatat a to:bbi
   nyomtatasi leheto"seggel szemben. Ezek ko:zu:l most szot ejtu:nk
   nehanyrol:

 WITH_CUPS=YES
 CUPS_OVERWRITE_BASE=YES
 WITHOUT_LPR=YES

   Elso"kent a WITH_CUPS lathato, amely hatasara a portok telepitesu:k soran
   leheto"seg szerint a CUPS megoldasaira fognak epitkezni. Masodikkent a
   CUPS_OVERWRITE_BASE szerepel, amely megadasaval a telepites soran a
   FreeBSD alapertelmezett nyomtatasi rendszere, az LPR szimbolikus linkjei
   es allomanyai cserelo"dnek le, illetve megakadalyozza, hogy ez
   visszaforduljon a rendszer egy keso"bbi frissitesekor. A harmadik, a
   WITHOUT_LPR az LPR hasznalatanak mello"zesere utasitja az erintett
   portokat.

Targymutato

  C

   CUPS, A Common Unix Printing System (CUPS) ro:vid bemutatasa

  N

   nyomtatas, A Common Unix Printing System (CUPS) ro:vid bemutatasa
