diff options
Diffstat (limited to 'lfs-12.0-sysv/chapter08/udev.html')
-rw-r--r-- | lfs-12.0-sysv/chapter08/udev.html | 366 |
1 files changed, 0 insertions, 366 deletions
diff --git a/lfs-12.0-sysv/chapter08/udev.html b/lfs-12.0-sysv/chapter08/udev.html deleted file mode 100644 index a55d603..0000000 --- a/lfs-12.0-sysv/chapter08/udev.html +++ /dev/null @@ -1,366 +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> - 8.74. Udev из Systemd-254 - </title> - <link rel="stylesheet" type="text/css" href="../stylesheets/lfs.css" /> - <meta name="generator" content="DocBook XSL Stylesheets V1.79.1" /> - <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.0"> - <div class="navheader"> - <h4> - Линукс с нуля - Версия 12.0 - </h4> - <h3> - Глава 8. Установка базового системного программного обеспечения - </h3> - <ul> - <li class="prev"> - <a accesskey="p" href="jinja2.html" title="Jinja2-3.1.2">Пред.</a> - <p> - Jinja2-3.1.2 - </p> - </li> - <li class="next"> - <a accesskey="n" href="man-db.html" title="Man-DB-2.11.2">След.</a> - <p> - Man-DB-2.11.2 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - <div class="wrap" lang="en" xml:lang="en"> - <h1 class="sect1"> - <a id="ch-system-udev" name="ch-system-udev"></a>8.74. Udev из - Systemd-254 - </h1> - <div class="package" lang="en" xml:lang="en"> - <p> - Пакет Udev содержит программы для динамического создания узлов - устройств. - </p> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Приблизительное время сборки:</strong> - <span class="segbody">0.2 SBU</span> - </div> - <div class="seg"> - <strong class="segtitle">Требуемое дисковое - пространство:</strong> <span class="segbody">138 MB</span> - </div> - </div> - </div> - </div> - <div class="installation" lang="en" xml:lang="en"> - <h2 class="sect2"> - 8.74.1. Установка пакета Udev - </h2> - <p> - Udev является частью пакета systemd-254. Используйте файл - systemd-254.tar.xz в качестве исходного архива. - </p> - <p> - Удалите две ненужные группы <code class="systemitem">render</code> - и <code class="systemitem">sgx</code>, из правил udev по умолчанию: - </p> - <pre class="userinput"><kbd class= - "command">sed -i -e 's/GROUP="render"/GROUP="video"/' \ - -e 's/GROUP="sgx", //' rules.d/50-udev-default.rules.in</kbd></pre> - <p> - Удалите одно правило udev, требующее полной установки Systemd: - </p> - <pre class="userinput"><kbd class= - "command">sed '/systemd-sysctl/s/^/#/' -i rules.d/99-systemd.rules.in</kbd></pre> - <p> - Подготовьте Udev к компиляции: - </p> - <pre class="userinput"><kbd class="command">mkdir -p build -cd build - -meson setup \ - --prefix=/usr \ - --buildtype=release \ - -Dmode=release \ - -Ddev-kvm-mode=0660 \ - -Dlink-udev-shared=false \ - ..</kbd></pre> - <div class="variablelist"> - <p class="title"> - <strong>Значение параметров meson:</strong> - </p> - <dl class="variablelist"> - <dt> - <span class="term"><em class= - "parameter"><code>--buildtype=release</code></em></span> - </dt> - <dd> - <p> - Этот параметр переопределяет тип сборки по умолчанию - (<span class="quote">«<span class= - "quote">debug</span>»</span>), который создает - неоптимизированные двоичные файлы. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>-Dmode=release</code></em></span> - </dt> - <dd> - <p> - Отключает некоторые функции, которые разработчики считают - экспериментальными. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>-Ddev-kvm-mode=0660</code></em></span> - </dt> - <dd> - <p> - По умолчанию правило udev разрешает всем пользователям доступ - к <code class="filename">/dev/kvm</code>. Редакторы LFS - считают это опасным. Данная опция переопределяет разрешение - по умолчанию. - </p> - </dd> - <dt> - <span class="term"><em class= - "parameter"><code>-Dlink-udev-shared=false</code></em></span> - </dt> - <dd> - <p> - Эта опция запрещает udev связываться с внутренней общей - библиотекой systemd <code class= - "systemitem">libsystemd-shared</code>. Эта библиотека - предназначена для совместного использования многими - компонентами Systemd, и ее использование избыточно, когда - установлен только udev - </p> - </dd> - </dl> - </div> - <p> - Соберите только компоненты, необходимые для udev: - </p> - <pre class="userinput"><kbd class= - "command">ninja udevadm systemd-hwdb \ - $(grep -o -E "^build (src/libudev|src/udev|rules.d|hwdb.d)[^:]*" \ - build.ninja | awk '{ print $2 }') \ - $(realpath libudev.so --relative-to .)</kbd></pre> - <p> - Удалите один файл правил udev, требующий полной установки Systemd: - </p> - <pre class="userinput"><kbd class= - "command">rm rules.d/90-vconsole.rules</kbd></pre> - <p> - Установите пакет: - </p> - <pre class="userinput"><kbd class= - "command">install -vm755 -d {/usr/lib,/etc}/udev/{hwdb,rules}.d -install -vm755 -d /usr/{lib,share}/pkgconfig -install -vm755 udevadm /usr/bin/ -install -vm755 systemd-hwdb /usr/bin/udev-hwdb -ln -svfn ../bin/udevadm /usr/sbin/udevd -cp -av libudev.so{,*[0-9]} /usr/lib/ -install -vm644 ../src/libudev/libudev.h /usr/include/ -install -vm644 src/libudev/*.pc /usr/lib/pkgconfig/ -install -vm644 src/udev/*.pc /usr/share/pkgconfig/ -install -vm644 ../src/udev/udev.conf /etc/udev/ -install -vm644 rules.d/* ../rules.d/{*.rules,README} /usr/lib/udev/rules.d/ -install -vm644 hwdb.d/* ../hwdb.d/{*.hwdb,README} /usr/lib/udev/hwdb.d/ -install -vm755 $(find src/udev -type f | grep -F -v ".") /usr/lib/udev</kbd></pre> - <p> - Установите некоторые пользовательские правила и файлы поддержки, - полезные в среде LFS: - </p> - <pre class="userinput"><kbd class= - "command">tar -xvf ../../udev-lfs-20230818.tar.xz -make -f udev-lfs-20230818/Makefile.lfs install</kbd></pre> - <p> - Установите справочные страницы: - </p> - <pre class="userinput"><kbd class= - "command">tar -xf ../../systemd-man-pages-254.tar.xz \ - --no-same-owner --strip-components=1 \ - -C /usr/share/man --wildcards '*/udev*' '*/libudev*' \ - '*/systemd-'{hwdb,udevd.service}.8 -sed 's/systemd\(\\\?-\)/udev\1/' /usr/share/man/man8/systemd-hwdb.8 \ - > /usr/share/man/man8/udev-hwdb.8 -sed 's|lib.*udevd|sbin/udevd|' \ - /usr/share/man/man8/systemd-udevd.service.8 \ - > /usr/share/man/man8/udevd.8 -rm /usr/share/man/man8/systemd-*.8</kbd></pre> - </div> - <div class="configuration" lang="en" xml:lang="en"> - <h2 class="sect2"> - <a id="conf-udev" name="conf-udev"></a>8.74.2. Настройка Udev - </h2> - <p> - Информация об аппаратных устройствах хранится в каталогах - <code class="filename">/etc/udev/hwdb.d</code> и <code class= - "filename">/usr/lib/udev/hwdb.d</code>. <span class= - "application">Udev</span> необходимо, чтобы эта информация была - скомпилирована в двоичную базу данных <code class= - "filename">/etc/udev/hwdb.bin</code>. Создайте исходную базу - данных: - </p> - <pre class="userinput"><kbd class= - "command">udev-hwdb update</kbd></pre> - <p> - Эту команду необходимо запускать каждый раз при обновлении - информации об оборудовании. - </p> - </div> - <div class="content" lang="en" xml:lang="en"> - <h2 class="sect2"> - <a id="contents-udev" name="contents-udev"></a>8.74.3. Содержимое - пакета Udev - </h2> - <div class="segmentedlist"> - <div class="seglistitem"> - <div class="seg"> - <strong class="segtitle">Установленные программы:</strong> - <span class="segbody">udevadm, udevd (символическая ссылка на - udevadm) и udev-hwdb</span> - </div> - <div class="seg"> - <strong class="segtitle">Установленные библиотеки:</strong> - <span class="segbody">libudev.so</span> - </div> - <div class="seg"> - <strong class="segtitle">Созданные каталоги:</strong> - <span class="segbody">/etc/udev и /usr/lib/udev</span> - </div> - </div> - </div> - <div class="variablelist"> - <h3> - Short Descriptions - </h3> - <table border="0" class="variablelist"> - <colgroup> - <col align="left" valign="top" /> - <col /> - </colgroup> - <tbody> - <tr> - <td> - <p> - <a id="udevadm" name="udevadm"></a><span class= - "term"><span class= - "command"><strong>udevadm</strong></span></span> - </p> - </td> - <td> - <p> - Универсальный инструмент администрирования udev: - управляет демоном udevd, предоставляет информацию из базы - данных Udev, отслеживает uevents, ожидает завершения - uevents, проверяет конфигурацию Udev и запускает uevents - для данного устройства - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="udevd" name="udevd"></a><span class= - "term"><span class= - "command"><strong>udevd</strong></span></span> - </p> - </td> - <td> - <p> - Демон, который прослушивает uevents в сокете netlink, - создает устройства и запускает настроенные внешние - программы в ответ на эти uevents - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="udev-hwdb" name="udev-hwdb"></a><span class= - "term"><span class= - "command"><strong>udev-hwdb</strong></span></span> - </p> - </td> - <td> - <p> - Обновляет или запрашивает базу данных оборудования - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="libudev" name="libudev"></a><span class= - "term"><code class="filename">libudev</code></span> - </p> - </td> - <td> - <p> - Библиотека для получения информации об устройствах udev - </p> - </td> - </tr> - <tr> - <td> - <p> - <a id="etc-udev" name="etc-udev"></a><span class= - "term"><code class="filename">/etc/udev</code></span> - </p> - </td> - <td> - <p> - Содержит файлы конфигурации Udev, разрешения для - устройств и правила именования устройств - </p> - </td> - </tr> - </tbody> - </table> - </div> - </div> - </div> - <div class="navfooter"> - <ul> - <li class="prev"> - <a accesskey="p" href="jinja2.html" title="Jinja2-3.1.2">Пред.</a> - <p> - Jinja2-3.1.2 - </p> - </li> - <li class="next"> - <a accesskey="n" href="man-db.html" title="Man-DB-2.11.2">След.</a> - <p> - Man-DB-2.11.2 - </p> - </li> - <li class="up"> - <a accesskey="u" href="chapter08.html" title= - "Глава 8. Установка базового системного программного обеспечения">Наверх</a> - </li> - <li class="home"> - <a accesskey="h" href="../index.html" title= - "Линукс с нуля - Версия 12.0">Начало</a> - </li> - </ul> - </div> - </body> -</html> |