/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-config.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-install-config.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.1 Revision 1.103
1<?xml version='1.0' encoding='UTF-8'?>
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3
4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.103 2011/08/02 17:43:17 jkt Exp $ -->
8
9<sections>
10
11<abstract>
12You need to edit some important configuration files. In this chapter
13you receive an overview of these files and an explanation on how to
14proceed.
15</abstract>
16
17<version>10</version>
18<date>2011-08-02</date>
19
1<section> 20<section>
2<subsection>
3<title>Timezone</title>
4<body>
5
6<p>
7<path>/etc/localtime</path>.
8</p>
9
10</body>
11</subsection>
12<subsection>
13<title>Filesystem Information</title> 21<title>Filesystem Information</title>
14<body>
15
16<p>
17<path>/etc/fstab</path>
18</p>
19
20</body>
21</subsection> 22<subsection>
23<title>What is fstab?</title>
24<body>
25
26<p>
27Under Linux, all partitions used by the system must be listed in
28<path>/etc/fstab</path>. This file contains the mount points of those partitions
29(where they are seen in the file system structure), how they should be mounted
30and with what special options (automatically or not, whether users can mount
31them or not, etc.)
32</p>
33
34</body>
22<subsection> 35</subsection>
36<subsection>
37<title>Creating /etc/fstab</title>
38<body>
39
40<p>
41<path>/etc/fstab</path> uses a special syntax. Every line consists of six
42fields, separated by whitespace (space(s), tabs or a mixture). Each field has
43its own meaning:
44</p>
45
46<ul>
47<li>
48 The first field shows the <b>partition</b> described (the path to the device
49 file)
50</li>
51<li>
52 The second field shows the <b>mount point</b> at which the partition should be
53 mounted
54</li>
55<li>
56 The third field shows the <b>filesystem</b> used by the partition
57</li>
58<li>
59 The fourth field shows the <b>mount options</b> used by <c>mount</c> when it
60 wants to mount the partition. As every filesystem has its own mount options,
61 you are encouraged to read the mount man page (<c>man mount</c>) for a full
62 listing. Multiple mount options are comma-separated.
63</li>
64<li>
65 The fifth field is used by <c>dump</c> to determine if the partition needs to
66 be <b>dump</b>ed or not. You can generally leave this as <c>0</c> (zero).
67</li>
68<li>
69 The sixth field is used by <c>fsck</c> to determine the order in which
70 filesystems should be <b>check</b>ed if the system wasn't shut down properly.
71 The root filesystem should have <c>1</c> while the rest should have <c>2</c>
72 (or <c>0</c> if a filesystem check isn't necessary).
73</li>
74</ul>
75
76<impo>
77The default <path>/etc/fstab</path> file provided by Gentoo <e>is not a valid
78fstab file</e>. You <b>have to create</b> your own <path>/etc/fstab</path>.
79</impo>
80
81<pre caption="Opening /etc/fstab">
82# <i>nano -w /etc/fstab</i>
83</pre>
84
85</body>
86<body test="func:keyval('/boot')">
87
88<p>
89Let us take a look at how we write down the options for the <path>/boot</path>
90partition. This is just an example, if you didn't or couldn't create a
91<path>/boot</path>, don't copy it.
92</p>
93
94<p>
95In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
96usually the <path><keyval id="/boot"/></path> partition, with <c>ext2</c> as
97filesystem. It needs to be checked during boot, so we would write down:
98</p>
99
100<pre caption="An example /boot line for /etc/fstab">
101<keyval id="/boot"/> /boot ext2 defaults 1 2
102</pre>
103
104<p>
105Some users don't want their <path>/boot</path> partition to be mounted
106automatically to improve their system's security. Those people should
107substitute <c>defaults</c> with <c>noauto</c>. This does mean that you need to
108manually mount this partition every time you want to use it.
109</p>
110
111</body>
112<body>
113
114<p>
115Add the rules that match your partitioning scheme and append rules for
116your CD-ROM drive(s), and of course, if you have other partitions or drives,
117for those too.
118</p>
119
120<p>
121Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
122</p>
123
124<pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA'">
125<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
126/dev/sda3 none swap sw 0 0
127/dev/sda4 / ext3 noatime 0 1
128
129/dev/cdrom /mnt/cdrom auto noauto,user 0 0
130
131proc /proc proc defaults 0 0
132shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
133</pre>
134
135<pre caption="A full /etc/fstab example" test="func:keyval('arch')='Alpha' or func:keyval('arch')='MIPS' or func:keyval('arch')='x86' or func:keyval('arch')='AMD64'">
136<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
137/dev/sda2 none swap sw 0 0
138/dev/sda3 / ext3 noatime 0 1
139
140/dev/cdrom /mnt/cdrom auto noauto,user 0 0
141
142proc /proc proc defaults 0 0
143shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
144</pre>
145
146<pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'">
147/dev/sda1 / ext3 noatime 0 1
148/dev/sda2 none swap sw 0 0
149/dev/sda4 /usr ext3 noatime 0 2
150/dev/sda5 /var ext3 noatime 0 2
151/dev/sda6 /home ext3 noatime 0 2
152
153<comment># You must add the rules for openprom</comment>
154openprom /proc/openprom openpromfs defaults 0 0
155
156/dev/cdrom /mnt/cdrom auto noauto,user 0 0
157
158proc /proc proc defaults 0 0
159shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
160</pre>
161
162<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC' or
163func:keyval('arch')='PPC64'">
164/dev/sda4 / ext3 noatime 0 1
165/dev/sda3 none swap sw 0 0
166
167/dev/cdrom /mnt/cdrom auto noauto,user 0 0
168
169proc /proc proc defaults 0 0
170shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
171</pre>
172
173<p>
174<c>auto</c> makes <c>mount</c> guess for the filesystem (recommended for
175removable media as they can be created with one of many filesystems) and
176<c>user</c> makes it possible for non-root users to mount the CD.
177</p>
178
179<p>
180To improve performance, most users would want to add the <c>noatime</c>
181mount option, which results in a faster system since access times
182aren't registered (you don't need those generally anyway).
183</p>
184
185<p>
186Double-check your <path>/etc/fstab</path>, save and quit to continue.
187</p>
188
189</body>
190</subsection>
191</section>
192<section>
23<title>Networking Information</title> 193<title>Networking Information</title>
24<body>
25
26<p>
27<path>/etc/conf.d/net</path>, <c>rc-update add net.eth0</c>,
28PCMCIA-information etc.
29</p>
30
31</body>
32</subsection> 194<subsection>
195<title>Host name, Domainname, etc</title>
196<body>
197
198<p>
199One of the choices the user has to make is name his/her PC. This seems to be
200quite easy, but <e>lots</e> of users are having difficulties finding the
201appropriate name for their Linux-pc. To speed things up, know that any name you
202choose can be changed afterwards. For all we care, you can just call your system
203<c>tux</c> and domain <c>homenetwork</c>.
204</p>
205
206<pre caption="Setting the host name">
207# <i>nano -w /etc/conf.d/hostname</i>
208
209<comment>(Set the HOSTNAME variable to your host name)</comment>
210HOSTNAME="<i>tux</i>"
211</pre>
212
213<p>
214Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
215You only need a domain if your ISP or network administrator says so, or if you
216have a DNS server but not a DHCP server. You don't need to worry about DNS or
217domainnames if your networking is setup for DHCP.
218</p>
219
220<pre caption="Setting the domainname">
221# <i>nano -w /etc/conf.d/net</i>
222
223<comment>(Set the dns_domain variable to your domain name)</comment>
224dns_domain_lo="<i>homenetwork</i>"
225</pre>
226
227<note>
228If you choose not to set a domainname, you can get rid of the "This is
229hostname.(none)" messages at your login screen by editing
230<path>/etc/issue</path>. Just delete the string <c>.\O</c> from that file.
231</note>
232
233<p>
234If you have a NIS domain (if you don't know what that is, then you don't have
235one), you need to define that one too:
236</p>
237
238<pre caption="Setting the NIS domainname">
239# <i>nano -w /etc/conf.d/net</i>
240
241<comment>(Set the nis_domain variable to your NIS domain name)</comment>
242nis_domain_lo="<i>my-nisdomain</i>"
243</pre>
244
245<note>
246For more information on configuring DNS and NIS, please read the examples
247provided in <path>/etc/conf.d/net.example</path>. Also, you may want to emerge
248<c>openresolv</c> to help manage your DNS/NIS setup.
249</note>
250
251</body>
33<subsection> 252</subsection>
253<subsection>
254<title>Configuring your Network</title>
255<body>
256
257<p>
258Before you get that "Hey, we've had that already"-feeling, you should remember
259that the networking you set up in the beginning of the Gentoo installation was
260just for the installation. Right now you are going to configure networking for
261your Gentoo system permanently.
262</p>
263
264<note>
265More detailed information about networking, including advanced topics like
266bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
267link="?part=4">Gentoo Network Configuration</uri> section.
268</note>
269
270<p>
271All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
272a straightforward yet not intuitive syntax if you don't know how to set up
273networking manually. But don't fear, we'll explain everything. A fully
274commented example that covers many different configurations is available in
275<path>/etc/conf.d/net.example</path>.
276</p>
277
278<p>
279DHCP is used by default. For DHCP to work, you will need to install a DHCP
280client. This is described later in <uri
281link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
282Tools</uri>. Do not forget to install a DHCP client.
283</p>
284
285<p>
286If you need to configure your network connection either because you need
287specific DHCP options or because you do not use DHCP at all, open
288<path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
289this example):
290</p>
291
292<pre caption="Opening /etc/conf.d/net for editing">
293# <i>nano -w /etc/conf.d/net</i>
294</pre>
295
296<p>
297You will see the following file:
298</p>
299
300<pre caption="Default /etc/conf.d/net">
301# This blank configuration will automatically use DHCP for any net.*
302# scripts in /etc/init.d. To create a more complete configuration,
303# please review /etc/conf.d/net.example and save your configuration
304# in /etc/conf.d/net (this file :]!).
305</pre>
306
307<p>
308To enter your own IP address, netmask and gateway, you need
309to set both <c>config_eth0</c> and <c>routes_eth0</c>:
310</p>
311
312<pre caption="Manually setting IP information for eth0">
313config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" )
314routes_eth0=( "default via 192.168.0.1" )
315</pre>
316
317<p>
318To use DHCP, define <c>config_eth0</c>:
319</p>
320
321<pre caption="Automatically obtaining an IP address for eth0">
322config_eth0=( "dhcp" )
323</pre>
324
325<p>
326Please read <path>/etc/conf.d/net.example</path> for a list of all available
327options. Be sure to also read your DHCP client manpage if you need to set
328specific DHCP options.
329</p>
330
331<p>
332If you have several network interfaces repeat the above steps for
333<c>config_eth1</c>, <c>config_eth2</c>, etc.
334</p>
335
336<p>
337Now save the configuration and exit to continue.
338</p>
339
340</body>
341</subsection>
342<subsection>
343<title>Automatically Start Networking at Boot</title>
344<body>
345
346<p>
347To have your network interfaces activated at boot, you need to add them to the
348default runlevel.
349</p>
350
351<pre caption="Adding net.eth0 to the default runlevel">
352# <i>cd /etc/init.d</i>
353# <i>ln -s net.lo net.eth0</i>
354# <i>rc-update add net.eth0 default</i>
355</pre>
356
357<p>
358If you have several network interfaces, you need to create the appropriate
359<path>net.eth1</path>, <path>net.eth2</path> etc. just like you did with
360<path>net.eth0</path>.
361</p>
362
363</body>
364</subsection>
365<subsection>
366<title>Writing Down Network Information</title>
367<body>
368
369<p>
370You now need to inform Linux about your network. This is defined in
371<path>/etc/hosts</path> and helps in resolving host names to IP addresses for
372hosts that aren't resolved by your nameserver. You need to define your system.
373You may also want to define other systems on your network if you don't want to
374set up your own internal DNS system.
375</p>
376
377<pre caption="Opening /etc/hosts">
378# <i>nano -w /etc/hosts</i>
379</pre>
380
381<pre caption="Filling in the networking information">
382<comment>(This defines the current system)</comment>
383127.0.0.1 tux.homenetwork tux localhost
384
385<comment>(Define extra systems on your network,
386they need to have a static IP to be defined this way.)</comment>
387192.168.0.5 jenny.homenetwork jenny
388192.168.0.6 benny.homenetwork benny
389</pre>
390
391<p>
392Save and exit the editor to continue.
393</p>
394
395<p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
396If you don't have PCMCIA, you can now continue with <uri
397link="#sysinfo">System Information</uri>. PCMCIA-users should read the
398following topic on PCMCIA.
399</p>
400
401</body>
402</subsection>
403<subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
404<title>Optional: Get PCMCIA Working</title>
405<body>
406
407<p>
408PCMCIA users should first install the <c>pcmciautils</c> package.
409</p>
410
411<pre caption="Installing pcmciautils">
412# <i>emerge pcmciautils</i>
413</pre>
414
415</body>
416</subsection>
417</section>
418
419<section id="sysinfo">
34<title>System Information</title> 420<title>System Information</title>
421<subsection>
422<title>Root Password</title>
423<body>
424
425<p>
426First we set the root password by typing:
427</p>
428
429<pre caption="Setting the root password">
430# <i>passwd</i>
431</pre>
432
35<body> 433</body>
434</subsection>
435<subsection>
436<title>System Information</title>
437<body>
36 438
439<p>
440Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
441Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
37<p> 442</p>
38<path>/etc/rc.conf</path> 443
444<pre caption="Opening /etc/rc.conf">
445# <i>nano -w /etc/rc.conf</i>
446</pre>
447
448<p>
449When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
450</p>
451
452<p>
453As you can see, this file is well commented to help you set up the necessary
454configuration variables. You can configure your system to use unicode and
455define your default editor and your display manager (like gdm or kdm).
456</p>
457
458<p>
459Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
460Edit it to configure your keyboard.
461</p>
462
463<pre caption="Opening /etc/conf.d/keymaps">
464# <i>nano -w /etc/conf.d/keymaps</i>
465</pre>
466
467<p>
468Take special care with the <c>KEYMAP</c> variable. If you select the wrong
469<c>KEYMAP</c>, you will get weird results when typing on your keyboard.
470</p>
471
472<note test="substring(func:keyval('arch'),1,3)='PPC'">
473PPC uses x86 keymaps on most systems.
474</note>
475
476<p>
477When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
478exit.
479</p>
480
481<p>
482Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it
483according to your needs.
484</p>
485
486<pre caption="Opening /etc/conf.d/clock">
487# <i>nano -w /etc/conf.d/clock</i>
488</pre>
489
490<p>
491If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c>
492to the file. Otherwise you will notice some clock skew.
493</p>
494
495<p>
496You should define the timezone that you previously copied to
497<path>/etc/localtime</path> so that further upgrades of the
498<c>sys-libs/timezone-data</c> package can update <path>/etc/localtime</path>
499automatically. For instance, if you used the GMT timezone, you would add
500<c>TIMEZONE="GMT"</c>
501</p>
502
503<p>
504When you're finished configuring <path>/etc/conf.d/clock</path>, save and
505exit.
506</p>
507
508<p test="not(func:keyval('arch')='PPC64')">
509Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
510Tools</uri>.
511</p>
512
513</body>
514</subsection>
515<subsection test="func:keyval('arch')='PPC64'">
516<title>Configuring the Console</title>
517<body>
518
519<p>
520If you are using a virtual console, you must uncomment the appropriate line in
521<path>/etc/inittab</path> for the virtual console to spawn a login prompt.
522</p>
523
524<pre caption="Enabling hvc or hvsi support in /etc/inittab">
525hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
526hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
527</pre>
528
529<p>
530You should also take this time to verify that the appropriate console is
531listed in <path>/etc/securetty</path>.
532</p>
533
534<p>
535You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
536System Tools</uri>.
39</p> 537</p>
40 538
41</body> 539</body>
42</subsection> 540</subsection>
43</section> 541</section>
542</sections>

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.103

  ViewVC Help
Powered by ViewVC 1.1.20