lfs-ru/chapter07/cleanup.xml

177 lines
10 KiB
XML
Raw Normal View History

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE sect1 PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd" [
<!ENTITY % general-entities SYSTEM "../general.ent">
%general-entities;
]>
<sect1 id="ch-tools-cleanup">
<?dbhtml filename="cleanup.html"?>
<title>Очистка и сохранение временной системы</title>
<sect2>
<title>Очистка</title>
<para>Во-первых, удалите установленную документацию, чтобы предотвратить ее
попадание в конечную систему и сэкономить около 35 МБ места:</para>
<screen><userinput>rm -rf /usr/share/{info,man,doc}/*</userinput></screen>
2023-06-30 01:00:18 +03:00
<para>Во-вторых, в современных системах Linux файлы .la библиотеки libtool полезны
только для libltdl. Никакие библиотеки в LFS не загружаются с помощью libltdl.
Известно, что некоторые файлы .la могут привести к сбою во время сборки
пакетов BLFS. Удалите эти файлы сейчас:</para>
<screen><userinput>find /usr/{lib,libexec} -name \*.la -delete</userinput><userinput arch="ml_32">
find /usr/lib32 -name \*.la -delete</userinput><userinput arch="ml_x32">
find /usr/libx32 -name \*.la -delete</userinput><userinput arch="ml_all">
find /usr/lib{,x}32 -name \*.la -delete</userinput></screen>
<para>
Сейчас размер системы составляет около 3 ГБ, однако каталог /tools больше
не понадобится. Удалите его, чтобы освободить около 1 ГБ дискового пространства:
</para>
<screen><userinput>rm -rf /tools</userinput></screen>
</sect2>
<sect2>
<title>Резервное копирование</title>
<para>
На данный момент основные программы и библиотеки собраны, и ваша система LFS
находится в хорошем состоянии. Можно создать резервную копию вашей системы для
последующего повторного использования. В случае фатальных сбоев в следующих
главах часто оказывается, что удалить все и начать заново (более осторожно) —
лучший вариант восстановления. К сожалению, все временные файлы также будут удалены.
2023-06-30 01:00:18 +03:00
Чтобы не тратить лишнее время на повторную сборку того, что было успешно собрано,
полезно создать резервную копию текущей системы LFS.
</para>
<note><para>
Все остальные шаги в этом разделе являются необязательными. Тем не менее, как
только вы начнете устанавливать пакеты в <xref
linkend="chapter-building-system"/>, временные файлы будут перезаписаны. Поэтому
рекомендуется создание резервной копии текущей системы, как описано ниже.
</para></note>
<para>
Следующие шаги выполняются вне среды chroot. Это означает, что прежде чем
продолжить вы должны покинуть среду chroot. Причиной этого является то,
что необходимо получить доступ к расположению файловой системы за пределами
2023-06-30 01:00:18 +03:00
среды chroot для хранения/чтения архива резервных копий, который не должен
размещаться в иерархии <filename class="directory">$LFS</filename>.
</para>
<para>
Если вы решили сделать резервную копию, покиньте среду chroot:
</para>
<screen role="nodump"><userinput>exit</userinput></screen>
<important>
<para>
Все следующие инструкции выполняются пользователем
<systemitem class="username">root</systemitem> в вашей хост-системе.
2023-06-30 01:00:18 +03:00
Будьте особенно внимательны к командам, которые вы собираетесь запускать,
поскольку ошибки, допущенные здесь, могут изменить вашу хост-систему. Имейте
в виду, что переменная окружения <envar>LFS</envar> по умолчанию установлена
для пользователя <systemitem class="username">lfs</systemitem>, но
может не быть установлена для <systemitem class="username">root</systemitem>.
</para>
<para>
Всякий раз, когда команды должны выполняться от
<systemitem class="username">root</systemitem>, убедитесь, что вы
установили переменную <envar>LFS</envar>.
</para>
<para>
Это обсуждалось в <xref linkend='ch-partitioning-aboutlfs'/>.
</para>
</important>
<para>Перед созданием резервной копии размонтируйте виртуальные файловые системы:</para>
2023-06-30 01:00:18 +03:00
<screen role="nodump"><userinput>mountpoint -q $LFS/dev/shm &amp;&amp; umount $LFS/dev/shm
umount $LFS/dev/pts
umount $LFS/{sys,proc,run,dev}</userinput></screen>
<para>
Убедитесь, что у вас есть как минимум 1 ГБ свободного места на диске
(исходные tar-архивы будут включены в архив резервных копий) в файловой
системе, содержащей каталог, в котором вы создаете архив резервных копий.
</para>
<para>
Обратите внимание, что в приведенных ниже инструкциях указан домашний каталог
пользователя <systemitem class="username">root</systemitem> хост-системы,
2023-06-30 01:00:18 +03:00
который обычно находится в корневой файловой системе. Замените <envar>$HOME</envar>
каталогом на ваш выбор, если вы не хотите, чтобы резервная копия хранилась
в домашнем каталоге пользователя <systemitem class="username">root</systemitem>.
</para>
<para>
Создайте архив резервной копии, выполнив следующую команду:
</para>
<note>
<para>
Поскольку архив резервной копии сжимается, процесс занимает довольно
много времени (более 10 минут) даже на достаточно быстрой системе.
</para>
</note>
<screen role="nodump"><userinput>cd $LFS
tar -cJpf $HOME/lfs-temp-tools-&version;.tar.xz .</userinput></screen>
<note>
<para>
Если вы переходите к главе 8, не забудьте повторно войти в среду chroot,
как описано в разделе <quote>Важно</quote> ниже.
</para>
</note>
</sect2>
<sect2>
<title>Восстановление</title>
<para>
В случае, если были допущены какие-либо ошибки и вам нужно начать все сначала,
вы можете использовать эту резервную копию для восстановления системы и сэкономить
время на восстановление. Поскольку исходники находятся в папке
<filename class="directory">$LFS</filename>, они также включены в архив резервной
копии, поэтому их не нужно загружать повторно. Убедившись, что переменная <envar>$LFS</envar>
2023-06-30 01:00:18 +03:00
настроена правильно, вы можете восстановить резервную копию, выполнив следующие команды:
</para>
<!-- Make the following look different so users don't blindly run the
restore when they don't need to. -->
<warning><para>Следующие команды чрезвычайно опасны. Если вы запустите команду
<command>rm -rf ./*</command> от имени пользователя &root; и не перейдете в каталог
2023-06-22 21:45:00 +03:00
$LFS или переменная окружения <envar>LFS</envar> не будет установлена для
пользователя &root;, это уничтожит всю вашу хост-систему. ВЫ ПРЕДУПРЕЖДЕНЫ.</para></warning>
<screen role="nodump"><computeroutput>cd $LFS
rm -rf ./*
tar -xpf $HOME/lfs-temp-tools-&version;.tar.xz</computeroutput></screen>
<para>
2023-06-30 01:00:18 +03:00
Еще раз проверьте, правильно ли настроено окружение, и продолжайте сборку остальной части системы.
</para>
<important>
<para>
Если вы покинули среду chroot, чтобы создать резервную копию или перезапустить
сборку с помощью восстановления, не забудьте проверить, что виртуальные файловые
системы все еще смонтированы (<command>findmnt | grep
$LFS</command>). Если они не смонтированы, перемонтируйте их сейчас, как описано
в <xref linkend='ch-tools-kernfs'/>, и повторно войдите в среду chroot (см.
<xref linkend='ch-tools-chroot'/>), прежде чем продолжить.
</para>
</important>
</sect2>
</sect1>