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

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


software:linux_server:lfs-example:chapter07

Различия

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

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

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
software:linux_server:lfs-example:chapter07 [2024/07/15 14:58] – [7.6. Создание основных файлов и символических ссылок] vladpolskiysoftware:linux_server:lfs-example:chapter07 [2024/07/15 17:53] (текущий) – [7.13.3. Восстановление] vladpolskiy
Строка 304: Строка 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====
  
Строка 314: Строка 324:
 ./configure --disable-shared ./configure --disable-shared
 </code> </code>
 +{{:software:linux_server:lfs-example:lfs_example_224.png?|}}
 ===Значение параметров настройки:=== ===Значение параметров настройки:===
  
Строка 323: Строка 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:
  
Строка 331: Строка 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.»]]
  
Строка 345: Строка 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 && 
 +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> </code>
 +{{:software:linux_server:lfs-example:lfs_example_229.png?|}}
 ===Значение параметров настройки:=== ===Значение параметров настройки:===
  
Строка 354: Строка 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.»]]
Строка 374: Строка 397:
  
 ====7.9.1. Установка пакета Perl==== ====7.9.1. Установка пакета Perl====
- 
-Подготовьте Perl к компиляции: 
  
 <code> <code>
 +#!/bin/bash
 +SRC_FILE=perl-5.38.2.tar.xz
 +SRC_FOLDER=perl-5.38.2
 +
 +tar -xvf $SRC_FILE
 +cd $SRC_FOLDER
 +
 +time {
 sh Configure -des                                        \ sh Configure -des                                        \
              -Dprefix=/usr                               \              -Dprefix=/usr                               \
Строка 387: Строка 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 && 
 +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_231.png?|}}
 ===Значение параметров настройки:=== ===Значение параметров настройки:===
  
Строка 406: Строка 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.»]]
Строка 432: Строка 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?|}}
 ===Значение параметров настройки:=== ===Значение параметров настройки:===
  
Строка 448: Строка 489:
   * **--without-ensurepip**   * **--without-ensurepip**
 Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен. Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен.
- 
-Скомпилируйте пакет: 
- 
-<code> 
-make 
-</code> 
  
 <WRAP left round info 100%> <WRAP left round info 100%>
Строка 459: Строка 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.»]]
  
Строка 475: Строка 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.»]]
Строка 513: Строка 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   \
Строка 525: Строка 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?|}}
 ===Значение параметров настройки:=== ===Значение параметров настройки:===
  
Строка 545: Строка 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.»]]
Строка 566: Строка 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. Удалите эти файлы сейчас:
  
Строка 572: Строка 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 ГБ дискового пространства:
  
Строка 578: Строка 614:
 rm -rf /tools rm -rf /tools
 </code> </code>
 +{{:software:linux_server:lfs-example:lfs_example_242.png?|}}
 ====7.13.2. Резервное копирование==== ====7.13.2. Резервное копирование====
  
Строка 655: Строка 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.1721044733.txt.gz · Последнее изменение: vladpolskiy