diff options
author | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
---|---|---|
committer | Sn4il <sn4il@thedroth.rocks> | 2024-09-02 15:54:35 +0300 |
commit | 2203e654b389586650d553251b04544a34f189bf (patch) | |
tree | 0125b69fc70a2506c53158ba2020993a5b8985b7 /lfs-12.1-sysv/chapter07/kernfs.html | |
parent | 200d528e55ca954d37769f4d143f10c9519b00e7 (diff) | |
download | sn4il-site-2203e654b389586650d553251b04544a34f189bf.tar.gz sn4il-site-2203e654b389586650d553251b04544a34f189bf.zip |
LFS 12.2
Diffstat (limited to 'lfs-12.1-sysv/chapter07/kernfs.html')
-rw-r--r-- | lfs-12.1-sysv/chapter07/kernfs.html | 207 |
1 files changed, 0 insertions, 207 deletions
diff --git a/lfs-12.1-sysv/chapter07/kernfs.html b/lfs-12.1-sysv/chapter07/kernfs.html deleted file mode 100644 index f30a70e..0000000 --- a/lfs-12.1-sysv/chapter07/kernfs.html +++ /dev/null @@ -1,207 +0,0 @@ -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" - "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> -<html xmlns="http://www.w3.org/1999/xhtml"> - <head> - <meta http-equiv="Content-Type" content="application/xhtml+xml; charset=utf-8" /> - <title> - 7.3. Подготовка виртуальных файловых систем ядра - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets Vsnapshot" /> - <link rel="stylesheet" href="../stylesheets/lfs-print.css" type= - "text/css" media="print" /> - <meta name="viewport" content="width=device-width, initial-scale=1.0" /> - </head> - <body class="lfs" id="lfs-12.1"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.1 - </h4> - <h3> - Глава 7. Вход в окружение Chroot и создание дополнительных временных - инструментов - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="changingowner.html" title= - "Смена владельца">Пред.</a> - <p> - Смена владельца - </p> - </li> - <li class="next"> - <a accesskey="n" href="chroot.html" title= - "Вход в окружение Chroot">След.</a> - <p> - Вход в окружение Chroot - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter07.html" title= - "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов"> - Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - <h1 class="sect1"> - <a id="ch-tools-kernfs" name="ch-tools-kernfs"></a>7.3. Подготовка - виртуальных файловых систем ядра - </h1> - <div class="sect1" lang="ru" xml:lang="ru"> - <p> - Приложения, работающие в пользовательском пространстве, используют - различные файловые системы, созданные ядром, для взаимодействия с - самим ядром. Эти файловые системы являются виртуальными: для них не - используется дисковое пространство. Содержимое файловых систем - находится в памяти. Эти файловые системы должны быть смонтированы в - дереве каталогов $LFS, чтобы приложения могли найти их в среде - <span class="command"><strong>chroot</strong></span>. - </p> - <p> - Начните с создания каталогов, в которые будут смонтированы эти - виртуальные файловые системы: - </p> - <pre class="userinput"><kbd class= - "command">mkdir -pv $LFS/{dev,proc,sys,run}</kbd></pre> - <div class="sect2" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="ch-tools-bindmount" name="ch-tools-bindmount"></a>7.3.1. - Монтирование и заполнение /dev - </h2> - <p> - Во время обычной загрузки ядро автоматически монтирует файловую - систему <code class="systemitem">devtmpfs</code> в каталог - <code class="filename">/dev</code>; ядро создает узлы устройств в - этой виртуальной файловой системе в процессе загрузки или при - первом обнаружении устройства, или доступе к нему. Демон udev может - изменять владельца или разрешения узлов устройств, созданных ядром, - или создавать новые узлы устройств или символические ссылки, чтобы - облегчить работу разработчиков дистрибутива или системных - администраторов. (Подробности смотрите в <a class="xref" href= - "../chapter09/udev.html#ch-config-udev-device-node-creation" title= - "9.3.2.2. Создание узла устройства">Раздел 9.3.2.2, «Создание - узла устройства»</a>.) Если ядро хоста поддерживает <code class= - "systemitem">devtmpfs</code>, мы можем просто смонтировать - <code class="systemitem">devtmpfs</code> в <code class= - "filename">$LFS/dev</code> и положиться на ядро для его заполнения. - </p> - <p> - Но в некоторых ядрах хоста отсутствует поддержка <code class= - "systemitem">devtmpfs</code>, эти хост-дистрибутивы используют - разные методы для создания содержимого <code class= - "filename">/dev</code>. Таким образом, единственный независимый от - хоста способ заполнить каталог <code class= - "filename">$LFS/dev</code> - это привязка к каталогу <code class= - "filename">/dev</code> хост-системы. Связное монтирование - это - особый тип монтирования, который делает дерево каталога или файл - видимым в каком-либо другом месте. Для этого используйте следующую - команду: - </p> - <pre class="userinput"><kbd class= - "command">mount -v --bind /dev $LFS/dev</kbd></pre> - </div> - <div class="sect2" lang="ru" xml:lang="ru"> - <h2 class="sect2"> - <a id="ch-tools-kernfsmount" name="ch-tools-kernfsmount"></a>7.3.2. - Монтирование виртуальных файловых систем ядра - </h2> - <p> - Теперь смонтируйте оставшиеся виртуальные файловые системы: - </p> - <pre class="userinput"><kbd class= - "command">mount -vt devpts devpts -o gid=5,mode=0620 $LFS/dev/pts -mount -vt proc proc $LFS/proc -mount -vt sysfs sysfs $LFS/sys -mount -vt tmpfs tmpfs $LFS/run</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров монтирования для devpts:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>gid=5</code></em></span> - </dt> - <dd> - <p> - Этот параметр гарантирует, что все узлы устройств, созданные - devpts, принадлежат группе с идентификатором 5. Это - идентификатор, который мы будем использовать позже для группы - <code class="systemitem">tty</code>. Мы используем - идентификатор группы вместо имени, поскольку хост-система - может использовать другой идентификатор для своей группы - <code class="systemitem">tty</code>. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>mode=0620</code></em></span> - </dt> - <dd> - <p> - Этот параметр гарантирует, что все узлы устройств, созданные - devpts, будут иметь права 0620 (доступен для чтения и записи - пользователем, доступен для записи группе). Вместе с - вышеуказанной опцией это гарантирует, что devpts создаст узлы - устройств, соответствующие требованиям grantpt(), а это - означает, что вспомогательный файл Glibc <span class= - "command"><strong>pt_chown</strong></span> (который не - установлен по умолчанию) не требуется. - </p> - </dd> - </dl> - </div> - <p> - В некоторых хост-системах <code class="filename">/dev/shm</code> - является символической ссылкой на каталог <code class= - "filename">/run/shm</code>. /run tmpfs был смонтирован выше, - поэтому сейчас необходимо только создать каталог с правильными - разрешениями. - </p> - <p> - В других хост-системах <code class="filename">/dev/shm</code> - является точкой монтирования для tmpfs. В этом случае монтирование - /dev приведет только к созданию /dev/shm как каталога в среде - chroot. В этой ситуации мы должны явно смонтировать tmpfs: - </p> - <pre class="userinput"><kbd class= - "command">if [ -h $LFS/dev/shm ]; then - install -v -d -m 1777 $LFS$(realpath /dev/shm) -else - mount -vt tmpfs -o nosuid,nodev tmpfs $LFS/dev/shm -fi</kbd></pre> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="changingowner.html" title= - "Смена владельца">Пред.</a> - <p> - Смена владельца - </p> - </li> - <li class="next"> - <a accesskey="n" href="chroot.html" title= - "Вход в окружение Chroot">След.</a> - <p> - Вход в окружение Chroot - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter07.html" title= - "Глава 7. Вход в окружение Chroot и создание дополнительных временных инструментов"> - Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.1">Начало</a> - </li> - </ul> - </div> - </body> -</html> |