summaryrefslogtreecommitdiff
path: root/lfs-12.2-sysv/chapter11/afterlfs.html
blob: 30a539fdb4c727b0b91b1b54c93927940e643740 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
<!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>
      11.5. Начало работы после сборки LFS
    </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>
        Глава 11. Заключение
      </h3>
      <ul>
        <li class="prev">
          <a accesskey="p" href="whatnow.html" title=
          "Дополнительные ресурсы">Пред.</a>
          <p>
            Дополнительные ресурсы
          </p>
        </li>
        <li class="next">
          <a accesskey="n" href="../part5.html" title="Приложения">След.</a>
          <p>
            Приложения
          </p>
        </li>
        <li class="up">
          <a accesskey="u" href="chapter11.html" title=
          "Глава 11. Заключение">Наверх</a>
        </li>
        <li class="home">
          <a accesskey="h" href="../index.html" title=
          "Линукс с нуля - Версия 12.2">Начало</a>
        </li>
      </ul>
    </div>
    <h1 class="sect1">
      <a id="afterlfs" name="afterlfs"></a>11.5. Начало работы после сборки
      LFS
    </h1>
    <div class="sect1" lang="ru" xml:lang="ru">
      <div class="sect2" lang="ru" xml:lang="ru">
        <h2 class="sect2">
          11.5.1. Что делать дальше?
        </h2>
        <p>
          Теперь, когда LFS собрана и у вас есть загружаемая система,
          необходимо решить, что же делать дальше? Следующий шаг -
          определиться, как использовать систему. Как правило, следует
          учитывать две широкие категории: рабочая станция или сервер.
          Действительно, эти категории не являются взаимоисключающими.
          Приложения, необходимые для каждой категории, можно объединить в
          одну систему, но пока давайте рассмотрим их по отдельности.
        </p>
        <p>
          Сервер — более простая категория. Как правило, это веб-сервер,
          такой как <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/server/apache.html">
          Apache</a>, и сервер баз данных, например, <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/server/mariadb.html">
          MariaDB</a>. Однако возможны и другие варианты. К этой же категории
          относятся операционные системы для встраиваемых устройств.
        </p>
        <p>
          Рабочая станция же, гораздо сложнее. Обычно для нее требуется среда
          рабочего стола, например, <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/lxde/lxde.html">LXDE</a>,
          <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/xfce/xfce.html">XFCE</a>,
          <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/kde/kde.html">KDE</a>,
          или <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/gnome/gnome.html">
          Gnome</a> основанные на базовом <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/x/installing.html">
          графическом окружении</a> и наборе графических приложений, таких
          как <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/xsoft/firefox.html">
          веб-браузер Firefox</a>, <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/xsoft/thunderbird.html">
          почтовый клиент Thunderbird</a>, или <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/xsoft/libreoffice.html">
          пакет офисных приложений LibreOffice</a>. Для этих приложений
          требуется множество (может быть несколько сотен, в зависимости от
          ваших потребностей) пакетов вспомогательных приложений и библиотек.
        </p>
        <p>
          В дополнение к вышесказанному, существует набор приложений для
          управления системой. Все эти приложения есть в справочнике BLFS, но
          не все пакеты необходимы в каждом конкретном окружении. Например
          <a class="ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/dhcpcd.html">
          клиент dhcpcd</a>, обычно не требуется на серверах или <a class=
          "ulink" href=
          "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/wireless_tools.html">
          управление параметрами беспроводных сетей</a> - полезно только для
          ноутбуков и других портативных систем.
        </p>
      </div>
      <div class="sect2" lang="ru" xml:lang="ru">
        <h2 class="sect2">
          11.5.2. Работа в базовой среде LFS
        </h2>
        <p>
          Когда вы впервые загружаетесь в LFS, у вас есть все необходимые
          инструменты для сборки дополнительных пакетов. К сожалению, набор
          программ пользовательского окружения довольно скудный. Есть
          несколько способов исправить это:
        </p>
        <div class="sect3">
          <h3 class="sect3">
            11.5.2.1. Работа с хоста LFS в chroot
          </h3>
          <p>
            Этот метод обеспечивает полноценную графическую среду, в которой
            доступен полнофункциональный браузер и возможности
            копирования/вставки. Также он позволяет использовать приложения
            хоста, такие как wget, для загрузки исходных текстов пакетов в
            каталог, доступный при работе в среде chroot.
          </p>
          <p>
            Чтобы правильно собрать пакеты в chroot, вам необходимо не забыть
            смонтировать виртуальные файловые системы, если они еще не
            смонтированы. Один из способов сделать это — создать скрипт в
            <span class="bold"><strong>ХОСТОВОЙ</strong></span> системе:
          </p>
          <pre class="screen"><span class=
          "command"><strong>cat &gt; ~/mount-virt.sh &lt;&lt; "EOF"
#!/bin/bash

function mountbind
{
   if ! mountpoint $LFS/$1 &gt;/dev/null; then
     $SUDO mount --bind /$1 $LFS/$1
     echo $LFS/$1 mounted
   else
     echo $LFS/$1 already mounted
   fi
}

function mounttype
{
   if ! mountpoint $LFS/$1 &gt;/dev/null; then
     $SUDO mount -t $2 $3 $4 $5 $LFS/$1
     echo $LFS/$1 mounted
   else
     echo $LFS/$1 already mounted
   fi
}

if [ $EUID -ne 0 ]; then
  SUDO=sudo
else
  SUDO=""
fi

if [ x$LFS == x ]; then
  echo "LFS not set"
  exit 1
fi

mountbind dev
mounttype dev/pts devpts devpts -o gid=5,mode=620
mounttype proc    proc   proc
mounttype sys     sysfs  sysfs
mounttype run     tmpfs  run
if [ -h $LFS/dev/shm ]; then
  install -v -d -m 1777 $LFS$(realpath /dev/shm)
else
  mounttype dev/shm tmpfs tmpfs -o nosuid,nodev
fi 

#mountbind usr/src
#mountbind boot
#mountbind home
EOF</strong></span></pre>
          <p>
            Обратите внимание, что последние три команды в скрипте
            закомментированы. Они пригодятся, если эти каталоги монтируются
            как отдельные разделы в хост-системе и будут монтироваться при
            загрузке завершенной системы LFS/BLFS.
          </p>
          <p>
            Скрипт можно запустить с помощью <span class=
            "command"><strong>bash ~/mount-virt.sh</strong></span> либо от
            имени обычного пользователя (рекомендуется), либо от имени
            <code class="systemitem">root</code>. При запуске от имени
            обычного пользователя в хост-системе требуется sudo.
          </p>
          <p>
            Еще одна проблема, на которую указывает скрипт, заключается в
            том, где хранить загруженные файлы пакетов. Это местоположение
            является произвольным. Оно может находиться в домашнем каталоге
            обычного пользователя, таком как ~/sources, или в глобальном
            каталоге /usr/src. Наша рекомендация - не смешивать источники
            BLFS и источники LFS в (из среды chroot) /sources. В любом
            случае, пакеты должны быть доступны внутри среды chroot.
          </p>
          <p>
            Последняя удобная функция, представленная здесь, предназначена
            для упрощения процесса входа в среду chroot. Это можно сделать с
            помощью псевдонима, помещенного в пользовательский файл ~/.bashrc
            в хост-системе:
          </p>
          <pre class="screen"><span class=
          "command"><strong>alias lfs='sudo /usr/sbin/chroot /mnt/lfs /usr/bin/env -i HOME=/root TERM="$TERM" PS1="\u:\w\\\\$ "
PATH=/bin:/usr/bin:/sbin:/usr/sbin /bin/bash --login'</strong></span></pre>
          <p>
            Этот псевдоним немного сложен для восприятия из-за кавычек и
            слэшей. Всё это должно быть в одной строке. Вышеуказанная команда
            была разделена на две части для презентационных целей.
          </p>
        </div>
        <div class="sect3">
          <h3 class="sect3">
            11.5.2.2. Работа удаленно по ssh
          </h3>
          <p>
            Этот метод также предоставляет полноценную графическую среду, но
            сначала требует установки <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/openssh.html">
            sshd</a> в системе LFS, обычно в chroot. Кроме этого потребуется
            второй компьютер. Преимущество этого метода в том, что он прост,
            поскольку не требует сложной среды chroot. Он также использует
            собранное вами ядро LFS для всех дополнительных пакетов и
            по-прежнему предоставляет полную систему для установки пакетов.
          </p>
          <p>
            Вы можете использовать команду <span class=
            "command"><strong>scp</strong></span> для загрузки исходных
            текстов пакетов, которые будут собраны в системе LFS. Если вместо
            этого вы хотите загрузить исходные тексты непосредственно в
            систему LFS, установите <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/general/libtasn1.html">
            libtasn1</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/p11-kit.html">
            p11-kit</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/make-ca.html">
            make-ca</a> и <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/wget.html">
            wget</a> в chroot (или загрузите их исходники с помощью
            <span class="command"><strong>scp</strong></span> после загрузки
            системы LFS).
          </p>
        </div>
        <div class="sect3">
          <h3 class="sect3">
            11.5.2.3. Работа из командной строки LFS
          </h3>
          <p>
            Этот метод требует установки <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/general/libtasn1.html">
            libtasn1</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/p11-kit.html">
            p11-kit</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/postlfs/make-ca.html">
            make-ca</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/wget.html">
            wget</a>, <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/general/gpm.html">
            gpm</a> и <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/links.html">
            links</a> (или <a class="ulink" href=
            "https://mirror.linuxfromscratch.ru/blfs/view/12.2/basicnet/lynx.html">
            lynx</a>) в chroot, а затем перезагрузки в новую систему LFS. На
            данный момент система по умолчанию имеет шесть виртуальных
            консолей. Переключать консоли так же просто, как использовать
            комбинации клавиш <span class=
            "keycap"><strong>Alt</strong></span>+<span class=
            "keycap"><strong>Fx</strong></span> , где <span class=
            "keycap"><strong>Fx</strong></span> это клавиши от <span class=
            "keycap"><strong>F1</strong></span> до <span class=
            "keycap"><strong>F6</strong></span>. Комбинации <span class=
            "keycap"><strong>Alt</strong></span>+<span class=
            "keycap"><strong></strong></span> и <span class=
            "keycap"><strong>Alt</strong></span>+<span class=
            "keycap"><strong></strong></span> также переключают консоль.
          </p>
          <p>
            На этом этапе вы можете войти в две разные виртуальные консоли и
            запустить браузер links или lynx в одной консоли и bash в другой.
            GPM позволяет копировать команды из браузера с помощью левой
            кнопки мыши, переключать консоли и вставлять их в другую консоль.
          </p>
          <div class="admon note">
            <img alt="[Примечание]" src="../images/note.png" />
            <h3>
              Примечание
            </h3>
            <p>
              Вместо примечания: переключение виртуальных консолей также
              может быть выполнено из экземпляра X Window с помощью
              комбинации клавиш <span class=
              "keycap"><strong>Ctrl</strong></span>+<span class=
              "keycap"><strong>Alt</strong></span>+<span class=
              "keycap"><strong>Fx</strong></span> ,но операция копирования
              мышью не работает между графическим интерфейсом и виртуальной
              консолью. Вы можете вернуться к дисплею X Window с помощью
              комбинации <span class=
              "keycap"><strong>Ctrl</strong></span>+<span class=
              "keycap"><