mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-10 13:34:41 +08:00
52 lines
3.9 KiB
Markdown
52 lines
3.9 KiB
Markdown
# Создание базовых директорий и символических ссылок
|
||
|
||
## Создание каталога $LIN/tools
|
||
|
||
Все программы, которые будут скомпилированы в следующей части, будут установлены в каталог `$LIN/tools`, чтобы можно было оставить их отдельно от сборки конечной системы. Программы, которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
|
||
|
||
После использования кросс-компилятора, от него можно избавиться. Использование каталога `$LIN/tools` необходимо для того, чтобы не засорять рабочие каталоги хост-системы.
|
||
|
||
Кросс-компилятор будет установлен в директорию `/tools`, создайте её:
|
||
|
||
```bash
|
||
mkdir -pv $LIN/tools
|
||
```
|
||
|
||
## Создание иерархии файловой системы
|
||
|
||
Теперь создайте базовую иерархию файловой системы. Мы предлагаем вам использовать упрощённую структуру каталогов, когда директории `/bin`, `/sbin`, `/usr/sbin` являются ссылками на `/usr/bin`, а `/lib` - на `/usr/lib`.
|
||
|
||
Подобную структуру использует всё больше дистрибутивов: Fedora, Arch, Ubuntu и др. Если вы хотите создать упрощённую иерархию файловой системы, выполните следующие команды:
|
||
|
||
[filename](../scripts/file-system.md ':include')
|
||
|
||
Если вы хотите использовать "классическую" иерархию, в которой `/bin`, `/sbin`, `/usr/bin`, `/usr/sbin`, `/lib` и `/usr/lib` - разные каталоги, выполните следующие команды:
|
||
|
||
[filename](../scripts/classic-file-system.md ':include')
|
||
|
||
Подобное поведение сделает возможным выносить `/usr` в отдельный раздел, либо загружать его по сети. Так же может повыситься безопасность и надёжность дистрибутива. Однако потребуется выполнить множество дополнительных действий при установке пакетов. Если вы не знаете что выбрать - используйте вариант с упрощенной структурой - он лучше протестирован и требует меньше действий при сборке пакетов.
|
||
|
||
Подробнее об иерархии каталогов можно узнать в спецификации [FHS](https://refspecs.linuxfoundation.org/fhs.shtml).
|
||
|
||
## Для multilib
|
||
|
||
Создайте директорию для 32-битных библиотек:
|
||
|
||
```bash
|
||
mkdir -pv $LIN/usr/lib32
|
||
```
|
||
|
||
А также символическую ссылку на неё:
|
||
|
||
```bash
|
||
ln -sv usr/lib32 $LIN/lib32
|
||
```
|
||
|
||
?> В случае если вы используете классическую иерархию каталогов, разделение /lib32 и /usr/lib32 не имеет смысла так как 32-битные библиотеки не требуются для запуска системы.
|
||
|
||
?> Обратите внимание, что указанная символическая ссылка правильная. Если указать `$LIN/usr/lib32`, то при входе в среду `chroot`, ссылка будет некорректная.
|
||
|
||
<script>
|
||
new Vue({ el: '#main' })
|
||
</script>
|