aboutsummaryrefslogtreecommitdiffstats
path: root/chapter06/config-glibc.xml
blob: 0926f560a931cea81d7c87321e4a6bfcb0b7c6b6 (plain)
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
<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2><title>Configuring Glibc</title>

<para>We need to create the <filename>/etc/nsswitch.conf</filename> file,
because, although Glibc provides defaults when this file is missing or corrupt,
the Glibc defaults don't work well with networking. Also, our time zone needs
to be set up.</para>

<para>Create a new file <filename>/etc/nsswitch.conf</filename> by running the
following:</para>

<screen><userinput>cat &gt; /etc/nsswitch.conf &lt;&lt; "EOF"</userinput>
# Begin /etc/nsswitch.conf

passwd: files
group: files
shadow: files

publickey: files

hosts: files dns
networks: files

protocols: db files
services: db files
ethers: db files
rpc: db files

netgroup: db files

# End /etc/nsswitch.conf
<userinput>EOF</userinput></screen>

<para>To find out what time zone you're in, run the following script:</para>

<screen><userinput>tzselect</userinput></screen>

<para>When you've answered a few questions about your location, the script will
output the name of your time zone, something like <emphasis>EST5EDT</emphasis>
or <emphasis>Canada/Eastern</emphasis>. Then create the
<filename>/etc/localtime</filename> file by running:</para>

<screen><userinput>cp --remove-destination /usr/share/zoneinfo/Canada/Eastern /etc/localtime </userinput></screen>

<para>The meaning of the option:</para>

<itemizedlist>
<listitem><para><userinput>--remove-destination</userinput>: This is needed to
force removal of the already existing symbolic link. The reason why we copy
instead of symlink is to cover the situation where <filename>/usr</filename> is
on a separate partition. This could matter, for example, when booted into single
user mode.</para></listitem>
</itemizedlist>

<para>Of course, instead of <emphasis>Canada/Eastern</emphasis>, fill in
the name of the time zone that the <userinput>tzselect</userinput> script
gave you.</para>

</sect2>

<sect2><title>&nbsp;</title><para>&nbsp;</para></sect2>

<sect2>
<title>Configuring Dynamic Loader</title>

<para>By default, the dynamic loader
(<filename>/lib/ld-linux.so.2</filename>) searches through <filename
class="directory">/lib</filename> and <filename
class="directory">/usr/lib</filename> for dynamic libraries that are needed
by programs when you run them. However, if there are libraries in
directories other than <filename class="directory">/lib</filename> and
<filename class="directory">/usr/lib</filename>, you need to add them to
the <filename>/etc/ld.so.conf</filename> file for the dynamic
loader to find them. Two directories that are commonly known to contain
additional libraries are <filename
class="directory">/usr/local/lib</filename> and <filename
class="directory">/opt/lib</filename>, so we add those directories to the
dynamic loader's search path.</para>

<para>Create a new file <filename>/etc/ld.so.conf</filename> by running the
following:</para>

<screen><userinput>cat &gt; /etc/ld.so.conf &lt;&lt; "EOF"</userinput>
# Begin /etc/ld.so.conf

/usr/local/lib
/opt/lib

# End /etc/ld.so.conf
<userinput>EOF</userinput></screen>

</sect2>