/[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.123 - (show annotations) (download) (as text)
Tue Dec 17 09:34:53 2013 UTC (5 years, 4 months ago) by swift
Branch: MAIN
Changes since 1.122: +7 -4 lines
File MIME type: application/xml
Fix bug #439276 - Add discard mount option for SSD users

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

  ViewVC Help
Powered by ViewVC 1.1.20