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
|
<!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.13. Очистка и сохранение временной системы
</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>
Глава 7. Вход в окружение Chroot и создание дополнительных временных
инструментов
</h3>
<ul>
<li class="prev">
<a accesskey="p" href="util-linux.html" title=
"Util-linux-2.40.2">Пред.</a>
<p>
Util-linux-2.40.2
</p>
</li>
<li class="next">
<a accesskey="n" href="../part4.html" title=
"Сборка системы LFS">След.</a>
<p>
Сборка системы LFS
</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.2">Начало</a>
</li>
</ul>
</div>
<h1 class="sect1">
<a id="ch-tools-cleanup" name="ch-tools-cleanup"></a>7.13. Очистка и
сохранение временной системы
</h1>
<div class="sect1" lang="ru" xml:lang="ru">
<div class="sect2" lang="ru" xml:lang="ru">
<h2 class="sect2">
7.13.1. Очистка
</h2>
<p>
Во-первых, удалите установленную документацию, чтобы предотвратить
ее попадание в конечную систему и сэкономить около 35 МБ места:
</p>
<pre class="userinput"><kbd class=
"command">rm -rf /usr/share/{info,man,doc}/*</kbd></pre>
<p>
Во-вторых, в современных системах Linux файлы .la библиотеки
libtool полезны только для libltdl. Никакие библиотеки в LFS не
загружаются с помощью libltdl. Известно, что некоторые файлы .la
могут привести к сбою во время сборки пакетов BLFS. Удалите эти
файлы сейчас:
</p>
<pre class="userinput"><kbd class=
"command">find /usr/{lib,libexec} -name \*.la -delete</kbd></pre>
<p>
Сейчас размер системы составляет около 3 ГБ, однако каталог /tools
больше не понадобится. Удалите его, чтобы освободить около 1 ГБ
дискового пространства:
</p>
<pre class="userinput"><kbd class="command">rm -rf /tools</kbd></pre>
</div>
<div class="sect2" lang="ru" xml:lang="ru">
<h2 class="sect2">
7.13.2. Резервное копирование
</h2>
<p>
На данный момент основные программы и библиотеки собраны, и ваша
система LFS находится в хорошем состоянии. Можно создать резервную
копию вашей системы для последующего повторного использования. В
случае фатальных сбоев в следующих главах часто оказывается, что
удалить все и начать заново (более осторожно) — лучший вариант
восстановления. К сожалению, все временные файлы также будут
удалены. Чтобы не тратить лишнее время на повторную сборку того,
что было успешно собрано, полезно создать резервную копию текущей
системы LFS.
</p>
<div class="admon note">
<img alt="[Примечание]" src="../images/note.png" />
<h3>
Примечание
</h3>
<p>
Все остальные шаги в этом разделе являются необязательными. Тем
не менее, как только вы начнете устанавливать пакеты в <a class=
"xref" href="../chapter08/chapter08.html" title=
"Глава 8. Установка базового системного программного обеспечения">
Глава 8</a>, временные файлы будут перезаписаны. Поэтому
рекомендуется создание резервной копии текущей системы, как
описано ниже.
</p>
</div>
<p>
Следующие шаги выполняются вне среды chroot. Это означает, что
прежде чем продолжить вы должны покинуть среду chroot. Причиной
этого является то, что необходимо получить доступ к расположению
файловой системы за пределами среды chroot для хранения/чтения
архива резервных копий, который не должен размещаться в иерархии
<code class="filename">$LFS</code>.
</p>
<p>
Если вы решили сделать резервную копию, покиньте среду chroot:
</p>
<pre class="userinput"><kbd class="command">exit</kbd></pre>
<div class="admon important">
<img alt="[Важно]" src="../images/important.png" />
<h3>
Важно
</h3>
<p>
Все следующие инструкции выполняются пользователем <code class=
"systemitem">root</code> в вашей хост-системе. Будьте особенно
внимательны к командам, которые вы собираетесь запускать,
поскольку ошибки, допущенные здесь, могут изменить вашу
хост-систему. Имейте в виду, что переменная окружения
<code class="envar">LFS</code> по умолчанию установлена для
пользователя <code class="systemitem">lfs</code>, но может не
быть установлена для <code class="systemitem">root</code>.
</p>
<p>
Всякий раз, когда команды должны выполняться от <code class=
"systemitem">root</code>, убедитесь, что вы установили переменную
<code class="envar">LFS</code>.
</p>
<p>
Это обсуждалось в <a class="xref" href=
"../chapter02/aboutlfs.html" title=
"2.6. Установка переменной $LFS">Раздел 2.6, «Установка
переменной $LFS»</a>.
</p>
</div>
<p>
Перед созданием резервной копии размонтируйте виртуальные файловые
системы:
</p>
<pre class="userinput"><kbd class=
"command">mountpoint -q $LFS/dev/shm && umount $LFS/dev/shm
umount $LFS/dev/pts
umount $LFS/{sys,proc,run,dev}</kbd></pre>
<p>
Убедитесь, что у вас есть как минимум 1 ГБ свободного места на
диске (исходные tar-архивы будут включены в архив резервных копий)
в файловой системе, содержащей каталог, в котором вы создаете архив
резервных копий.
</p>
<p>
Обратите внимание, что в приведенных ниже инструкциях указан
домашний каталог пользователя <code class="systemitem">root</code>
хост-системы, который обычно находится в корневой файловой системе.
Замените <code class="envar">$HOME</code> каталогом на ваш выбор,
если вы не хотите, чтобы резервная копия хранилась в домашнем
каталоге пользователя <code class="systemitem">root</code>.
</p>
<p>
Создайте архив резервной копии, выполнив следующую команду:
</p>
<div class="admon note">
<img alt="[Примечание]" src="../images/note.png" />
<h3>
Примечание
</h3>
<p>
Поскольку архив резервной копии сжимается, процесс занимает
довольно много времени (более 10 минут) даже на достаточно
быстрой системе.
</p>
</div>
<pre class="userinput"><kbd class="command">cd $LFS
tar -cJpf $HOME/lfs-temp-tools-12.2.tar.xz .</kbd></pre>
<div class="admon note">
<img alt="[Примечание]" src="../images/note.png" />
<h3>
Примечание
</h3>
<p>
Если вы переходите к главе 8, не забудьте повторно войти в среду
chroot, как описано в разделе <span class="quote">«<span class=
"quote">Важно</span>»</span> ниже.
</p>
</div>
</div>
<div class="sect2" lang="ru" xml:lang="ru">
<h2 class="sect2">
7.13.3. Восстановление
</h2>
<p>
В случае, если были допущены какие-либо ошибки и вам нужно начать
все сначала, вы можете использовать эту резервную копию для
восстановления системы и сэкономить время на восстановление.
Поскольку исходники находятся в папке <code class=
"filename">$LFS</code>, они также включены в архив резервной копии,
поэтому их не нужно загружать повторно. Убедившись, что переменная
<code class="envar">$LFS</code> настроена правильно, вы можете
восстановить резервную копию, выполнив следующие команды:
</p>
<div class="admon warning">
<img alt="[Предупреждение]" src="../images/warning.png" />
<h3>
Предупреждение
</h3>
<p>
Следующие команды чрезвычайно опасны. Если вы запустите команду
<span class="command"><strong>rm -rf ./*</strong></span> от имени
пользователя <code class="systemitem">root</code> и не перейдете
в каталог $LFS или переменная окружения <code class=
"envar">LFS</code> не будет установлена для пользователя
<code class="systemitem">root</code>, это уничтожит всю вашу
хост-систему. ВЫ ПРЕДУПРЕЖДЕНЫ.
</p>
</div>
<pre class="screen"><code class="computeroutput">cd $LFS
rm -rf ./*
tar -xpf $HOME/lfs-temp-tools-12.2.tar.xz</code></pre>
<p>
Еще раз проверьте, правильно ли настроено окружение, и продолжайте
сборку остальной части системы.
</p>
<div class="admon important">
<img alt="[Важно]" src="../images/important.png" />
<h3>
Важно
</h3>
<p>
Если вы покинули среду chroot, чтобы создать резервную копию или
перезапустить сборку с помощью восстановления, не забудьте
проверить, что виртуальные файловые системы все еще смонтированы
(<span class="command"><strong>findmnt | grep
$LFS</strong></span>). Если они не смонтированы, перемонтируйте
их сейчас, как описано в <a class="xref" href="kernfs.html"
title="7.3. Подготовка виртуальных файловых систем ядра">Раздел 7.3,
«Подготовка виртуальных файловых систем ядра»</a>, и повторно
войдите в среду chroot (см. <a class="xref" href="chroot.html"
title="7.4. Вход в окружение Chroot">Раздел 7.4, «Вход в
окружение Chroot»</a>), прежде чем продолжить.
</p>
</div>
</div>
</div>
<div class="navfooter">
<ul>
<li class="prev">
<a accesskey="p" href="util-linux.html" title=
"Util-linux-2.40.2">Пред.</a>
<p>
Util-linux-2.40.2
</p>
</li>
<li class="next">
<a accesskey="n" href="../part4.html" title=
"Сборка системы LFS">След.</a>
<p>
Сборка системы LFS
</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.2">Начало</a>
</li>
</ul>
</div>
</body>
</html>
|