doc/documentation/content/hu/articles/cups/_index.adoc
Sergio Carlavilla Delgado 989d921f5d Migrate doc to Hugo/AsciiDoctor
I'm very pleased to announce the release of
our new website and documentation using
the new toolchain with Hugo and AsciiDoctor.

To get more information about the new toolchain
please read the FreeBSD Documentation Project Primer[1],
Hugo docs[2] and AsciiDoctor docs[3].

Acknowledgment:
Benedict Reuschling <bcr@>
Glen Barber <gjb@>
Hiroki Sato <hrs@>
Li-Wen Hsu <lwhsu@>
Sean Chittenden <seanc@>
The FreeBSD Foundation

[1] https://docs.FreeBSD.org/en/books/fdp-primer/
[2] https://gohugo.io/documentation/
[3] https://docs.asciidoctor.org/home/

Approved by:    doceng, core
2021-01-26 00:31:29 +01:00

259 lines
14 KiB
Text

---
title: A CUPS használata FreeBSD rendszereken
authors:
- author: Chess Griffin
email: chess@chessgriffin.com
releaseinfo: "$FreeBSD$"
trademarks: ["freebsd", "general"]
---
= A CUPS használata FreeBSD rendszereken
:doctype: article
:toc: macro
:toclevels: 1
:icons: font
:sectnums:
:sectnumlevels: 6
:source-highlighter: rouge
:experimental:
:toc-title: Tartalom
:table-caption: Táblázat
:figure-caption: Ábra
:example-caption: Példa
[.abstract-title]
Kivonat
Ez a cikk a CUPS beállítását és használatát mutatja be a FreeBSD operációs rendszeren.
_Fordította: Páli Gábor, utolsó ellenõrzés: 2010.11.28._
'''
toc::[]
[[printing-cups]]
== A Common Unix Printing System (CUPS) rövid bemutatása
A CUPS, avagy _Common UNIX Printing System_ (Egységes UNIX Nyomtatási Rendszer) a UNIX(R) alapú operációs rendszerekhez fejlesztett hordozható nyomtatási réteg. Az Easy Software Products egy szabványos nyomtatási technológiaként alkotta meg a UNIX(R) gyártók és felhasználók számára.
A CUPS az ún. _Internet Printing Protocol_ (IPP, Internetes Nyomtatási Protokoll) megoldásaira támaszkodóan kezeli a nyomtatási feladatokat és sorokat. Emellett még a _Line Printer Daemon_ (LPD), a _Server Message Block_ (SMB) és _AppSocket_ (vagy más néven __JetDirect__) protokollokat is ismeri valamennyire. A CUPS a hétköznapi igényeknek megfelelõ UNIX(R) alapú nyomtatás megteremtéséhez ezenkívül még támogatja a hálózati nyomtatók böngészésének lehetõségét, illetve a _PostScript Printer Description_ (PPD, PostScript Nyomtató Leírás) használatát. Ennek eredményeképpen a CUPS tökéletesen alkalmas nyomtatók megosztására és elérésére FreeBSD, Linux(R) Mac OS(R) X vagy Windows(R) típusú rendszereket vegyesen tartalmazó környezetekben.
A CUPS hivatalos oldala a http://www.cups.org/[http://www.cups.org/] címen érhetõ el.
[[printing-cups-install]]
== A CUPS nyomtatószerver telepítése
A CUPS telepíthetõ portként vagy csomagként. Ha portként szeretnénk telepíteni, akkor ahhoz a következõ parancsot kell kiadnunk rendszergazdaként:
[source,bash]
....
# cd /usr/ports/print/cups && make install clean
....
A CUPS csomagjának telepítését pedig ezzel a paranccsal tudjuk (szintén rendszergazdaként) elvégezni:
[source,bash]
....
# pkg_add -r cups
....
További nem kötelezõen telepítendõ, de határozottan ajánlott csomagok még a package:print/gutenprint-cups[] és a package:print/hplip[], amelyek különbözõ típusú nyomtatókhoz tartalmaznak meghajtókat és segédprogramokat. A CUPS telepítése után a hozzá tartozó konfigurációs állományokat a [.filename]#/usr/local/etc/cups# könyvtárban találhatjuk.
[[printing-cups-configuring-server]]
== A CUPS nyomtatószerver beállítása
A CUPS szerver telepítése után néhány állomány módosításával végezhetjük el a szükséges beállításokat. Elõször is hozzunk létre (ha még nem létezne) vagy nyissuk meg az [.filename]#/etc/devfs.rules# állományt és a `cups` csoport számára adjunk hozzáférést a rendszerünkben található összes nyomtatóra:
[.programlisting]
....
[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
....
[NOTE]
====
Az _X_, _Y_ és _Z_ helyén a nyomtató [.filename]#/dev/usb# könyvtárban szereplõ értékeit adjuk meg. A nyomtatóhoz tartozó eszközleírót a man:dmesg[8] kimenetében találjuk meg [.filename]#ugenX.Y# néven, amely egy szimbolikus link a [.filename]#/dev/usb# könyvtárban található megfelelõjére.
====
Ezután az [.filename]#/etc/rc.conf# állományba még vegyük fel a következõ két sort:
[.programlisting]
....
cupsd_enable="YES"
devfs_system_ruleset="system"
....
Az iménti bejegyzések gondoskodnak a CUPS nyomtatószerver beüzemelésérõl a rendszer indítása során, illetve töltik be az elõbbi lépésben létrehozott helyi devfs szabályokat.
Bizonyos Microsoft(R) Windows(R) rendszert használó kliensekkel csak akkor fogunk tudni nyomtatni a CUPS esetében, ha a [.filename]#/usr/local/etc/cups/mime.types# és [.filename]#/usr/local/etc/cups/mime.convs# állományokban kivesszük a megjegyzésbõl ezt a sort:
[.programlisting]
....
application/octet-stream
....
Miután végrehajtottuk ezeket a módosításokat, az alábbi parancsok használatával vagy az operációs rendszerrel együtt indítsuk újra a man:devfs[8] és CUPS szolgáltatásokat:
[source,bash]
....
# /etc/rc.d/devfs restart
# /usr/local/etc/rc.d/cupsd restart
....
[[printing-cups-configuring-printers]]
== Nyomtatók beállítása a CUPS nyomtatószerveréhez
A CUPS sikeres telepítését és beállítását követõen elkezdhetjük a nyomtatószerverhez kapcsolódó helyi nyomtatók hozzáadását. Ez nagyon hasonló, ha nem is teljesen megegyezõ más UNIX(R) alapú rendszerek, például Linux(R) esetén a nyomtatók beállításához.
A CUPS szerver irányítása és mûködtetése elsõsorban az általa felkínált webes felületen történik, amelyet a http://localhost:631[http://localhost:631] címen keresztül tudunk elérni. Amennyiben a CUPS egy másik számítógépen fut, akkor a címben természetesen a `localhost` (saját gépünk) helyén az adott gép IP-címét kell megadnunk. A CUPS webes felületén meglehetõsen könnyen lehet tájékozódni, külön menüket találunk a nyomtatók és nyomtatási sorok beállítására, a felhasználók hitelesítésére és a többi. Ezeken felül még az "Administration" képernyõ jobb oldalán különbözõ jelölõnégyzetekkel tudunk egyszerûen dönteni a gyakori beállításokról, például a szerverhez csatlakozó nyomtatókat megosztjuk-e a hálózaton keresztül, engedünk-e további felhasználókat hozzáférni a szolgáltatásokhoz, kinek milyen engédelyei legyenek a nyomtatókra és nyomtatási sorokra.
A nyomtatók hozzáadásához elegendõ a CUPS webes felületén az "Administration" menün belül az "Add Printer" gombra vagy valamelyik "New Printers Found" gombra kattintani. A "Device" legördülõ menü megjelenése után egyszerûen válasszuk ki belõle a megfelelõ helyileg csatlakoztatott nyomtatót, majd folytassuk a telepítését. Ha telepítettük a korábban ajánlott package:print/gutenprint-cups[] és package:print/hplip[] programokat, akkor ennek során a hozzájuk tartozó meghajtók is meg fognak jelenni, amelyek esetleg többet tudnak vagy megbízhatóbbak.
[[printing-cups-clients]]
== A CUPS kliensek beállítása
A CUPS szerver beállítása, illetve a nyomtatók telepítése és megosztása után a kliensek, vagyis a CUPS által kínált szolgáltatásokat elérni kívánó gépek beállítása következik. Ha csupán egyetlen gépünk van, amely egyszerre szerver és kliens, akkor az itt szereplõ információk nagy részére nem lesz szükségünk.
[[printing-cups-clients-unix]]
=== UNIX(R) kliensek
A UNIX(R) kliensek esetében is a CUPS használatára lesz szükségünk. Miután rájuk is telepítettük, a CUPS által hálózaton megosztott nyomtatókat maguktól fel is ismerik a különbözõ munkakörnyezetek, például a GNOME vagy KDE nyomtatókezelõi. Emellett a szerverhez hasonlóan a kliensen is el tudjuk érni a http://localhost:631[http://localhost:631] címen a CUPS helyi felhasználói felületét, ahol az "Administration" menüben az "Add Printer" gombbal tudunk felvenni a szervernél tapasztalt módon hasonlóhoz. Amikor viszont megjelenik a "Device" legördülõ menü, akkor válasszuk az automatikusan felismert hálózati CUPS nyomtatót, vagy az `ipp` és `http` elemek valamelyikén keresztül adjuk meg a hálózati CUPS nyomtató IPP vagy HTTP alapú egységes forrásazonosítóját (URI) a következõ formák valamelyikében:
[.programlisting]
....
ipp://szervernév-vagy-ip/printers/nyomtatónév
....
[.programlisting]
....
http://szervernév-vagy-ip:631/printers/nyomtatónév
....
Ha a CUPS kliensek valamiért nem látnák a hálózaton megosztott nyomtatókat, akkor próbáljuk meg hozzáadni a [.filename]#/usr/local/etc/cups/client.conf# állományhoz a következõ sort:
[.programlisting]
....
ServerName szerver-ip
....
Ahol a _szerver-ip_ helyére írjuk be a hálózatunkon található CUPS szerver helyi IP-címét.
[[printing-cups-clients-windows]]
=== Windows(R) kliensek
A Windows(R) XP elõtti változatai nem képesek együttmûködni a hálózaton megosztott IPP alapú nyomtatókkal. A Windows(R) XP rendszertõl kezdõdõen azonban már rendelkeznek a szükséges támogatással, ezért itt már nagyon könnyû beállítani a CUPS nyomtatókat. Ehhez rendszeradminisztrátorként futtassuk a Windows(R) a nyomtatók hozzáadásához tartozó varázslóját, ahol válasszuk a "Hálózati nyomtató" típust, majd a következõ formában töltsük ki az eszköz forrásazonosítóját:
[.programlisting]
....
http://szervernév-vagy-ip:631/printers/nyomtatónév
....
Ha az IPP támogatását még nem tartalmazó régebbi Windows(R) változatunk van, akkor a CUPS szolgáltatásait a package:net/samba3[] szerveren keresztül tudjuk elérhetõvé tenni, azonban ennek bemutatásával itt most nem foglalkozunk.
[[printing-cups-troubleshooting]]
== Hibakeresés
A CUPS használata során tapasztalható problémák többségét az engedélyek helytelen beállítása okozza. Elõször tehát, ha valami nem mûködik rendesen, akkor ellenõrizzük újra az elõbb felvázolt man:devfs[8] beállításokat. Ezután gyõzõdjünk meg arról is, hogy az állományrendszerben ténylegesen keletkezõ eszközök engedélyei megfelelõek. Továbbá segíthet megoldani a problémát, ha felvesszük a felhasználónkat a korábban tárgyalt `cups` csoportba. Ha a CUPS felhasználói felületének "Administration" képernyõjén található beállítások látszólag hatástalanok, akkor érdemes úgy próbálkoznunk, hogy elõször készítünk egy bizonsági másolatot a [.filename]#/usr/local/etc/cups/cupsd.conf# állományról és kézzel módosítgatva kísérletezünk különféle konfigurációs lehetõségek kombinációival. Ehhez találhatunk itt egy példát. Ezzel kapcsolatban azonban megjegyezzük, hogy a bemutatott [.filename]#cupsd.conf# állomány inkább áttekinthetõ mintsem biztonságos módon tárgyalja a lehetõségeket. Ezért javasoljuk, hogy miután sikerült elérnünk a CUPS szervert és beállítani a klienseket, nézzük át alaposan a mintául szolgáló opciókat és korlátozzuk le minél jobban a hozzáférést.
[.programlisting]
....
# Általános információk naplózása. Ha hibát keresünk, írjuk az
# "info" helyett a "debug" értéket.
LogLevel info
# A rendszergazdák csoportja.
SystemGroup wheel
# A 631-es porton várjuk a kliensek kapcsolódását.
Port 631
#Listen localhost:631
Listen /var/run/cups.sock
# A helyi hálózaton megosztott nyomtatók mutatása.
Browsing On
BrowseOrder allow,deny
#BrowseAllow @LOCAL
BrowseAllow 192.168.1.* # Adjuk meg a helyi hálózatunkat.
BrowseAddress 192.168.1.* # Adjuk meg a helyi hálózatunkat.
# Alapértelmezett hitelesítési módszer, amikor szükség van rá.
DefaultAuthType Basic
DefaultEncryption Never # Vegyük ki ezt a sort, ha titkosítani akarunk.
# A szervert a helyi hálózaton bármelyik gép elérheti.
<Location />
Order allow,deny
#Allow localhost
Allow 192.168.1.* # Adjuk meg a helyi hálózatunkat.
</Location>
# A helyi hálózatról el tudjuk érni az adminisztrációs felületet.
<Location /admin>
#Encryption Required
Order allow,deny
#Allow localhost
Allow 192.168.1.* # Adjuk meg a helyi hálózatunkat.
</Location>
# A helyi hálózatunkról el tudjuk érni a konfigurációs állományt.
<Location /admin/conf>
AuthType Basic
Require user @SYSTEM
Order allow,deny
#Allow localhost
Allow 192.168.1.* # Adjuk meg a helyi hálózatunkat.
</Location>
# Az alapértelmezett nyomtatási és feladatkezelési házirendek.
<Policy default>
# A feladatokat kizárólag csak a tulajdonosaik vagy a rendszergazda
# képesek elvégezni.
<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 karbantartást csak megfelelõ hitelesítés után végezhetü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 és a rendszergazda tudják törölni.
<Limit Cancel-Job CUPS-Authenticate-Job>
Require user @OWNER @SYSTEM
Order deny,allow
</Limit>
<Limit All>
Order deny,allow
</Limit>
</Policy>
....
[[printing-cups-ports-knobs]]
== A CUPS portok finomhangolása
Ha a CUPS lesz az elsõdlegesen használt nyomtatási rendszer, akkor az [.filename]#/etc/make.conf# állományban érdemes lehet még további olyan változókat beállítanunk, amelyek elõtérbe helyezik a CUPS használatát a többi nyomtatási lehetõséggel szemben. Ezek közül most szót ejtünk néhányról:
[.programlisting]
....
WITH_CUPS=YES
CUPS_OVERWRITE_BASE=YES
WITHOUT_LPR=YES
....
Elsõként a `WITH_CUPS` látható, amely hatására a portok telepítésük során lehetõség szerint a CUPS megoldásaira fognak építkezni. Másodikként a `CUPS_OVERWRITE_BASE` szerepel, amely megadásával a telepítés során a FreeBSD alapértelmezett nyomtatási rendszere, az LPR szimbolikus linkjei és állományai cserélõdnek le, illetve megakadályozza, hogy ez visszaforduljon a rendszer egy késõbbi frissítésekor. A harmadik, a `WITHOUT_LPR` az LPR használatának mellõzésére utasítja az érintett portokat.