/[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.131 - (hide annotations) (download) (as text)
Tue May 27 10:05:48 2014 UTC (3 months, 3 weeks ago) by swift
Branch: MAIN
CVS Tags: HEAD
Changes since 1.130: +4 -4 lines
File MIME type: application/xml
Fix bug #510274 - Typo in /dev/disk/by-id path

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 swift 1.131 <!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.130 2014/04/11 16:03:58 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 swift 1.131 <version>37</version>
18     <date>2014-05-27</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 swift 1.124 <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 swift 1.131 <path>/dev/disk/by-id</path> or <path>/dev/disk/by-uuid</path>. These names are
89 swift 1.124 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 neysx 1.79 </body>
96     <body test="func:keyval('/boot')">
97    
98 swift 1.3 <p>
99 swift 1.17 Let us take a look at how we write down the options for the <path>/boot</path>
100 neysx 1.79 partition. This is just an example, if you didn't or couldn't create a
101     <path>/boot</path>, don't copy it.
102 swift 1.3 </p>
103    
104 nightmorph 1.99 <p>
105 neysx 1.79 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 swift 1.3 </p>
109    
110     <pre caption="An example /boot line for /etc/fstab">
111 swift 1.116 <keyval id="/boot"/> /boot ext2 defaults 0 2
112 swift 1.3 </pre>
113    
114     <p>
115 swift 1.35 Some users don't want their <path>/boot</path> partition to be mounted
116 swift 1.43 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 swift 1.35 </p>
120    
121 neysx 1.79 </body>
122     <body>
123    
124 nightmorph 1.99 <p>
125 neysx 1.79 Add the rules that match your partitioning scheme and append rules for
126 swift 1.95 your CD-ROM drive(s), and of course, if you have other partitions or drives,
127     for those too.
128 neysx 1.79 </p>
129    
130 swift 1.35 <p>
131 neysx 1.79 Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
132 swift 1.3 </p>
133    
134 swift 1.128 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA' or func:keyval('arch')='x86' or func:keyval('arch')='AMD64'">
135 swift 1.116 <keyval id="/boot"/> /boot ext2 defaults,noatime 0 2
136 neysx 1.79 /dev/sda3 none swap sw 0 0
137 swift 1.118 /dev/sda4 / ext4 noatime 0 1
138 neysx 1.79
139     /dev/cdrom /mnt/cdrom auto noauto,user 0 0
140     </pre>
141    
142 swift 1.128 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='Alpha' or func:keyval('arch')='MIPS'">
143 swift 1.116 <keyval id="/boot"/> /boot ext2 defaults,noatime 0 2
144 neysx 1.79 /dev/sda2 none swap sw 0 0
145 swift 1.118 /dev/sda3 / ext4 noatime 0 1
146 neysx 1.79
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 swift 1.118 /dev/sda1 / ext4 noatime 0 1
152 neysx 1.79 /dev/sda2 none swap sw 0 0
153 swift 1.118 /dev/sda4 /usr ext4 noatime 0 2
154     /dev/sda5 /var ext4 noatime 0 2
155     /dev/sda6 /home ext4 noatime 0 2
156 neysx 1.79
157 nightmorph 1.99 <comment># You must add the rules for openprom</comment>
158 neysx 1.87 openprom /proc/openprom openpromfs defaults 0 0
159 swift 1.3
160 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
161 swift 1.3 </pre>
162    
163 nightmorph 1.99 <pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC' or
164     func:keyval('arch')='PPC64'">
165 swift 1.118 /dev/sda4 / ext4 noatime 0 1
166 neysx 1.79 /dev/sda3 none swap sw 0 0
167 swift 1.3
168 neysx 1.79 /dev/cdrom /mnt/cdrom auto noauto,user 0 0
169 swift 1.3 </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 neysx 1.79 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 swift 1.123 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 swift 1.3 </p>
185    
186 swift 1.5 <p>
187 neysx 1.34 Double-check your <path>/etc/fstab</path>, save and quit to continue.
188 swift 1.3 </p>
189    
190     </body>
191     </subsection>
192 swift 1.2 </section>
193     <section>
194 swift 1.1 <title>Networking Information</title>
195 swift 1.3 <subsection>
196 nightmorph 1.84 <title>Host name, Domainname, etc</title>
197 swift 1.3 <body>
198    
199     <p>
200 swift 1.33 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 swift 1.3 <c>tux</c> and domain <c>homenetwork</c>.
205     </p>
206    
207 neysx 1.79 <pre caption="Setting the host name">
208 swift 1.66 # <i>nano -w /etc/conf.d/hostname</i>
209    
210 jkt 1.104 <comment>(Set the hostname variable to your host name)</comment>
211     hostname="<i>tux</i>"
212 swift 1.3 </pre>
213    
214 nightmorph 1.84 <p>
215 nightmorph 1.89 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 nightmorph 1.84 </p>
220    
221 swift 1.127 <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 nightmorph 1.84 <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 nightmorph 1.89 <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 nightmorph 1.84 <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 nightmorph 1.85 <note>
252     For more information on configuring DNS and NIS, please read the examples
253 swift 1.126 provided in <path>/usr/share/doc/netifrc-*/net.example.bz2</path> which
254 swift 1.108 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 nightmorph 1.85 </note>
257    
258 swift 1.3 </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 fox2mike 1.67 that the networking you set up in the beginning of the Gentoo installation was
267 swift 1.3 just for the installation. Right now you are going to configure networking for
268     your Gentoo system permanently.
269     </p>
270    
271 fox2mike 1.65 <note>
272     More detailed information about networking, including advanced topics like
273 swift 1.72 bonding, bridging, 802.1Q VLANs or wireless networking is covered in the <uri
274 fox2mike 1.65 link="?part=4">Gentoo Network Configuration</uri> section.
275     </note>
276    
277 swift 1.3 <p>
278     All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
279 swift 1.48 a straightforward yet not intuitive syntax if you don't know how to set up
280 neysx 1.69 networking manually. But don't fear, we'll explain everything. A fully
281     commented example that covers many different configurations is available in
282 swift 1.126 <path>/usr/share/doc/netifrc-*/net.example.bz2</path>.
283 swift 1.3 </p>
284    
285     <p>
286 swift 1.130 Let's first install <c>netifrc</c>:
287     </p>
288    
289     <pre caption="Installing netifrc">
290     # <i>emerge --noreplace netifrc</i>
291     </pre>
292    
293     <p>
294 neysx 1.83 DHCP is used by default. For DHCP to work, you will need to install a DHCP
295     client. This is described later in <uri
296     link="?part=1&amp;chap=9#networking-tools">Installing Necessary System
297     Tools</uri>. Do not forget to install a DHCP client.
298 neysx 1.69 </p>
299    
300     <p>
301     If you need to configure your network connection either because you need
302     specific DHCP options or because you do not use DHCP at all, open
303     <path>/etc/conf.d/net</path> with your favorite editor (<c>nano</c> is used in
304     this example):
305 swift 1.3 </p>
306    
307     <pre caption="Opening /etc/conf.d/net for editing">
308     # <i>nano -w /etc/conf.d/net</i>
309     </pre>
310    
311 swift 1.58 <p>
312 neysx 1.69 To enter your own IP address, netmask and gateway, you need
313 swift 1.58 to set both <c>config_eth0</c> and <c>routes_eth0</c>:
314     </p>
315    
316 swift 1.119 <note>
317     This assumes that your network interface will be called eth0. This is, however,
318     very system dependent. It is recommended to assume that the interface is named
319     the same as the interface name when booted from the installation media <e>if</e>
320 swift 1.120 the installation media is sufficiently recent. More information can be found in
321     <uri link="?part=4&amp;chap=2#doc_chap4">Network Interface Naming</uri>.
322 swift 1.119 </note>
323    
324 swift 1.58 <pre caption="Manually setting IP information for eth0">
325 jkt 1.104 config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
326     routes_eth0="default via 192.168.0.1"
327 swift 1.58 </pre>
328    
329     <p>
330 nightmorph 1.100 To use DHCP, define <c>config_eth0</c>:
331 neysx 1.69 </p>
332    
333     <pre caption="Automatically obtaining an IP address for eth0">
334 jkt 1.104 config_eth0="dhcp"
335 neysx 1.69 </pre>
336    
337     <p>
338 swift 1.126 Please read <path>/usr/share/doc/netifrc-*/net.example.bz2</path> for a
339 swift 1.108 list of all available options. Be sure to also read your DHCP client manpage if
340     you need to set specific DHCP options.
341 neysx 1.69 </p>
342    
343     <p>
344 swift 1.58 If you have several network interfaces repeat the above steps for
345     <c>config_eth1</c>, <c>config_eth2</c>, etc.
346     </p>
347    
348 swift 1.3 <p>
349     Now save the configuration and exit to continue.
350     </p>
351    
352     </body>
353     </subsection>
354     <subsection>
355     <title>Automatically Start Networking at Boot</title>
356 swift 1.1 <body>
357    
358     <p>
359 neysx 1.45 To have your network interfaces activated at boot, you need to add them to the
360 nightmorph 1.90 default runlevel.
361 swift 1.3 </p>
362    
363     <pre caption="Adding net.eth0 to the default runlevel">
364 jkt 1.103 # <i>cd /etc/init.d</i>
365     # <i>ln -s net.lo net.eth0</i>
366 swift 1.3 # <i>rc-update add net.eth0 default</i>
367     </pre>
368    
369     <p>
370     If you have several network interfaces, you need to create the appropriate
371 swift 1.119 <path>net.*</path> files just like you did with <path>net.eth0</path>.
372 swift 1.1 </p>
373    
374 swift 1.119 <p>
375     If you later find out the assumption about the network interface name (which we
376     currently document as eth0) was wrong, then
377     </p>
378    
379     <ol>
380     <li>
381     update the <path>/etc/conf.d/net</path> file with the correct interface name (like enp3s0
382     instead of eth0),
383     </li>
384     <li>
385     create new symbolic link (like <path>/etc/init.d/net.enp3s0</path>),
386     </li>
387     <li>
388     remove the old symbolic link (<c>rm /etc/init.d/net.eth0</c>),
389     </li>
390     <li>
391     add the new one to the default runlevel, and
392     </li>
393     <li>
394     remove the old one using <c>rc-update del net.eth0 default</c>.
395     </li>
396     </ol>
397    
398 swift 1.1 </body>
399 swift 1.3 </subsection>
400     <subsection>
401     <title>Writing Down Network Information</title>
402     <body>
403    
404     <p>
405     You now need to inform Linux about your network. This is defined in
406 neysx 1.79 <path>/etc/hosts</path> and helps in resolving host names to IP addresses for
407 neysx 1.78 hosts that aren't resolved by your nameserver. You need to define your system.
408     You may also want to define other systems on your network if you don't want to
409     set up your own internal DNS system.
410 swift 1.3 </p>
411    
412     <pre caption="Opening /etc/hosts">
413     # <i>nano -w /etc/hosts</i>
414     </pre>
415    
416     <pre caption="Filling in the networking information">
417 neysx 1.78 <comment>(This defines the current system)</comment>
418     127.0.0.1 tux.homenetwork tux localhost
419    
420     <comment>(Define extra systems on your network,
421     they need to have a static IP to be defined this way.)</comment>
422 swift 1.22 192.168.0.5 jenny.homenetwork jenny
423     192.168.0.6 benny.homenetwork benny
424 swift 1.3 </pre>
425    
426     <p>
427     Save and exit the editor to continue.
428     </p>
429    
430 neysx 1.79 <p test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
431 swift 1.3 If you don't have PCMCIA, you can now continue with <uri
432 neysx 1.79 link="#sysinfo">System Information</uri>. PCMCIA-users should read the
433 swift 1.3 following topic on PCMCIA.
434     </p>
435    
436     </body>
437     </subsection>
438 neysx 1.79 <subsection test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86' or substring(func:keyval('arch'),1,3)='PPC'">
439 swift 1.3 <title>Optional: Get PCMCIA Working</title>
440     <body>
441    
442     <p>
443 nightmorph 1.90 PCMCIA users should first install the <c>pcmciautils</c> package.
444 swift 1.3 </p>
445    
446 nightmorph 1.90 <pre caption="Installing pcmciautils">
447     # <i>emerge pcmciautils</i>
448 swift 1.3 </pre>
449    
450     </body>
451     </subsection>
452 swift 1.2 </section>
453 neysx 1.79
454     <section id="sysinfo">
455 swift 1.1 <title>System Information</title>
456 swift 1.41 <subsection>
457     <title>Root Password</title>
458     <body>
459    
460     <p>
461     First we set the root password by typing:
462     </p>
463    
464     <pre caption="Setting the root password">
465     # <i>passwd</i>
466     </pre>
467    
468     </body>
469     </subsection>
470     <subsection>
471     <title>System Information</title>
472 swift 1.1 <body>
473    
474     <p>
475 swift 1.111 Gentoo uses <path>/etc/rc.conf</path> to configure the services, startup,
476     and shutdown of your system. Open up <path>/etc/rc.conf</path> and enjoy all
477     the comments in the file.
478 swift 1.3 </p>
479    
480 nightmorph 1.110 <pre caption="Configuring services">
481 swift 1.3 # <i>nano -w /etc/rc.conf</i>
482     </pre>
483    
484     <p>
485 nightmorph 1.110 When you're finished configuring these two files, save them and exit.
486 fox2mike 1.67 </p>
487    
488     <p>
489     Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
490     Edit it to configure your keyboard.
491     </p>
492    
493     <pre caption="Opening /etc/conf.d/keymaps">
494     # <i>nano -w /etc/conf.d/keymaps</i>
495     </pre>
496    
497     <p>
498 swift 1.105 Take special care with the <c>keymap</c> variable. If you select the wrong
499     <c>keymap</c>, you will get weird results when typing on your keyboard.
500 swift 1.16 </p>
501    
502 neysx 1.79 <note test="substring(func:keyval('arch'),1,3)='PPC'">
503 nightmorph 1.101 PPC uses x86 keymaps on most systems.
504 swift 1.16 </note>
505    
506     <p>
507 fox2mike 1.67 When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
508     exit.
509     </p>
510    
511     <p>
512 swift 1.105 Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
513 fox2mike 1.67 according to your needs.
514 swift 1.29 </p>
515    
516 swift 1.105 <pre caption="Opening /etc/conf.d/hwclock">
517     # <i>nano -w /etc/conf.d/hwclock</i>
518 fox2mike 1.67 </pre>
519    
520 swift 1.29 <p>
521 swift 1.107 If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
522 nightmorph 1.82 to the file. Otherwise you will notice some clock skew.
523 swift 1.61 </p>
524    
525     <p>
526 swift 1.107 When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
527     exit.
528 nightmorph 1.93 </p>
529    
530 cam 1.112 </body>
531     </subsection>
532    
533 neysx 1.79 <subsection test="func:keyval('arch')='PPC64'">
534 swift 1.59 <title>Configuring the Console</title>
535     <body>
536    
537     <p>
538 neysx 1.79 If you are using a virtual console, you must uncomment the appropriate line in
539     <path>/etc/inittab</path> for the virtual console to spawn a login prompt.
540 swift 1.59 </p>
541    
542 swift 1.70 <pre caption="Enabling hvc or hvsi support in /etc/inittab">
543     hvc0:12345:respawn:/sbin/agetty -L 9600 hvc0
544     hvsi:12345:respawn:/sbin/agetty -L 19200 hvsi0
545 swift 1.59 </pre>
546    
547     <p>
548 swift 1.70 You should also take this time to verify that the appropriate console is
549 jkt 1.71 listed in <path>/etc/securetty</path>.
550 swift 1.70 </p>
551    
552     <p>
553 swift 1.59 You may now continue with <uri link="?part=1&amp;chap=9">Installing Necessary
554     System Tools</uri>.
555 swift 1.1 </p>
556    
557     </body>
558 swift 1.41 </subsection>
559 swift 1.1 </section>
560 swift 1.2 </sections>

  ViewVC Help
Powered by ViewVC 1.1.20