source: chapter05/installasuser.xml@ ac68bd3

10.0 10.0-rc1 10.1 10.1-rc1 11.0 11.0-rc1 11.0-rc2 11.0-rc3 11.1 11.1-rc1 11.2 11.2-rc1 11.3 11.3-rc1 12.0 12.0-rc1 12.1 12.1-rc1 6.0 6.1 6.1.1 6.3 6.4 6.5 6.6 6.7 6.8 7.0 7.1 7.2 7.3 7.4 7.5 7.5-systemd 7.6 7.6-systemd 7.7 7.7-systemd 7.8 7.8-systemd 7.9 7.9-systemd 8.0 8.1 8.2 8.3 8.4 9.0 9.1 arm bdubbs/gcc13 ml-11.0 multilib renodr/libudev-from-systemd s6-init trunk v4_1 v5_0 v5_1 v5_1_1 xry111/arm64 xry111/arm64-12.0 xry111/clfs-ng xry111/lfs-next xry111/loongarch xry111/loongarch-12.0 xry111/loongarch-12.1 xry111/mips64el xry111/pip3 xry111/rust-wip-20221008 xry111/update-glibc
Last change on this file since ac68bd3 was 1ae2ba4, checked in by Gerard Beekmans <gerard@…>, 22 years ago

reworded

git-svn-id: http://svn.linuxfromscratch.org/LFS/trunk/BOOK@2178 4aa44e1e-78dd-0310-a6d2-fbcd4c07a689

  • Property mode set to 100644
File size: 2.7 KB
Line 
1<sect1 id="ch05-installasuser">
2<title>Install all software as an unprivileged user</title>
3<?dbhtml filename="installasuser.html" dir="chapter05"?>
4
5<para>When you are logged in as root during Chapter 5, it is possible
6that some files of your host system will be overwritten by the ones
7you'll build in Chapter 5. There can be all kinds of reasons for this
8to happen, for example because the $LFS environment variable is not
9set. Overwriting some files from your host system will most likely
10cause all kinds of problems, so it's a good idea to be logged in as
11an unprivileged user during Chapter 5. To make sure the environment
12is as clean as possible, we'll create a new user "lfs" that can be
13used while building the static installation. Issuing the following
14commands as root will create a new user "lfs":</para>
15
16<para><screen><userinput>useradd -s /bin/bash -m lfs &amp;&amp;
17passwd lfs</userinput></screen></para>
18
19<para>Now we need to give proper permissions to the <filename
20class="directory">$LFS/static</filename> directory so user "lfs" can write
21to it:</para>
22
23<para><screen><userinput>chown -R lfs $LFS/static</userinput></screen></para>
24
25<para>You have to login as user <emphasis>lfs</emphasis> now to continue
26with the rest of this chapter. You can do this two ways: either the normal
27way through the console or the display manager, or with
28<userinput>su - lfs</userinput>. When you're working as user
29<emphasis>lfs</emphasis>, type the following commands to set up a good
30environment to work in:</para>
31
32<para><screen><userinput>cat &gt; ~lfs/.bash_profile &lt;&lt; "EOF"
33umask 022
34
35LFS=/mnt/lfs
36LC_ALL=POSIX
37CC='gcc -s'
38export LFS LC_ALL CC
39EOF
40source ~/.bash_profile</userinput></screen></para>
41
42<para>This profile makes sure the umask is set to 022 so newly created
43files and directories will have the correct permissions. It is advisable
44to keep this setting throughout your LFS installation. Also, the $LFS,
45$LC_ALL, and $CC environment variables are set. $LFS has been explained
46in previous chapters already. $LC_ALL is a variable that is used for
47internationalization.</para>
48
49<para>When your host distribution uses a glibc version older than 2.2.4,
50having $LC_ALL set to something other than "C" or "POSIX" while working
51through Chapter 5 may cause trouble when you exit the chroot environment
52of Chapter 6 and try to return to it. By setting this to "POSIX" ("C"
53is an alias for "POSIX") we ensure that everything will work as expected
54in the chroot environment.</para>
55
56<para>$CC is a variable we set in order to prevent debugging symbols from
57being compiled into our static packages. By omitting these symbols during
58the linking stage of compilation, we save hard drive space and decrease
59our build time.</para>
60
61</sect1>
62
Note: See TracBrowser for help on using the repository browser.