                 A CUPS hasznalata FreeBSD rendszereken

  Chess Griffin

   <chess@chessgriffin.com>

   $FreeBSD: release/9.1.0/hu_HU.ISO8859-2/articles/cups/article.sgml
   38826 2012-05-17 19:12:14Z hrs $

   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.

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

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

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

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
   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 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 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 alapu
   rendszerek, peldaul Linux 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 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 XP elo"tti valtozatai nem kepesek egyu:ttmu"ko:dni a
   halozaton megosztott IPP alapu nyomtatokkal. A Windows 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
   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
   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.

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

  Ha kerdese van a FreeBSD-vel kapcsolatban, a ko:vetkezo" cimre irhat
              (angolul): <freebsd-questions@FreeBSD.org>.
Ha ezzel a dokumentummal kapcsolatban van kerdese, kerju:k erre a cimre
                      irjon: <gabor@FreeBSD.org>.
