/[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.110 - (hide annotations) (download) (as text)
Wed Mar 28 22:39:04 2012 UTC (2 years ago) by nightmorph
Branch: MAIN
Changes since 1.109: +10 -13 lines
File MIME type: application/xml
update conf.d/rc and rc.conf for OpenRC's usage, bug 407489

1 swift 1.18 <?xml version='1.0' encoding='UTF-8'?>
2     <!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3    
4 swift 1.4 <!-- The content of this document is licensed under the CC-BY-SA license -->
5 fox2mike 1.68 <!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 swift 1.4
7 nightmorph 1.110 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.109 2012/02/22 21:27:45 swift Exp $ -->
8 swift 1.8
9 swift 1.2 <sections>
10 swift 1.50
11 neysx 1.86 <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 nightmorph 1.110 <version>17</version>
18     <date>2012-03-28</date>
19 swift 1.50
20 swift 1.1 <section>
21     <title>Filesystem Information</title>
22 swift 1.3 <subsection>
23     <title>What is fstab?</title>
24 swift 1.1 <body>
25    
26     <p>
27 swift 1.3 Under Linux, all partitions used by the system must be listed in
28 neysx 1.79 <path>/etc/fstab</path>. This file contains the mount points of those partitions
29 swift 1.3 (where they are seen in the file system structure), how they should be mounted
30 neysx 1.45 and with what special options (automatically or not, whether users can mount
31     them or not, etc.)
32 swift 1.1 </p>
33    
34     </body>
35 swift 1.3 </subsection>
36     <subsection>
37     <title>Creating /etc/fstab</title>
38     <body>
39    
40     <p>
41 swift 1.17 <path>/etc/fstab</path> uses a special syntax. Every line consists of six
42 swift 1.9 fields, separated by whitespace (space(s), tabs or a mixture). Each field has
43 swift 1.3 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 neysx 1.79 The second field shows the <b>mount point</b> at which the partition should be
53 swift 1.3 mounted
54     </li>
55     <li>
56     The third field shows the <b>filesystem</b> used by the partition
57     </li>
58     <li>
59 neysx 1.79 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 swift 1.49 you are encouraged to read the mount man page (<c>man mount</c>) for a full
62 neysx 1.79 listing. Multiple mount options are comma-separated.
63 swift 1.3 </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 swift 1.17 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 neysx 1.45 (or <c>0</c> if a filesystem check isn't necessary).
73 swift 1.3 </li>
74     </ul>
75    
76 neysx 1.79 <impo>
77 nightmorph 1.77 The default <path>/etc/fstab</path> file provided by Gentoo <e>is not a valid
78 nightmorph 1.90 fstab file</e>. You <b>have to create</b> your own <path>/etc/fstab</path>.
79 neysx 1.79 </impo>
80 swift 1.3
81     <pre caption="Opening /etc/fstab">
82     # <i>nano -w /etc/fstab</i>
83     </pre>
84    
85 neysx 1.79 </body>
86     <body test="func:keyval('/boot')">
87    
88 swift 1.3 <p>
89 swift 1.17 Let us take a look at how we write down the options for the <path>/boot</path>
90 neysx 1.79 partition. This is just an example, if you didn't or couldn't create a
91     <path>/boot</path>, don't copy it.
92 swift 1.3 </p>
93    
94 nightmorph 1.99 <p>
95 neysx 1.79 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 swift 1.3 </p>
99    
100     <pre caption="An example /boot line for /etc/fstab">
101 neysx 1.79 <keyval id="/boot"/> /boot ext2 defaults 1 2
102 swift 1.3 </pre>
103    
104     <p>
105 swift 1.35 Some users don't want their <path>/boot</path> partition to be mounted
106 swift 1.43 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 swift 1.35 </p>
110    
111 neysx 1.79 </body>
112     <body>
113    
114 nightmorph 1.99 <p>
115 neysx 1.79 Add the rules that match your partitioning scheme and append rules for
116 swift 1.95 your CD-ROM drive(s), and of course, if you have other partitions or drives,
117     for those too.
118 neysx 1.79 </p>
119    
120 swift 1.35 <p>
121 neysx 1.79 Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
122 swift 1.3 </p>
123    
124 neysx 1.79 <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 nightmorph 1.102
131     proc /proc proc defaults 0 0
132     shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
133 neysx 1.79 </pre>
134    
135 nightmorph 1.99 <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 neysx 1.79 <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 nightmorph 1.102
142     proc /proc proc defaults 0 0
143     shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
144 neysx 1.79 </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 nightmorph 1.99 <comment># You must add the rules for openprom</comment>
154 neysx 1.87 openprom /proc/openprom openpromfs defaults 0 0
155 swift 1.3
156 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
157 nightmorph 1.102
158     proc /proc proc defaults 0 0
159     shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
160 swift 1.3 </pre>
161    
162 nightmorph 1.99 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC' or
163     func:keyval('arch')='PPC64'">
164 neysx 1.79 /dev/sda4 / ext3 noatime 0 1
165     /dev/sda3 none swap sw 0 0
166 swift 1.3
167 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
168 nightmorph 1.102
169     proc /proc proc defaults 0 0
170     shm /dev/shm tmpfs nodev,nosuid,noexec 0 0
171 swift 1.3 </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 neysx 1.79 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 swift 1.3 </p>
184    
185 swift 1.5 <p>
186 neysx 1.34 Double-check your <path>/etc/fstab</path>, save and quit to continue.
187 swift 1.3 </p>
188    
189     </body>
190     </subsection>
191 swift 1.2 </section>
192     <section>
193 swift 1.1 <title>Networking Information</title>
194 swift 1.3 <subsection>
195 nightmorph 1.84 <title>Host name, Domainname, etc</title>
196 swift 1.3 <body>
197    
198     <p>
199 swift 1.33 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 swift 1.3 <c>tux</c> and domain <c>homenetwork</c>.
204     </p>
205    
206 neysx 1.79 <pre caption="Setting the host name">
207 swift 1.66 # <i>nano -w /etc/conf.d/hostname</i>
208    
209 jkt 1.104 <comment>(Set the hostname variable to your host name)</comment>
210     hostname="<i>tux</i>"
211 swift 1.3 </pre>
212    
213 nightmorph 1.84 <p>
214 nightmorph 1.89 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 nightmorph 1.84 </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 nightmorph 1.89 <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 nightmorph 1.84 <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 nightmorph 1.85 <note>
246     For more information on configuring DNS and NIS, please read the examples
247 swift 1.108 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 nightmorph 1.85 </note>
251    
252 swift 1.3 </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 fox2mike 1.67 that the networking you set up in the beginning of the Gentoo installation was
261 swift 1.3 just for the installation. Right now you are going to configure networking for
262     your Gentoo system permanently.
263     </p>
264    
265 fox2mike 1.65 <note>
266     More detailed information about networking, including advanced topics like
267 swift 1.72 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
268 fox2mike 1.65 link="?part=4">Gentoo Network Configuration</uri> section.
269     </note>
270    
271 swift 1.3 <p>
272     All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
273 swift 1.48 a straightforward yet not intuitive syntax if you don't know how to set up
274 neysx 1.69 networking manually. But don't fear, we'll explain everything. A fully
275     commented example that covers many different configurations is available in
276 swift 1.108 <path>/usr/share/doc/openrc-*/net.example.bz2</path>.
277 swift 1.3 </p>
278    
279     <p>
280 neysx 1.83 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 neysx 1.69 </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 swift 1.3 </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 swift 1.58 <p>
298 neysx 1.69 You will see the following file:
299 swift 1.58 </p>
300    
301 neysx 1.69 <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 swift 1.108 # please review /usr/share/doc/openrc-*/net.example.bz2 and save
305     # your configuration in /etc/conf.d/net (this file :]!).
306 swift 1.58 </pre>
307    
308     <p>
309 neysx 1.69 To enter your own IP address, netmask and gateway, you need
310 swift 1.58 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 jkt 1.104 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 swift 1.58 </pre>
317    
318     <p>
319 nightmorph 1.100 To use DHCP, define <c>config_eth0</c>:
320 neysx 1.69 </p>
321    
322     <pre caption="Automatically obtaining an IP address for eth0">
323 jkt 1.104 config_eth0="dhcp"
324 neysx 1.69 </pre>
325    
326     <p>
327 swift 1.108 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 neysx 1.69 </p>
331    
332     <p>
333 swift 1.58 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 swift 1.3 <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 swift 1.1 <body>
346    
347     <p>
348 neysx 1.45 To have your network interfaces activated at boot, you need to add them to the
349 nightmorph 1.90 default runlevel.
350 swift 1.3 </p>
351    
352     <pre caption="Adding net.eth0 to the default runlevel">
353 jkt 1.103 # <i>cd /etc/init.d</i>
354     # <i>ln -s net.lo net.eth0</i>
355 swift 1.3 # <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 jkt 1.103 <path>net.eth1</path>, <path>net.eth2</path> etc. just like you did with
361     <path>net.eth0</path>.
362 swift 1.1 </p>
363    
364     </body>
365 swift 1.3 </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 neysx 1.79 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
373 neysx 1.78 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 swift 1.3 </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 neysx 1.78 <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 swift 1.22 192.168.0.5 jenny.homenetwork jenny
389     192.168.0.6 benny.homenetwork benny
390 swift 1.3 </pre>
391    
392     <p>
393     Save and exit the editor to continue.
394     </p>
395    
396 neysx 1.79 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
397 swift 1.3 If you don't have PCMCIA, you can now continue with <uri
398 neysx 1.79 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
399 swift 1.3 following topic on PCMCIA.
400     </p>
401    
402     </body>
403     </subsection>
404 neysx 1.79 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
405 swift 1.3 <title>Optional: Get PCMCIA Working</title>
406     <body>
407    
408     <p>
409 nightmorph 1.90 PCMCIA users should first install the <c>pcmciautils</c> package.
410 swift 1.3 </p>
411    
412 nightmorph 1.90 <pre caption="Installing pcmciautils">
413     # <i>emerge pcmciautils</i>
414 swift 1.3 </pre>
415    
416     </body>
417     </subsection>
418 swift 1.2 </section>
419 neysx 1.79
420     <section id="sysinfo">
421 swift 1.1 <title>System Information</title>
422 swift 1.41 <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 swift 1.1 <body>
439    
440     <p>
441 nightmorph 1.110 Gentoo uses <path>/etc/rc.conf</path> and <path>/etc/conf.d/rc</path> to
442     configure the services, startup, and shutdown of your system. Open up
443     <path>/etc/rc.conf</path> and <path>/etc/conf.d/rc</path> and enjoy all the
444     comments in those files.
445 swift 1.3 </p>
446    
447 nightmorph 1.110 <pre caption="Configuring services">
448 swift 1.3 # <i>nano -w /etc/rc.conf</i>
449 nightmorph 1.110 # <i>nano -w /etc/conf.d/rc</i>
450 swift 1.3 </pre>
451    
452     <p>
453 nightmorph 1.110 When you're finished configuring these two files, save them and exit.
454 fox2mike 1.67 </p>
455    
456     <p>
457     Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
458     Edit it to configure your keyboard.
459     </p>
460    
461     <pre caption="Opening /etc/conf.d/keymaps">
462     # <i>nano -w /etc/conf.d/keymaps</i>
463     </pre>
464    
465     <p>
466 swift 1.105 Take special care with the <c>keymap</c> variable. If you select the wrong
467     <c>keymap</c>, you will get weird results when typing on your keyboard.
468 swift 1.16 </p>
469    
470 neysx 1.79 <note test="substring(func:keyval('arch'),1,3)='PPC'">
471 nightmorph 1.101 PPC uses x86 keymaps on most systems.
472 swift 1.16 </note>
473    
474     <p>
475 fox2mike 1.67 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
476     exit.
477     </p>
478    
479     <p>
480 swift 1.105 Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
481 fox2mike 1.67 according to your needs.
482 swift 1.29 </p>
483    
484 swift 1.105 <pre caption="Opening /etc/conf.d/hwclock">
485     # <i>nano -w /etc/conf.d/hwclock</i>
486 fox2mike 1.67 </pre>
487    
488 swift 1.29 <p>
489 swift 1.107 If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
490 nightmorph 1.82 to the file. Otherwise you will notice some clock skew.
491 swift 1.61 </p>
492    
493     <p>
494 swift 1.107 When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
495     exit.
496 nightmorph 1.93 </p>
497    
498     <p>
499 swift 1.107 You should define the timezone that you previously copied to
500     <path>/etc/localtime</path> in the <path>/etc/timezone</path> file so that
501     further upgrades of the <c>sys-libs/timezone-data</c> package can update
502 swift 1.109 <path>/etc/localtime</path> automatically. For instance, if you used the
503     Europe/Brussels timezone, you would write <c>Europe/Brussels</c> in the
504     <path>/etc/timezone</path> file.
505 swift 1.59 </p>
506    
507 neysx 1.79 <p test="not(func:keyval('arch')='PPC64')">
508     Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
509     Tools</uri>.
510 swift 1.59 </p>
511    
512     </body>
513     </subsection>
514 neysx 1.79 <subsection test="func:keyval('arch')='PPC64'">
515 swift 1.59 <title>Configuring the Console</title>
516     <body>
517    
518     <p>
519 neysx 1.79 If you are using a virtual console, you must uncomment the appropriate line in
520     <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
521 swift 1.59 </p>
522    
523 swift 1.70 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
524     hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
525     hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
526 swift 1.59 </pre>
527    
528     <p>
529 swift 1.70 You should also take this time to verify that the appropriate console is
530 jkt 1.71 listed in <path>/etc/securetty</path>.
531 swift 1.70 </p>
532    
533     <p>
534 swift 1.59 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
535     System Tools</uri>.
536 swift 1.1 </p>
537    
538     </body>
539 swift 1.41 </subsection>
540 swift 1.1 </section>
541 swift 1.2 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20