Merge pull request #592 from monosans/monosans-1

Грамматические исправления в предисловии и подготовительных работах
This commit is contained in:
makpif 2021-06-26 08:33:19 +03:00 committed by GitHub
commit 4f7a8c98e7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
12 changed files with 48 additions and 44 deletions

View File

@ -5,7 +5,7 @@
<span>**Необходимый**</span>
<br/>
Невозможно обойтись без данного пакета (хотя можно заменить альтернативой), внимательно отнеситесь к сборке таких пакетов
Невозможно обойтись без данного пакета, хотя можно заменить альтернативой. Внимательно отнеситесь к сборке таких пакетов.
<span>**Важный**</span>
<br/>
@ -13,4 +13,4 @@
<span>**Необязательный**</span>
<br/>
Сборку данного пакета можно пропустить и это не повлияет на работоспособность других пакетов, однако может повлиять на пакеты за её пределами.
Сборку данного пакета можно пропустить, и это не повлияет на работоспособность других пакетов, однако может повлиять на пакеты за её пределами.

View File

@ -15,7 +15,7 @@ TIMEFORMAT='%1R Elapsed Time - $PROGRAM'
tar -zxvf $PROGRAM.tar.gz
pushd $PROGRAM
{ time \
{
{
./configure &&
make &&
make install
@ -27,6 +27,6 @@ popd
> Замените `$PROGRAM.tar.gz` на имя нужного пакета, который надо распаковать.
## Значения новых команд
Когда мы измеряем время, необходимое для сборки пакета, мы используем функцию `time`. Время, затраченное на распаковку архива не учитывается. Фигурные скобки группируют команды как для функции определения затраченного времени, так и для перенаправления всего вывода в файл журнала (`../build.log`).
Когда мы измеряем время, необходимое для сборки пакета, мы используем функцию `time`. Время, затраченное на распаковку архива, не учитывается. Фигурные скобки группируют команды как для функции определения затраченного времени, так и для перенаправления всего вывода в файл журнала (`../build.log`).
!> SBU не даёт совсем точных значений, потому что эти значения зависят от многих факторов, включая версию GCC хост-системы. Они приведены здесь, чтобы *примерно* оценить, сколько времени может потребоваться для установки пакета.
!> SBU не даёт совсем точных значений, потому что эти значения зависят от многих факторов, включая версию GCC хост-системы. Они приведены здесь, чтобы *примерно* оценить, сколько времени может потребоваться для установки пакета.

View File

@ -1,6 +1,6 @@
# О тестах
Большинство пакетов предоставляют наборы тестов для проверки их работоспособности после сборки.
Большинство пакетов предоставляет наборы тестов для проверки их работоспособности после сборки.
Выполнить тесты может быть хорошей идеей, поскольку это позволит проверить, что все
компоненты были скомпилированы корректно. Успешное прохождение пакетом всех
@ -12,4 +12,4 @@
Некоторые тесты занимают очень много времени, например тесты для GCC продолжаются около сотни SBU.
SBU для пакетов будет указан без учета тестов.
При кросс-компиляции тесты могут не работать и выполнять их для пакетов временной системы не рекомендуется.
При кросс-компиляции тесты могут не работать, и выполнять их для пакетов временной системы не рекомендуется.

View File

@ -1,6 +1,6 @@
# О потоках
Сборочная система `make` может разбивать сборку на несколько потоков, число которых регулируется флагом `-j`. Рекомендуется использовать число потоков равное количеству потоков процессора или чуть-чуть больше. Задать `-j` можно, добавляя его после каждого ввода `make` или установив переменную:
Сборочная система `make` может разбивать сборку на несколько потоков, число которых регулируется флагом `-j`. Рекомендуется использовать число потоков равное количеству потоков процессора или чуть-чуть больше. Задать `-j` можно, добавляя его после каждого ввода `make` или установив переменную окружения:
```bash
export MAKEFLAGS="-jN"

View File

@ -1,10 +1,10 @@
# Создание пользователя LIN
Когда мы находимся в системе под пользователем ``root``, одна единственная ошибка может привести к повреждению или поломке всей хост-системы.
Когда мы находимся в системе под пользователем ``root``, одна единственная ошибка может привести к повреждению или поломке всей хост-системы.
Следовательно, рекомендуется выполнять сборку пакетов для временного набора инструментов от обычного пользователя, без привилегий.
Следовательно, рекомендуется выполнять сборку пакетов для временного набора инструментов от обычного пользователя, без привилегий.
*Вы можете использовать произвольного пользователя, но для упрощения настройки чистого рабочего окружения создайте нового пользователя с именем ``lin`` как члена группы ``lin`` и используйте этого пользователя на время всего процесса установки временного набора инструментов.*
*Вы можете использовать произвольного пользователя, но, для упрощения настройки чистого рабочего окружения, создайте нового пользователя с именем ``lin`` как члена группы ``lin`` и используйте этого пользователя на время всего процесса установки временного набора инструментов.*
```bash
groupadd lin
@ -23,7 +23,7 @@ useradd -s /bin/bash -g lin -m -k /dev/null lin
Создает домашний каталог для пользователя ``lin``.
``-k /dev/null``
Этот параметр предотвращает возможное копирование файлов из предустановленного набора каталогов (по умолчанию ``/etc/skel``), изменив местоположение ввода на специальное ``null`` устройство.
Этот параметр предотвращает возможное копирование файлов из предустановленного набора каталогов (по умолчанию ``/etc/skel``), изменив местоположение ввода на специальное ``null`` устройство.
*``/dev/null`` — специальный файл в системах класса UNIX, представляющий собой так называемое «пустое устройство». Запись в него происходит успешно, независимо от объёма «записанной» информации. Чтение из ``/dev/null`` эквивалентно считыванию конца файла (EOF).*
``lin``

View File

@ -1,10 +1,10 @@
# Целевые архитектуры
Основной целевой архитектурой является `x86_64` (64-разрядная).
Основной целевой архитектурой является `x86_64` (64-разрядная).
С другой стороны, инструкции в этом руководстве также работают, с некоторыми модификациями, с Power PC, ARM и AMD / Intel x86 (32-bit) процессорами.
С другой стороны, инструкции в этом руководстве также работают, с некоторыми модификациями, с Power PC, ARM и AMD / Intel x86 (32-bit) процессорами.
Чтобы собрать систему, которая должна работать на одном из вышеуказанных процессоров, главным условием является существующая операционная система Linux, например уже ранее собранная система по инструкциям этого руководства, Ubuntu, Red Hat/Fedora, SuSE, или другой дистрибутив, который нацелен на требуемую архитектуру.
Чтобы собрать систему, которая должна работать на одном из вышеуказанных процессоров, главным условием является существующая операционная система Linux, например, уже ранее собранная система по инструкциям этого руководства, Ubuntu, Red Hat/Fedora, SuSE, или другой дистрибутив, который нацелен на требуемую архитектуру.
Также обратите внимание, что 32-разрядный дистрибутив может быть установлен и использоваться как хост-система на 64-разрядном AMD / Intel компьютере.
@ -15,15 +15,16 @@
### Что такое multilib
Процессоры ``X86_64`` могут выполнять как скомпилированный для них код, так и скомпилированный для архитектуры ``i386``.
Но, 32-битные исполняемые файлы работают только с 32-битными библиотеками (а 64-битные - только с 64-битными библиотеками), поэтому для запуска 32-битного исполняемого файла требуются 32-битные версии библиотек которые он использует.
Если в ОС присутствуют библиотеки для нескольких архитектур - её называют multilib системой.
Но 32-битные исполняемые файлы работают только с 32-битными библиотеками (а 64-битные - только с 64-битными библиотеками), поэтому для запуска 32-битного исполняемого файла требуются 32-битные версии библиотек, которые он использует.
Если в ОС присутствуют библиотеки для нескольких архитектур, её называют multilib системой.
### Зачем это нужно
Некоторые программы с закрытым исходным кодом до сих пор имеют только 32-битные версии. Для Linux таких программ не много, а вот для Windows их существует огромное количество. А для того что бы запустить их необходим Wine с поддержкой multilib.
Некоторые программы с закрытым исходным кодом до сих пор имеют только 32-битные версии. Для Linux таких программ не много, а вот для Windows их существует огромное количество. А для того чтобы запустить их, необходим Wine с поддержкой multilib.
### Как это реализовано в руководстве
В руководстве присутствуют инструкции в конце многих страниц для multilib систем. Поддержка multilib является опциональной. Если Вам она не нужна - не выполняйте эти инструкции.
В руководстве в конце многих страниц присутствуют инструкции для multilib систем. Поддержка multilib является опциональной. Если Вам она не нужна, не выполняйте эти инструкции.
Поддержка multilib является частичной - инструкции для сборки 32-битных версий библиотек предоставляются только тогда, когда они необходимы для сборки пакета.
[Подробнее про архитектуры процессора](additional/cpu-arch)

View File

@ -1,8 +1,8 @@
# Создание базовых директорий и символических ссылок
## Создание каталога $LIN/tools
Все программы, которые будут скомпилированы следующей части, будут установлены в каталог ``$LIN/tools``, чтобы можно было оставить их отдельно от сборки конечной системы. Программы, которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
Все программы, которые будут скомпилированы в следующей части, будут установлены в каталог ``$LIN/tools``, чтобы можно было оставить их отдельно от сборки конечной системы. Программы, которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
После использования кросс-компилятора, от него можно избавиться. Использование каталога ``$LIN/tools`` необходимо для того, чтобы не засорять рабочие каталоги хост-системы.
@ -13,7 +13,7 @@ mkdir -pv $LIN/tools
## Создание иерархии файловой системы
Теперь создайте базовую иеархию файловой системы:
Теперь создайте базовую иерархию файловой системы:
<common-script :name="'file-system'"></common-script>
@ -35,4 +35,4 @@ ln -sv usr/lib32 $LIN/lib32
<script>
new Vue({ el: '#main' })
</script>
</script>

View File

@ -9,13 +9,13 @@
## Форматирование корневого раздела
На данный момент, в руководстве поддерживается только файловая система ext4.
Рекомендуется создать её на корневом разделе следующей командой (или по-другому, например с помощью GParted):
Рекомендуется создать её на корневом разделе следующей командой (или по-другому, например, с помощью GParted):
```bash
mkfs -v -t ext4 /dev/sdX
```
Где sdX - ваш раздел
## Форматирование EFI раздела
Если вы используете UEFI на Linux или Windows, то EFI раздел, скорее всего, уже существует.
@ -36,9 +36,9 @@ mkfs.vfat -v /dev/sdN
## Создание раздела подкачки
При желании, вы можете создать раздел подкачки (swap).
Обычно, его размер - 2 гб, но вы можете создать его любого размера.
Чтобы отформатировать раздел swap выполните.
При желании вы можете создать раздел подкачки (swap).
Обычно его размер - 2 гб, но вы можете создать его любого размера.
Чтобы отформатировать раздел swap, выполните:
```bash
mkswap /dev/sdY
@ -52,6 +52,6 @@ mkswap /dev/sdY
## Другие разделы
При желании вы можете создать другие разделы. Инструкции для них аналогичны инструкции по созданию корневого раздела.
Если вы не уверенны, нужно ли создавать еще какой-либо, раздел - делать этого не стоит.
Если вы не уверены, нужно ли создавать еще какой-либо раздел, делать этого не стоит.
?> [Подробнее про разделы](additional/partitions_calalogs?id=Типы-разделов)

View File

@ -1,13 +1,13 @@
# Требуемые пакеты и патчи
На данном этапе все готово для загрузки необходимых пакетов и патчей.
На данном этапе все готово для загрузки необходимых пакетов и патчей.
Самый простой способ загрузки всех требуемых пакетов и патчей - воспользоваться файлом <a :href="wgetList">wget-list</a>.
<pre>
wget {{ wgetList }}
</pre>
Далее его можно передать как параметр программе ``wget``.
Далее его можно передать как параметр программе ``wget``.
<pre>
wget --input-file=wget-list --continue --directory-prefix=$LIN/usr/src
@ -32,10 +32,10 @@ popd
<script>
new Vue({
el: '#main',
data: {
wgetList: wgetList,
data: {
wgetList: wgetList,
md5Sums: md5Sums },
})
</script>
?> Во всех случаях используются обычные версии пакетов, идентичные находящимся на официальных сайтах их разработчиков, однако они были загружены на наш сервер во избежании проблем с загрузкой.
?> Во всех случаях используются обычные версии пакетов, идентичные находящимся на официальных сайтах их разработчиков, однако они были загружены на наш сервер во избежание проблем с загрузкой.

View File

@ -14,7 +14,7 @@ echo $LIN
mount -v /dev/sdX $LIN
```
Где sdX - ваш корневой раздел.
## Монтирование раздела EFI
Создадим точку монтирования раздела EFI:
@ -28,7 +28,7 @@ mkdir -pv $LIN/boot/efi
mount -v /dev/sdN $LIN/boot/efi
```
Где sdN - EFI раздел.
## Другие разделы
Если вы создали другие разделы, то можете смонтировать их так же как и раздел EFI (предварительно создав точку монтирования).
Если вы создали другие разделы, то можете смонтировать их так же, как и раздел EFI (предварительно создав точку монтирования).

View File

@ -3,7 +3,7 @@
Необходимо настроить окружение для недавно созданного пользователя.
Во-первых, создадим `.bash_profile`:
```bash
```bash
cat > ~/.bash_profile << "EOF"
exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
EOF
@ -27,7 +27,7 @@ EOF
## CFLAGS и CXXFLAGS
Использовать оптимизацию на данном этапе не стоит, однако вы можете добавить флаг ``-s`` для того, что бы сразу после сборки автоматически удалялись ненужные и отладочные символы, а также `-O2` воизбежании ошибки сборки glibc:
Использовать оптимизацию на данном этапе не стоит, однако вы можете добавить флаг ``-s``, чтобы сразу после сборки автоматически удалялись ненужные и отладочные символы, а также `-O2` во избежание ошибки сборки glibc:
```bash
echo "export CFLAGS=\"-s -O2\" " >> ~/.bashrc
@ -37,6 +37,7 @@ echo "export CXXFLAGS=\"-s -O2\" " >> ~/.bashrc
Это может сэкономить несколько гигабайт места на диске.
## Bash-completion
Если вы используете программу `bash-completion`, то можете добавить её поддержку для пользователя `lin`:
```bash
@ -44,8 +45,9 @@ echo " . /etc/bash_completion" >> ~/.bashrc
```
## MAKEFLAGS
Для экономии времени на многоядерном процессоре используйте параллельную сборку. Чтобы её включить, надо добавить для ``make`` переменную `-jN`, где ``N`` - число потоков вашего процессора.
Это можно сделать двумя способами:
Для экономии времени на многоядерном процессоре используйте параллельную сборку. Чтобы её включить, надо добавить для ``make`` переменную `-jN`, где ``N`` - число потоков вашего процессора.
Это можно сделать двумя способами:
- Указывать при каждом вызове ``make`` аргумент ``-jN``
- Добавить переменую окружения ``MAKEFLAGS``
@ -56,7 +58,7 @@ echo " . /etc/bash_completion" >> ~/.bashrc
lscpu | grep "CPU(s):"
```
Результат выполнения будет примерно следующий. Значения будут отличаться, в зависимости от характеристик вашего процессора:
Результат выполнения будет примерно следующий. Значения будут отличаться в зависимости от характеристик вашего процессора:
```
CPU(s): 4
@ -73,6 +75,7 @@ echo "export MAKEFLAGS=\"-jN\" " >> ~/.bashrc
```
## Для MultiLib
Для MultiLib выполните:
```bash
@ -90,7 +93,7 @@ source ~/.bash_profile
## Значения параметров базового bashrc
`set +h` - Данный параметр отключает сохранение путей к исполняемым файлам в памяти bash, необходимо для того что бы новые исполняемые файлы становились доступны немедленно.
`set +h` - Данный параметр отключает сохранение путей к исполняемым файлам в памяти bash. Это необходимо для того, чтобы новые исполняемые файлы становились доступны немедленно.
`umask 022` - Гарантирует, что для новых файлов будет установлены права 644.

View File

@ -1,6 +1,6 @@
# Информация об используемых пакетах
Как говорилось ранее, одной из целей проекта является сборка системы базового уровня. Она будет включать в себя пакеты необходимые для репликации и распространения, а также относительно небольшой набор программ, с помощью которых можно расширять систему в любом направлении на ваше усмотрение. Это не значит, что она будет максимально компактной.
Как говорилось ранее, одной из целей проекта является сборка системы базового уровня. Она будет включать в себя пакеты, необходимые для репликации и распространения, а также относительно небольшой набор программ, с помощью которых можно расширять систему в любом направлении на ваше усмотрение. Это не значит, что она будет максимально компактной.
Есть пакеты, которые включены, но строго не требуются. В списке, который расположен ниже, имеются описания для каждого пакета.