mirror of
https://git.linuxfromscratch.org/lfs.git
synced 2025-06-19 03:39:20 +01:00
Automatic merge of trunk into multilib
This commit is contained in:
commit
ac1639c2cc
@ -40,6 +40,48 @@
|
||||
appropriate for the entry or if needed the entire day's listitem.
|
||||
-->
|
||||
|
||||
<listitem>
|
||||
<para>2024-02-01</para>
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to openssl-3.2.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5425'>#5425</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to zlib-1.3.1. Fixes
|
||||
<ulink url='&lfs-ticket-root;5419'>#5419</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to xz-5.4.6. Fixes
|
||||
<ulink url='&lfs-ticket-root;5423'>#5423</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to linux-6.7.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5422'>#5422</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to iana-etc-20240125. Addresses
|
||||
<ulink url='&lfs-ticket-root;5006'>#5006</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to binutils-2.42. Fixes
|
||||
<ulink url='&lfs-ticket-root;5424'>#5424</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update to acl-2.3.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5421'>#5421</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Update upstream fixes for readline-8.2. Fixes
|
||||
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>[bdubbs] - Apply upstream fix for bash-5.2.21. Fixes
|
||||
<ulink url='&lfs-ticket-root;5420'>#5420</ulink>.</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>2024-01-21</para>
|
||||
<itemizedlist>
|
||||
|
@ -26,9 +26,9 @@
|
||||
<!--<listitem>
|
||||
<para>None</para>
|
||||
</listitem>-->
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Acl-&acl-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Attr-&attr-version;</para>
|
||||
</listitem>
|
||||
@ -44,9 +44,9 @@
|
||||
<listitem>
|
||||
<para>Bc-&bc-version;</para>
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<listitem>
|
||||
<para>Binutils-&binutils-version;</para>
|
||||
</listitem>-->
|
||||
</listitem>
|
||||
<!--<listitem>
|
||||
<para>Bison-&bison-version;</para>
|
||||
</listitem>-->
|
||||
@ -290,6 +290,10 @@
|
||||
<title>Added:</title>
|
||||
<listitem><para></para></listitem> <!-- satisfy build -->
|
||||
|
||||
<listitem>
|
||||
<para>&bash-upstream-fixes-patch;</para>
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>setuptools-&setuptools-version;</para>
|
||||
</listitem>
|
||||
|
@ -29,9 +29,10 @@
|
||||
minimum versions indicated. This should not be an issue for most
|
||||
modern Linux distributions. Also note that many distributions will
|
||||
place software headers into separate packages, often in the form of
|
||||
<quote><package-name>-devel</quote> or
|
||||
<quote><package-name>-dev.</quote> Be sure to install those if
|
||||
your distribution provides them.</para>
|
||||
<literal><replaceable><package-name></replaceable>-devel</literal>
|
||||
or
|
||||
<literal><replaceable><package-name></replaceable>-dev</literal>.
|
||||
Be sure to install those if your distribution provides them.</para>
|
||||
|
||||
<para>Earlier versions of the listed software packages may work, but have
|
||||
not been tested.</para>
|
||||
|
@ -16,7 +16,7 @@
|
||||
<envar>LFS</envar> environment variable described in the previous section.
|
||||
</para>
|
||||
|
||||
<para>Strictly speaking, one cannot "mount a partition." One mounts the <emphasis>file
|
||||
<para>Strictly speaking, one cannot <quote>mount a partition.</quote> One mounts the <emphasis>file
|
||||
system</emphasis> embedded in that partition. But since a single partition can't contain
|
||||
more than one file system, people often speak of the partition and the
|
||||
associated file system as if they were one and the same.</para>
|
||||
|
@ -27,14 +27,14 @@
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<!-- <varlistentry>
|
||||
<term>Bash Upstream Fixes Patch - <token>&bash-fixes-patch-size;</token>:</term>
|
||||
<varlistentry>
|
||||
<term>Bash Upstream Fixes Patch - <token>&bash-upstream-fixes-patch-size;</token>:</term>
|
||||
<listitem>
|
||||
<para>Download: <ulink url="&patches-root;&bash-fixes-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bash-fixes-patch-md5;</literal></para>
|
||||
<para>Download: <ulink url="&patches-root;&bash-upstream-fixes-patch;"/></para>
|
||||
<para>MD5 sum: <literal>&bash-upstream-fixes-patch-md5;</literal></para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
-->
|
||||
|
||||
<!--
|
||||
<varlistentry>
|
||||
<term>Binutils LTO Fix Patch - <token>&binutils-lto-patch-size;</token>:</term>
|
||||
|
@ -44,8 +44,8 @@
|
||||
<title>Installation of Python</title>
|
||||
|
||||
<note>
|
||||
<para>There are two package files whose name starts with
|
||||
<quote>python.</quote> The one to extract from is
|
||||
<para>There are two package files whose name starts with the
|
||||
<quote>python</quote> prefix. The one to extract from is
|
||||
<filename>Python-&python-version;.tar.xz</filename> (notice the
|
||||
uppercase first letter).</para>
|
||||
</note>
|
||||
@ -84,8 +84,8 @@
|
||||
<para>
|
||||
Some Python 3 modules can't be built now because the dependencies
|
||||
are not installed yet. For the <filename>ssl</filename> module,
|
||||
a message <quote><computeroutput>Python requires a OpenSSL 1.1.1 or
|
||||
newer</computeroutput></quote> is outputted.
|
||||
a message <computeroutput>Python requires a OpenSSL 1.1.1 or
|
||||
newer</computeroutput> is outputted.
|
||||
The message should be ignored. Just make sure the toplevel
|
||||
<command>make</command> command has not failed. The optional
|
||||
modules are not needed now and they will be built in
|
||||
|
@ -40,6 +40,10 @@
|
||||
<sect2 role="installation">
|
||||
<title>Installation of Bash</title>
|
||||
|
||||
<para>First, fix some issues identified upstream:</para>
|
||||
|
||||
<screen><userinput remap="pre">patch -Np1 -i ../&bash-upstream-fixes-patch;</userinput></screen>
|
||||
|
||||
<para>Prepare Bash for compilation:</para>
|
||||
|
||||
<screen><userinput remap="configure">./configure --prefix=/usr \
|
||||
|
@ -157,7 +157,7 @@ cd build</userinput></screen>
|
||||
<option>--enable-default-pie</option> and
|
||||
<option>--enable-default-ssp</option> options are passed to GCC.</para>
|
||||
|
||||
<para>Three tests in the gprofng suite are also known to fail.</para>
|
||||
<!-- <para>Three tests in the gprofng suite are also known to fail.</para>-->
|
||||
|
||||
<para>Install the package:</para>
|
||||
|
||||
|
@ -1261,8 +1261,8 @@ sed -i 's/"1"/"8"/' /usr/share/man/man8/chroot.8</userinput></screen>
|
||||
<varlistentry id="yes">
|
||||
<term><command>yes</command></term>
|
||||
<listitem>
|
||||
<para>Repeatedly outputs <quote>y,</quote> or a given string, until
|
||||
killed</para>
|
||||
<para>Repeatedly outputs <literal>y</literal> or a given string,
|
||||
until killed</para>
|
||||
<indexterm zone="ch-system-coreutils yes">
|
||||
<primary sortas="b-yes">yes</primary>
|
||||
</indexterm>
|
||||
|
@ -92,8 +92,8 @@
|
||||
<screen><userinput remap="test">make test</userinput></screen>
|
||||
|
||||
<para>If any test fails with the message
|
||||
<quote><computeroutput>The system has no more ptys. Ask your system
|
||||
administrator to create more</computeroutput>,</quote> it indicates
|
||||
<computeroutput>The system has no more ptys. Ask your system
|
||||
administrator to create more</computeroutput>, it indicates
|
||||
you've not mounted the
|
||||
<systemitem class="filesystem">devpts</systemitem> file system
|
||||
correctly. You need to exit from the chroot environment, read
|
||||
|
@ -73,7 +73,6 @@ cd build</userinput></screen>
|
||||
--disable-werror \
|
||||
--enable-kernel=&min-kernel; \
|
||||
--enable-stack-protector=strong \
|
||||
--with-headers=/usr/include \
|
||||
--disable-nscd \
|
||||
libc_cv_slibdir=/usr/lib</userinput></screen>
|
||||
<screen arch="ml_32,ml_x32,ml_all"><userinput remap="configure">../configure --prefix=/usr \
|
||||
@ -110,15 +109,10 @@ cd build</userinput></screen>
|
||||
<listitem>
|
||||
<para>This option increases system security by adding
|
||||
extra code to check for buffer overflows, such as stack
|
||||
smashing attacks.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<!-- do we need this one? -->
|
||||
<varlistentry>
|
||||
<term><parameter>--with-headers=/usr/include</parameter></term>
|
||||
<listitem>
|
||||
<para>This option tells the build system where to find the
|
||||
kernel API headers.</para>
|
||||
smashing attacks. Note that Glibc always explicitly overrides
|
||||
the default of GCC, so this option is still needed even though
|
||||
we've already specified <option>--enable-default-ssp</option> for
|
||||
GCC.</para>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
|
||||
|
@ -52,7 +52,7 @@
|
||||
<note><para>The ELF loader's name is ld-linux-x86-64.so.2 on 64-bit systems
|
||||
and ld-linux.so.2 on 32-bit systems. The construct below selects the
|
||||
correct name for the current architecture, excluding anything ending
|
||||
with <quote>g,</quote> in case the commands below have already been
|
||||
with <literal>g</literal>, in case the commands below have already been
|
||||
run.</para></note>
|
||||
|
||||
<important>
|
||||
|
@ -26,14 +26,13 @@
|
||||
<!-- sysv -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="network.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="usage.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="profile.xml"/>
|
||||
|
||||
<!-- systemd -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="clock.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="consoled.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
|
||||
|
||||
<!-- common -->
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="locale.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="inputrc.xml"/>
|
||||
<xi:include xmlns:xi="http://www.w3.org/2001/XInclude" href="etcshells.xml"/>
|
||||
|
||||
|
@ -74,6 +74,25 @@
|
||||
|
||||
</variablelist>
|
||||
|
||||
<para>We'll use <literal>C.UTF-8</literal> as the locale for interactive
|
||||
sessions in the Linux console in <xref role='.'
|
||||
linkend='ch-config-locale'/> The console fonts shipped by
|
||||
the <application>Kbd</application> package containing the glyphs for
|
||||
all characters from the program messages in the <literal>C.UTF-8</literal>
|
||||
locale are <filename>LatArCyrHeb*.psfu.gz</filename>,
|
||||
<filename>LatGrkCyr*.psfu.gz</filename>,
|
||||
<filename>Lat2-Terminus16.psfu.gz</filename>, and
|
||||
<filename>pancyrillic.f16.psfu.gz</filename> in
|
||||
<filename class='directory'>/usr/share/consolefonts</filename> (the other
|
||||
shipped console fonts lack glyphs of some characters like the Unicode
|
||||
left/right quotation marks and the Unicode English dash). So set one of
|
||||
them, for example <filename>Lat2-Terminus16.psfu.gz</filename> as the
|
||||
default console font:</para>
|
||||
|
||||
<!-- We are using "nodump" for general settings, but not examples. This
|
||||
is ironic, but needed for the compatibility with jhalfs! -->
|
||||
<screen role='nodump'><userinput>echo <literal>FONT=Lat2-Terminus16</literal> > /etc/vconsole.conf</userinput></screen>
|
||||
|
||||
<para>An example for a German keyboard and console is given below:</para>
|
||||
<!-- This is what is used by jhalfs for creating the vconsole.conf file.
|
||||
Whenever you want to change the following, please inform the jhalfs
|
||||
|
@ -5,18 +5,21 @@
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-locale" revision="systemd">
|
||||
<sect1 id="ch-config-locale">
|
||||
<?dbhtml filename="locale.html"?>
|
||||
|
||||
<title>Configuring the System Locale</title>
|
||||
|
||||
<indexterm zone="ch-config-locale">
|
||||
<primary sortas="e-etc-locale-conf">/etc/locale.conf</primary>
|
||||
<primary sortas="e-/etc/profile">/etc/profile</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>The <filename>/etc/locale.conf</filename> file below sets some
|
||||
environment variables necessary for native language support. Setting
|
||||
them properly results in:</para>
|
||||
<indexterm zone="ch-config-locale" revision='systemd'>
|
||||
<primary sortas="e-/etc/profile">/etc/locale.conf</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Some environment variables are necessary for native language
|
||||
support. Setting them properly results in:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
@ -50,19 +53,21 @@
|
||||
|
||||
<screen role="nodump"><userinput>locale -a</userinput></screen>
|
||||
|
||||
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
|
||||
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591.</quote>
|
||||
<para>Charmaps can have a number of aliases, e.g.,
|
||||
<literal>ISO-8859-1</literal> is also referred to as
|
||||
<literal>iso8859-1</literal> and <literal>iso88591</literal>.
|
||||
Some applications cannot handle the various synonyms correctly (e.g., require
|
||||
that <quote>UTF-8</quote> is written as <literal>UTF-8,</literal> not
|
||||
that <literal>UTF-8</literal> is written as <literal>UTF-8</literal>, not
|
||||
<literal>utf8</literal>), so it is the safest in most
|
||||
cases to choose the canonical name for a particular locale. To determine
|
||||
the canonical name, run the following command, where <replaceable><locale
|
||||
name></replaceable> is the output given by <command>locale -a</command> for
|
||||
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
|
||||
your preferred locale (<literal>en_GB.iso88591</literal> in our
|
||||
example).</para>
|
||||
|
||||
<screen role="nodump"><userinput>LC_ALL=<replaceable><locale name></replaceable> locale charmap</userinput></screen>
|
||||
|
||||
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
|
||||
<para>For the <literal>en_GB.iso88591</literal> locale, the above command
|
||||
will print:</para>
|
||||
|
||||
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
|
||||
@ -95,45 +100,110 @@ LC_ALL=<locale name> locale int_prefix</userinput></screen>
|
||||
In those cases, investigating how other Linux distributions support your locale
|
||||
might provide some useful information.</para>
|
||||
|
||||
<para>Once the proper locale settings have been determined, create the
|
||||
<filename>/etc/locale.conf</filename> file:</para>
|
||||
<para revision='systemd'>Once the proper locale settings have been
|
||||
determined, create the <filename>/etc/locale.conf</filename> file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/locale.conf << "EOF"
|
||||
<screen revision='systemd'><userinput>cat > /etc/locale.conf << "EOF"
|
||||
<literal>LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable></literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>Note that you can modify <filename>/etc/locale.conf</filename> with the
|
||||
<para>The shell program <command>/bin/bash</command> (here after referred
|
||||
as <quote>the shell</quote>) uses a collection of startup files to help
|
||||
create the environment to run in. Each file has a specific use and may
|
||||
affect login and interactive environments differently. The files in the
|
||||
<filename class="directory">/etc</filename> directory provide global
|
||||
settings. If equivalent files exist in the home directory, they
|
||||
may override the global settings.</para>
|
||||
|
||||
<para>An interactive login shell is started after a successful login,
|
||||
using <command>/bin/login</command>, by reading the
|
||||
<filename>/etc/passwd</filename> file. An interactive non-login shell is
|
||||
started at the command-line (e.g.
|
||||
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A
|
||||
non-interactive shell is usually present when a shell script is running.
|
||||
It is non-interactive because it is processing a script and not waiting
|
||||
for user input between commands.</para>
|
||||
|
||||
<para><phrase revision='systemd'>The login shells are often unaffected by
|
||||
the settings in <filename>/etc/locale.conf</filename>. </phrase>Create the
|
||||
<filename>/etc/profile</filename>
|
||||
<phrase revision='sysv'>once the proper locale settings have been
|
||||
determined to set the desired locale</phrase><phrase
|
||||
revision='systemd'>to read the locale settings from
|
||||
<filename>/etc/locale.conf</filename> and export them</phrase>,
|
||||
but set the <literal>C.UTF-8</literal> locale instead if running in the Linux
|
||||
console (to prevent programs from outputting characters that the Linux
|
||||
console is unable to render):</para>
|
||||
|
||||
<screen revision="systemd"><userinput>cat > /etc/profile << "EOF"
|
||||
<literal># Begin /etc/profile
|
||||
|
||||
for i in $(locale); do
|
||||
unset ${i%=*}
|
||||
done
|
||||
|
||||
if [[ "$TERM" = linux ]]; then
|
||||
export LANG=C.UTF-8
|
||||
else
|
||||
source /etc/locale.conf
|
||||
|
||||
for i in $(locale); do
|
||||
key=${i%=*}
|
||||
if [[ -v $key ]]; then
|
||||
export $key
|
||||
fi
|
||||
done
|
||||
fi
|
||||
|
||||
# End /etc/profile</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<screen revision="sysv"><userinput>cat > /etc/profile << "EOF"
|
||||
<literal># Begin /etc/profile
|
||||
|
||||
for i in $(locale); do
|
||||
unset ${i%=*}
|
||||
done
|
||||
|
||||
if [[ "$TERM" = linux ]]; then
|
||||
export LANG=C.UTF-8
|
||||
else
|
||||
export LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>
|
||||
fi
|
||||
|
||||
# End /etc/profile</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para revision='systemd'>Note that you can modify <filename>/etc/locale.conf</filename> with the
|
||||
systemd <command>localectl</command> utility. To use
|
||||
<command>localectl</command> for the example above, run:</para>
|
||||
|
||||
<screen role="nodump"><userinput>localectl set-locale LANG="<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>"</userinput></screen>
|
||||
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>"</userinput></screen>
|
||||
|
||||
<para>You can also specify other language specific environment variables such
|
||||
as <envar>LANG</envar>, <envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or
|
||||
any other environment variable from <command>locale</command> output. Just
|
||||
separate them with a space. An example where <envar>LANG</envar> is set as
|
||||
<para revision='systemd'>You can also specify other language specific
|
||||
environment variables such as <envar>LANG</envar>,
|
||||
<envar>LC_CTYPE</envar>, <envar>LC_NUMERIC</envar> or any other
|
||||
environment variable from <command>locale</command> output. Just separate
|
||||
them with a space. An example where <envar>LANG</envar> is set as
|
||||
en_US.UTF-8 but <envar>LC_CTYPE</envar> is set as just en_US is:</para>
|
||||
|
||||
<screen role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
|
||||
<screen revision='systemd' role="nodump"><userinput>localectl set-locale LANG="en_US.UTF-8" LC_CTYPE="en_US"</userinput></screen>
|
||||
|
||||
<note><para>Please note that the <command>localectl</command> command
|
||||
doesn't work in the chroot environment. It can only
|
||||
be used after the LFS system is booted with systemd.</para></note>
|
||||
<note revision='systemd'><para>Please note that the
|
||||
<command>localectl</command> command doesn't work in the chroot
|
||||
environment. It can only be used after the LFS system is booted with
|
||||
systemd.</para></note>
|
||||
|
||||
<para>The <quote>C</quote> (default) and <quote>en_US</quote> (the recommended
|
||||
one for United States English users) locales are different. <quote>C</quote>
|
||||
<para>The <literal>C</literal> (default) and <literal>en_US</literal>
|
||||
(the recommended one for United States English users) locales are
|
||||
different. <literal>C</literal>
|
||||
uses the US-ASCII 7-bit character set, and treats bytes with the high bit set
|
||||
as invalid characters. That's why, e.g., the <command>ls</command> command
|
||||
substitutes them with question marks in that locale. Also, an attempt to send
|
||||
mail with such characters from Mutt or Pine results in non-RFC-conforming
|
||||
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
|
||||
8-bit</quote>). It's suggested that you use the <quote>C</quote> locale only
|
||||
messages being sent (the charset in the outgoing mail is indicated as
|
||||
<computeroutput>unknown 8-bit</computeroutput>). It's suggested that you
|
||||
use the <literal>C</literal> locale only
|
||||
if you are certain that you will never need 8-bit characters.</para>
|
||||
|
||||
<!--
|
||||
<para>UTF-8 based locales are not supported well by many programs.
|
||||
Work is in progress to document and, if possible, fix such problems, see
|
||||
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
|
||||
-->
|
||||
|
||||
</sect1>
|
||||
|
@ -91,7 +91,8 @@
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
Mask udev's .link file for the default policy:
|
||||
Mask udev's <filename class='extension'>.link</filename> file
|
||||
for the default policy:
|
||||
<screen role="nodump"><userinput>ln -s /dev/null /etc/systemd/network/99-default.link</userinput></screen>
|
||||
</para>
|
||||
</listitem>
|
||||
@ -101,9 +102,9 @@
|
||||
Create a manual naming scheme, for example by naming the
|
||||
interfaces something like <literal>internet0</literal>,
|
||||
<literal>dmz0</literal>, or <literal>lan0</literal>.
|
||||
To do that, create .link files in /etc/systemd/network/ that
|
||||
select an explicit name or a better naming scheme for your
|
||||
network interfaces. For example:
|
||||
To do that, create <filename class='extension'>.link</filename>
|
||||
files in /etc/systemd/network/ that select an explicit name or a
|
||||
better naming scheme for your network interfaces. For example:
|
||||
</para>
|
||||
|
||||
<screen role="nodump"><userinput>cat > /etc/systemd/network/10-ether0.link << "EOF"
|
||||
|
@ -1,147 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
|
||||
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
|
||||
<!ENTITY % general-entities SYSTEM "../general.ent">
|
||||
%general-entities;
|
||||
]>
|
||||
|
||||
<sect1 id="ch-config-profile" revision="sysv">
|
||||
<?dbhtml filename="profile.html"?>
|
||||
|
||||
<title>The Bash Shell Startup Files</title>
|
||||
|
||||
<indexterm zone="ch-config-profile">
|
||||
<primary sortas="e-/etc/profile">/etc/profile</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>The shell program <command>/bin/bash</command> (hereafter referred to
|
||||
as <quote>the shell</quote>) uses a collection of startup files to help
|
||||
create the environment to run in. Each file has a specific use and may affect
|
||||
login and interactive environments differently. The files in the <filename
|
||||
class="directory">/etc</filename> directory provide global settings. If
|
||||
equivalent files exist in the home directory, they may override the global
|
||||
settings.</para>
|
||||
|
||||
<para>An interactive login shell is started after a successful login, using
|
||||
<command>/bin/login</command>, by reading the <filename>/etc/passwd</filename>
|
||||
file. An interactive non-login shell is started at the command-line (e.g.,
|
||||
<prompt>[prompt]$</prompt><command>/bin/bash</command>). A non-interactive
|
||||
shell is usually present when a shell script is running. It is non-interactive
|
||||
because it is processing a script and not waiting for user input between
|
||||
commands.</para>
|
||||
|
||||
<para>For more information, see the <emphasis>Bash Startup Files</emphasis> and
|
||||
<emphasis>Interactive Shells</emphasis> sections in the <emphasis>Bash
|
||||
Features</emphasis> chapter of the Bash info pages (<command>info bash</command>).</para>
|
||||
|
||||
<para>The files <filename>/etc/profile</filename> and
|
||||
<filename>~/.bash_profile</filename> are read when the shell is
|
||||
invoked as an interactive login shell.</para>
|
||||
|
||||
<para>The base <filename>/etc/profile</filename> below sets some
|
||||
environment variables necessary for native language support. Setting
|
||||
them properly results in:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>The output of programs translated into the native language</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Correct classification of characters into letters, digits and other
|
||||
classes. This is necessary for <command>bash</command> to properly accept
|
||||
non-ASCII characters in command lines in non-English locales</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>The correct alphabetical sorting order for the country</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Appropriate default paper size</para>
|
||||
</listitem>
|
||||
<listitem>
|
||||
<para>Correct formatting of monetary, time, and date values</para>
|
||||
</listitem>
|
||||
</itemizedlist>
|
||||
|
||||
<para>Replace <replaceable><ll></replaceable> below with the two-letter code
|
||||
for the desired language (e.g., <quote>en</quote>) and
|
||||
<replaceable><CC></replaceable> with the two-letter code for the appropriate
|
||||
country (e.g., <quote>GB</quote>). <replaceable><charmap></replaceable> should
|
||||
be replaced with the canonical charmap for your chosen locale. Optional
|
||||
modifiers such as <quote>@euro</quote> may also be present.</para>
|
||||
|
||||
<para>The list of all locales supported by Glibc can be obtained by running
|
||||
the following command:</para>
|
||||
|
||||
<screen role="nodump"><userinput>locale -a</userinput></screen>
|
||||
|
||||
<para>Charmaps can have a number of aliases, e.g., <quote>ISO-8859-1</quote>
|
||||
is also referred to as <quote>iso8859-1</quote> and <quote>iso88591.</quote>
|
||||
Some applications cannot handle the various synonyms correctly (e.g., require
|
||||
that <quote>UTF-8</quote> is written as <literal>UTF-8</literal>, not
|
||||
<literal>utf8</literal>), so it is safest in most
|
||||
cases to choose the canonical name for a particular locale. To determine
|
||||
the canonical name, run the following command, where <replaceable><locale
|
||||
name></replaceable> is the output given by <command>locale -a</command> for
|
||||
your preferred locale (<quote>en_GB.iso88591</quote> in our example).</para>
|
||||
|
||||
<screen role="nodump"><userinput>LC_ALL=<replaceable><locale name></replaceable> locale charmap</userinput></screen>
|
||||
|
||||
<para>For the <quote>en_GB.iso88591</quote> locale, the above command
|
||||
will print:</para>
|
||||
|
||||
<screen><computeroutput>ISO-8859-1</computeroutput></screen>
|
||||
|
||||
<para>This results in a final locale setting of <literal>en_GB.ISO-8859-1</literal>.
|
||||
It is important that the locale found using the heuristic above is tested before
|
||||
it is added to the Bash startup files:</para>
|
||||
|
||||
<screen role="nodump"><userinput>LC_ALL=<locale name> locale language
|
||||
LC_ALL=<locale name> locale charmap
|
||||
LC_ALL=<locale name> locale int_curr_symbol
|
||||
LC_ALL=<locale name> locale int_prefix</userinput></screen>
|
||||
|
||||
<para>The above commands should print the language name, the character
|
||||
encoding used by the locale, the local currency, and the prefix to dial
|
||||
before the telephone number in order to get into the country. If any of the
|
||||
commands above fail with a message similar to the one shown below, this means
|
||||
that your locale was either not installed in <xref linkend="ch-system-glibc"/>
|
||||
or is not supported by the default installation of Glibc.</para>
|
||||
|
||||
<screen><computeroutput>locale: Cannot set LC_* to default locale: No such file or directory</computeroutput></screen>
|
||||
|
||||
<para>If this happens, you should either install the desired locale using the
|
||||
<command>localedef</command> command, or consider choosing a different locale.
|
||||
Further instructions assume that there are no such error messages from
|
||||
Glibc.</para>
|
||||
|
||||
<para>Other packages may also function incorrectly (but will not necessarily
|
||||
display any error messages) if the locale name does not meet their expectations.
|
||||
In such cases, investigating how other Linux distributions support your locale
|
||||
might provide some useful information.</para>
|
||||
|
||||
<para>Once the proper locale settings have been determined, create the
|
||||
<filename>/etc/profile</filename> file:</para>
|
||||
|
||||
<screen><userinput>cat > /etc/profile << "EOF"
|
||||
<literal># Begin /etc/profile
|
||||
|
||||
export LANG=<replaceable><ll>_<CC>.<charmap><@modifiers></replaceable>
|
||||
|
||||
# End /etc/profile</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
<para>The <quote>C</quote> (default) and <quote>en_US.utf8</quote> (the recommended
|
||||
one for United States English users) locales are different. <quote>C</quote>
|
||||
uses the US-ASCII 7-bit character set, and treats bytes with the high-order bit set
|
||||
<quote>on</quote> as invalid characters. That's why, e.g., the <command>ls</command> command
|
||||
displays them as question marks in that locale. Also, an attempt to send
|
||||
mail with such characters from Mutt or Pine results in non-RFC-conforming
|
||||
messages being sent (the charset in the outgoing mail is indicated as <quote>unknown
|
||||
8-bit</quote>). So you can only use the <quote>C</quote> locale if you are sure
|
||||
you will never need 8-bit characters.</para>
|
||||
|
||||
<para>UTF-8 based locales are not supported well by some programs.
|
||||
Work is in progress to document and, if possible, fix such problems. See
|
||||
<ulink url="&blfs-book;introduction/locale-issues.html"/>.</para>
|
||||
|
||||
</sect1>
|
@ -432,6 +432,40 @@ EOF</userinput></screen>
|
||||
<para>Some examples:</para>
|
||||
|
||||
<itemizedlist>
|
||||
<listitem>
|
||||
<para>
|
||||
We'll use <literal>C.UTF-8</literal> as the locale for interactive
|
||||
sessions in the Linux console in <xref role=','
|
||||
linkend='ch-config-locale'/> so we should set
|
||||
<literal>UNICODE</literal> to <literal>1</literal>. And the console
|
||||
fonts shipped by the <application>Kbd</application> package
|
||||
containing the glyphs for all characters from the program messages
|
||||
in the <literal>C.UTF-8</literal> locale are
|
||||
<filename>LatArCyrHeb*.psfu.gz</filename>,
|
||||
<filename>LatGrkCyr*.psfu.gz</filename>,
|
||||
<filename>Lat2-Terminus16.psfu.gz</filename>, and
|
||||
<filename>pancyrillic.f16.psfu.gz</filename> in
|
||||
<filename class='directory'>/usr/share/consolefonts</filename> (the
|
||||
other shipped console fonts lack glyphs of some characters like the
|
||||
Unicode left/right quotation marks and the Unicode English dash).
|
||||
So set one of them, for example
|
||||
<filename>Lat2-Terminus16.psfu.gz</filename> as the default console
|
||||
font:
|
||||
</para>
|
||||
|
||||
<!-- We are using 'nodump' for the generic setting, but not for an
|
||||
example (see below). This is deliberate to keep the
|
||||
compatibility with jhalfs. -->
|
||||
<screen role='nodump'><userinput>cat > /etc/sysconfig/console << "EOF"
|
||||
<literal># Begin /etc/sysconfig/console
|
||||
|
||||
UNICODE="1"
|
||||
FONT="Lat2-Terminus16"
|
||||
|
||||
# End /etc/sysconfig/console</literal>
|
||||
EOF</userinput></screen>
|
||||
|
||||
</listitem>
|
||||
|
||||
<listitem>
|
||||
<para>For a non-Unicode setup, only the KEYMAP and FONT variables are
|
||||
@ -526,7 +560,7 @@ EOF</userinput></screen>
|
||||
languages, because there accents are added to unaccented ASCII
|
||||
characters, or two ASCII characters are composed together. However, in
|
||||
UTF-8 mode it is a problem; e.g., for the Greek language, where one
|
||||
sometimes needs to put an accent on the letter <quote>alpha.</quote>
|
||||
sometimes needs to put an accent on the letter α.
|
||||
The solution is either to avoid the use of UTF-8, or to install the
|
||||
X window system, which doesn't have this limitation, in its input
|
||||
handling.</para>
|
||||
|
44
packages.ent
44
packages.ent
@ -13,10 +13,10 @@
|
||||
*-knl-* Package info for Kernel stuff
|
||||
-->
|
||||
|
||||
<!ENTITY acl-version "2.3.1">
|
||||
<!ENTITY acl-size "348 KB">
|
||||
<!ENTITY acl-version "2.3.2">
|
||||
<!ENTITY acl-size "363 KB">
|
||||
<!ENTITY acl-url "&savannah;/releases/acl/acl-&acl-version;.tar.xz">
|
||||
<!ENTITY acl-md5 "95ce715fe09acca7c12d3306d0f076b2">
|
||||
<!ENTITY acl-md5 "590765dee95907dbc3c856f7255bd669">
|
||||
<!ENTITY acl-home "&savannah-nongnu;/projects/acl">
|
||||
<!ENTITY acl-fin-du "6.1 MB">
|
||||
<!ENTITY acl-fin-sbu "less than 0.1 SBU">
|
||||
@ -65,10 +65,10 @@
|
||||
<!ENTITY bc-fin-du "7.7 MB">
|
||||
<!ENTITY bc-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY binutils-version "2.41">
|
||||
<!ENTITY binutils-size "26,139 KB">
|
||||
<!ENTITY binutils-version "2.42">
|
||||
<!ENTITY binutils-size "26,922 KB">
|
||||
<!ENTITY binutils-url "https://sourceware.org/pub/binutils/releases/binutils-&binutils-version;.tar.xz">
|
||||
<!ENTITY binutils-md5 "256d7e0ad998e423030c84483a7c1e30">
|
||||
<!ENTITY binutils-md5 "a075178a9646551379bfb64040487715">
|
||||
<!ENTITY binutils-home "&gnu-software;binutils/">
|
||||
<!ENTITY binutils-tmpp1-du "647 MB">
|
||||
<!ENTITY binutils-tmpp1-sbu "1 SBU">
|
||||
@ -317,10 +317,10 @@
|
||||
<!ENTITY gzip-fin-du "21 MB">
|
||||
<!ENTITY gzip-fin-sbu "0.3 SBU">
|
||||
|
||||
<!ENTITY iana-etc-version "20240117">
|
||||
<!ENTITY iana-etc-size "596 KB">
|
||||
<!ENTITY iana-etc-version "20240125">
|
||||
<!ENTITY iana-etc-size "589 KB">
|
||||
<!ENTITY iana-etc-url "https://github.com/Mic92/iana-etc/releases/download/&iana-etc-version;/iana-etc-&iana-etc-version;.tar.gz">
|
||||
<!ENTITY iana-etc-md5 "215feb4b55043a6c18e84a5ed58b705f">
|
||||
<!ENTITY iana-etc-md5 "aed66d04de615d76c70890233081e584">
|
||||
<!ENTITY iana-etc-home "https://www.iana.org/protocols">
|
||||
<!ENTITY iana-etc-fin-du "4.8 MB">
|
||||
<!ENTITY iana-etc-fin-sbu "less than 0.1 SBU">
|
||||
@ -440,12 +440,12 @@
|
||||
|
||||
<!ENTITY linux-major-version "6">
|
||||
<!ENTITY linux-minor-version "7">
|
||||
<!ENTITY linux-patch-version "1">
|
||||
<!ENTITY linux-patch-version "2">
|
||||
<!--<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;">-->
|
||||
<!ENTITY linux-version "&linux-major-version;.&linux-minor-version;.&linux-patch-version;">
|
||||
<!ENTITY linux-size "138,096 KB">
|
||||
<!ENTITY linux-size "138,085 KB">
|
||||
<!ENTITY linux-url "&kernel;linux/kernel/v&linux-major-version;.x/linux-&linux-version;.tar.xz">
|
||||
<!ENTITY linux-md5 "d8a7394e0e349dd373e9722e141c8b61">
|
||||
<!ENTITY linux-md5 "62b0a6c979a54569295d34ed57f47875">
|
||||
<!ENTITY linux-home "https://www.kernel.org/">
|
||||
<!-- measured for 6.5.3 / gcc-13.2.0 on x86_64 with -j4 : minimum is
|
||||
allnoconfig + some configs we recommend for the users, rounded down to
|
||||
@ -548,10 +548,10 @@
|
||||
<!ENTITY ninja-fin-du "75 MB">
|
||||
<!ENTITY ninja-fin-sbu "0.3 SBU">
|
||||
|
||||
<!ENTITY openssl-version "3.2.0">
|
||||
<!ENTITY openssl-size "17,284 KB">
|
||||
<!ENTITY openssl-version "3.2.1">
|
||||
<!ENTITY openssl-size "17,318 KB">
|
||||
<!ENTITY openssl-url "https://www.openssl.org/source/openssl-&openssl-version;.tar.gz">
|
||||
<!ENTITY openssl-md5 "7903549a14abebc5c323ce4e85f2cbb2">
|
||||
<!ENTITY openssl-md5 "c239213887804ba00654884918b37441">
|
||||
<!ENTITY openssl-home "https://www.openssl.org/">
|
||||
<!ENTITY openssl-fin-du "587 MB">
|
||||
<!ENTITY openssl-fin-sbu "3.0 SBU">
|
||||
@ -774,24 +774,24 @@
|
||||
<!ENTITY xml-parser-fin-du "2.3 MB">
|
||||
<!ENTITY xml-parser-fin-sbu "less than 0.1 SBU">
|
||||
|
||||
<!ENTITY xz-version "5.4.5">
|
||||
<!ENTITY xz-size "1,642 KB">
|
||||
<!ENTITY xz-url "https://tukaani.org/xz/xz-&xz-version;.tar.xz">
|
||||
<!ENTITY xz-md5 "1d33e0be05c53e7a5641acf5c8b35fdd">
|
||||
<!ENTITY xz-version "5.4.6">
|
||||
<!ENTITY xz-size "1,645 KB">
|
||||
<!ENTITY xz-url "https://github.com/tukaani-project/xz/releases/download/v&xz-version;/xz-&xz-version;.tar.xz">
|
||||
<!ENTITY xz-md5 "7ade7bd1181a731328f875bec62a9377">
|
||||
<!ENTITY xz-home "https://tukaani.org/xz">
|
||||
<!ENTITY xz-tmp-du "22 MB">
|
||||
<!ENTITY xz-tmp-sbu "0.1 SBU">
|
||||
<!ENTITY xz-fin-du "24 MB">
|
||||
<!ENTITY xz-fin-sbu "0.1 SBU">
|
||||
|
||||
<!ENTITY zlib-version "1.3">
|
||||
<!ENTITY zlib-size "1,461 KB">
|
||||
<!ENTITY zlib-version "1.3.1">
|
||||
<!ENTITY zlib-size "1,478 KB">
|
||||
<!-- DO NOT remove "fossils"!
|
||||
The upstream removes https://zlib.net/zlib-&zlib-version;.tar.xz
|
||||
once a newer version is released EVEN IF there is no security fixes.
|
||||
Unfortunately there is no .xz files in fossils directory. -->
|
||||
<!ENTITY zlib-url "https://zlib.net/fossils/zlib-&zlib-version;.tar.gz">
|
||||
<!ENTITY zlib-md5 "60373b133d630f74f4a1f94c1185a53f">
|
||||
<!ENTITY zlib-md5 "9855b6d802d7fe5b7bd5b196a2271655">
|
||||
<!ENTITY zlib-home "https://zlib.net/">
|
||||
<!ENTITY zlib-fin-du "6.2 MB">
|
||||
<!ENTITY zlib-fin-sbu "less than 0.1 SBU">
|
||||
|
16
patches.ent
16
patches.ent
@ -2,6 +2,10 @@
|
||||
|
||||
<!-- Start of Common Patches -->
|
||||
|
||||
<!ENTITY bash-upstream-fixes-patch "bash-&bash-version;-upstream_fixes-1.patch">
|
||||
<!ENTITY bash-upstream-fixes-patch-md5 "2d1691a629c558e894dbb78ee6bf34ef">
|
||||
<!ENTITY bash-upstream-fixes-patch-size "5.9 KB">
|
||||
|
||||
<!ENTITY bzip2-docs-patch "bzip2-&bzip2-version;-install_docs-1.patch">
|
||||
<!ENTITY bzip2-docs-patch-md5 "6a5ac7e89b791aae556de0f745916f7f">
|
||||
<!ENTITY bzip2-docs-patch-size "1.6 KB">
|
||||
@ -14,9 +18,9 @@
|
||||
<!ENTITY glibc-fhs-patch-md5 "9a5997c3452909b1769918c759eff8a2">
|
||||
<!ENTITY glibc-fhs-patch-size "2.8 KB">
|
||||
|
||||
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-3.patch">
|
||||
<!ENTITY glibc-upstream-fixes-patch-md5 "545977e0b5c341ba945cf4b5de92f1e2">
|
||||
<!ENTITY glibc-upstream-fixes-patch-size "28 KB">
|
||||
<!ENTITY glibc-upstream-fixes-patch "glibc-&glibc-version;-upstream_fixes-4.patch">
|
||||
<!ENTITY glibc-upstream-fixes-patch-md5 "66e843b00688c641c9bdda684db45b43">
|
||||
<!ENTITY glibc-upstream-fixes-patch-size "36 KB">
|
||||
|
||||
<!ENTITY kbd-backspace-patch "kbd-&kbd-version;-backspace-1.patch">
|
||||
<!ENTITY kbd-backspace-patch-md5 "f75cca16a38da6caa7d52151f7136895">
|
||||
@ -26,9 +30,9 @@
|
||||
<!ENTITY pkgconf-upstream-fix-patch-md5 "77d5bb10840724a0e3dc08efee548363">
|
||||
<!ENTITY pkgconf-upstream-fix-patch-size "4 KB">
|
||||
|
||||
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-2.patch">
|
||||
<!ENTITY readline-fixes-patch-md5 "d2477ebe908cc99763d90dde7fd9549a">
|
||||
<!ENTITY readline-fixes-patch-size "5.7 KB">
|
||||
<!ENTITY readline-fixes-patch "readline-&readline-version;-upstream_fixes-3.patch">
|
||||
<!ENTITY readline-fixes-patch-md5 "9ed497b6cb8adcb8dbda9dee9ebce791">
|
||||
<!ENTITY readline-fixes-patch-size "13 KB">
|
||||
|
||||
<!ENTITY sysvinit-consolidated-patch "sysvinit-&sysvinit-version;-consolidated-1.patch">
|
||||
<!ENTITY sysvinit-consolidated-patch-md5 "17ffccbb8e18c39e8cedc32046f3a475">
|
||||
|
Loading…
Reference in New Issue
Block a user