diff options
Diffstat (limited to 'lfs-12.2-sysv/chapter08/expect.html')
-rw-r--r-- | lfs-12.2-sysv/chapter08/expect.html | 260 |
1 files changed, 260 insertions, 0 deletions
diff --git a/lfs-12.2-sysv/chapter08/expect.html b/lfs-12.2-sysv/chapter08/expect.html new file mode 100644 index 0000000..5c02507 --- /dev/null +++ b/lfs-12.2-sysv/chapter08/expect.html @@ -0,0 +1,260 @@ +<!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.17. Expect-5.45.4 + </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.2"> + <div class="navheader"> + <h4> + Линукс с нуля - Версия 12.2 + </h4> + <h3> + Глава 8. Установка базового системного программного обеспечения + </h3> + <ul> + <li class="prev"> + <a accesskey="p" href="tcl.html" title="Tcl-8.6.14">Пред.</a> + <p> + Tcl-8.6.14 + </p> + </li> + <li class="next"> + <a accesskey="n" href="dejagnu.html" title= + "DejaGNU-1.6.3">След.</a> + <p> + DejaGNU-1.6.3 + </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.2">Начало</a> + </li> + </ul> + </div> + <h1 class="sect1"> + <a id="ch-system-expect" name="ch-system-expect"></a>8.17. + Expect-5.45.4 + </h1> + <div class="wrap" lang="ru" xml:lang="ru"> + <div class="package" lang="ru" xml:lang="ru"> + <p> + Пакет <span class="application">Expect</span> содержит инструменты + для автоматизации работы интерактивных приложений, таких как + <span class="command"><strong>telnet</strong></span>, <span class= + "command"><strong>ftp</strong></span>, <span class= + "command"><strong>passwd</strong></span>, <span class= + "command"><strong>fsck</strong></span>, <span class= + "command"><strong>rlogin</strong></span> и <span class= + "command"><strong>tip</strong></span>, с помощью скриптовых + диалогов и макросов. Кроме того <span class= + "application">Expect</span> полезен для тестирования перечисленных + выше приложений, а также для решения сложных задач взаимодействия с + другими средствами. Фреймворк <span class= + "application">DejaGnu</span> написан на языке <span class= + "application">Expect</span>. + </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">3.9 MB</span> + </div> + </div> + </div> + </div> + <div class="installation" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + 8.17.1. Установка пакета Expect + </h2> + <p> + Expect для работы необходим псевдотерминал(PTY). Убедитесь, что PTY + работают правильно в среде chroot, выполнив простой тест: + </p> + <pre class="userinput"><kbd class= + "command">python3 -c 'from pty import spawn; spawn(["echo", "ok"])'</kbd></pre> + <p> + Эта команда должна вывести <code class="computeroutput">ok</code>. + Если вместо этого вывод содержит <code class= + "computeroutput">OSError: out of pty devices</code>, то среда не + настроена для правильной работы PTY. Вам необходимо выйти из среды + chroot, ещё раз прочитать <a class="xref" href= + "../chapter07/kernfs.html" title= + "7.3. Подготовка виртуальных файловых систем ядра">Раздел 7.3, + «Подготовка виртуальных файловых систем ядра»</a> и убедиться, что + файловая система <code class="systemitem">devpts</code> (и другие + файловые системы виртуального ядра) смонтирована правильно. Затем + повторно войдите в среду chroot, следуя инструкции <a class="xref" + href="../chapter07/chroot.html" title= + "7.4. Вход в окружение Chroot">Раздел 7.4, «Вход в окружение + Chroot»</a>. Эту проблему необходимо решить, прежде чем вы + продолжите, иначе наборы тестов, зависимые от Expect (например, + наборы тестов Bash, Binutils, GCC, GDBM и, конечно, самого Expect), + потерпят фатальный сбой, а также могут произойти другие + незначительные сбои. + </p> + <p> + Теперь внесите некоторые изменения, чтобы разрешить использование + пакета с gcc-14.1 или более поздней версией: + </p> + <pre class="userinput"><kbd class= + "command">patch -Np1 -i ../expect-5.45.4-gcc14-1.patch</kbd></pre> + <p> + Подготовьте Expect к компиляции: + </p> + <pre class="userinput"><kbd class= + "command">./configure --prefix=/usr \ + --with-tcl=/usr/lib \ + --enable-shared \ + --disable-rpath \ + --mandir=/usr/share/man \ + --with-tclinclude=/usr/include</kbd></pre> + <div class="variablelist"> + <p class="title"> + <strong>Значение параметров настройки:</strong> + </p> + <dl class="variablelist"> + <dt> + <span class="term"><em class= + "parameter"><code>--with-tcl=/usr/lib</code></em></span> + </dt> + <dd> + <p> + Этот параметр необходим для указания <span class= + "command"><strong>configure</strong></span> где находится + скрипт <span class= + "command"><strong>tclConfig.sh</strong></span>. + </p> + </dd> + <dt> + <span class="term"><em class= + "parameter"><code>--with-tclinclude=/usr/include</code></em></span> + </dt> + <dd> + <p> + Этот параметр явно указывает Expect, где искать внутренние + заголовки Tcl. + </p> + </dd> + </dl> + </div> + <p> + Соберите пакет: + </p> + <pre class="userinput"><kbd class="command">make</kbd></pre> + <p> + Чтобы протестировать пакет, выполните: + </p> + <pre class="userinput"><kbd class="command">make test</kbd></pre> + <p> + Установите пакет: + </p> + <pre class="userinput"><kbd class="command">make install +ln -svf expect5.45.4/libexpect5.45.4.so /usr/lib</kbd></pre> + </div> + <div class="content" lang="ru" xml:lang="ru"> + <h2 class="sect2"> + <a id="contents-expect" name="contents-expect"></a>8.17.2. + Содержимое пакета Expect + </h2> + <div class="segmentedlist"> + <div class="seglistitem"> + <div class="seg"> + <strong class="segtitle">Установленные программы:</strong> + <span class="segbody">expect</span> + </div> + <div class="seg"> + <strong class="segtitle">Установленные библиотеки:</strong> + <span class="segbody">libexpect5.45.4.so</span> + </div> + </div> + </div> + <div class="variablelist"> + <h3> + Краткое описание + </h3> + <table border="0" class="variablelist"> + <colgroup> + <col align="left" valign="top" /> + <col /> + </colgroup> + <tbody> + <tr> + <td> + <p> + <a id="expect" name="expect"></a><span class= + "term"><span class= + "command"><strong>expect</strong></span></span> + </p> + </td> + <td> + <p> + Взаимодействует с другими интерактивными программами в + соответствии со сценарием + </p> + </td> + </tr> + <tr> + <td> + <p> + <a id="libexpect" name="libexpect"></a><span class= + "term"><code class= + "filename">libexpect-5.45.4.so</code></span> + </p> + </td> + <td> + <p> + Содержит функции, которые позволяют использовать Expect в + качестве расширения Tcl или непосредственно из C или C++ + (без Tcl). + </p> + </td> + </tr> + </tbody> + </table> + </div> + </div> + </div> + <div class="navfooter"> + <ul> + <li class="prev"> + <a accesskey="p" href="tcl.html" title="Tcl-8.6.14">Пред.</a> + <p> + Tcl-8.6.14 + </p> + </li> + <li class="next"> + <a accesskey="n" href="dejagnu.html" title= + "DejaGNU-1.6.3">След.</a> + <p> + DejaGNU-1.6.3 + </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.2">Начало</a> + </li> + </ul> + </div> + </body> +</html> |