mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-10 13:34:41 +08:00
50 lines
3.4 KiB
Markdown
50 lines
3.4 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
|
||
```
|
||
|
||
?> Обратите внимание, что указанная символическая ссылка правильная. Если указать `$LIN/usr/lib32`, то при входе в среду `chroot`, ссылка будет некорректная.
|
||
|
||
<script>
|
||
new Vue({ el: '#main' })
|
||
</script>
|