software:linux_server:lfs-example:chapter07
Различия
Показаны различия между двумя версиями страницы.
Предыдущая версия справа и слеваПредыдущая версияСледующая версия | Предыдущая версия | ||
software:linux_server:lfs-example:chapter07 [2024/07/15 14:30] – [7.2. Смена владельца] vladpolskiy | software:linux_server:lfs-example:chapter07 [2024/07/15 17:53] (текущий) – [7.13.3. Восстановление] vladpolskiy | ||
---|---|---|---|
Строка 61: | Строка 61: | ||
mkdir -pv $LFS/ | mkdir -pv $LFS/ | ||
</ | </ | ||
+ | {{: | ||
====7.3.1. Монтирование и заполнение /dev==== | ====7.3.1. Монтирование и заполнение /dev==== | ||
Строка 71: | Строка 71: | ||
mount -v --bind /dev $LFS/dev | mount -v --bind /dev $LFS/dev | ||
</ | </ | ||
+ | {{: | ||
====7.3.2. Монтирование виртуальных файловых систем ядра==== | ====7.3.2. Монтирование виртуальных файловых систем ядра==== | ||
Строка 82: | Строка 82: | ||
mount -vt tmpfs tmpfs $LFS/run | mount -vt tmpfs tmpfs $LFS/run | ||
</ | </ | ||
+ | {{: | ||
Значение параметров монтирования для devpts: | Значение параметров монтирования для devpts: | ||
Строка 102: | Строка 102: | ||
fi | fi | ||
</ | </ | ||
+ | {{: | ||
=====7.4. Вход в окружение Chroot===== | =====7.4. Вход в окружение Chroot===== | ||
Строка 118: | Строка 118: | ||
/bin/bash --login | /bin/bash --login | ||
</ | </ | ||
+ | {{: | ||
Если вы не хотите использовать все доступные логические ядра, замените параметр $(nproc) количеством логических ядер, которые вы хотите использовать для сборки пакетов в этой и последующих главах. На наборы тестов некоторых пакетов (в частности Autoconf, Libtool и Tar) в [[software: | Если вы не хотите использовать все доступные логические ядра, замените параметр $(nproc) количеством логических ядер, которые вы хотите использовать для сборки пакетов в этой и последующих главах. На наборы тестов некоторых пакетов (в частности Autoconf, Libtool и Tar) в [[software: | ||
Строка 147: | Строка 147: | ||
mkdir -pv / | mkdir -pv / | ||
</ | </ | ||
+ | {{: | ||
Создайте необходимые подкаталоги, | Создайте необходимые подкаталоги, | ||
Строка 168: | Строка 168: | ||
install -dv -m 1777 /tmp /var/tmp | install -dv -m 1777 /tmp /var/tmp | ||
</ | </ | ||
+ | {{: | ||
+ | Вывод результата выполнения команд | ||
+ | {{: | ||
По умолчанию каталоги создаются с правами 755, но это нежелательно делать для всех каталогов. В приведенных выше командах вносятся два изменения — одно в домашний каталог пользователя root, а другое в каталоги для временных файлов. | По умолчанию каталоги создаются с правами 755, но это нежелательно делать для всех каталогов. В приведенных выше командах вносятся два изменения — одно в домашний каталог пользователя root, а другое в каталоги для временных файлов. | ||
Строка 189: | Строка 191: | ||
ln -sv / | ln -sv / | ||
</ | </ | ||
+ | {{: | ||
Создайте файл **/ | Создайте файл **/ | ||
Строка 198: | Строка 200: | ||
EOF | EOF | ||
</ | </ | ||
+ | {{: | ||
Чтобы пользователь **root** мог войти в систему и распознавался системой, | Чтобы пользователь **root** мог войти в систему и распознавался системой, | ||
Строка 221: | Строка 223: | ||
EOF | EOF | ||
</ | </ | ||
+ | {{: | ||
Пароль пользователя **root** будет задан позднее. | Пароль пользователя **root** будет задан позднее. | ||
Строка 263: | Строка 265: | ||
EOF | EOF | ||
</ | </ | ||
+ | {{: | ||
Созданные группы не являются частью какого-либо стандарта — это группы, | Созданные группы не являются частью какого-либо стандарта — это группы, | ||
Строка 275: | Строка 277: | ||
install -o tester -d / | install -o tester -d / | ||
</ | </ | ||
+ | {{: | ||
Чтобы удалить приглашение «I have no name!», запустите новую оболочку. Поскольку файлы **/ | Чтобы удалить приглашение «I have no name!», запустите новую оболочку. Поскольку файлы **/ | ||
Строка 281: | Строка 283: | ||
exec / | exec / | ||
</ | </ | ||
+ | {{: | ||
Программы **login, agetty, init (и другие)** используют ряд журналов для записи такой информации, | Программы **login, agetty, init (и другие)** используют ряд журналов для записи такой информации, | ||
Строка 290: | Строка 292: | ||
chmod -v 600 / | chmod -v 600 / | ||
</ | </ | ||
+ | {{: | ||
В файл **/ | В файл **/ | ||
Строка 302: | Строка 304: | ||
|Приблизительное время сборки: | |Приблизительное время сборки: | ||
|Требуемое дисковое пространство: | |Требуемое дисковое пространство: | ||
+ | Переходим в папку /sources | ||
+ | < | ||
+ | cd /sources/ | ||
+ | </ | ||
+ | {{: | ||
+ | Распаковываем архив и переходим в каталог с его содержимым | ||
+ | < | ||
+ | tar -xvf gettext-0.22.4.tar.xz | ||
+ | cd gettext-0.22.4 | ||
+ | </ | ||
+ | {{: | ||
====7.7.1. Установка пакета Gettext==== | ====7.7.1. Установка пакета Gettext==== | ||
Строка 312: | Строка 324: | ||
./configure --disable-shared | ./configure --disable-shared | ||
</ | </ | ||
+ | {{: | ||
===Значение параметров настройки: | ===Значение параметров настройки: | ||
Строка 321: | Строка 333: | ||
< | < | ||
- | make | + | time make |
</ | </ | ||
+ | {{: | ||
Установите программы msgfmt, msgmerge, и xgettext programs: | Установите программы msgfmt, msgmerge, и xgettext programs: | ||
Строка 329: | Строка 341: | ||
cp -v gettext-tools/ | cp -v gettext-tools/ | ||
</ | </ | ||
+ | {{: | ||
+ | Перейдем в каталог sources и удалим более не нужный разорхивированный каталог | ||
+ | < | ||
+ | cd .. | ||
+ | rm -Rf cd gettext-0.22.4 | ||
+ | </ | ||
+ | {{: | ||
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 343: | Строка 361: | ||
< | < | ||
+ | #!/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=/ | ./configure --prefix=/ | ||
- | --docdir=/ | + | --docdir=/ |
- | </code> | + | time make && |
+ | make install; } && | ||
+ | ln -sv gcc $LFS/ | ||
+ | cd .. && | ||
+ | rm -rf $SRC_FOLDER && | ||
+ | |||
+ | echo Del $SRC_FOLDER | ||
+ | echo Ok $SRC_FILE | ||
+ | </ | ||
+ | {{: | ||
===Значение параметров настройки: | ===Значение параметров настройки: | ||
Строка 352: | Строка 387: | ||
Этот параметр указывает системе сборки установить документацию к bison в каталог с версией пакета. | Этот параметр указывает системе сборки установить документацию к bison в каталог с версией пакета. | ||
- | Скомпилируйте пакет: | + | {{:software:linux_server: |
- | + | ||
- | < | + | |
- | make | + | |
- | </ | + | |
- | + | ||
- | Установите пакет: | + | |
- | + | ||
- | < | + | |
- | make install | + | |
- | </ | + | |
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 372: | Строка 397: | ||
====7.9.1. Установка пакета Perl==== | ====7.9.1. Установка пакета Perl==== | ||
- | |||
- | Подготовьте Perl к компиляции: | ||
< | < | ||
+ | #!/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 \ | ||
| | ||
Строка 385: | Строка 416: | ||
| | ||
| | ||
- | | + | |
- | </ | + | make && |
+ | make install; } && | ||
+ | |||
+ | cd .. && | ||
+ | rm -rf $SRC_FOLDER && | ||
+ | echo Delete $SRC_FOLDER | ||
+ | echo Ok $SRC_FILE | ||
+ | </ | ||
+ | {{: | ||
===Значение параметров настройки: | ===Значение параметров настройки: | ||
Строка 404: | Строка 443: | ||
Эти настройки определяют, | Эти настройки определяют, | ||
- | Скомпилируйте пакет: | ||
- | < | ||
- | make | ||
- | </ | ||
- | |||
- | Установите пакет: | ||
- | |||
- | < | ||
- | make install | ||
- | </ | ||
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 430: | Строка 459: | ||
Существует два пакета, | Существует два пакета, | ||
</ | </ | ||
+ | Воспользуемся скриптом | ||
+ | < | ||
+ | #!/bin/bash | ||
+ | SRC_FILE=Python-3.12.2.tar.xz | ||
+ | SRC_FOLDER=Python-3.12.2 | ||
- | Подготовка Python к компиляции: | + | tar -xvf $SRC_FILE |
+ | cd $SRC_FOLDER | ||
- | < | + | time { |
./configure --prefix=/ | ./configure --prefix=/ | ||
--enable-shared \ | --enable-shared \ | ||
- | --without-ensurepip | + | --without-ensurepip |
- | </ | + | make && |
+ | make install; } && | ||
+ | cd .. && | ||
+ | rm -rf $SRC_FOLDER && | ||
+ | |||
+ | echo Delete $SRC_FOLDER | ||
+ | echo Ok $SRC_FILE | ||
+ | </ | ||
+ | {{: | ||
===Значение параметров настройки: | ===Значение параметров настройки: | ||
Строка 446: | Строка 489: | ||
* **--without-ensurepip** | * **--without-ensurepip** | ||
Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен. | Этот параметр отключает установщик пакетов Python, который на данном этапе не нужен. | ||
- | |||
- | Скомпилируйте пакет: | ||
- | |||
- | < | ||
- | make | ||
- | </ | ||
<WRAP left round info 100%> | <WRAP left round info 100%> | ||
Строка 457: | Строка 494: | ||
Некоторые модули Python 3 не могут быть собраны сейчас, | Некоторые модули Python 3 не могут быть собраны сейчас, | ||
</ | </ | ||
- | + | {{:software: | |
- | Установите пакет: | + | |
- | + | ||
- | < | + | |
- | make install | + | |
- | </ | + | |
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 473: | Строка 504: | ||
====7.11.1. Установка пакета Texinfo==== | ====7.11.1. Установка пакета Texinfo==== | ||
- | |||
- | Подготовьте Texinfo к компиляции: | ||
- | |||
< | < | ||
- | ./configure --prefix=/usr | + | #!/bin/bash |
- | </ | + | SRC_FILE=texinfo-7.1.tar.xz |
+ | SRC_FOLDER=texinfo-7.1 | ||
- | Скомпилируйте пакет: | + | tar -xvf $SRC_FILE |
+ | cd $SRC_FOLDER | ||
- | < | + | time { |
- | make | + | ./configure --prefix=/ |
- | </ | + | make && |
+ | make install; } && | ||
- | Установите пакет: | + | cd .. && |
+ | rm -rf $SRC_FOLDER && | ||
- | < | + | echo Delete $SRC_FOLDER |
- | make install | + | echo Ok $SRC_FILE |
</ | </ | ||
+ | {{: | ||
+ | Вывод окончания работы скрипта | ||
+ | {{: | ||
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 511: | Строка 546: | ||
< | < | ||
+ | #!/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 / | ||
+ | time { | ||
./configure --libdir=/ | ./configure --libdir=/ | ||
--runstatedir=/ | --runstatedir=/ | ||
Строка 523: | Строка 565: | ||
--without-python | --without-python | ||
ADJTIME_PATH=/ | ADJTIME_PATH=/ | ||
- | --docdir=/ | + | --docdir=/ |
+ | make && | ||
+ | make install; } && | ||
+ | cd .. && | ||
+ | rm -rf $SRC_FOLDER && | ||
+ | echo Delete $SRC_FOLDER | ||
+ | echo Ok $SRC_FILE | ||
</ | </ | ||
+ | {{: | ||
===Значение параметров настройки: | ===Значение параметров настройки: | ||
Строка 543: | Строка 591: | ||
Этот параметр устанавливает расположение сокета, | Этот параметр устанавливает расположение сокета, | ||
- | Скомпилируйте пакет: | + | {{:software:linux_server: |
- | + | ||
- | < | + | |
- | make | + | |
- | </ | + | |
- | + | ||
- | Установите пакет: | + | |
- | + | ||
- | < | + | |
- | make install | + | |
- | </ | + | |
Подробная информация об этом пакете находится в [[software: | Подробная информация об этом пакете находится в [[software: | ||
Строка 564: | Строка 602: | ||
rm -rf / | rm -rf / | ||
</ | </ | ||
+ | {{: | ||
Во-вторых, | Во-вторых, | ||
Строка 570: | Строка 608: | ||
find / | find / | ||
</ | </ | ||
+ | {{: | ||
Сейчас размер системы составляет около 3 ГБ, однако каталог /tools больше не понадобится. Удалите его, чтобы освободить около 1 ГБ дискового пространства: | Сейчас размер системы составляет около 3 ГБ, однако каталог /tools больше не понадобится. Удалите его, чтобы освободить около 1 ГБ дискового пространства: | ||
Строка 576: | Строка 614: | ||
rm -rf /tools | rm -rf /tools | ||
</ | </ | ||
+ | {{: | ||
====7.13.2. Резервное копирование==== | ====7.13.2. Резервное копирование==== | ||
Строка 653: | Строка 691: | ||
Если вы покинули среду chroot, чтобы создать резервную копию или перезапустить сборку с помощью восстановления, | Если вы покинули среду chroot, чтобы создать резервную копию или перезапустить сборку с помощью восстановления, | ||
</ | </ | ||
+ | * [[software: |
software/linux_server/lfs-example/chapter07.1721043018.txt.gz · Последнее изменение: 2024/07/15 14:30 — vladpolskiy