File: aix.htm

package info (click to toggle)
lprng 3.8.10-1.2
  • links: PTS
  • area: main
  • in suites: woody
  • size: 13,076 kB
  • ctags: 4,348
  • sloc: ansic: 35,394; sh: 10,756; perl: 2,210; makefile: 1,046
file content (243 lines) | stat: -rw-r--r-- 9,108 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
  <head>
    <meta name="generator" content="HTML Tidy, see www.w3.org">
    <title>AIX</title>
    <meta name="GENERATOR" content=
    "Modular DocBook HTML Stylesheet Version 1.71 ">
    <link rel="HOME" title=" LPRng-HOWTO" href="index.htm">
    <link rel="UP" title="System Specific Notes " href=
    "systemspecific.htm">
    <link rel="PREVIOUS" title="Linux" href="linux.htm">
    <link rel="NEXT" title="AppleTalk Support " href=
    "appletalk.htm">
  </head>

  <body class="SECT1" bgcolor="#FFFFFF" text="#000000" link=
  "#0000FF" vlink="#840084" alink="#0000FF">
    <div class="NAVHEADER">
      <table summary="Header navigation table" width="100%" border=
      "0" cellpadding="0" cellspacing="0">
        <tr>
          <th colspan="3" align="center">LPRng-HOWTO: 1 Apr 2002
          (For LPRng-3.8.10)</th>
        </tr>

        <tr>
          <td width="10%" align="left" valign="bottom"><a href=
          "linux.htm" accesskey="P">Prev</a></td>

          <td width="80%" align="center" valign="bottom">Chapter 3.
          System Specific Notes</td>

          <td width="10%" align="right" valign="bottom"><a href=
          "appletalk.htm" accesskey="N">Next</a></td>
        </tr>
      </table>
      <hr align="LEFT" width="100%">
    </div>

    <div class="SECT1">
      <h1 class="SECT1"><a name="AIX">3.3. AIX</a></h1>

      <p>This information was supplied by <a href=
      "mailto:nitschke@math.unihamburg.de" target="_top">Dirk
      Nitschke</a>, as of August 1997, and describes how to install
      the <b class="APPLICATION">LPRng</b> package on a workstation
      running AIX 4.1.x and possibly 3.x.x as well. Dirk would be
      interested in any comments or corrections.</p>

      <p>Printing on AIX systems is different. AIX provides a
      general queueing facility and printing is only one way to use
      it. You submit a print job to a print queue using one of the
      commands <tt class="COMMAND">qprt</tt> or <tt class=
      "COMMAND">enq</tt>. You can use the BSD or System V printing
      commands <b class="APPLICATION">lpr</b> or <b class=
      "APPLICATION">lp</b>, too. The <tt class=
      "COMMAND">qdaemon</tt> watches all (general) queues and knows
      how to handle your job. A (general) queue is defined in the
      file <tt class="FILENAME">/etc/qconfig</tt>. The format of
      this file is different from the <tt class=
      "FILENAME">printcap</tt> format.</p>

      <p>OK, how to replace the AIX printing system? There is no
      group <tt class="LITERAL">daemon</tt> on AIX. Therefore you
      have to change the default group for file ownership and
      process permissions or create a <tt class=
      "LITERAL">daemon</tt> user and group. We decided to use the
      <tt class="LITERAL">printq</tt> group; on reflection it would
      have been easier to have created a <tt class=
      "LITERAL">daemon</tt> group. The user <tt class=
      "LITERAL">daemon</tt> exists on AIX but we have chosen <b
      class="APPLICATION">lpd</b> as the user who runs <b class=
      "APPLICATION">lpd</b> and all filters and owns the spooling
      directories. You can change the values for <tt class=
      "LITERAL">group</tt> and <tt class="LITERAL">user</tt> in
      your <tt class="FILENAME">lpd.conf</tt> file or in the
      sources <tt class="FILENAME">src/common/vars.c</tt>. This is
      an example for <tt class="FILENAME">lpd.conf</tt>:</p>

      <div class="INFORMALEXAMPLE">
        <a name="AEN1523"></a>
<pre class="SCREEN">
    # Purpose: group to run SUID ROOT programs
    #   default group=daemon
    group=printq
    # Purpose: server user for SUID purposes
    #   default user=daemon
    user=lpd
</pre>
      </div>
      Compile and install the <b class="APPLICATION">LPRng</b>
      package. Create your <tt class="FILENAME">printcap</tt>,
      spooling directories, accounting and logfiles and so on.
      Don't forget to use <a href="checkpc.htm">checkpc</a> to make
      sure that all the permissions are set correctly and the
      necessary files are created.<br>
      <br>

      <p>Then stop all print queues defined on your workstation.
      Use</p>

      <div class="INFORMALEXAMPLE">
        <a name="AEN1529"></a>
<pre class="SCREEN">
    # chque -q queuename -a "up = FALSE"
</pre>
      </div>
      for this (yes, blanks around <tt class="LITERAL">=</tt> are
      needed).<br>
      <br>

      <p>If you have local printers attached to your system you
      will have an <b class="APPLICATION">lpd</b> running. Stop
      this daemon using SMIT (Print Spooling, Manage Print Server,
      Stop the Print Server Subsystem). Choosing <i class=
      "EMPHASIS">both</i> also removes <b class=
      "APPLICATION">lpd</b> from <tt class=
      "FILENAME">/etc/inittab</tt>. Maybe it's faster to do this by
      hand:</p>

      <div class="INFORMALEXAMPLE">
        <a name="AEN1537"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {75} #</tt> <tt class=
"USERINPUT"><b>topsrc -p'pid of /usr/sbin/lpd'</b></tt>
    <tt class="PROMPT">h4: {76} #</tt> <tt class=
"USERINPUT"><b>rmitab "lpd"</b></tt>
</pre>
      </div>
      <br>
      <br>

      <p>Now delete all print queues managed by <tt class=
      "LITERAL">qdaemon</tt> defined on your system. You can use
      <tt class="COMMAND">SMIT</tt> for this or the commands <tt
      class="COMMAND">{mk,ch,rm}que</tt>, <tt class=
      "COMMAND">{mk,ch,rm}quedev</tt>, <tt class=
      "COMMAND">{mk,ch,rm}virprt</tt>. The <tt class=
      "COMMAND">SMIT</tt> fast path is <tt class="COMMAND">smit
      rmpq</tt>.</p>

      <p>To start the new <b class="APPLICATION">lpd</b> at system
      startup you have to add an entry to <tt class=
      "FILENAME">/etc/inittab</tt>:</p>

      <div class="INFORMALEXAMPLE">
        <a name="AEN1554"></a>
<pre class="SCREEN">
    <tt class="PROMPT">h4: {77} #</tt> <tt class=
"USERINPUT"><b>mkitab "lpd:2:once:/full/path/lpd"</b></tt>
</pre>
      </div>
      <br>
      <br>

      <p>Some work has to be done if have have a local printer
      attached to your workstation. You have to create a device
      file like <tt class="FILENAME">/dev/lp0</tt>. The <tt class=
      "COMMAND">SMIT</tt> fast path for this is <tt class=
      "COMMAND">smit mkdev</tt>. Choose <tt class=
      "LITERAL">Printer/Plotter</tt>, then <tt class=
      "LITERAL">Printer/Plotter Devices</tt>, then <tt class=
      "LITERAL">Add a Printer/Plotter</tt>. To create a parallel
      printer device select the following:</p>

      <div class="INFORMALEXAMPLE">
        <a name="AEN1565"></a>
<pre class="SCREEN">
    Plotter type:              opp Other parallel printer
    Printer/Plotter Interface: parallel
    Parent Adapter:            ppa0 Available
</pre>
      </div>
      Now define the characteristics of the device: 

      <div class="INFORMALEXAMPLE">
        <a name="AEN1567"></a>
<pre class="SCREEN">
    Port Number: p
</pre>
      </div>
      Option <tt class="LITERAL">p</tt> is for parallel. Go to the
      field: 

      <div class="INFORMALEXAMPLE">
        <a name="AEN1570"></a>
<pre class="SCREEN">
    Send all characters to printer UNMODIFIED   no
</pre>
      </div>
      <br>
      <br>

      <p>and select <tt class="LITERAL">yes</tt>! We have had a lot
      of trouble with <tt class="LITERAL">no</tt>. This is very
      important! Expect erroneous output if you choose <tt class=
      "LITERAL">no</tt>. If you have already created a device file,
      change the characteristics! SMIT's fast path is <tt class=
      "COMMAND">smit chdev</tt>.</p>

      <p>Finally remove all AIX printing commands like <b class=
      "APPLICATION">qprt</b>, <b class="APPLICATION">lp</b>, <b
      class="APPLICATION">cancel</b>, <b class=
      "APPLICATION">lpq</b>, and <b class="APPLICATION">lprm</b>.
      You will find a lot of them in <tt class=
      "FILENAME">/usr/bin</tt>. Do not remove <b class=
      "APPLICATION">enq</b> and friends if you want to use the
      general queueing facility.</p>

      <p>Now you can start your new <b class=
      "APPLICATION">lpd</b>.</p>
    </div>

    <div class="NAVFOOTER">
      <hr align="LEFT" width="100%">

      <table summary="Footer navigation table" width="100%" border=
      "0" cellpadding="0" cellspacing="0">
        <tr>
          <td width="33%" align="left" valign="top"><a href=
          "linux.htm" accesskey="P">Prev</a></td>

          <td width="34%" align="center" valign="top"><a href=
          "index.htm" accesskey="H">Home</a></td>

          <td width="33%" align="right" valign="top"><a href=
          "appletalk.htm" accesskey="N">Next</a></td>
        </tr>

        <tr>
          <td width="33%" align="left" valign="top">Linux</td>

          <td width="34%" align="center" valign="top"><a href=
          "systemspecific.htm" accesskey="U">Up</a></td>

          <td width="33%" align="right" valign="top">AppleTalk
          Support</td>
        </tr>
      </table>
    </div>
  </body>
</html>