Инструменты пользователя

Инструменты сайта

  • Показать страницу
  • История страницы
  • Ссылки сюда
  • Оставить на чай
  • Экспорт в PDF
  • Наверх

  • software:linux_server:lfs-example:chapter07

    Различия

    Показаны различия между двумя версиями страницы.

    Ссылка на это сравнение

    Следующая версия
    Предыдущая версия
    software:linux_server:lfs-example:chapter07 [2024/07/02 12:38] – создано - внешнее изменение 127.0.0.1software:linux_server:lfs-example:chapter07 [2024/07/15 17:53] (текущий) – [7.13.3. Восстановление] vladpolskiy
    Строка 31: Строка 31:
     Команды, приведенные в оставшейся части книги, должны выполняться от имени пользователя root, а не lfs. Дважды проверьте, что переменная $LFS установлена в переменных окружения пользователя root. Команды, приведенные в оставшейся части книги, должны выполняться от имени пользователя root, а не lfs. Дважды проверьте, что переменная $LFS установлена в переменных окружения пользователя root.
     </WRAP> </WRAP>
     +Перейдем к пользователю под именем root 
     +<code> 
     +exit 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_204.png?|}} 
     +Проверим переменную $LFS 
     +<code> 
     +echo $LFS 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_205.png?|}}
     В настоящее время вся иерархия каталогов в $LFS принадлежит пользователю **lfs**, существующему только на хост-системе. Если права на файлы и каталоги внутри $LFS оставить как есть, то они будут принадлежать ID пользователя без существующей учетной записи. Это опасно, так как созданная позже учетная запись, может получить такой же ID пользователя и стать владельцем всех файлов в $LFS, тем самым делая эти файлы уязвимыми для возможных злонамеренных манипуляций. В настоящее время вся иерархия каталогов в $LFS принадлежит пользователю **lfs**, существующему только на хост-системе. Если права на файлы и каталоги внутри $LFS оставить как есть, то они будут принадлежать ID пользователя без существующей учетной записи. Это опасно, так как созданная позже учетная запись, может получить такой же ID пользователя и стать владельцем всех файлов в $LFS, тем самым делая эти файлы уязвимыми для возможных злонамеренных манипуляций.
      
    Строка 42: Строка 51:
     esac esac
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_206.png?|}}
     =====7.3. Подготовка виртуальных файловых систем ядра===== =====7.3. Подготовка виртуальных файловых систем ядра=====
      
    Строка 51: Строка 61:
     mkdir -pv $LFS/{dev,proc,sys,run} mkdir -pv $LFS/{dev,proc,sys,run}
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_207.png?|}}
     ====7.3.1. Монтирование и заполнение /dev==== ====7.3.1. Монтирование и заполнение /dev====
      
    Строка 61: Строка 71:
     mount -v --bind /dev $LFS/dev mount -v --bind /dev $LFS/dev
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_208.png?|}}
     ====7.3.2. Монтирование виртуальных файловых систем ядра==== ====7.3.2. Монтирование виртуальных файловых систем ядра====
      
    Строка 72: Строка 82:
     mount -vt tmpfs tmpfs $LFS/run mount -vt tmpfs tmpfs $LFS/run
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_209.png?|}}
     Значение параметров монтирования для devpts: Значение параметров монтирования для devpts:
      
    Строка 92: Строка 102:
     fi fi
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_210.png?|}}
      
     =====7.4. Вход в окружение Chroot===== =====7.4. Вход в окружение Chroot=====
    Строка 108: Строка 118:
         /bin/bash --login     /bin/bash --login
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_211.png?|}}
     Если вы не хотите использовать все доступные логические ядра, замените параметр $(nproc) количеством логических ядер, которые вы хотите использовать для сборки пакетов в этой и последующих главах. На наборы тестов некоторых пакетов (в частности Autoconf, Libtool и Tar) в [[software:linux_server:lfs:chapter08|Главе 8]] не влияет установка переменной MAKEFLAGS, вместо этого они используют переменную среды TESTSUITEFLAGS. Мы также установили её здесь для запуска тестов с поддержкой нескольких ядер. Если вы не хотите использовать все доступные логические ядра, замените параметр $(nproc) количеством логических ядер, которые вы хотите использовать для сборки пакетов в этой и последующих главах. На наборы тестов некоторых пакетов (в частности Autoconf, Libtool и Tar) в [[software:linux_server:lfs:chapter08|Главе 8]] не влияет установка переменной MAKEFLAGS, вместо этого они используют переменную среды TESTSUITEFLAGS. Мы также установили её здесь для запуска тестов с поддержкой нескольких ядер.
      
    Строка 137: Строка 147:
     mkdir -pv /{boot,home,mnt,opt,srv} mkdir -pv /{boot,home,mnt,opt,srv}
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_212.png?|}}
     Создайте необходимые подкаталоги, выполнив следующие команды: Создайте необходимые подкаталоги, выполнив следующие команды:
      
    Строка 158: Строка 168:
     install -dv -m 1777 /tmp /var/tmp install -dv -m 1777 /tmp /var/tmp
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_213.png?|}} 
     +Вывод результата выполнения команд 
     +{{:software:linux_server:lfs-example:lfs_example_214.png?|}}
     По умолчанию каталоги создаются с правами 755, но это нежелательно делать для всех каталогов. В приведенных выше командах вносятся два изменения — одно в домашний каталог пользователя root, а другое в каталоги для временных файлов. По умолчанию каталоги создаются с правами 755, но это нежелательно делать для всех каталогов. В приведенных выше командах вносятся два изменения — одно в домашний каталог пользователя root, а другое в каталоги для временных файлов.
      
    Строка 179: Строка 191:
     ln -sv /proc/self/mounts /etc/mtab ln -sv /proc/self/mounts /etc/mtab
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_215.png?|}}
     Создайте файл **/etc/hosts**, на который будут ссылаться некоторые наборы тестов, а также один из файлов конфигурации Perl: Создайте файл **/etc/hosts**, на который будут ссылаться некоторые наборы тестов, а также один из файлов конфигурации Perl:
      
    Строка 188: Строка 200:
     EOF EOF
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_216.png?|}}
     Чтобы пользователь **root** мог войти в систему и распознавался системой, в файлах **/etc/passwd** и **/etc/group** должны быть соответствующие записи. Чтобы пользователь **root** мог войти в систему и распознавался системой, в файлах **/etc/passwd** и **/etc/group** должны быть соответствующие записи.
      
    Строка 211: Строка 223:
     EOF EOF
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_217.png?|}}
     Пароль пользователя **root** будет задан позднее. Пароль пользователя **root** будет задан позднее.
      
    Строка 253: Строка 265:
     EOF EOF
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_218.png?|}}
     Созданные группы не являются частью какого-либо стандарта — это группы, определяемые частично требованиями конфигурации Udev в [[software:linux_server:lfs:chapter09|Главе 9]], а частично общими соглашениями, используемыми в ряде существующих дистрибутивов Linux. Кроме того, некоторые наборы тестов зависят от конкретных пользователей или групп. Спецификация LSB (доступна по адресу https://refspecs.linuxfoundation.org/lsb.shtml) рекомендует, чтобы, помимо группы **root** с идентификатор (GID) 0 присутствовала группа bin с GID 1. GID 5 широко используется для группы tty, число 5 также используется в systemd для файловой системы **devpts**. Все остальные имена групп и GID могут свободно выбираться системным администратором, так как хорошо написанные программы не зависят от номеров GID, а чаще используют название группы. Созданные группы не являются частью какого-либо стандарта — это группы, определяемые частично требованиями конфигурации Udev в [[software:linux_server:lfs:chapter09|Главе 9]], а частично общими соглашениями, используемыми в ряде существующих дистрибутивов Linux. Кроме того, некоторые наборы тестов зависят от конкретных пользователей или групп. Спецификация LSB (доступна по адресу https://refspecs.linuxfoundation.org/lsb.shtml) рекомендует, чтобы, помимо группы **root** с идентификатор (GID) 0 присутствовала группа bin с GID 1. GID 5 широко используется для группы tty, число 5 также используется в systemd для файловой системы **devpts**. Все остальные имена групп и GID могут свободно выбираться системным администратором, так как хорошо написанные программы не зависят от номеров GID, а чаще используют название группы.
      
    Строка 265: Строка 277:
     install -o tester -d /home/tester install -o tester -d /home/tester
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_219.png?|}}
     Чтобы удалить приглашение «I have no name!», запустите новую оболочку. Поскольку файлы **/etc/passwd** и **/etc/group** были созданы, разрешение имен пользователей и групп теперь будет работать: Чтобы удалить приглашение «I have no name!», запустите новую оболочку. Поскольку файлы **/etc/passwd** и **/etc/group** были созданы, разрешение имен пользователей и групп теперь будет работать:
      
    Строка 271: Строка 283:
     exec /usr/bin/bash --login exec /usr/bin/bash --login
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_220.png?|}}
     Программы **login, agetty, init (и другие)** используют ряд журналов для записи такой информации, как кто и когда входил в систему. Однако эти программы не будут записывать данные в журналы, если они еще не существуют. Инициализируйте журналы и предоставьте им соответствующие разрешения: Программы **login, agetty, init (и другие)** используют ряд журналов для записи такой информации, как кто и когда входил в систему. Однако эти программы не будут записывать данные в журналы, если они еще не существуют. Инициализируйте журналы и предоставьте им соответствующие разрешения:
      
    Строка 280: Строка 292:
     chmod -v 600  /var/log/btmp chmod -v 600  /var/log/btmp
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_221.png?|}}
     В файл **/var/log/wtmp** записываются все входы и выходы из системы. В файл **/var/log/lastlog** записывается время последнего входа каждого пользователя в систему. В файл **/var/log/faillog** записываются неудачные попытки входа в систему. В файл **/var/log/btmp** также записываются неудачные попытки входа в систему. В файл **/var/log/wtmp** записываются все входы и выходы из системы. В файл **/var/log/lastlog** записывается время последнего входа каждого пользователя в систему. В файл **/var/log/faillog** записываются неудачные попытки входа в систему. В файл **/var/log/btmp** также записываются неудачные попытки входа в систему.
      
    Строка 292: Строка 304:
     |Приблизительное время сборки:|1.1 SBU| |Приблизительное время сборки:|1.1 SBU|
     |Требуемое дисковое пространство:|306 MB| |Требуемое дисковое пространство:|306 MB|
     +Переходим в папку /sources 
     +<code> 
     +cd /sources/ 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_222.png?|}} 
     +Распаковываем архив и переходим в каталог с его содержимым 
     +<code> 
     +tar -xvf gettext-0.22.4.tar.xz 
     +cd gettext-0.22.4 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_223.png?|}}
     ====7.7.1. Установка пакета Gettext==== ====7.7.1. Установка пакета Gettext====
      
    Строка 302: Строка 324:
     ./configure --disable-shared ./configure --disable-shared
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_224.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
    Строка 311: Строка 333:
      
     <code> <code>
    -make+time make
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_225.png?|}}
     Установите программы msgfmt, msgmerge, и xgettext programs: Установите программы msgfmt, msgmerge, и xgettext programs:
      
    Строка 319: Строка 341:
     cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin cp -v gettext-tools/src/{msgfmt,msgmerge,xgettext} /usr/bin
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_226.png?|}} 
     +Перейдем в каталог sources и удалим более не нужный разорхивированный каталог  
     +<code> 
     +cd .. 
     +rm -Rf cd gettext-0.22.4 
     +</code> 
     +{{:software:linux_server:lfs-example:lfs_example_227.png?|}}
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.32.2. Содержимое пакета Gettext|Разделе 8.32.2. «Содержимое пакета Gettext.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.32.2. Содержимое пакета Gettext|Разделе 8.32.2. «Содержимое пакета Gettext.»]]
      
    Строка 333: Строка 361:
      
     <code> <code>
     +#!/bin/bash
     +SRC_FILE=bison-3.8.2.tar.xz
     +SRC_FOLDER=bison-3.8.2
     +
     +tar -xvf $SRC_FILE
     +cd $SRC_FOLDER
     +
     +time {
     ./configure --prefix=/usr \ ./configure --prefix=/usr \
    -            --docdir=/usr/share/doc/bison-3.8.2 +            --docdir=/usr/share/doc/bison-3.8.2 && 
    -</code>+time make && 
     +make install; } && 
     +ln -sv gcc $LFS/usr/bin/cc &&
      
     +cd .. &&
     +rm -rf $SRC_FOLDER &&
     +
     +echo Del $SRC_FOLDER
     +echo Ok $SRC_FILE
     +</code>
     +{{:software:linux_server:lfs-example:lfs_example_229.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
    Строка 342: Строка 387:
     Этот параметр указывает системе сборки установить документацию к bison в каталог с версией пакета. Этот параметр указывает системе сборки установить документацию к bison в каталог с версией пакета.
      
    -Скомпилируйте пакет: +{{:software:linux_server:lfs-example:lfs_example_230.png?|}}
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make install +
    -</code>+
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.33.2. Содержимое пакета Bison|Разделе 8.33.2. «Содержимое пакета Bison.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.33.2. Содержимое пакета Bison|Разделе 8.33.2. «Содержимое пакета Bison.»]]
    Строка 363: Строка 398:
     ====7.9.1. Установка пакета Perl==== ====7.9.1. Установка пакета Perl====
      
    -Подготовьте Perl к компиляции:+<code> 
     +#!/bin/bash 
     +SRC_FILE=perl-5.38.2.tar.xz 
     +SRC_FOLDER=perl-5.38.2
      
    -<code>+tar -xvf $SRC_FILE 
     +cd $SRC_FOLDER 
     + 
     +time {
     sh Configure -des                                        \ sh Configure -des                                        \
                  -Dprefix=/usr                               \              -Dprefix=/usr                               \
    Строка 375: Строка 416:
                  -Dsitearch=/usr/lib/perl5/5.38/site_perl    \              -Dsitearch=/usr/lib/perl5/5.38/site_perl    \
                  -Dvendorlib=/usr/lib/perl5/5.38/vendor_perl \              -Dvendorlib=/usr/lib/perl5/5.38/vendor_perl \
    -             -Dvendorarch=/usr/lib/perl5/5.38/vendor_perl +             -Dvendorarch=/usr/lib/perl5/5.38/vendor_perl && 
    -</code>+make && 
     +make install; } &&
      
     +cd .. &&
     +rm -rf $SRC_FOLDER &&
     +
     +echo Delete $SRC_FOLDER
     +echo Ok $SRC_FILE
     +</code>
     +{{:software:linux_server:lfs-example:lfs_example_231.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
    Строка 394: Строка 443:
     Эти настройки определяют, где Perl ищет установленные модули. Редакторы LFS решили поместить их в структуру каталогов, основанную на MAJOR.MINOR версии Perl (5.38), что позволяет обновлять Perl до более новых уровней исправлений (уровень исправления - это последняя разделенная точками часть в строке полной версии, например 5.38.2) без необходимости переустанавливать все модули. Эти настройки определяют, где Perl ищет установленные модули. Редакторы LFS решили поместить их в структуру каталогов, основанную на MAJOR.MINOR версии Perl (5.38), что позволяет обновлять Perl до более новых уровней исправлений (уровень исправления - это последняя разделенная точками часть в строке полной версии, например 5.38.2) без необходимости переустанавливать все модули.
      
    -Скомпилируйте пакет: 
      
    -<code> 
    -make 
    -</code> 
    - 
    -Установите пакет: 
    - 
    -<code> 
    -make install 
    -</code> 
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.42.2. Содержимое пакета Perl|Разделе 8.42.2. «Содержимое пакета Perl.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.42.2. Содержимое пакета Perl|Разделе 8.42.2. «Содержимое пакета Perl.»]]
    Строка 420: Строка 459:
     Существует два пакета, имена которых начинаются с префикса «python». Сейчас необходимо распаковать файл Python-3.12.2.tar.xz (обратите внимание на заглавную первую букву). Существует два пакета, имена которых начинаются с префикса «python». Сейчас необходимо распаковать файл Python-3.12.2.tar.xz (обратите внимание на заглавную первую букву).
     </WRAP> </WRAP>
     +Воспользуемся скриптом
     +<code>
     +#!/bin/bash
     +SRC_FILE=Python-3.12.2.tar.xz
     +SRC_FOLDER=Python-3.12.2
      
    -Подготовка Python к компиляции:+tar -xvf $SRC_FILE 
     +cd $SRC_FOLDER
      
    -<code>+time {
     ./configure --prefix=/usr   \ ./configure --prefix=/usr   \
                 --enable-shared \             --enable-shared \
    -            --without-ensurepip +            --without-ensurepip && 
    -</code>+make && 
     +make install; } &&
      
     +cd .. &&
     +rm -rf $SRC_FOLDER &&
     +
     +echo Delete $SRC_FOLDER
     +echo Ok $SRC_FILE
     +</code>
     +{{:software:linux_server:lfs-example:lfs_example_233.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
    Строка 436: Строка 489:
       * **--without-ensurepip**   * **--without-ensurepip**
     Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен. Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен.
    - 
    -Скомпилируйте пакет: 
    - 
    -<code> 
    -make 
    -</code> 
      
     <WRAP left round info 100%> <WRAP left round info 100%>
    Строка 447: Строка 494:
     Некоторые модули Python 3 не могут быть собраны сейчас, потому что зависимости еще не установлены. Для модуля **ssl** выводится сообщение **Python требует OpenSSL 1.1.1 или новее**. Сообщение следует проигнорировать. Просто убедитесь, что команда make верхнего уровня не завершилась ошибкой. Дополнительные модули сейчас не нужны, и они будут собраны в [[software:linux_server:lfs:chapter08|Главе 8]]. Некоторые модули Python 3 не могут быть собраны сейчас, потому что зависимости еще не установлены. Для модуля **ssl** выводится сообщение **Python требует OpenSSL 1.1.1 или новее**. Сообщение следует проигнорировать. Просто убедитесь, что команда make верхнего уровня не завершилась ошибкой. Дополнительные модули сейчас не нужны, и они будут собраны в [[software:linux_server:lfs:chapter08|Главе 8]].
     </WRAP> </WRAP>
    - +{{:software:linux_server:lfs-example:lfs_example_234.png?|}}
    -Установите пакет: +
    - +
    -<code> +
    -make install +
    -</code> +
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.51.2. Содержимое пакета Python 3|Разделе 8.51.2. «Содержимое пакета Python 3.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.51.2. Содержимое пакета Python 3|Разделе 8.51.2. «Содержимое пакета Python 3.»]]
      
    Строка 463: Строка 504:
      
     ====7.11.1. Установка пакета Texinfo==== ====7.11.1. Установка пакета Texinfo====
    - 
    -Подготовьте Texinfo к компиляции: 
    - 
     <code> <code>
    -./configure --prefix=/usr +#!/bin/bash 
    -</code>+SRC_FILE=texinfo-7.1.tar.xz 
     +SRC_FOLDER=texinfo-7.1
      
    -Скомпилируйте пакет:+tar -xvf $SRC_FILE 
     +cd $SRC_FOLDER
      
    -<code> +time { 
    -make +./configure --prefix=/usr && 
    -</code>+make && 
     +make install; } &&
      
    -Установите пакет:+cd .. && 
     +rm -rf $SRC_FOLDER &&
      
    -<code> +echo Delete $SRC_FOLDER 
    -make install+echo Ok $SRC_FILE
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_235.png?|}}
     +Вывод окончания работы скрипта
     +{{:software:linux_server:lfs-example:lfs_example_236.png?|}}
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.71.2. Содержимое пакета Texinfo|Разделе 8.71.2. «Содержимое пакета Texinfo.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.71.2. Содержимое пакета Texinfo|Разделе 8.71.2. «Содержимое пакета Texinfo.»]]
    Строка 501: Строка 546:
      
     <code> <code>
     +#!/bin/bash
     +SRC_FILE=util-linux-2.39.3.tar.xz
     +SRC_FOLDER=util-linux-2.39.3
     +tar -xvf $SRC_FILE
     +cd $SRC_FOLDER
     +mkdir -pv /var/lib/hwclock
     +time {
     ./configure --libdir=/usr/lib    \ ./configure --libdir=/usr/lib    \
                 --runstatedir=/run   \             --runstatedir=/run   \
    Строка 513: Строка 565:
                 --without-python     \             --without-python     \
                 ADJTIME_PATH=/var/lib/hwclock/adjtime \             ADJTIME_PATH=/var/lib/hwclock/adjtime \
    -            --docdir=/usr/share/doc/util-linux-2.39.3+            --docdir=/usr/share/doc/util-linux-2.39.3 && 
     +make && 
     +make install; } && 
     +cd .. && 
     +rm -rf $SRC_FOLDER && 
     +echo Delete $SRC_FOLDER 
     +echo Ok $SRC_FILE
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_238.png?|}}
     ===Значение параметров настройки:=== ===Значение параметров настройки:===
      
    Строка 533: Строка 591:
     Этот параметр устанавливает расположение сокета, используемого uuidd и libuuid. Этот параметр устанавливает расположение сокета, используемого uuidd и libuuid.
      
    -Скомпилируйте пакет: +{{:software:linux_server:lfs-example:lfs_example_239.png?|}}
    - +
    -<code> +
    -make +
    -</code> +
    - +
    -Установите пакет: +
    - +
    -<code> +
    -make install +
    -</code>+
      
     Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.79.2. Содержимое пакета Util-linux|Разделе 8.79.2. «Содержимое пакета Util-linux.»]] Подробная информация об этом пакете находится в [[software:linux_server:lfs:chapter08#8.79.2. Содержимое пакета Util-linux|Разделе 8.79.2. «Содержимое пакета Util-linux.»]]
    Строка 554: Строка 602:
     rm -rf /usr/share/{info,man,doc}/* rm -rf /usr/share/{info,man,doc}/*
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_240.png?|}}
     Во-вторых, в современных системах Linux файлы .la библиотеки libtool полезны только для libltdl. Никакие библиотеки в LFS не загружаются с помощью libltdl. Известно, что некоторые файлы .la могут привести к сбою во время сборки пакетов BLFS. Удалите эти файлы сейчас: Во-вторых, в современных системах Linux файлы .la библиотеки libtool полезны только для libltdl. Никакие библиотеки в LFS не загружаются с помощью libltdl. Известно, что некоторые файлы .la могут привести к сбою во время сборки пакетов BLFS. Удалите эти файлы сейчас:
      
    Строка 560: Строка 608:
     find /usr/{lib,libexec} -name \*.la -delete find /usr/{lib,libexec} -name \*.la -delete
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_241.png?|}}
     Сейчас размер системы составляет около 3 ГБ, однако каталог /tools больше не понадобится. Удалите его, чтобы освободить около 1 ГБ дискового пространства: Сейчас размер системы составляет около 3 ГБ, однако каталог /tools больше не понадобится. Удалите его, чтобы освободить около 1 ГБ дискового пространства:
      
    Строка 566: Строка 614:
     rm -rf /tools rm -rf /tools
     </code> </code>
     +{{:software:linux_server:lfs-example:lfs_example_242.png?|}}
     ====7.13.2. Резервное копирование==== ====7.13.2. Резервное копирование====
      
    Строка 643: Строка 691:
     Если вы покинули среду chroot, чтобы создать резервную копию или перезапустить сборку с помощью восстановления, не забудьте проверить, что виртуальные файловые системы все еще смонтированы (**findmnt | grep $LFS**). Если они не смонтированы, перемонтируйте их сейчас, как описано в  [[software:linux_server:lfs:chapter07#7.3. Подготовка виртуальных файловых систем ядра|Разделе 7.3. «Подготовка виртуальных файловых систем ядра»]], и повторно войдите в среду chroot (см. [[software:linux_server:lfs:chapter07#7.4. Вход в окружение Chroot|Раздел 7.4. «Вход в окружение Chroot»]]), прежде чем продолжить. Если вы покинули среду chroot, чтобы создать резервную копию или перезапустить сборку с помощью восстановления, не забудьте проверить, что виртуальные файловые системы все еще смонтированы (**findmnt | grep $LFS**). Если они не смонтированы, перемонтируйте их сейчас, как описано в  [[software:linux_server:lfs:chapter07#7.3. Подготовка виртуальных файловых систем ядра|Разделе 7.3. «Подготовка виртуальных файловых систем ядра»]], и повторно войдите в среду chroot (см. [[software:linux_server:lfs:chapter07#7.4. Вход в окружение Chroot|Раздел 7.4. «Вход в окружение Chroot»]]), прежде чем продолжить.
     </WRAP> </WRAP>
     +  * [[software:linux_server:lfs-example:chapter08|]]
    software/linux_server/lfs-example/chapter07.1719913126.txt.gz · Последнее изменение: 2024/07/02 12:38 — 127.0.0.1