Lx4U-book/docs/prepare/create-dirs.md
2021-07-21 11:39:37 +03:00

50 lines
3.4 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
```
?> Обратите внимание, что указанная символическая ссылка правильная. Если указать `$LIN/usr/lib32`, то при входе в среду `chroot`, ссылка будет некорректная.
<script>
new Vue({ el: '#main' })
</script>