/[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.116 - (show annotations) (download) (as text)
Sat Oct 6 20:16:10 2012 UTC (2 years, 1 month ago) by swift
Branch: MAIN
Changes since 1.115: +6 -6 lines
File MIME type: application/xml
Part of bug #437338 - Do not set the dump (5th) field in fstab to 1, it might confuse users and isnt used anyway

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.115 2012/04/29 16:52:20 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>22</version>
18 <date>2012-10-06</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 / ext3 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 / ext3 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 / ext3 noatime 0 1
142 /dev/sda2 none swap sw 0 0
143 /dev/sda4 /usr ext3 noatime 0 2
144 /dev/sda5 /var ext3 noatime 0 2
145 /dev/sda6 /home ext3 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 / ext3 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).
171 </p>
172
173 <p>
174 Double-check your <path>/etc/fstab</path>, save and quit to continue.
175 </p>
176
177 </body>
178 </subsection>
179 </section>
180 <section>
181 <title>Networking Information</title>
182 <subsection>
183 <title>Host name, Domainname, etc</title>
184 <body>
185
186 <p>
187 One of the choices the user has to make is name his/her PC. This seems to be
188 quite easy, but <e>lots</e> of users are having difficulties finding the
189 appropriate name for their Linux-pc. To speed things up, know that any name you
190 choose 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>
198 hostname="<i>tux</i>"
199 </pre>
200
201 <p>
202 Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
203 You only need a domain if your ISP or network administrator says so, or if you
204 have a DNS server but not a DHCP server. You don't need to worry about DNS or
205 domainnames 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>
212 dns_domain_lo="<i>homenetwork</i>"
213 </pre>
214
215 <note>
216 If you choose not to set a domainname, you can get rid of the "This is
217 hostname.(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>
222 If you have a NIS domain (if you don't know what that is, then you don't have
223 one), 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>
230 nis_domain_lo="<i>my-nisdomain</i>"
231 </pre>
232
233 <note>
234 For more information on configuring DNS and NIS, please read the examples
235 provided in <path>/usr/share/doc/openrc-*/net.example.bz2</path> which
236 can be read using <c>bzless</c>. Also, you may want to emerge <c>openresolv</c>
237 to 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>
247 Before you get that "Hey, we've had that already"-feeling, you should remember
248 that the networking you set up in the beginning of the Gentoo installation was
249 just for the installation. Right now you are going to configure networking for
250 your Gentoo system permanently.
251 </p>
252
253 <note>
254 More detailed information about networking, including advanced topics like
255 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
256 link="?part=4">Gentoo Network Configuration</uri> section.
257 </note>
258
259 <p>
260 All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
261 a straightforward yet not intuitive syntax if you don't know how to set up
262 networking manually. But don't fear, we'll explain everything. A fully
263 commented example that covers many different configurations is available in
264 <path>/usr/share/doc/openrc-*/net.example.bz2</path>.
265 </p>
266
267 <p>
268 DHCP is used by default. For DHCP to work, you will need to install a DHCP
269 client. This is described later in <uri
270 link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
271 Tools</uri>. Do not forget to install a DHCP client.
272 </p>
273
274 <p>
275 If you need to configure your network connection either because you need
276 specific 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
278 this 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>
286 You 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>
297 To enter your own IP address, netmask and gateway, you need
298 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
299 </p>
300
301 <pre caption="Manually setting IP information for eth0">
302 config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
303 routes_eth0="default via 192.168.0.1"
304 </pre>
305
306 <p>
307 To use DHCP, define <c>config_eth0</c>:
308 </p>
309
310 <pre caption="Automatically obtaining an IP address for eth0">
311 config_eth0="dhcp"
312 </pre>
313
314 <p>
315 Please read <path>/usr/share/doc/openrc-*/net.example.bz2</path> for a
316 list of all available options. Be sure to also read your DHCP client manpage if
317 you need to set specific DHCP options.
318 </p>
319
320 <p>
321 If you have several network interfaces repeat the above steps for
322 <c>config_eth1</c>, <c>config_eth2</c>, etc.
323 </p>
324
325 <p>
326 Now save the configuration and exit to continue.
327 </p>
328
329 </body>
330 </subsection>
331 <subsection>
332 <title>Automatically Start Networking at Boot</title>
333 <body>
334
335 <p>
336 To have your network interfaces activated at boot, you need to add them to the
337 default runlevel.
338 </p>
339
340 <pre caption="Adding net.eth0 to the default runlevel">
341 # <i>cd /etc/init.d</i>
342 # <i>ln -s net.lo net.eth0</i>
343 # <i>rc-update add net.eth0 default</i>
344 </pre>
345
346 <p>
347 If you have several network interfaces, you need to create the appropriate
348 <path>net.eth1</path>, <path>net.eth2</path> etc. just like you did with
349 <path>net.eth0</path>.
350 </p>
351
352 </body>
353 </subsection>
354 <subsection>
355 <title>Writing Down Network Information</title>
356 <body>
357
358 <p>
359 You now need to inform Linux about your network. This is defined in
360 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
361 hosts that aren't resolved by your nameserver. You need to define your system.
362 You may also want to define other systems on your network if you don't want to
363 set up your own internal DNS system.
364 </p>
365
366 <pre caption="Opening /etc/hosts">
367 # <i>nano -w /etc/hosts</i>
368 </pre>
369
370 <pre caption="Filling in the networking information">
371 <comment>(This defines the current system)</comment>
372 127.0.0.1 tux.homenetwork tux localhost
373
374 <comment>(Define extra systems on your network,
375 they need to have a static IP to be defined this way.)</comment>
376 192.168.0.5 jenny.homenetwork jenny
377 192.168.0.6 benny.homenetwork benny
378 </pre>
379
380 <p>
381 Save and exit the editor to continue.
382 </p>
383
384 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
385 If you don't have PCMCIA, you can now continue with <uri
386 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
387 following topic on PCMCIA.
388 </p>
389
390 </body>
391 </subsection>
392 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
393 <title>Optional: Get PCMCIA Working</title>
394 <body>
395
396 <p>
397 PCMCIA users should first install the <c>pcmciautils</c> package.
398 </p>
399
400 <pre caption="Installing pcmciautils">
401 # <i>emerge pcmciautils</i>
402 </pre>
403
404 </body>
405 </subsection>
406 </section>
407
408 <section id="sysinfo">
409 <title>System Information</title>
410 <subsection>
411 <title>Root Password</title>
412 <body>
413
414 <p>
415 First we set the root password by typing:
416 </p>
417
418 <pre caption="Setting the root password">
419 # <i>passwd</i>
420 </pre>
421
422 </body>
423 </subsection>
424 <subsection>
425 <title>System Information</title>
426 <body>
427
428 <p>
429 Gentoo uses <path>/etc/rc.conf</path> to configure the services, startup,
430 and shutdown of your system. Open up <path>/etc/rc.conf</path> and enjoy all
431 the comments in the file.
432 </p>
433
434 <pre caption="Configuring services">
435 # <i>nano -w /etc/rc.conf</i>
436 </pre>
437
438 <p>
439 When you're finished configuring these two files, save them and exit.
440 </p>
441
442 <p>
443 Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
444 Edit it to configure your keyboard.
445 </p>
446
447 <pre caption="Opening /etc/conf.d/keymaps">
448 # <i>nano -w /etc/conf.d/keymaps</i>
449 </pre>
450
451 <p>
452 Take special care with the <c>keymap</c> variable. If you select the wrong
453 <c>keymap</c>, you will get weird results when typing on your keyboard.
454 </p>
455
456 <note test="substring(func:keyval('arch'),1,3)='PPC'">
457 PPC uses x86 keymaps on most systems.
458 </note>
459
460 <p>
461 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
462 exit.
463 </p>
464
465 <p>
466 Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
467 according to your needs.
468 </p>
469
470 <pre caption="Opening /etc/conf.d/hwclock">
471 # <i>nano -w /etc/conf.d/hwclock</i>
472 </pre>
473
474 <p>
475 If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
476 to the file. Otherwise you will notice some clock skew.
477 </p>
478
479 <p>
480 When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
481 exit.
482 </p>
483
484 <p>
485 You should define the timezone that you previously copied to
486 <path>/etc/localtime</path> in the <path>/etc/timezone</path> file so that
487 further upgrades of the <c>sys-libs/timezone-data</c> package can update
488 <path>/etc/localtime</path> automatically. For instance, if you used the
489 Europe/Brussels timezone, you would write <c>Europe/Brussels</c> in the
490 <path>/etc/timezone</path> file.
491 </p>
492
493 </body>
494 </subsection>
495
496 <subsection>
497 <title>Configure locales</title>
498 <body>
499
500 <p>
501 You will probably only use one or maybe two locales on your system. You have to
502 specify locales you will need in <path>/etc/locale.gen</path>.
503 </p>
504
505 <pre caption="Opening /etc/locale.gen">
506 # <i>nano -w /etc/locale.gen</i>
507 </pre>
508
509 <p>
510 The following locales are an example to get both English (United States) and
511 German (Germany) with the accompanying character formats (like UTF-8).
512 </p>
513
514 <pre caption="Specify your locales">
515 en_US ISO-8859-1
516 en_US.UTF-8 UTF-8
517 de_DE ISO-8859-1
518 de_DE@euro ISO-8859-15
519 </pre>
520
521 <note>
522 You can select your desired locales in the list given by running <c>locale -a</c>.
523 </note>
524
525 <warn>
526 We strongly suggest that you should use at least one UTF-8 locale because some
527 applications may require it.
528 </warn>
529
530 <p>
531 The next step is to run <c>locale-gen</c>. It will generates all the locales you
532 have specified in the <path>/etc/locale.gen</path> file.
533 </p>
534
535 <pre caption="Running locale-gen">
536 # <i>locale-gen</i>
537 </pre>
538
539 <p>
540 Once done, you now have the possibility to set the system-wide locale settings
541 in the <path>/etc/env.d/02locale</path> file:
542 </p>
543
544 <pre caption="Setting the default system locale in /etc/env.d/02locale">
545 LANG="de_DE.UTF-8"
546 LC_COLLATE="C"
547 </pre>
548
549 <p>
550 And reload your environment:
551 </p>
552
553 <pre caption="Reload shell environment">
554 # env-update &amp;&amp; source /etc/profile
555 </pre>
556
557 <p>
558 We made a full <uri link="../guide-localization.xml#doc_chap3">Localization
559 Guide</uri> to help you through this process. You can also read our detailed
560 <uri link="../utf-8.xml#doc_chap2">UTF-8 Guide</uri> for very specific
561 informations to enable UTF-8 on your system.
562 </p>
563
564 <p test="not(func:keyval('arch')='PPC64')">
565 Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
566 Tools</uri>.
567 </p>
568
569 </body>
570 </subsection>
571 <subsection test="func:keyval('arch')='PPC64'">
572 <title>Configuring the Console</title>
573 <body>
574
575 <p>
576 If you are using a virtual console, you must uncomment the appropriate line in
577 <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
578 </p>
579
580 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
581 hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
582 hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
583 </pre>
584
585 <p>
586 You should also take this time to verify that the appropriate console is
587 listed in <path>/etc/securetty</path>.
588 </p>
589
590 <p>
591 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
592 System Tools</uri>.
593 </p>
594
595 </body>
596 </subsection>
597 </section>
598 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20