/[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.109 - (show annotations) (download) (as text)
Wed Feb 22 21:27:45 2012 UTC (2 years, 10 months ago) by swift
Branch: MAIN
Changes since 1.108: +6 -5 lines
File MIME type: application/xml
Fix bug #405271 (thanks to Ogelpre) to update /etc/timezone wherever we say to update /etc/localtime as it is /etc/timezone that is the master, read by timezone-data to update localtime

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.108 2011/10/30 11:56:08 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>16</version>
18 <date>2012-02-22</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 1 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 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
131 proc /proc proc defaults 0 0
132 shm /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
142 proc /proc proc defaults 0 0
143 shm /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>
154 openprom /proc/openprom openpromfs defaults 0 0
155
156 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
157
158 proc /proc proc defaults 0 0
159 shm /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
163 func: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
169 proc /proc proc defaults 0 0
170 shm /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
175 removable 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>
180 To improve performance, most users would want to add the <c>noatime</c>
181 mount option, which results in a faster system since access times
182 aren't registered (you don't need those generally anyway).
183 </p>
184
185 <p>
186 Double-check your <path>/etc/fstab</path>, save and quit to continue.
187 </p>
188
189 </body>
190 </subsection>
191 </section>
192 <section>
193 <title>Networking Information</title>
194 <subsection>
195 <title>Host name, Domainname, etc</title>
196 <body>
197
198 <p>
199 One of the choices the user has to make is name his/her PC. This seems to be
200 quite easy, but <e>lots</e> of users are having difficulties finding the
201 appropriate name for their Linux-pc. To speed things up, know that any name you
202 choose 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>
210 hostname="<i>tux</i>"
211 </pre>
212
213 <p>
214 Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
215 You only need a domain if your ISP or network administrator says so, or if you
216 have a DNS server but not a DHCP server. You don't need to worry about DNS or
217 domainnames 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>
224 dns_domain_lo="<i>homenetwork</i>"
225 </pre>
226
227 <note>
228 If you choose not to set a domainname, you can get rid of the "This is
229 hostname.(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>
234 If you have a NIS domain (if you don't know what that is, then you don't have
235 one), 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>
242 nis_domain_lo="<i>my-nisdomain</i>"
243 </pre>
244
245 <note>
246 For more information on configuring DNS and NIS, please read the examples
247 provided in <path>/usr/share/doc/openrc-*/net.example.bz2</path> which
248 can be read using <c>bzless</c>. Also, you may want to emerge <c>openresolv</c>
249 to help manage your DNS/NIS setup.
250 </note>
251
252 </body>
253 </subsection>
254 <subsection>
255 <title>Configuring your Network</title>
256 <body>
257
258 <p>
259 Before you get that "Hey, we've had that already"-feeling, you should remember
260 that the networking you set up in the beginning of the Gentoo installation was
261 just for the installation. Right now you are going to configure networking for
262 your Gentoo system permanently.
263 </p>
264
265 <note>
266 More detailed information about networking, including advanced topics like
267 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
268 link="?part=4">Gentoo Network Configuration</uri> section.
269 </note>
270
271 <p>
272 All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
273 a straightforward yet not intuitive syntax if you don't know how to set up
274 networking manually. But don't fear, we'll explain everything. A fully
275 commented example that covers many different configurations is available in
276 <path>/usr/share/doc/openrc-*/net.example.bz2</path>.
277 </p>
278
279 <p>
280 DHCP is used by default. For DHCP to work, you will need to install a DHCP
281 client. This is described later in <uri
282 link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
283 Tools</uri>. Do not forget to install a DHCP client.
284 </p>
285
286 <p>
287 If you need to configure your network connection either because you need
288 specific DHCP options or because you do not use DHCP at all, open
289 <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
290 this example):
291 </p>
292
293 <pre caption="Opening /etc/conf.d/net for editing">
294 # <i>nano -w /etc/conf.d/net</i>
295 </pre>
296
297 <p>
298 You will see the following file:
299 </p>
300
301 <pre caption="Default /etc/conf.d/net">
302 # This blank configuration will automatically use DHCP for any net.*
303 # scripts in /etc/init.d. To create a more complete configuration,
304 # please review /usr/share/doc/openrc-*/net.example.bz2 and save
305 # your configuration in /etc/conf.d/net (this file :]!).
306 </pre>
307
308 <p>
309 To enter your own IP address, netmask and gateway, you need
310 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
311 </p>
312
313 <pre caption="Manually setting IP information for eth0">
314 config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
315 routes_eth0="default via 192.168.0.1"
316 </pre>
317
318 <p>
319 To use DHCP, define <c>config_eth0</c>:
320 </p>
321
322 <pre caption="Automatically obtaining an IP address for eth0">
323 config_eth0="dhcp"
324 </pre>
325
326 <p>
327 Please read <path>/usr/share/doc/openrc-*/net.example.bz2</path> for a
328 list of all available options. Be sure to also read your DHCP client manpage if
329 you need to set specific DHCP options.
330 </p>
331
332 <p>
333 If you have several network interfaces repeat the above steps for
334 <c>config_eth1</c>, <c>config_eth2</c>, etc.
335 </p>
336
337 <p>
338 Now save the configuration and exit to continue.
339 </p>
340
341 </body>
342 </subsection>
343 <subsection>
344 <title>Automatically Start Networking at Boot</title>
345 <body>
346
347 <p>
348 To have your network interfaces activated at boot, you need to add them to the
349 default runlevel.
350 </p>
351
352 <pre caption="Adding net.eth0 to the default runlevel">
353 # <i>cd /etc/init.d</i>
354 # <i>ln -s net.lo net.eth0</i>
355 # <i>rc-update add net.eth0 default</i>
356 </pre>
357
358 <p>
359 If you have several network interfaces, you need to create the appropriate
360 <path>net.eth1</path>, <path>net.eth2</path> etc. just like you did with
361 <path>net.eth0</path>.
362 </p>
363
364 </body>
365 </subsection>
366 <subsection>
367 <title>Writing Down Network Information</title>
368 <body>
369
370 <p>
371 You now need to inform Linux about your network. This is defined in
372 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
373 hosts that aren't resolved by your nameserver. You need to define your system.
374 You may also want to define other systems on your network if you don't want to
375 set up your own internal DNS system.
376 </p>
377
378 <pre caption="Opening /etc/hosts">
379 # <i>nano -w /etc/hosts</i>
380 </pre>
381
382 <pre caption="Filling in the networking information">
383 <comment>(This defines the current system)</comment>
384 127.0.0.1 tux.homenetwork tux localhost
385
386 <comment>(Define extra systems on your network,
387 they need to have a static IP to be defined this way.)</comment>
388 192.168.0.5 jenny.homenetwork jenny
389 192.168.0.6 benny.homenetwork benny
390 </pre>
391
392 <p>
393 Save and exit the editor to continue.
394 </p>
395
396 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
397 If you don't have PCMCIA, you can now continue with <uri
398 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
399 following topic on PCMCIA.
400 </p>
401
402 </body>
403 </subsection>
404 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
405 <title>Optional: Get PCMCIA Working</title>
406 <body>
407
408 <p>
409 PCMCIA users should first install the <c>pcmciautils</c> package.
410 </p>
411
412 <pre caption="Installing pcmciautils">
413 # <i>emerge pcmciautils</i>
414 </pre>
415
416 </body>
417 </subsection>
418 </section>
419
420 <section id="sysinfo">
421 <title>System Information</title>
422 <subsection>
423 <title>Root Password</title>
424 <body>
425
426 <p>
427 First we set the root password by typing:
428 </p>
429
430 <pre caption="Setting the root password">
431 # <i>passwd</i>
432 </pre>
433
434 </body>
435 </subsection>
436 <subsection>
437 <title>System Information</title>
438 <body>
439
440 <p>
441 Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration.
442 Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :)
443 </p>
444
445 <pre caption="Opening /etc/rc.conf">
446 # <i>nano -w /etc/rc.conf</i>
447 </pre>
448
449 <p>
450 When you're finished configuring <path>/etc/rc.conf</path>, save and exit.
451 </p>
452
453 <p>
454 As you can see, this file is well commented to help you set up the necessary
455 configuration variables. You can configure your system to use unicode and
456 define your default editor and your display manager (like gdm or kdm).
457 </p>
458
459 <p>
460 Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
461 Edit it to configure your keyboard.
462 </p>
463
464 <pre caption="Opening /etc/conf.d/keymaps">
465 # <i>nano -w /etc/conf.d/keymaps</i>
466 </pre>
467
468 <p>
469 Take special care with the <c>keymap</c> variable. If you select the wrong
470 <c>keymap</c>, you will get weird results when typing on your keyboard.
471 </p>
472
473 <note test="substring(func:keyval('arch'),1,3)='PPC'">
474 PPC uses x86 keymaps on most systems.
475 </note>
476
477 <p>
478 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
479 exit.
480 </p>
481
482 <p>
483 Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
484 according to your needs.
485 </p>
486
487 <pre caption="Opening /etc/conf.d/hwclock">
488 # <i>nano -w /etc/conf.d/hwclock</i>
489 </pre>
490
491 <p>
492 If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
493 to the file. Otherwise you will notice some clock skew.
494 </p>
495
496 <p>
497 When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
498 exit.
499 </p>
500
501 <p>
502 You should define the timezone that you previously copied to
503 <path>/etc/localtime</path> in the <path>/etc/timezone</path> file so that
504 further upgrades of the <c>sys-libs/timezone-data</c> package can update
505 <path>/etc/localtime</path> automatically. For instance, if you used the
506 Europe/Brussels timezone, you would write <c>Europe/Brussels</c> in the
507 <path>/etc/timezone</path> file.
508 </p>
509
510 <p test="not(func:keyval('arch')='PPC64')">
511 Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
512 Tools</uri>.
513 </p>
514
515 </body>
516 </subsection>
517 <subsection test="func:keyval('arch')='PPC64'">
518 <title>Configuring the Console</title>
519 <body>
520
521 <p>
522 If you are using a virtual console, you must uncomment the appropriate line in
523 <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
524 </p>
525
526 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
527 hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
528 hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
529 </pre>
530
531 <p>
532 You should also take this time to verify that the appropriate console is
533 listed in <path>/etc/securetty</path>.
534 </p>
535
536 <p>
537 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
538 System Tools</uri>.
539 </p>
540
541 </body>
542 </subsection>
543 </section>
544 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20