/[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.2 Revision 1.122
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.122 2013/07/24 20:40:40 swift Exp $ -->
8
1<sections> 9<sections>
2<section>
3<title>Timezone</title>
4<body>
5 10
6<p> 11<abstract>
7<path>/etc/localtime</path>. 12You need to edit some important configuration files. In this chapter
8</p> 13you receive an overview of these files and an explanation on how to
14proceed.
15</abstract>
9 16
10</body> 17<version>28</version>
11</section> 18<date>2013-07-24</date>
19
12<section> 20<section>
13<title>Filesystem Information</title> 21<title>Filesystem Information</title>
14<body> 22<subsection>
15 23<title>What is fstab?</title>
16<p>
17<path>/etc/fstab</path>
18</p>
19
20</body> 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>
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 0 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 0 2
126/dev/sda3 none swap sw 0 0
127/dev/sda4 / ext4 noatime 0 1
128
129/dev/cdrom /mnt/cdrom auto noauto,user 0 0
130</pre>
131
132<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'">
133<keyval id="/boot"/> /boot ext2 defaults,noatime 0 2
134/dev/sda2 none swap sw 0 0
135/dev/sda3 / ext4 noatime 0 1
136
137/dev/cdrom /mnt/cdrom auto noauto,user 0 0
138</pre>
139
140<pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'">
141/dev/sda1 / ext4 noatime 0 1
142/dev/sda2 none swap sw 0 0
143/dev/sda4 /usr ext4 noatime 0 2
144/dev/sda5 /var ext4 noatime 0 2
145/dev/sda6 /home ext4 noatime 0 2
146
147<comment># You must add the rules for openprom</comment>
148openprom /proc/openprom openpromfs defaults 0 0
149
150/dev/cdrom /mnt/cdrom auto noauto,user 0 0
151</pre>
152
153<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC' or
154func:keyval('arch')='PPC64'">
155/dev/sda4 / ext4 noatime 0 1
156/dev/sda3 none swap sw 0 0
157
158/dev/cdrom /mnt/cdrom auto noauto,user 0 0
159</pre>
160
161<p>
162<c>auto</c> makes <c>mount</c> guess for the filesystem (recommended for
163removable media as they can be created with one of many filesystems) and
164<c>user</c> makes it possible for non-root users to mount the CD.
165</p>
166
167<p>
168To improve performance, most users would want to add the <c>noatime</c>
169mount option, which results in a faster system since access times
170aren't registered (you don't need those generally anyway).
171</p>
172
173<p>
174Double-check your <path>/etc/fstab</path>, save and quit to continue.
175</p>
176
177</body>
178</subsection>
21</section> 179</section>
22<section> 180<section>
23<title>Networking Information</title> 181<title>Networking Information</title>
24<body> 182<subsection>
25 183<title>Host name, Domainname, etc</title>
26<p>
27<path>/etc/conf.d/net</path>, <c>rc-update add net.eth0</c>,
28PCMCIA-information etc.
29</p>
30
31</body> 184<body>
185
186<p>
187One of the choices the user has to make is name his/her PC. This seems to be
188quite easy, but <e>lots</e> of users are having difficulties finding the
189appropriate name for their Linux-pc. To speed things up, know that any name you
190choose can be changed afterwards. For all we care, you can just call your system
191<c>tux</c> and domain <c>homenetwork</c>.
192</p>
193
194<pre caption="Setting the host name">
195# <i>nano -w /etc/conf.d/hostname</i>
196
197<comment>(Set the hostname variable to your host name)</comment>
198hostname="<i>tux</i>"
199</pre>
200
201<p>
202Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
203You only need a domain if your ISP or network administrator says so, or if you
204have a DNS server but not a DHCP server. You don't need to worry about DNS or
205domainnames if your networking is setup for DHCP.
206</p>
207
208<pre caption="Setting the domainname">
209# <i>nano -w /etc/conf.d/net</i>
210
211<comment>(Set the dns_domain variable to your domain name)</comment>
212dns_domain_lo="<i>homenetwork</i>"
213</pre>
214
215<note>
216If you choose not to set a domainname, you can get rid of the "This is
217hostname.(none)" messages at your login screen by editing
218<path>/etc/issue</path>. Just delete the string <c>.\O</c> from that file.
219</note>
220
221<p>
222If you have a NIS domain (if you don't know what that is, then you don't have
223one), you need to define that one too:
224</p>
225
226<pre caption="Setting the NIS domainname">
227# <i>nano -w /etc/conf.d/net</i>
228
229<comment>(Set the nis_domain variable to your NIS domain name)</comment>
230nis_domain_lo="<i>my-nisdomain</i>"
231</pre>
232
233<note>
234For more information on configuring DNS and NIS, please read the examples
235provided in <path>/usr/share/doc/openrc-*/net.example.bz2</path> which
236can be read using <c>bzless</c>. Also, you may want to emerge <c>openresolv</c>
237to help manage your DNS/NIS setup.
238</note>
239
240</body>
241</subsection>
242<subsection>
243<title>Configuring your Network</title>
244<body>
245
246<p>
247Before you get that "Hey, we've had that already"-feeling, you should remember
248that the networking you set up in the beginning of the Gentoo installation was
249just for the installation. Right now you are going to configure networking for
250your Gentoo system permanently.
251</p>
252
253<note>
254More detailed information about networking, including advanced topics like
255bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
256link="?part=4">Gentoo Network Configuration</uri> section.
257</note>
258
259<p>
260All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
261a straightforward yet not intuitive syntax if you don't know how to set up
262networking manually. But don't fear, we'll explain everything. A fully
263commented example that covers many different configurations is available in
264<path>/usr/share/doc/openrc-*/net.example.bz2</path>.
265</p>
266
267<p>
268DHCP is used by default. For DHCP to work, you will need to install a DHCP
269client. This is described later in <uri
270link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
271Tools</uri>. Do not forget to install a DHCP client.
272</p>
273
274<p>
275If you need to configure your network connection either because you need
276specific DHCP options or because you do not use DHCP at all, open
277<path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
278this example):
279</p>
280
281<pre caption="Opening /etc/conf.d/net for editing">
282# <i>nano -w /etc/conf.d/net</i>
283</pre>
284
285<p>
286You will see the following file:
287</p>
288
289<pre caption="Default /etc/conf.d/net">
290# This blank configuration will automatically use DHCP for any net.*
291# scripts in /etc/init.d. To create a more complete configuration,
292# please review /usr/share/doc/openrc-*/net.example.bz2 and save
293# your configuration in /etc/conf.d/net (this file :]!).
294</pre>
295
296<p>
297To enter your own IP address, netmask and gateway, you need
298to set both <c>config_eth0</c> and <c>routes_eth0</c>:
299</p>
300
301<note>
302This assumes that your network interface will be called eth0. This is, however,
303very system dependent. It is recommended to assume that the interface is named
304the same as the interface name when booted from the installation media <e>if</e>
305the installation media is sufficiently recent. More information can be found in
306<uri link="?part=4&amp;chap=2#doc_chap4">Network Interface Naming</uri>.
307</note>
308
309<pre caption="Manually setting IP information for eth0">
310config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
311routes_eth0="default via 192.168.0.1"
312</pre>
313
314<p>
315To use DHCP, define <c>config_eth0</c>:
316</p>
317
318<pre caption="Automatically obtaining an IP address for eth0">
319config_eth0="dhcp"
320</pre>
321
322<p>
323Please read <path>/usr/share/doc/openrc-*/net.example.bz2</path> for a
324list of all available options. Be sure to also read your DHCP client manpage if
325you need to set specific DHCP options.
326</p>
327
328<p>
329If you have several network interfaces repeat the above steps for
330<c>config_eth1</c>, <c>config_eth2</c>, etc.
331</p>
332
333<p>
334Now save the configuration and exit to continue.
335</p>
336
337</body>
338</subsection>
339<subsection>
340<title>Automatically Start Networking at Boot</title>
341<body>
342
343<p>
344To have your network interfaces activated at boot, you need to add them to the
345default runlevel.
346</p>
347
348<pre caption="Adding net.eth0 to the default runlevel">
349# <i>cd /etc/init.d</i>
350# <i>ln -s net.lo net.eth0</i>
351# <i>rc-update add net.eth0 default</i>
352</pre>
353
354<p>
355If you have several network interfaces, you need to create the appropriate
356<path>net.*</path> files just like you did with <path>net.eth0</path>.
357</p>
358
359<p>
360If you later find out the assumption about the network interface name (which we
361currently document as eth0) was wrong, then
362</p>
363
364<ol>
365<li>
366update the <path>/etc/conf.d/net</path> file with the correct interface name (like enp3s0
367instead of eth0),
368</li>
369<li>
370create new symbolic link (like <path>/etc/init.d/net.enp3s0</path>),
371</li>
372<li>
373remove the old symbolic link (<c>rm /etc/init.d/net.eth0</c>),
374</li>
375<li>
376add the new one to the default runlevel, and
377</li>
378<li>
379remove the old one using <c>rc-update del net.eth0 default</c>.
380</li>
381</ol>
382
383</body>
384</subsection>
385<subsection>
386<title>Writing Down Network Information</title>
387<body>
388
389<p>
390You now need to inform Linux about your network. This is defined in
391<path>/etc/hosts</path> and helps in resolving host names to IP addresses for
392hosts that aren't resolved by your nameserver. You need to define your system.
393You may also want to define other systems on your network if you don't want to
394set up your own internal DNS system.
395</p>
396
397<pre caption="Opening /etc/hosts">
398# <i>nano -w /etc/hosts</i>
399</pre>
400
401<pre caption="Filling in the networking information">
402<comment>(This defines the current system)</comment>
403127.0.0.1 tux.homenetwork tux localhost
404
405<comment>(Define extra systems on your network,
406they need to have a static IP to be defined this way.)</comment>
407192.168.0.5 jenny.homenetwork jenny
408192.168.0.6 benny.homenetwork benny
409</pre>
410
411<p>
412Save and exit the editor to continue.
413</p>
414
415<p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
416If you don't have PCMCIA, you can now continue with <uri
417link="#sysinfo">System Information</uri>. PCMCIA-users should read the
418following topic on PCMCIA.
419</p>
420
421</body>
422</subsection>
423<subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
424<title>Optional: Get PCMCIA Working</title>
425<body>
426
427<p>
428PCMCIA users should first install the <c>pcmciautils</c> package.
429</p>
430
431<pre caption="Installing pcmciautils">
432# <i>emerge pcmciautils</i>
433</pre>
434
435</body>
436</subsection>
32</section> 437</section>
33<section> 438
439<section id="sysinfo">
34<title>System Information</title> 440<title>System Information</title>
35<body> 441<subsection>
36 442<title>Root Password</title>
37<p>
38<path>/etc/rc.conf</path>
39</p>
40
41</body> 443<body>
444
445<p>
446First we set the root password by typing:
447</p>
448
449<pre caption="Setting the root password">
450# <i>passwd</i>
451</pre>
452
453</body>
454</subsection>
455<subsection>
456<title>System Information</title>
457<body>
458
459<p>
460Gentoo uses <path>/etc/rc.conf</path> to configure the services, startup,
461and shutdown of your system. Open up <path>/etc/rc.conf</path> and enjoy all
462the comments in the file.
463</p>
464
465<pre caption="Configuring services">
466# <i>nano -w /etc/rc.conf</i>
467</pre>
468
469<p>
470When you're finished configuring these two files, save them and exit.
471</p>
472
473<p>
474Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
475Edit it to configure your keyboard.
476</p>
477
478<pre caption="Opening /etc/conf.d/keymaps">
479# <i>nano -w /etc/conf.d/keymaps</i>
480</pre>
481
482<p>
483Take special care with the <c>keymap</c> variable. If you select the wrong
484<c>keymap</c>, you will get weird results when typing on your keyboard.
485</p>
486
487<note test="substring(func:keyval('arch'),1,3)='PPC'">
488PPC uses x86 keymaps on most systems.
489</note>
490
491<p>
492When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
493exit.
494</p>
495
496<p>
497Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
498according to your needs.
499</p>
500
501<pre caption="Opening /etc/conf.d/hwclock">
502# <i>nano -w /etc/conf.d/hwclock</i>
503</pre>
504
505<p>
506If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
507to the file. Otherwise you will notice some clock skew.
508</p>
509
510<p>
511When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
512exit.
513</p>
514
515</body>
516</subsection>
517
518<subsection>
519<title>Configure locales</title>
520<body>
521
522<p>
523You will probably only use one or maybe two locales on your system. You have to
524specify locales you will need in <path>/etc/locale.gen</path>.
525</p>
526
527<pre caption="Opening /etc/locale.gen">
528# <i>nano -w /etc/locale.gen</i>
529</pre>
530
531<p>
532The following locales are an example to get both English (United States) and
533German (Germany) with the accompanying character formats (like UTF-8).
534</p>
535
536<pre caption="Specify your locales">
537en_US ISO-8859-1
538en_US.UTF-8 UTF-8
539de_DE ISO-8859-1
540de_DE@euro ISO-8859-15
541</pre>
542
543<note>
544You can select your desired locales in the list given by running <c>locale -a</c>.
545</note>
546
547<warn>
548We strongly suggest that you should use at least one UTF-8 locale because some
549applications may require it.
550</warn>
551
552<p>
553The next step is to run <c>locale-gen</c>. It will generates all the locales you
554have specified in the <path>/etc/locale.gen</path> file.
555</p>
556
557<pre caption="Running locale-gen">
558# <i>locale-gen</i>
559</pre>
560
561<p>
562Once done, you now have the possibility to set the system-wide locale settings
563in the <path>/etc/env.d/02locale</path> file:
564</p>
565
566<pre caption="Setting the default system locale in /etc/env.d/02locale">
567LANG="de_DE.UTF-8"
568LC_COLLATE="C"
569</pre>
570
571<p>
572And reload your environment:
573</p>
574
575<pre caption="Reload shell environment">
576# env-update &amp;&amp; source /etc/profile
577</pre>
578
579<p>
580We made a full <uri link="https://wiki.gentoo.org/wiki/Localization/HOWTO">Localization
581Guide</uri> to help you through this process. You can also read the detailed
582<uri link="https://wiki.gentoo.org/wiki/UTF-8">UTF-8 article</uri> for very specific
583informations to enable UTF-8 on your system.
584</p>
585
586<p test="not(func:keyval('arch')='PPC64')">
587Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
588Tools</uri>.
589</p>
590
591</body>
592</subsection>
593<subsection test="func:keyval('arch')='PPC64'">
594<title>Configuring the Console</title>
595<body>
596
597<p>
598If you are using a virtual console, you must uncomment the appropriate line in
599<path>/etc/inittab</path> for the virtual console to spawn a login prompt.
600</p>
601
602<pre caption="Enabling hvc or hvsi support in /etc/inittab">
603hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
604hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
605</pre>
606
607<p>
608You should also take this time to verify that the appropriate console is
609listed in <path>/etc/securetty</path>.
610</p>
611
612<p>
613You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
614System Tools</uri>.
615</p>
616
617</body>
618</subsection>
42</section> 619</section>
43</sections> 620</sections>

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.122

  ViewVC Help
Powered by ViewVC 1.1.20