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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.127 - (show annotations) (download) (as text)
Tue Dec 17 11:52:05 2013 UTC (3 years, 10 months ago) by swift
Branch: MAIN
Changes since 1.126: +7 -13 lines
File MIME type: application/xml
Fix bug #494514 - Mention that /etc/conf.d/net is a new file (to be created by the user)

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

  ViewVC Help
Powered by ViewVC 1.1.20