lfs-ru/chapter07/creatingdirs.xml

81 lines
4.8 KiB
XML
Raw Normal View History

<?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-tools-creatingdirs">
<?dbhtml filename="creatingdirs.html"?>
<title>Создание каталогов</title>
2023-06-30 01:00:18 +03:00
<para>Пришло время создать полную структуру каталогов в файловой системе LFS.</para>
2023-06-30 01:00:18 +03:00
<note><para>Некоторые из каталогов, упомянутых в этом разделе, возможно, уже
были созданы ранее с помощью явных инструкций или при установке некоторых пакетов.
Они повторяются ниже для полноты картины.</para></note>
<para>Создайте несколько каталогов, которые не входили в ограниченный набор,
используемый в предыдущих главах, выполнив следующую команду:</para>
<screen><userinput>mkdir -pv /{boot,home,mnt,opt,srv}</userinput></screen>
<para>Создайте необходимые подкаталоги, выполнив следующие команды:</para>
<screen><userinput>mkdir -pv /etc/{opt,sysconfig}
mkdir -pv /lib/firmware
mkdir -pv /media/{floppy,cdrom}
mkdir -pv /usr/{,local/}{include,src}
mkdir -pv /usr/local/{bin,lib,sbin}
mkdir -pv /usr/{,local/}share/{color,dict,doc,info,locale,man}
mkdir -pv /usr/{,local/}share/{misc,terminfo,zoneinfo}
mkdir -pv /usr/{,local/}share/man/man{1..8}
mkdir -pv /var/{cache,local,log,mail,opt,spool}
mkdir -pv /var/lib/{color,misc,locate}
ln -sfv /run /var/run
ln -sfv /run/lock /var/lock
install -dv -m 0750 /root
install -dv -m 1777 /tmp /var/tmp</userinput></screen>
2023-06-30 01:00:18 +03:00
<para>По умолчанию каталоги создаются с правами 755, но это нежелательно делать
для всех каталогов. В приведенных выше командах вносятся два изменения &mdash; одно
в домашний каталог пользователя <systemitem class="username">root</systemitem>,
а другое в каталоги для временных файлов.</para>
<para>Первое изменение гарантирует, что никто не сможет войти в каталог
2023-06-30 01:00:18 +03:00
<filename class="directory">/root</filename> &mdash; точно так же, как обычный
пользователь сделал бы это со своим собственным домашним каталогом. Второе изменение
гарантирует, что любой пользователь может писать в каталоги <filename class="directory">/tmp</filename>
и <filename class="directory">/var/tmp</filename>, но не может удалять из них файлы
другого пользователя. Последнее запрещено так называемым <quote>sticky bit (липким битом)</quote>,
старшим битом (1) в битовой маске 1777</para>
<sect2>
<title>Примечание о соответствии требованиям FHS</title>
2023-06-30 01:00:18 +03:00
<para>Это дерево каталогов основано на стандарте иерархии файловой системы (FHS)
(доступен по адресу <ulink
url="https://refspecs.linuxfoundation.org/fhs.shtml"/>). FHS также указывает, что наличие
некоторых каталогов необязательно, например, <filename
class="directory">/usr/local/games</filename> и <filename
2023-06-30 01:00:18 +03:00
class="directory">/usr/share/games</filename>. В LFS мы создаем только те каталоги,
которые действительно необходимы. Однако, не стесняйтесь создавать дополнительные
каталоги, если хотите.</para>
<warning>
<para>
FHS не требует наличия каталога <filename class="directory">/usr/lib64</filename>,
и редакторы LFS решили его не использовать. Чтобы инструкции в LFS и BLFS работали
корректно, крайне важно, чтобы этот каталог не существовал. Время от времени вам
следует проверять, что он не существует, потому что его легко создать непреднамеренно,
и это, вероятно, приведет к поломке вашей системы.
</para>
</warning>
</sect2>
</sect1>