/[gentoo]/xml/htdocs/doc/en/handbook/hb-install-config.xml
Gentoo

Diff of /xml/htdocs/doc/en/handbook/hb-install-config.xml

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

Revision 1.98 Revision 1.124
2<!DOCTYPE sections SYSTEM "/dtd/book.dtd"> 2<!DOCTYPE sections SYSTEM "/dtd/book.dtd">
3 3
4<!-- The content of this document is licensed under the CC-BY-SA license --> 4<!-- The content of this document is licensed under the CC-BY-SA license -->
5<!-- See http://creativecommons.org/licenses/by-sa/2.5 --> 5<!-- See http://creativecommons.org/licenses/by-sa/2.5 -->
6 6
7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.98 2008/04/17 21:11:30 nightmorph Exp $ --> 7<!-- $Header: /var/cvsroot/gentoo/xml/htdocs/doc/en/handbook/hb-install-config.xml,v 1.124 2013/12/17 09:45:47 swift Exp $ -->
8 8
9<sections> 9<sections>
10 10
11<abstract> 11<abstract>
12You need to edit some important configuration files. In this chapter 12You need to edit some important configuration files. In this chapter
13you receive an overview of these files and an explanation on how to 13you receive an overview of these files and an explanation on how to
14proceed. 14proceed.
15</abstract> 15</abstract>
16 16
17<version>9.1</version> 17<version>30</version>
18<date>2008-04-17</date> 18<date>2013-12-17</date>
19 19
20<section> 20<section>
21<title>Filesystem Information</title> 21<title>Filesystem Information</title>
22<subsection> 22<subsection>
23<title>What is fstab?</title> 23<title>What is fstab?</title>
80 80
81<pre caption="Opening /etc/fstab"> 81<pre caption="Opening /etc/fstab">
82# <i>nano -w /etc/fstab</i> 82# <i>nano -w /etc/fstab</i>
83</pre> 83</pre>
84 84
85<p>
86In the remainder of the text, we use the default <path>/dev/sd*</path> block
87device files as partition. You can also opt to use the symbolic links in the
88<path>/dev/disk/byid</path> or <path>/dev/disk/by-uuid</path>. These names are
89not likely to change, whereas the default block device files naming depends on
90a number of factors (such as how and in what order the disks are attached to
91your system). However, if you do not intend to fiddle with the disk ordering,
92you can continue with the default block device files safely.
93</p>
94
85</body> 95</body>
86<body test="func:keyval('/boot')"> 96<body test="func:keyval('/boot')">
87 97
88<p> 98<p>
89Let us take a look at how we write down the options for the <path>/boot</path> 99Let us take a look at how we write down the options for the <path>/boot</path>
90partition. This is just an example, if you didn't or couldn't create a 100partition. This is just an example, if you didn't or couldn't create a
91<path>/boot</path>, don't copy it. 101<path>/boot</path>, don't copy it.
92</p> 102</p>
93 103
94<p test="contains(func:keyval('/boot'), '/dev/hd')">
95In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
96usually the <path><keyval id="/boot"/></path> partition (or
97<path>/dev/sda*</path> if you use SCSI or SATA drives), with <c>ext2</c> as
98filesystem. It needs to be checked during boot, so we would write down:
99</p> 104<p>
100
101<p test="contains(func:keyval('/boot'), '/dev/sd')">
102In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is 105In our default <keyval id="arch"/> partitioning example, <path>/boot</path> is
103usually the <path><keyval id="/boot"/></path> partition, with <c>ext2</c> as 106usually the <path><keyval id="/boot"/></path> partition, with <c>ext2</c> as
104filesystem. It needs to be checked during boot, so we would write down: 107filesystem. It needs to be checked during boot, so we would write down:
105</p> 108</p>
106 109
107<pre caption="An example /boot line for /etc/fstab"> 110<pre caption="An example /boot line for /etc/fstab">
108<keyval id="/boot"/> /boot ext2 defaults 1 2 111<keyval id="/boot"/> /boot ext2 defaults 0 2
109</pre> 112</pre>
110 113
111<p> 114<p>
112Some users don't want their <path>/boot</path> partition to be mounted 115Some users don't want their <path>/boot</path> partition to be mounted
113automatically to improve their system's security. Those people should 116automatically to improve their system's security. Those people should
116</p> 119</p>
117 120
118</body> 121</body>
119<body> 122<body>
120 123
121<p test="not(func:keyval('arch')='SPARC')"> 124<p>
122Add the rules that match your partitioning scheme and append rules for 125Add the rules that match your partitioning scheme and append rules for
123your CD-ROM drive(s), and of course, if you have other partitions or drives, 126your CD-ROM drive(s), and of course, if you have other partitions or drives,
124for those too. 127for those too.
125</p> 128</p>
126 129
127<p test="func:keyval('arch')='SPARC'">
128Add the rules that match your partitioning schema and append rules for
129<path>/proc/openprom</path>, for your CD-ROM drive(s), and of course, if
130you have other partitions or drives, for those too.
131</p>
132
133<p> 130<p>
134Now use the <e>example</e> below to create your <path>/etc/fstab</path>: 131Now use the <e>example</e> below to create your <path>/etc/fstab</path>:
135</p> 132</p>
136 133
137<pre caption="A full /etc/fstab example" test="func:keyval('arch')='AMD64' or func:keyval('arch')='x86'"> 134<pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA'">
138<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2 135<keyval id="/boot"/> /boot ext2 defaults,noatime 0 2
139/dev/hda2 none swap sw 0 0 136/dev/sda3 none swap sw 0 0
140/dev/hda3 / ext3 noatime 0 1 137/dev/sda4 / ext4 noatime 0 1
141 138
142/dev/cdrom /mnt/cdrom auto noauto,user 0 0 139/dev/cdrom /mnt/cdrom auto noauto,user 0 0
143</pre> 140</pre>
144 141
145<pre caption="A full /etc/fstab example" test="func:keyval('arch')='HPPA'"> 142<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'">
146<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2 143<keyval id="/boot"/> /boot ext2 defaults,noatime 0 2
147/dev/sda3 none swap sw 0 0 144/dev/sda2 none swap sw 0 0
148/dev/sda4 / ext3 noatime 0 1 145/dev/sda3 / ext4 noatime 0 1
149 146
150/dev/cdrom /mnt/cdrom auto noauto,user 0 0 147/dev/cdrom /mnt/cdrom auto noauto,user 0 0
151</pre> 148</pre>
152 149
153<pre caption="A full /etc/fstab example" test="func:keyval('arch')='Alpha' or func:keyval('arch')='MIPS'">
154<keyval id="/boot"/> /boot ext2 defaults,noatime 1 2
155/dev/sda2 none swap sw 0 0
156/dev/sda3 / ext3 noatime 0 1
157
158/dev/cdrom /mnt/cdrom auto noauto,user 0 0
159</pre>
160
161<pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'"> 150<pre caption="A full /etc/fstab example" test="func:keyval('arch')='SPARC'">
162/dev/sda1 / ext3 noatime 0 1 151/dev/sda1 / ext4 noatime 0 1
163/dev/sda2 none swap sw 0 0 152/dev/sda2 none swap sw 0 0
164/dev/sda4 /usr ext3 noatime 0 2 153/dev/sda4 /usr ext4 noatime 0 2
165/dev/sda5 /var ext3 noatime 0 2 154/dev/sda5 /var ext4 noatime 0 2
166/dev/sda6 /home ext3 noatime 0 2 155/dev/sda6 /home ext4 noatime 0 2
167 156
157<comment># You must add the rules for openprom</comment>
168openprom /proc/openprom openpromfs defaults 0 0 158openprom /proc/openprom openpromfs defaults 0 0
169 159
170/dev/cdrom /mnt/cdrom auto noauto,user 0 0 160/dev/cdrom /mnt/cdrom auto noauto,user 0 0
171</pre> 161</pre>
172 162
173<note test="func:keyval('arch')='PPC'">
174There are important variations between PPC machine types. Please make sure you
175adapt the following example to your system.
176</note>
177
178<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC'"> 163<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC' or
179/dev/hda4 / ext3 noatime 0 1 164func:keyval('arch')='PPC64'">
180/dev/hda3 none swap sw 0 0
181
182/dev/cdrom /mnt/cdrom auto noauto,user 0 0
183</pre>
184
185<pre caption="A full /etc/fstab example" test="func:keyval('arch')='PPC64'">
186/dev/sda4 / ext3 noatime 0 1 165/dev/sda4 / ext4 noatime 0 1
187/dev/sda3 none swap sw 0 0 166/dev/sda3 none swap sw 0 0
188 167
189/dev/cdrom /mnt/cdrom auto noauto,user 0 0 168/dev/cdrom /mnt/cdrom auto noauto,user 0 0
190</pre> 169</pre>
191 170
196</p> 175</p>
197 176
198<p> 177<p>
199To improve performance, most users would want to add the <c>noatime</c> 178To improve performance, most users would want to add the <c>noatime</c>
200mount option, which results in a faster system since access times 179mount option, which results in a faster system since access times
201aren't registered (you don't need those generally anyway). 180aren't registered (you don't need those generally anyway). This is also
181recommended for solid state drive (SSD) users, who should also enable
182the <c>discard</c> mount option (ext4 and btrfs only for now) which
183makes the TRIM command work.
202</p> 184</p>
203 185
204<p> 186<p>
205Double-check your <path>/etc/fstab</path>, save and quit to continue. 187Double-check your <path>/etc/fstab</path>, save and quit to continue.
206</p> 188</p>
223</p> 205</p>
224 206
225<pre caption="Setting the host name"> 207<pre caption="Setting the host name">
226# <i>nano -w /etc/conf.d/hostname</i> 208# <i>nano -w /etc/conf.d/hostname</i>
227 209
228<comment>(Set the HOSTNAME variable to your host name)</comment> 210<comment>(Set the hostname variable to your host name)</comment>
229HOSTNAME="<i>tux</i>" 211hostname="<i>tux</i>"
230</pre> 212</pre>
231 213
232<p> 214<p>
233Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>. 215Second, <e>if</e> you need a domainname, set it in <path>/etc/conf.d/net</path>.
234You only need a domain if your ISP or network administrator says so, or if you 216You only need a domain if your ISP or network administrator says so, or if you
261nis_domain_lo="<i>my-nisdomain</i>" 243nis_domain_lo="<i>my-nisdomain</i>"
262</pre> 244</pre>
263 245
264<note> 246<note>
265For more information on configuring DNS and NIS, please read the examples 247For more information on configuring DNS and NIS, please read the examples
266provided in <path>/etc/conf.d/net.example</path>. Also, you may want to emerge 248provided in <path>/usr/share/doc/openrc-*/net.example.bz2</path> which
249can be read using <c>bzless</c>. Also, you may want to emerge <c>openresolv</c>
267<c>openresolv</c> to help manage your DNS/NIS setup. 250to help manage your DNS/NIS setup.
268</note> 251</note>
269 252
270</body> 253</body>
271</subsection> 254</subsection>
272<subsection> 255<subsection>
289<p> 272<p>
290All networking information is gathered in <path>/etc/conf.d/net</path>. It uses 273All networking information is gathered in <path>/etc/conf.d/net</path>. It uses
291a straightforward yet not intuitive syntax if you don't know how to set up 274a straightforward yet not intuitive syntax if you don't know how to set up
292networking manually. But don't fear, we'll explain everything. A fully 275networking manually. But don't fear, we'll explain everything. A fully
293commented example that covers many different configurations is available in 276commented example that covers many different configurations is available in
294<path>/etc/conf.d/net.example</path>. 277<path>/usr/share/doc/openrc-*/net.example.bz2</path>.
295</p> 278</p>
296 279
297<p> 280<p>
298DHCP is used by default. For DHCP to work, you will need to install a DHCP 281DHCP is used by default. For DHCP to work, you will need to install a DHCP
299client. This is described later in <uri 282client. This is described later in <uri
317</p> 300</p>
318 301
319<pre caption="Default /etc/conf.d/net"> 302<pre caption="Default /etc/conf.d/net">
320# This blank configuration will automatically use DHCP for any net.* 303# This blank configuration will automatically use DHCP for any net.*
321# scripts in /etc/init.d. To create a more complete configuration, 304# scripts in /etc/init.d. To create a more complete configuration,
322# please review /etc/conf.d/net.example and save your configuration 305# please review /usr/share/doc/openrc-*/net.example.bz2 and save
323# in /etc/conf.d/net (this file :]!). 306# your configuration in /etc/conf.d/net (this file :]!).
324</pre> 307</pre>
325 308
326<p> 309<p>
327To enter your own IP address, netmask and gateway, you need 310To enter your own IP address, netmask and gateway, you need
328to set both <c>config_eth0</c> and <c>routes_eth0</c>: 311to set both <c>config_eth0</c> and <c>routes_eth0</c>:
329</p> 312</p>
330 313
314<note>
315This assumes that your network interface will be called eth0. This is, however,
316very system dependent. It is recommended to assume that the interface is named
317the same as the interface name when booted from the installation media <e>if</e>
318the installation media is sufficiently recent. More information can be found in
319<uri link="?part=4&amp;chap=2#doc_chap4">Network Interface Naming</uri>.
320</note>
321
331<pre caption="Manually setting IP information for eth0"> 322<pre caption="Manually setting IP information for eth0">
332config_eth0=( "192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255" ) 323config_eth0="192.168.0.2 netmask 255.255.255.0 brd 192.168.0.255"
333routes_eth0=( "default via 192.168.0.1" ) 324routes_eth0="default via 192.168.0.1"
334</pre> 325</pre>
335 326
336<p> 327<p>
337To use DHCP and add specific DHCP options, define <c>config_eth0</c> and 328To use DHCP, define <c>config_eth0</c>:
338<c>dhcp_eth0</c>:
339</p> 329</p>
340 330
341<pre caption="Automatically obtaining an IP address for eth0"> 331<pre caption="Automatically obtaining an IP address for eth0">
342config_eth0=( "dhcp" ) 332config_eth0="dhcp"
343dhcp_eth0="nodns nontp nonis"
344</pre> 333</pre>
345 334
346<p> 335<p>
347Please read <path>/etc/conf.d/net.example</path> for a list of all available 336Please read <path>/usr/share/doc/openrc-*/net.example.bz2</path> for a
348options. 337list of all available options. Be sure to also read your DHCP client manpage if
338you need to set specific DHCP options.
349</p> 339</p>
350 340
351<p> 341<p>
352If you have several network interfaces repeat the above steps for 342If you have several network interfaces repeat the above steps for
353<c>config_eth1</c>, <c>config_eth2</c>, etc. 343<c>config_eth1</c>, <c>config_eth2</c>, etc.
367To have your network interfaces activated at boot, you need to add them to the 357To have your network interfaces activated at boot, you need to add them to the
368default runlevel. 358default runlevel.
369</p> 359</p>
370 360
371<pre caption="Adding net.eth0 to the default runlevel"> 361<pre caption="Adding net.eth0 to the default runlevel">
362# <i>cd /etc/init.d</i>
363# <i>ln -s net.lo net.eth0</i>
372# <i>rc-update add net.eth0 default</i> 364# <i>rc-update add net.eth0 default</i>
373</pre> 365</pre>
374 366
375<p> 367<p>
376If you have several network interfaces, you need to create the appropriate 368If you have several network interfaces, you need to create the appropriate
377<path>net.eth1</path>, <path>net.eth2</path> etc. initscripts for those. You can 369<path>net.*</path> files just like you did with <path>net.eth0</path>.
378use <c>ln</c> to do this: 370</p>
371
379</p> 372<p>
380 373If you later find out the assumption about the network interface name (which we
381<pre caption="Creating extra initscripts"> 374currently document as eth0) was wrong, then
382# <i>cd /etc/init.d</i>
383# <i>ln -s net.lo net.eth1</i>
384# <i>rc-update add net.eth1 default</i>
385</pre> 375</p>
376
377<ol>
378<li>
379update the <path>/etc/conf.d/net</path> file with the correct interface name (like enp3s0
380instead of eth0),
381</li>
382<li>
383create new symbolic link (like <path>/etc/init.d/net.enp3s0</path>),
384</li>
385<li>
386remove the old symbolic link (<c>rm /etc/init.d/net.eth0</c>),
387</li>
388<li>
389add the new one to the default runlevel, and
390</li>
391<li>
392remove the old one using <c>rc-update del net.eth0 default</c>.
393</li>
394</ol>
386 395
387</body> 396</body>
388</subsection> 397</subsection>
389<subsection> 398<subsection>
390<title>Writing Down Network Information</title> 399<title>Writing Down Network Information</title>
459<subsection> 468<subsection>
460<title>System Information</title> 469<title>System Information</title>
461<body> 470<body>
462 471
463<p> 472<p>
464Gentoo uses <path>/etc/rc.conf</path> for general, system-wide configuration. 473Gentoo uses <path>/etc/rc.conf</path> to configure the services, startup,
465Open up <path>/etc/rc.conf</path> and enjoy all the comments in that file :) 474and shutdown of your system. Open up <path>/etc/rc.conf</path> and enjoy all
475the comments in the file.
466</p> 476</p>
467 477
468<pre caption="Opening /etc/rc.conf"> 478<pre caption="Configuring services">
469# <i>nano -w /etc/rc.conf</i> 479# <i>nano -w /etc/rc.conf</i>
470</pre> 480</pre>
471 481
472<p> 482<p>
473When you're finished configuring <path>/etc/rc.conf</path>, save and exit. 483When you're finished configuring these two files, save them and exit.
474</p>
475
476<p>
477As you can see, this file is well commented to help you set up the necessary
478configuration variables. You can configure your system to use unicode and
479define your default editor and your display manager (like gdm or kdm).
480</p> 484</p>
481 485
482<p> 486<p>
483Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration. 487Gentoo uses <path>/etc/conf.d/keymaps</path> to handle keyboard configuration.
484Edit it to configure your keyboard. 488Edit it to configure your keyboard.
487<pre caption="Opening /etc/conf.d/keymaps"> 491<pre caption="Opening /etc/conf.d/keymaps">
488# <i>nano -w /etc/conf.d/keymaps</i> 492# <i>nano -w /etc/conf.d/keymaps</i>
489</pre> 493</pre>
490 494
491<p> 495<p>
492Take special care with the <c>KEYMAP</c> variable. If you select the wrong 496Take special care with the <c>keymap</c> variable. If you select the wrong
493<c>KEYMAP</c>, you will get weird results when typing on your keyboard. 497<c>keymap</c>, you will get weird results when typing on your keyboard.
494</p> 498</p>
495 499
496<note test="substring(func:keyval('arch'),1,3)='PPC'"> 500<note test="substring(func:keyval('arch'),1,3)='PPC'">
497PPC uses x86 keymaps on most systems. Users who want to be able to use ADB 501PPC uses x86 keymaps on most systems.
498keymaps on boot have to enable ADB keycode sendings in their kernel and have to
499set a mac/ppc keymap in <path>/etc/conf.d/keymaps</path>.
500</note> 502</note>
501 503
502<p> 504<p>
503When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and 505When you're finished configuring <path>/etc/conf.d/keymaps</path>, save and
504exit. 506exit.
505</p> 507</p>
506 508
507<p> 509<p>
508Gentoo uses <path>/etc/conf.d/clock</path> to set clock options. Edit it 510Gentoo uses <path>/etc/conf.d/hwclock</path> to set clock options. Edit it
509according to your needs. 511according to your needs.
510</p> 512</p>
511 513
512<pre caption="Opening /etc/conf.d/clock"> 514<pre caption="Opening /etc/conf.d/hwclock">
513# <i>nano -w /etc/conf.d/clock</i> 515# <i>nano -w /etc/conf.d/hwclock</i>
514</pre> 516</pre>
515 517
516<p> 518<p>
517If your hardware clock is not using UTC, you need to add <c>CLOCK="local"</c> 519If your hardware clock is not using UTC, you need to add <c>clock="local"</c>
518to the file. Otherwise you will notice some clock skew. 520to the file. Otherwise you will notice some clock skew.
519</p> 521</p>
520 522
521<p> 523<p>
522You should define the timezone that you previously copied to
523<path>/etc/localtime</path> so that further upgrades of the
524<c>sys-libs/timezone-data</c> package can update <path>/etc/localtime</path>
525automatically. For instance, if you used the GMT timezone, you would add
526<c>TIMEZONE="GMT"</c>
527</p>
528
529<p>
530When you're finished configuring <path>/etc/conf.d/clock</path>, save and 524When you're finished configuring <path>/etc/conf.d/hwclock</path>, save and
531exit. 525exit.
526</p>
527
528</body>
529</subsection>
530
531<subsection>
532<title>Configure locales</title>
533<body>
534
535<p>
536You will probably only use one or maybe two locales on your system. You have to
537specify locales you will need in <path>/etc/locale.gen</path>.
538</p>
539
540<pre caption="Opening /etc/locale.gen">
541# <i>nano -w /etc/locale.gen</i>
542</pre>
543
544<p>
545The following locales are an example to get both English (United States) and
546German (Germany) with the accompanying character formats (like UTF-8).
547</p>
548
549<pre caption="Specify your locales">
550en_US ISO-8859-1
551en_US.UTF-8 UTF-8
552de_DE ISO-8859-1
553de_DE@euro ISO-8859-15
554</pre>
555
556<note>
557You can select your desired locales in the list given by running <c>locale -a</c>.
558</note>
559
560<warn>
561We strongly suggest that you should use at least one UTF-8 locale because some
562applications may require it.
563</warn>
564
565<p>
566The next step is to run <c>locale-gen</c>. It will generates all the locales you
567have specified in the <path>/etc/locale.gen</path> file.
568</p>
569
570<pre caption="Running locale-gen">
571# <i>locale-gen</i>
572</pre>
573
574<p>
575Once done, you now have the possibility to set the system-wide locale settings
576in the <path>/etc/env.d/02locale</path> file:
577</p>
578
579<pre caption="Setting the default system locale in /etc/env.d/02locale">
580LANG="de_DE.UTF-8"
581LC_COLLATE="C"
582</pre>
583
584<p>
585And reload your environment:
586</p>
587
588<pre caption="Reload shell environment">
589# env-update &amp;&amp; source /etc/profile
590</pre>
591
592<p>
593We made a full <uri link="https://wiki.gentoo.org/wiki/Localization/HOWTO">Localization
594Guide</uri> to help you through this process. You can also read the detailed
595<uri link="https://wiki.gentoo.org/wiki/UTF-8">UTF-8 article</uri> for very specific
596informations to enable UTF-8 on your system.
532</p> 597</p>
533 598
534<p test="not(func:keyval('arch')='PPC64')"> 599<p test="not(func:keyval('arch')='PPC64')">
535Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System 600Please continue with <uri link="?part=1&amp;chap=9">Installing Necessary System
536Tools</uri>. 601Tools</uri>.

Legend:
Removed from v.1.98  
changed lines
  Added in v.1.124

  ViewVC Help
Powered by ViewVC 1.1.20