[Tfug] LPD vs LPRng vs CUPS

Predrag Punosevac punosevac72 at gmail.com
Mon Nov 12 20:36:08 MST 2007


Thanks for responding. I actually got some very good answers on FreeBSD  
and OpenBSD forum.
I was not posting this question because I can not get my printer working,  
far a way from it.
I can get my printers working in no time using LPD(which is default on  
BSD)+apsfilter.
I can get my printers working using LPRng+ifhp filter.
Of course I can get my printers working in no time using CUPS and PPS.
I can of course do that with HPLIP as I have HP printers.

I have no priblems using my printers remotely on my local network of Unix  
machines (FreeBSD and OpenBSD).
I do not have Windows at home at the moment and I do not care much for  
Samba.

Of course all of above uses Ghostscrip for drivers. Here come explanations.

I wanted to understand deeper the differences and advantages of all of them
My experience can be summarized shortly as follows


LPD(coded 1970)+apsfilter(coded 1990 I think) oldest and very effective  
solution thanks
to apsfilter. It is hard however to enforce complex user policies in  
situation when you
have 200-300 printers attached to your server and many classes, groups and  
limits.

LPRng essentially help you manage you first situation without any pain  
especially if
you are using LPRngTool graphical tool. System is mode than adequate to  
manage all printers on U of A campus
on one server. Coded initially around 1980 but in this form from early  
1990s

CUPS well supported by manufacturers (Apple owned now) near standard but  
coded only around 2000. Also GPL licence
so it is not the part of base of FreeBSD and OpenBSD which I use.


All these systems allow you to edit this or that way printcap entry and  
control spool queues, log files, policies, remote printing
and all you need. LPD you need to edit directly /etc/printcap and it is  
very simple and crude but works. LPRng more complex + GUI but
simply to understand. CUPS hide the real thing from the sys-administrator  
who has no clue now how the things really work.

The real job for all of above is done in filters and drivers.

One of the great developments in printing world was creation of postscrip  
language by Adobe that helps you specify the graphical outlook
of your page.(PDF does that in the compress way so it is good for data  
transfer).
So you need filters to convert everything to ps files. Besides above  
mentioned filters (apsfilter is really more than a filter as
it helps you choose the driver and edit printcap file) you also can use  
a2ps to do above.
CUPS has its on filter. PPD that you are using on CUPS are really PS  
descriptors for non post script printers.

Problem is unless you have very expencive printer(needs processors and  
memory) that printers do not understand PS language so you additionally  
have to send ps file to such thing. Therefore there is CPL (common printer  
language) but you need the driver to convert
PS file to I believe is called BIT file (extension stands for the files  
written by common printer language).

LPD, LPRng and CUPS use Ghostscript drivers for the last but it is  
possible to use third party drivers as Gutenprint or HPLIP drivers to
do the job.

This is more or less summary of the printing for dummies like me.



There is no security advantage in using LPD on FreeBSD vs LPRng vs CUPS as  
all of these programs a venerable and had their share of security alerts.
Probably there is reason now to use CUPS as it is nearly standard. LPD is  
too crude but would be enough for let say department of mathematics at the  
University of arizona (no classes and about 20 printers). LPRng in my mind  
is as good as CUPS for the administration if not better but
was abandoned by its creator(former professor at University of Waterloo in  
Canada and later and UCSB) and picked by somebody else 2005.
LPRng lacks industry support comparing to CUPS (drivers and quality  
filters) and is probably going to be used sparingly by old system admin
who have no reason to switch to CUPS unless there is a major hardware  
reason.

As for me. If I just have a desktop (running FreeBSD or OpenBSD) with one  
printer LPD+apsfilter more than enough as I do not need
to compile CUPS. The last is not quite true as the CUPS-base is needed for  
many applications for reasons not clear to me like K3b uses cups base so  
that would really prevent you from using LPRng on the desktop. It is not  
written for desktop printing anyway.


Predrag








On Mon, 12 Nov 2007 19:21:28 -0700, erich <erich1 at copper.net> wrote:

> I'm and amateur user, not an administrator,
>
>            CUPS is in lpr, lpd, etc are out with the newer distros. Yes,
> I have an old box with lpd, lpr,  apsfilter, etc. They're a pain
> in the #*%, and I don't use them anymore.
>
>            Basically print implementation comes in two layers now.
> 1)There is an underlying CUPS layer. 2)There is a printer driver layer.
>
>            CUPS came about because of the difficulty with standards for
> network printing.  I personally haven't implemented the network feature
> of CUPS, but one thing is for sure: if you have two or more boxes on
> a network, CUPS must be universally installed.
>
>            Any further detail of my implementation would probably be
> irrelevant to you because of distro differences, (I use Gentoo), and
> hardware differences,(I have an HP Photosmart C4150 from Costco)
>
>            My setup works like a champ.
>
>                                                        Erich
>
>
> Predrag Punosevac wrote:
>
>> Dear ALL,
>> I am engaged in a discussion on OpenBSD forum (mostly as a listener)  
>> about
>> Unix printing and I would like to hear
>> some opinion from hard core system administrators about differences of
>> these three common Unix printing systems.
>> I want to learn the things. Hence this thread.
>>
>> I would especially appreciate opinion of the people who were managing
>> large printer servers (200-300 printers) and
>> their experience with editing printcap file. Any thoughts on security.
>> Seems to me that LPD as a system which comes
>> with the base installation of BSD flavours ( I am not sure but I think I
>> heard that Debian was using LPRng as default at least in the
>> past) has security advantage over CUPS.
>>
>> I personally have used LPD but with apsfilter and CUPS and I will  
>> install
>> LPRng on one of my rigs just to learn little bit about it.
>>
>> Any good impartial textbooks which go in detail about Unix printing.
>>
>>
>> Predrag
>>
>>
>> _______________________________________________
>> Tucson Free Unix Group - tfug at tfug.org
>> Subscription Options:
>> http://www.tfug.org/mailman/listinfo/tfug_tfug.org
>>
>>
>>
>
>
> _______________________________________________
> Tucson Free Unix Group - tfug at tfug.org
> Subscription Options:
> http://www.tfug.org/mailman/listinfo/tfug_tfug.org






More information about the tfug mailing list