source: postlfs/shells/zsh.xml@ 45ab6c7

11.0 11.1 11.2 11.3 12.0 12.1 kea ken/TL2024 ken/inkscape-core-mods ken/tuningfonts lazarus lxqt plabs/newcss plabs/python-mods python3.11 qt5new rahul/power-profiles-daemon renodr/vulkan-addition trunk upgradedb xry111/intltool xry111/llvm18 xry111/soup3 xry111/test-20220226 xry111/xf86-video-removal
Last change on this file since 45ab6c7 was 45ab6c7, checked in by Xi Ruoyao <xry111@…>, 3 years ago

more SVN prop clean up

Remove "$LastChanged$" everywhere, and also some unused $Date$

  • Property mode set to 100644
File size: 12.5 KB
Line 
1<?xml version="1.0" encoding="ISO-8859-1"?>
2<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
4 <!ENTITY % general-entities SYSTEM "../../general.ent">
5 %general-entities;
6
7 <!ENTITY zsh-download-http "https://www.zsh.org/pub/zsh-&zsh-version;.tar.xz">
8 <!ENTITY zsh-download-ftp " ">
9 <!ENTITY zsh-md5sum "e02a5428620b3dd268800c7843b3dd4d">
10 <!ENTITY zsh-size "3.0 MB">
11 <!ENTITY zsh-buildsize "72 MB (includes documentation and tests)">
12 <!ENTITY zsh-time "1.3 SBU (Using parallelism=4; includes documentation and tests)">
13
14 <!ENTITY zsh-doc-md5sum "ef8514401a81bb1a4c4b655ebda8a1a2">
15 <!ENTITY zsh-doc-size "3.0 MB">
16]>
17
18<sect1 id="zsh" xreflabel="zsh-&zsh-version;">
19 <?dbhtml filename="zsh.html"?>
20
21 <sect1info>
22 <date>$Date$</date>
23 </sect1info>
24
25 <title>zsh-&zsh-version;</title>
26
27 <indexterm zone="zsh">
28 <primary sortas="a-zsh">zsh</primary>
29 </indexterm>
30
31 <sect2 role="package">
32 <title>Introduction to zsh</title>
33
34 <para>
35 The <application>zsh</application> package contains a command
36 interpreter (shell) usable as an interactive login shell and as
37 a shell script command processor. Of the standard shells,
38 <application>zsh</application> most closely resembles
39 <application>ksh</application> but includes many enhancements.
40 </para>
41
42 &lfs101_checked;
43
44 <bridgehead renderas="sect3">Package Information</bridgehead>
45 <itemizedlist spacing="compact">
46 <listitem>
47 <para>
48 Download (HTTP): <ulink url="&zsh-download-http;"/>
49 </para>
50 </listitem>
51 <listitem>
52 <para>
53 Download (FTP): <ulink url="&zsh-download-ftp;"/>
54 </para>
55 </listitem>
56 <listitem>
57 <para>
58 Download MD5 sum: &zsh-md5sum;
59 </para>
60 </listitem>
61 <listitem>
62 <para>
63 Download size: &zsh-size;
64 </para>
65 </listitem>
66 <listitem>
67 <para>
68 Estimated disk space required: &zsh-buildsize;
69 </para>
70 </listitem>
71 <listitem>
72 <para>
73 Estimated build time: &zsh-time;
74 </para>
75 </listitem>
76 </itemizedlist>
77
78 <bridgehead renderas="sect3">Additional Downloads</bridgehead>
79 <itemizedlist spacing="compact">
80 <listitem>
81 <para>
82 Optional Documentation: <ulink
83 url="https://www.zsh.org/pub/zsh-&zsh-version;-doc.tar.xz"/>
84 </para>
85 </listitem>
86 <listitem>
87 <para>
88 Documentation MD5 sum: &zsh-doc-md5sum;
89 </para>
90 </listitem>
91 <listitem>
92 <para>
93 Documentation download size: &zsh-doc-size;
94 </para>
95 </listitem>
96 </itemizedlist>
97
98 <note>
99 <para>
100 When there is a new <application>zsh</application> release, the old
101 files shown above are moved to a new server directory:
102 <ulink url="https://www.zsh.org/pub/old/"/>.
103 </para>
104 </note>
105
106 <bridgehead renderas="sect3">zsh Dependencies</bridgehead>
107
108 <bridgehead renderas="sect4">Optional</bridgehead>
109 <para role="optional">
110 <xref linkend="libcap-pam"/>,
111 <xref linkend="pcre"/>, and
112 <xref linkend="valgrind"/>,
113 </para>
114
115 <para condition="html" role="usernotes">User Notes:
116 <ulink url="&blfs-wiki;/zsh"/></para>
117
118 </sect2>
119
120 <sect2 role="installation">
121 <title>Installation of zsh</title>
122
123 <para>
124 If you downloaded the optional documentation, unpack it with
125 the following command:
126 </para>
127
128<screen><userinput>tar --strip-components=1 -xvf ../zsh-&zsh-version;-doc.tar.xz</userinput></screen>
129
130<!-- <note>
131 <para>
132 Using a script to build with "su -c script" may produce a funny
133 configure error message: "no controlling tty". If this happens, add
134 the switch -\-with-tcsetpgrp to configure.
135 </para>
136 </note>
137-->
138 <para>
139 Install <application>zsh</application> by running the following
140 commands:
141 </para>
142
143<screen><userinput>./configure --prefix=/usr \
144 --bindir=/bin \
145 --sysconfdir=/etc/zsh \
146 --enable-etcdir=/etc/zsh &amp;&amp;
147make &amp;&amp;
148
149makeinfo Doc/zsh.texi --plaintext -o Doc/zsh.txt &amp;&amp;
150makeinfo Doc/zsh.texi --html -o Doc/html &amp;&amp;
151makeinfo Doc/zsh.texi --html --no-split --no-headers -o Doc/zsh.html</userinput></screen>
152
153 <para>
154 If you have <xref linkend="texlive"/>
155 installed, you can build PDF format of the documentation by issuing
156 the following command:
157 </para>
158
159<screen remap="doc"><userinput>texi2pdf Doc/zsh.texi -o Doc/zsh.pdf</userinput></screen>
160
161 <para>
162 To test the results, issue: <command>make check</command>.
163 </para>
164
165 <para>
166 Now, as the <systemitem class="username">root</systemitem> user:
167 </para>
168
169<screen role="root"><userinput>make install &amp;&amp;
170make infodir=/usr/share/info install.info &amp;&amp;
171
172install -v -m755 -d /usr/share/doc/zsh-&zsh-version;/html &amp;&amp;
173install -v -m644 Doc/html/* /usr/share/doc/zsh-&zsh-version;/html &amp;&amp;
174install -v -m644 Doc/zsh.{html,txt} /usr/share/doc/zsh-&zsh-version;</userinput></screen>
175
176 <para>
177 If you downloaded the optional documentation, install it by issuing
178 the following commands as the
179 <systemitem class="username">root</systemitem> user:
180 </para>
181
182<screen role="root"><userinput>make htmldir=/usr/share/doc/zsh-&zsh-version;/html install.html &amp;&amp;
183install -v -m644 Doc/zsh.dvi /usr/share/doc/zsh-&zsh-version;</userinput></screen>
184
185 <para>
186 If you built the PDF format of the documentation, install
187 it by issuing the following command as the
188 <systemitem class="username">root</systemitem> user:
189 </para>
190
191<screen role="root"
192 remap="doc"><userinput>install -v -m644 Doc/zsh.pdf /usr/share/doc/zsh-&zsh-version;</userinput></screen>
193
194 </sect2>
195
196 <sect2 role="commands">
197 <title>Command Explanations</title>
198
199 <para>
200 <parameter>--sysconfdir=/etc/zsh</parameter> and
201 <parameter>--enable-etcdir=/etc/zsh</parameter>: These parameters are
202 used so that all the <application>zsh</application> configuration files
203 are consolidated into the <filename class='directory'>/etc/zsh</filename>
204 directory. Omit these parameters if you wish to retain historical
205 compatibility by having all the files located in the
206 <filename class='directory'>/etc</filename> directory.
207 </para>
208
209 <para>
210 <parameter>--bindir=/bin</parameter>: This parameter places the
211 <command>zsh</command> binaries into the root filesystem.
212 </para>
213
214 <para>
215 <option>--enable-cap</option>: This option enables
216 POSIX capabilities.
217 </para>
218
219 <para>
220 <option>--disable-gdbm</option>: This option disables the
221 use of the <application>GDBM</application> library.
222 </para>
223
224 <para>
225 <option>--enable-pcre</option>: This option allows zsh to use
226 the <application>PCRE</application> regular expression library in shell
227 builtins.
228 </para>
229
230 <sect3 id="mountpoints">
231 <title>Multiple partitions</title>
232
233 <para>
234 Linking <application>zsh</application> dynamically against
235 <application>pcre</application> and/or <application>gdbm</application>
236 produces runtime dependencies on <filename class='libraryfile'>
237 libpcre.so</filename> and/or <filename class='libraryfile'>libgdbm.so
238 </filename>respectively, which both reside in
239 <filename class='directory'>/usr</filename> hierarchy. If
240 <filename class='directory'>/usr</filename> is a separate mount point
241 and <application>zsh</application> needs to be available in boot time,
242 then its supporting libraries should be in
243 <filename class='directory'>/lib</filename> too. You can move the
244 libraries as follows:
245 </para>
246
247<screen role="root"><userinput>mv -v /usr/lib/libpcre.so.* /lib &amp;&amp;
248ln -v -sf ../../lib/libpcre.so.0 /usr/lib/libpcre.so
249
250mv -v /usr/lib/libgdbm.so.* /lib &amp;&amp;
251ln -v -sf ../../lib/libgdbm.so.3 /usr/lib/libgdbm.so</userinput>
252</screen>
253
254 <para>
255 Alternatively you can statically link <application>zsh</application>
256 against <application>pcre</application> and
257 <application>gdbm</application> if you modify the
258 <filename>config.modules</filename> file (you need first to run
259 configure to generate it).
260 </para>
261
262 </sect3>
263
264 </sect2>
265
266 <sect2 role="configuration">
267 <title>Configuring zsh</title>
268
269 <sect3 id="zsh-config">
270 <title>Config Files</title>
271
272 <para>
273 There are a whole host of configuration files for
274 <application>zsh</application> including
275 <filename>/etc/zsh/zshenv</filename>,
276 <filename>/etc/zsh/zprofile</filename>,
277 <filename>/etc/zsh/zshrc</filename>,
278 <filename>/etc/zsh/zlogin</filename> and
279 <filename>/etc/zsh/zlogout</filename>.
280 You can find more information on these in the
281 <filename>zsh(1)</filename> and related manual pages.
282 </para>
283
284 <para>
285 The first time zsh is executed, you will be prompted by messages asking
286 several questions. The answers will be used to create a
287 <filename>~/.zshrc</filename> file. If you wish to run these questions
288 again, run <command>zsh
289 /usr/share/zsh/&zsh-version;/functions/zsh-newuser-install -f</command>.
290 </para>
291
292 <para>
293 There are several built-in advanced prompts. In the
294 <command>zsh</command> shell, start advanced prompt support with
295 <command>autoload -U promptinit</command>, then
296 <command>promptinit</command>. Available prompt names are listed with
297 <command>prompt -l</command>. Select a particular one with
298 <command>prompt <literal>&lt;prompt-name&gt;</literal></command>.
299 Display all available
300 prompts with <command>prompt -p</command>. Except for the list and
301 display commands above, you can insert the other ones in
302 <filename>~/.zshrc</filename> to be automatically executed at
303 shell start, with the prompt you chose.
304 </para>
305
306 <indexterm zone="zsh zsh-config">
307 <primary sortas="e-etc-zsh-zshenv">/etc/zsh/zshenv</primary>
308 </indexterm>
309
310 <indexterm zone="zsh zsh-config">
311 <primary sortas="e-etc-zsh-zprofile">/etc/zsh/zprofile</primary>
312 </indexterm>
313
314 <indexterm zone="zsh zsh-config">
315 <primary sortas="e-etc-zsh-zshrc">/etc/zsh/zshrc</primary>
316 </indexterm>
317
318 <indexterm zone="zsh zsh-config">
319 <primary sortas="e-etc-zsh-zlogin">/etc/zsh/zlogin</primary>
320 </indexterm>
321
322 <indexterm zone="zsh zsh-config">
323 <primary sortas="e-etc-zsh-zlogout">/etc/zsh/zlogout</primary>
324 </indexterm>
325
326 </sect3>
327
328 <sect3>
329 <title>Configuration Information</title>
330
331 <para>
332 Update <filename>/etc/shells</filename> to include the
333 <application>zsh</application> shell program names (as the
334 <systemitem class="username">root</systemitem> user):
335 </para>
336
337<screen role="root"><userinput>cat &gt;&gt; /etc/shells &lt;&lt; "EOF"
338<literal>/bin/zsh</literal>
339EOF</userinput></screen>
340
341 </sect3>
342
343 </sect2>
344
345 <sect2 role="content">
346 <title>Contents</title>
347
348 <segmentedlist>
349 <segtitle>Installed Programs</segtitle>
350 <segtitle>Installed Libraries</segtitle>
351 <segtitle>Installed Directories</segtitle>
352
353 <seglistitem>
354 <seg>zsh and zsh-&zsh-version; (hardlinked to each other)</seg>
355 <seg>Numerous plugin helper modules under
356 /usr/lib/zsh/&zsh-version;/</seg>
357 <seg>/usr/{lib,share}/zsh and /usr/share/doc/zsh-&zsh-version;</seg>
358 </seglistitem>
359 </segmentedlist>
360
361 <variablelist>
362 <bridgehead renderas="sect3">Short Description</bridgehead>
363 <?dbfo list-presentation="list"?>
364 <?dbhtml list-presentation="table"?>
365
366 <varlistentry id="zsh-prog">
367 <term><command>zsh</command></term>
368 <listitem>
369 <para>
370 is a shell which has command-line editing, built-in spelling
371 correction, programmable command completion, shell functions (with
372 autoloading), a history mechanism, and a host of other features
373 </para>
374 <indexterm zone="zsh zsh-prog">
375 <primary sortas="b-zsh">zsh</primary>
376 </indexterm>
377 </listitem>
378 </varlistentry>
379
380 </variablelist>
381
382 </sect2>
383
384</sect1>
Note: See TracBrowser for help on using the repository browser.