Lx4U-book/docs/prepare/create-dirs.md

52 lines
3.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Создание базовых директорий и символических ссылок
## Создание каталога $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>