Issue #889: Миграция на MkDocs

This commit is contained in:
Anton Maisak 2021-11-04 19:24:31 +03:00
parent cd33a5a00f
commit e356f2669c
922 changed files with 7919 additions and 8085 deletions

6
.gitignore vendored
View File

@ -6,6 +6,8 @@ yarn-debug.log*
yarn-error.log*
lerna-debug.log*
downloads
pdf
site
# Diagnostic reports (https://nodejs.org/api/report.html)
report.[0-9]*.[0-9]*.[0-9]*.[0-9]*.json
@ -104,4 +106,8 @@ dist
# TernJS port file
.tern-port
# Editor settings
.vscode
# mkdocs files
site

View File

@ -1,19 +1,46 @@
# Linux для себя
<div style="text-align:center; margin: 30px 0">
<img src="https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Design/main/misc/cover.svg" />
<a href="http://lx4u.ru">
<img alt="lx4u" src="https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Design/main/misc/cover.svg" />
</a>
</div>
Lx4U или “Linux для себя” - русскоязычное подробное руководство по созданию Linux-системы, используя лишь исходные тексты необходимого программного обеспечения. Это руководство - самостоятельное ответвление от проекта <a href="https://linuxfromscratch.org">Linux From Scratch</a>.
Lx4U или “Linux для себя” - подробное руководство по созданию Linux-системы, используя исходные тексты необходимого программного обеспечения.
На ваш выбор предлагается использование multilib системы, поддержка EFI и набор дополнительного программного обеспечения для организации комфортной дальнейшей сборки и настройки ОС. Кроме того, существует расширенное руководство, в котором содержится информация о настройке окружения рабочего стола и программного обеспечения, охватывающего различные области применения.
Это руководство - самостоятельное ответвление от проекта [Linux From Scratch](https://linuxfromscratch.org).
На ваш выбор предлагается использование multilib системы, поддержка EFI и набор дополнительного программного обеспечения для организации комфортной работы. Кроме того, существует расширенное руководство, в котором содержится информация о настройке окружения рабочего стола и программного обеспечения, охватывающего различные области применения.
Но главная идея остаётся - вы в центре всего, и вы решаете, какой должна быть Ваша собственная система. А мы просто протягиваем Вам руку помощи.
Начните собственное путешествие в мир Linux прямо сейчас!
## Запустите руководство локально:
## Чтобы изучить руководство локально
### Требования
``python``
### Установка зависимостей
```bash
npm i && npm start
pip install mkdocs-material mkdocs
pip install git+https://github.com/RedisLabs/mkdocs-include.git
```
### Сборка в Linux
```bash
mkdocs build # Сборка
mkdocs serve # Запуск
```
### Сборка в Windows
```bash
python -m mkdocs build # Сборка
python -m mkdocs serve # Запуск
```
В результате будет сгенерирован каталог `site`. Руководство будет доступно по адресу http://127.0.0.1:8000/mkdocs/.

View File

View File

@ -1,216 +0,0 @@
- [Журнал изменений](changelog)
- [**Предисловие**](prologue/foreword)
- [От авторов](prologue/from-authors)
- [Преимущества](prologue/benefits)
- [Прежде чем начать](prologue/before-start)
- [Принятые обозначения](prologue/typography)
- [Информация об используемых пакетах](prologue/packages)
- [Опечатки и неточности](prologue/inaccuracies)
- **Подготовительные работы**
- [Целевые архитектуры](prepare/arch)
- [Требования](prepare/requrements)
- [О времени сборки пакетов](prepare/about-sbu)
- [Создание разделов](prepare/create-partition)
- [Установка переменной $LIN](prepare/set-lin)
- [Монтирование разделов](prepare/mount-partition)
- [Создание основных каталогов и символических ссылок](prepare/create-dirs)
- [Требуемые пакеты и патчи](prepare/download)
- [Создание пользователя](prepare/add-user)
- [Настройка окружения](prepare/set-env)
- [О тестах](prepare/about-tests)
- [О приоритете пакетов](prepare/about-priority)
- [Общая инструкция по сборке пакетов](prepare/general-build-instruction)
- [О потоках](prepare/about-threads)
- [**Сборка кросс компилятора**](cross-toolchain/cross-toolchain)
- [Binutils](cross-toolchain/binutils)
- [GCC](cross-toolchain/gcc)
- [**Заголовочные файлы ядра Linux**](build-system/linux-headers)
- [**Сборка временной системы**](build-temp-system/tempsystem)
- [Glibc](build-temp-system/glibc)
- [LibstdC++ проход 1](build-temp-system/libstdc)
- [M4](build-temp-system/m4)
- [Ncurses](build-temp-system/ncurses)
- [Bash](build-temp-system/bash)
- [Coreutils](build-temp-system/coreutils)
- [Diffutils](build-temp-system/diffutils)
- [File](build-temp-system/file)
- [Findutils](build-temp-system/findutils)
- [Gawk](build-temp-system/gawk)
- [Grep](build-temp-system/grep)
- [Gzip](build-temp-system/gzip)
- [Make](build-temp-system/make)
- [Patch](build-temp-system/patch)
- [Sed](build-temp-system/sed)
- [Tar](build-temp-system/tar)
- [Xz](build-temp-system/xz)
- [Binutils проход 2](build-temp-system/binutils-p2)
- [GCC проход 2](build-temp-system/gcc-p2)
- [Смена владельца для каталога $LIN](build-temp-system/change-owner)
- [Вход в окружение chroot](build-temp-system/enter-in-chroot)
- [Создание базовых файлов и ссылок](build-temp-system/create-files)
- [LibstdC++ проход 2](build-temp-system/libstdc-p2)
- [Gettext](build-temp-system/gettext)
- [Bison](build-temp-system/bison)
- [Perl](build-temp-system/perl)
- [Python](build-temp-system/python)
- [Texinfo](build-temp-system/texinfo)
- [Util-linux](build-temp-system/util-linux)
- [Очистка и сохранение временной системы](build-temp-system/cleanup)
- [**Сборка Linux системы**](build-system/build-system)
- [Настройка окружения bash](build-system/set-profile)
- [Iana-etc](build-system/iana-etc)
- [Glibc](build-system/glibc)
- [Zlib-ng](build-system/zlib)
- [Bzip2](build-system/bz2)
- [Xz](build-system/xz)
- [Zstd](build-system/zstd)
- [File](build-system/file)
- [Readline](build-system/readline)
- [M4](build-system/m4)
- [Bc](build-system/bc)
- [Flex](build-system/flex)
- [Tcl](build-system/tcl)
- [Expect](build-system/expect)
- [DejaGNU](build-system/dejagnu)
- [Binutils](build-system/binutils)
- [GMP](build-system/gmp)
- [MPFR](build-system/mpfr)
- [MPC](build-system/mpc)
- [ISL](build-system/isl)
- [Attr](build-system/attr)
- [Acl](build-system/acl)
- [Libcap](build-system/libcap)
- [Shadow](build-system/shadow)
- [GCC](build-system/gcc)
- [Pkg-config](build-system/pkg-config)
- [Ncurses](build-system/ncurses)
- [Sed](build-system/sed)
- [Psmisc](build-system/psmisc)
- [Gettext](build-system/gettext)
- [Bison](build-system/bison)
- [Grep](build-system/grep)
- [Bash](build-system/bash)
- [Libtool](build-system/libtool)
- [GDBM](build-system/gdbm)
- [Gperf](build-system/gperf)
- [Expat](build-system/expat)
- [Inetutils](build-system/inetutils)
- [Perl](build-system/perl)
- [XML::Parser](build-system/xml-parser)
- [Intltool](build-system/intltool)
- [Autoconf](build-system/autoconf)
- [Automake](build-system/automake)
- [Kmod](build-system/kmod)
- [Libelf](build-system/libelf)
- [Libffi](build-system/libffi)
- [Openssl](build-system/openssl)
- [Python](build-system/python)
- [Ninja](build-system/ninja)
- [Meson](build-system/meson)
- [Coreutils](build-system/coreutils)
- [Check](build-system/check)
- [Diffutils](build-system/diffutils)
- [Gawk](build-system/gawk)
- [Findutils](build-system/findutils)
- [Groff](build-system/groff)
- [Less](build-system/less)
- [Gzip](build-system/gzip)
- [Iproute2](build-system/iproute)
- [Kbd](build-system/kbd)
- [Libpipeline](build-system/libpipeline)
- [Make](build-system/make)
- [Patch](build-system/patch)
- [Tar](build-system/tar)
- [Man-DB](build-system/mandb)
- [Texinfo](build-system/texinfo)
- [Popt](build-system/popt)
- [Freetype](build-system/freetype)
- [Dosfstools](build-system/dosfstools)
- [Wget](build-system/wget)
- [libtasn1](build-system/libtasn1)
- [p11-kit](build-system/p11-kit)
- [Make-ca](build-system/make-ca)
- [MarkupSafe](build-system/markupsafe)
- [Jinja2](build-system/jinja2)
- [**Выбор текстового редактора**](build-system/text-editor)
- [Vim](build-system/vim)
- [Emacs](build-system/emacs)
- [Nano](build-system/nano)
- [**Выбор системы инициализации**](build-system/init-system)
- [**SysVinit**](build-system/init/sysvinit-page)
- [Eudev](build-system/init/eudev-sysv)
- [Procps-ng](build-system/init/procps-ng-sysv)
- [Util-linux](build-system/init/util-linux-sysv)
- [Sysklogd](build-system/init/sysklogd-sysv)
- [SysVinit](build-system/init/sysvinit)
- [Bootscripts](build-system/init/bootscripts)
- [**Systemd**](build-system/init/systemd-page.md)
- [Создание пользователей и групп для systemd](build-system/init/systemd-users)
- [Systemd](build-system/init/systemd)
- [D-Bus](build-system/init/dbus-sysd)
- [Procps-ng](build-system/init/procps-ng-sysd)
- [Util-linux](build-system/init/util-linux-sysd)
- [E2fsprogs](build-system/e2fsprogs)
- [**GRUB**](build-system/boot/about-grub)
- [**EFI**](build-system/boot/efi)
- [Efivar](build-system/boot/efivar)
- [Efibootmgr](build-system/boot/efibootmgr)
- [GRUB](build-system/boot/grub-efi)
- [**BIOS/Legacy boot**](build-system/boot/bios)
- [GRUB](build-system/boot/grub-mbr)
- [Очистка](build-system/cleanup)
- [**Настройка системы**](setup/setup)
- [Создание файла /etc/fstab](setup/fstab)
- [Создание файла /etc/shells](setup/shells)
- **systemd**
- [Настройка аппаратных часов](setup/hw-clock)
- [Настройка сети](setup/network-systemd)
- **SysVinit**
- [Настройка SysVinit](setup/sysvinit-conf)
- [**Настройка и установка ядра**](kernel/kernel-setup-intro)
- [Настройка](kernel/kernel-setup)
- [О прошивках](kernel/about-fw)
- [**Делаем систему загрузочной**](boot/boot)
- [**Создание загрузочной системы EFI**](boot/uefi)
- [**Создание загрузочной системы Legacy Boot MBR**](boot/mbr)
- [**Заключительная часть**](final/final)
- [**Вспомогательные материалы**](additional/additional)
- **Строение GNU/Linux**
- [Строение GNU/Linux. Часть 1](additional/LinuxStructure1)
- [Строение GNU/Linux. Часть 2](additional/LinuxStructure2)
- [Строение GNU/Linux. Часть 3](additional/LinuxStructure3)
- [Строение GNU/Linux. Часть 4](additional/LinuxStructure4)
- [Установка программ из исходных кодов в Linux](additional/src-compiling)
- [Решение ошибок сборки](additional/error-fix)
- [Типы и разделов и каталогов](additional/partitions_calalogs)
- [Выбор размера файла подкачки](additional/swap)
- [Настройка zram](additional/zram)
- [Кросс-компилятор](additional/cross-compiler)
- [Виды популярных архитектур процессоров](additional/cpu-arch)
- [О шебангах в скриптах Linux](additional/sha-bang)

View File

@ -2,7 +2,7 @@
Дистрибутив по Linux for yourself собрать нельзя, не умея читать документацию, искать нужную информацию в интернете и не зная строение Linux. Именно о строении и пойдёт речь в этой статье. Первая часть даст базовые сведения, а в следующих частях структура типичного Linux-дистрибутива будет рассмотрена подробнее.
Книга _Linux for yourself_ старается придерживаться стандартов `FHS` и `LSB` (о них далее).
_Linux for yourself_ старается придерживаться стандартов `FHS` и `LSB` (о них далее).
## Термины
@ -60,7 +60,7 @@
Монолитное ядро больше и несколько сложнее других видов ядер. Ну и вспомните спор Таненбаума и Торвальдса. Но у Linux есть достоинство - это одули ядра_. Подключать нужные модули можно буквально на лету. вы можете запускать процессы сервера, подключать виртуализацию, а также полностью заменить ядро без перезагрузки. Например, команда
```
```bash
modprobe qemu-nbd
```
@ -163,9 +163,13 @@ _Tuz_
- Приложения по умолчанию (эмулятор терминала, файловый менеджер (см. по списку выше), настройки системы и рабочего окружения, et cetera);
- et cetera.
> Хочу заострить ваше внимание на том, что оконный менеджер, панель и некоторые другие компоненты можно использовать и отдельно от рабочего окружения. Например, оконные менеджеры Fluxbox, Openbox, i3-wm, Awesome, Sway и др. используются отдельно от DE. Также существуют отдельные файловые менеджеры, которые так же поставляются отдельно от рабочего окружения.
???+ example
!> Не путайте понятия "рабочий стол" и "рабочее окружение". Хотя эти два термина похожи, но значения немного разные.
Хочу заострить ваше внимание на том, что оконный менеджер, панель и некоторые другие компоненты можно использовать и отдельно от рабочего окружения. Например, оконные менеджеры Fluxbox, Openbox, i3-wm, Awesome, Sway и др. используются отдельно от DE. Также существуют отдельные файловые менеджеры, которые так же поставляются отдельно от рабочего окружения.
???+ warning "Предупреждение"
Не путайте понятия "рабочий стол" и "рабочее окружение". Хотя эти два термина похожи, но значения немного разные.
---

View File

@ -4,7 +4,7 @@
Для начала стоит написать о концепции "всё есть файл". Концепция была перенята разработчиками Linux из Unix. Это было сделано для предоставления простого доступа ко всем возможностям ОС, не разрабатывая отдельных костылей. Т.е., преимущество такого принципа в том, что не надо реализовывать отдельный API для каждого устр-ва, в результате чего с ним (с файлом) могут работать все стандартные программы и API-интерфейсы. В Linux есть `корневая ФС` (корневая файловая система), куда монтируются раздел жёсткого диска, где установлена система, другие разделы, флешки, диски, псевдо-ФС и пр. Посмотрите на файл `/etc/os-release`:
```
```bash
file /etc/os-release
```
@ -12,7 +12,7 @@ file /etc/os-release
Самое яркое представление этого принципа - устройства. Просмотрите содержимое каталога /dev:
```
```bash
ls /dev |less
```
@ -20,7 +20,7 @@ ls /dev |less
А теперь просмотрите информацию о каком-нибудь файле в `/dev`:
```
```bash
file /dev/sda2
```
@ -46,7 +46,7 @@ file /dev/sda2
Для того чтобы просмотреть эти файлы, выполните:
```
```bash
ls -l /etc |grep "^-"
```
@ -76,6 +76,7 @@ ls -l /etc |grep "^-"
### LSOF
Список всех открытых файлов можно просмотреть с помощью команды `lsof` - ListOpenFiles. Эта информация поможет узнать о многом происходящем в системе, об устройстве и работе Linux, а также решить проблемы, например, когда вы не можете размонтировать диск из-за того, что устройство используется, но вы не можете найти, какой именно программой.
![lsof](pic/lsof.png)
Вывод `lsof` состоит из нескольких колонок с информацией:
@ -96,7 +97,7 @@ ls -l /etc |grep "^-"
- `-u` - список файлов, открытых конкретным пользователем. Например, список открытых фалов пользователем `liveuser`:
```
```bash
lsof -u liveuser
```
@ -108,11 +109,16 @@ lsof -u liveuser
- `+d` - выяснить, какие папки и файлы открыты в некоей директории (но не в её поддиректориях): `lsof +d /usr/bin`
- `-d` - задать список дескрипторов файлов, разделённых запятой, которые надо включить в вывод или исключить из него
> Список исключается из вывода, если все записи в наборе начинаются со знака `^`. Список будет включён в вывод, если ни одна запись не начинается с `^`. Смешивание записей разных видов не разрешается.
???+ example
Список исключается из вывода, если все записи в наборе начинаются со знака `^`. Список будет включён в вывод, если ни одна запись не начинается с `^`. Смешивание записей разных видов не разрешается.
> В списке может присутствовать диапазон номеров дескрипторов файлов при условии, что ни один из его членов не пуст, оба члена являются числами, и завершающий член больше начального - то есть: «0-7» или «3-10».
???+ note "Обратите внимание"
> Диапазоны могут быть использованы для исключения записей из вывода, если перед ними стоит префикс `^`, то есть - `^0-7` исключает все дескрипторы с 0 по 7.
В списке может присутствовать диапазон номеров дескрипторов файлов при условии, что ни один из его членов не пуст, оба члена являются числами, и завершающий член больше начального - то есть: «0-7» или «3-10».
???+ example
Диапазоны могут быть использованы для исключения записей из вывода, если перед ними стоит префикс `^`, то есть - `^0-7` исключает все дескрипторы с 0 по 7.
- `-p` - вывести все файлы, открытые процессом с указанным при вызове команды PID
- И другие ключи. Перечислять их всех я не вижу смысла. Зайдите [сюда](https://habr.com/ru/company/ruvds/blog/337934/), чтобы узнать больше. И, конечно же, `man lsof`.

View File

@ -99,7 +99,9 @@ sudo chown --from=root:root liveuser:liveuser ./
chgrp опции имя_группы /путь/к/директории
```
> Вместо имени группы можно указать её `GID` (идентификатор группы)
???+ note "Обратите внимание"
Вместо имени группы можно указать её `GID` (идентификатор группы)
### Ключи и опции chgrp
* `-c` `--changes` - подробно описывать действия для каждого файла, чья группа изменяется
@ -229,7 +231,8 @@ chmod опции <категория><действие><флаг> файл
| `764` | всё для владельца, чтение и запись для группы, только чтение для остальных |
| `777` | всем разрешено всё |
!> И тут очень большая опасность. Будьте осторожны при выполнении `chmod` и `chown`. Например, при выполнении `sudo chmod 777 /` вы, по сути, сломаете систему. Ошибка в вводе аргументов команды может привести к очень неожиданным последствиям.
???+ warning "Предупреждение"
И тут очень большая опасность. Будьте осторожны при выполнении `chmod` и `chown`. Например, при выполнении `sudo chmod 777 /` вы, по сути, сломаете систему. Ошибка в вводе аргументов команды может привести к очень неожиданным последствиям.
### Опции и ключи chmod
* `-c` - выводить информацию обо всех изменениях
@ -340,7 +343,8 @@ ls -l $(which chmod)
Так вы вернули бит исполнения программе `chmod`.
!> Настоятельно не рекомендуем производить подобные эксперименты с другими системными файлами!
???+ warning "Предупреждение"
Настоятельно не рекомендуем производить подобные эксперименты с другими системными файлами!
## Смотрите также:
* `man chmod`

View File

@ -34,7 +34,7 @@ GCC, коллекция свободно распространяемых ком
Для кросс-компиляции с GCC необходимо, чтобы была доступна скомпилированная для целевой платформы версия binutils. Особенно важно наличие GNU Assembler. Поэтому binutils должны быть предварительно скомпилированы с ключом --target=some-target, указанным скрипту конфигурирования (англ.). GCC также должна быть указана опция --target с аналогичным содержанием. После этого, чтобы GCC могла использовать полученные binutils, надо поместить путь к ним в переменную окружения path, например:
```
```bash
PATH=/path/to/binutils/bin:${PATH} make
```

View File

@ -163,7 +163,9 @@ mkdir PKG
make DESTDIR=$PWD/PKG install
```
?> Указание переменной `$PWD` в таком случае желательно, если директория для установки находится в папке с исходным кодом, в которой выполняется сборка.
???+ note "Обратите внимание"
Указание переменной `$PWD` в таком случае желательно, если директория для установки находится в папке с исходным кодом, в которой выполняется сборка.
Некоторые системы сборки не поддерживают переменную DESTDIR, но поддерживают что-то аналогичное, например `INSTALL_DIR`. Либо `prefix`. Программы, собранные через qmake, устанавливаются через переменную `INSTALL_ROOT`:

View File

@ -8,13 +8,13 @@
Чтобы узнать, существует ли уже подкачка или нет, выполните:
```
```bash
swapon --show
```
А чтобы просмотреть использование ОЗУ и Swap:
```
```bash
free -m
```
@ -104,7 +104,8 @@ sudo rm /swapfile
### ВАЖНО!!!
!> _Если полностью отключить подкачку, то ОС будет использовать только ОЗУ и в случае его нехватки система может просто зависнуть._
???+ danger "Важно"
_Если полностью отключить подкачку, то ОС будет использовать только ОЗУ и в случае его нехватки система может просто зависнуть._
Ну и пару нужных вещей:

View File

@ -2,7 +2,9 @@
Если оперативной памяти вашего компьютера недостаточно (3 Гб и меньше), то наиболее быстрым способом решения проблемы является использование подкачки, так как компиляция некоторых пакетов требует мощного ПК, в том числе, большого объёма ОЗУ. Для этих целей можно использовать файл или раздел подкачки, но можно и zram.
ействия производятся на хост-системе_
???+ note "Обратите внимание"
ействия производятся на хост-системе_
Для начала нужно загрузить модуль. В системе его может не оказаться, поэтому можно его скомпилировать. Такие дистрибутивы как Ubuntu и прочие предоставляют пакет `zram-config`, в Fedora и Calculate Linux zram активирован по умолчанию.
@ -16,7 +18,7 @@ modprobe zram num_devices=4
Для наиболее оптимального использования CPU стоит учесть: сжатие каждого устройства `zram` однопоточное. Потому создавайте их по количеству ядер.
При настройке модуля задается фиксированный размер НЕ сжатых данных в байтах.
```
```bash
SIZE=1536
echo $(($SIZE*1024*1024)) > /sys/block/zram0/disksize
echo $(($SIZE*1024*1024)) > /sys/block/zram1/disksize
@ -35,7 +37,7 @@ Disk /dev/zram0: 1610 MB, 1610612736 bytes, 393216 sectors
Данные, записанные на него, будут прозрачно сжаты в памяти. Что делать с ним далее — уже ваш выбор, я на этих устройствах создаю разделы подкачки.
```
```bash
mkswap /dev/zram0
mkswap /dev/zram1
mkswap /dev/zram2
@ -49,7 +51,7 @@ swapon /dev/zram3 -p 10
Для того чтобы проверить результат, выполните:
```
```bash
swapon -s
```
@ -59,4 +61,4 @@ swapon -s
Так как с помощью zram подкачка находится в ОЗУ, т.е. данные в нём просто сжимаются, то такая подкачка (swap) даже быстрее обычного файла или раздела на жёстком диске.
[Источник](https://m.habr.com/ru/post/172137/).
[Источник](https://habr.com/ru/post/172137/).

View File

@ -1,38 +0,0 @@
.markdown-section > ul,
.markdown-section > ol,
.markdown-section > p {
font-size: 1.3rem;
line-height: 1.7;
}
li.folder p strong {
cursor: pointer;
}
.pkg {
padding: 0 0 2rem 0;
background: #fefefe;
border-bottom: solid 1px #ccc;
}
.pkg .pkg-desc {
line-height: 1.6;
}
.pkg .pkg-priority {
background-color: #ddd;
padding: 2px 6px;
border-radius: 12px;
}
warn {
border: solid 2px #42b983;
padding: 20px;
display: block;
}
.pre {
padding: 12px 24px !important;
font-size: 0.8rem;
}
/*# sourceMappingURL=styles.css.map */

View File

@ -1,9 +0,0 @@
{
"version": 3,
"mappings": "AAAA,AAAA,iBAAiB,GAAC,EAAE;AACpB,iBAAiB,GAAC,EAAE;AACpB,iBAAiB,GAAC,CAAC,CAAC;EACnB,SAAS,EAAE,MAAM;EACjB,WAAW,EAAE,GACd;CAAC;;AAED,AAAA,EAAE,AAAA,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC;EAClB,MAAM,EAAE,OAAO;CACf;;AAED,AAAA,IAAI,CAAC;EACJ,OAAO,EAAE,UAAU;EACnB,UAAU,EAAE,OAAO;EACnB,aAAa,EAAE,cAAc;CAC7B;;AAED,AAAA,IAAI,CAAC,SAAS,CAAC;EAAE,WAAW,EAAE,GAAG;CAAI;;AACrC,AAAA,IAAI,CAAC,aAAa,CAAC;EAAE,gBAAgB,EAAE,IAAI;EAAE,OAAO,EAAE,OAAO;EAAE,aAAa,EAAE,IAAI;CAAI;;AAEtF,AAAA,IAAI,CAAC;EACJ,MAAM,EAAE,iBAAiB;EACzB,OAAO,EAAE,IAAI;EACb,OAAO,EAAE,KAAK;CACd;;AAED,AAAA,IAAI,CAAC;EACJ,OAAO,EAAE,oBAAoB;EAC7B,SAAS,EAAE,MAAM;CACjB",
"sources": [
"styles.scss"
],
"names": [],
"file": "styles.css"
}

View File

@ -1,30 +0,0 @@
.markdown-section>ul,
.markdown-section>ol,
.markdown-section>p {
font-size: 1.3rem;
line-height: 1.7
}
li.folder p strong {
cursor: pointer;
}
.pkg {
padding: 0 0 2rem 0;
background: #fefefe;
border-bottom: solid 1px #ccc;
}
.pkg .pkg-desc { line-height: 1.6; }
.pkg .pkg-priority { background-color: #ddd; padding: 2px 6px; border-radius: 12px; }
warn {
border: solid 2px #42b983;
padding: 20px;
display: block;
}
.pre {
padding: 12px 24px !important;
font-size: 0.8rem;
}

View File

@ -1,8 +1,12 @@
# Создание загрузочной системы Legacy Boot MBR
!> Если ваша система поддерживает UEFI, вам следует пропустить эту страницу и настроить GRUB с поддержкой UEFI.
???+ warning "Предупреждение"
!> Неправильная настройка GRUB может сделать вашу систему неработоспособной без альтернативного загрузочного устройства, такого как CD-ROM или загрузочный USB-накопитель. Этот раздел не требуется для загрузки вашей созданной системы. вы можете просто изменить свой текущий загрузчик, например, GRUB Legacy, GRUB2 или LILO.
Если ваша система поддерживает UEFI, вам следует пропустить эту страницу и настроить GRUB с поддержкой UEFI.
???+ danger "Важно"
Неправильная настройка GRUB может сделать вашу систему неработоспособной без альтернативного загрузочного устройства, такого как CD-ROM или загрузочный USB-накопитель. Этот раздел не требуется для загрузки вашей созданной системы. вы можете просто изменить свой текущий загрузчик, например, GRUB Legacy, GRUB2 или LILO.
## Соглашения о наименованиях GRUB
@ -22,9 +26,13 @@ GRUB записывает данные на первую физическую д
Установите файлы GRUB в `/boot/grub/` и настройте загрузочную дорожку:
!> Следующая команда перезапишет текущий загрузчик. Не запускайте команду, если это нежелательно, например, при использовании стороннего диспетчера загрузки для управления основной загрузочной записью (MBR).
???+ warning "Предупреждение"
?> Если система была загружена с использованием UEFI, `grub-install` попытается установить файлы для цели `x86_64-efi`, но эти файлы не были установлены. Если это так, добавьте `--target i386-pc` к команде.
Следующая команда перезапишет текущий загрузчик. Не запускайте команду, если это нежелательно, например, при использовании стороннего диспетчера загрузки для управления основной загрузочной записью (MBR).
???+ note "Обратите внимание"
Если система была загружена с использованием UEFI, `grub-install` попытается установить файлы для цели `x86_64-efi`, но эти файлы не были установлены. Если это так, добавьте `--target i386-pc` к команде.
```bash
grub-install /dev/sda
@ -32,11 +40,13 @@ grub-install /dev/sda
## Создание конфигурационного файла
!> Существует команда `grub-mkconfig`, которая может автоматически записывать файл конфигурации. Она использует набор скриптов в `/etc/grub.d/` и уничтожит любые сделанные вами настройки. Эти сценарии предназначены в первую очередь для дистрибутивов без исходного кода и не рекомендуются к использованию. Если вы установите коммерческий дистрибутив Linux, есть большая вероятность, что эта программа будет запущена. Обязательно сделайте резервную копию файла `grub.cfg`.
???+ danger "Важно"
Существует команда `grub-mkconfig`, которая может автоматически записывать файл конфигурации. Она использует набор скриптов в `/etc/grub.d/` и уничтожит любые сделанные вами настройки. Эти сценарии предназначены в первую очередь для дистрибутивов без исходного кода и не рекомендуются к использованию. Если вы установите коммерческий дистрибутив Linux, есть большая вероятность, что эта программа будет запущена. Обязательно сделайте резервную копию файла `grub.cfg`.
Создайте файл `/boot/grub/grub.cfg`:
<pre class="pre">
```
cat > /boot/grub/grub.cfg << "EOF"
# Begin /boot/grub/grub.cfg
set default=0
@ -49,9 +59,10 @@ menuentry "GNU/Linux, Linux" {
linux /boot/vmlinuz root=/dev/sda2 ro
}
EOF
```
</pre>
???+ note "Обратите внимание"
?> Для GRUB файлы ядра относятся к используемому разделу. Если вы использовали отдельный раздел /boot, удалите /boot из указанной выше строки linux. Вам также нужно будет изменить строку установленного корня, чтобы она указывала на загрузочный раздел.
Для GRUB файлы ядра относятся к используемому разделу. Если вы использовали отдельный раздел /boot, удалите /boot из указанной выше строки linux. Вам также нужно будет изменить строку установленного корня, чтобы она указывала на загрузочный раздел.
GRUB - чрезвычайно мощная программа, которая предоставляет огромное количество вариантов загрузки с самых разных устройств, операционных систем и типов разделов. Существует также множество опций для настройки, таких как графические заставки, воспроизведение звуков, ввод мыши и т.д.

View File

@ -1,6 +1,8 @@
# Создание загрузочной системы EFI
!> Отключите `secure boot`! На данный момент `secure boot` не поддерживается. Чтобы настроить процесс загрузки с помощью GRUB для UEFI, необходимо отключить её в интерфейсе конфигурации прошивки. Прочтите документацию, предоставленную производителем вашей системы, чтобы узнать, как это сделать.
???+ warning "Предупреждение"
Отключите `secure boot`! На данный момент эта технология не поддерживается. Чтобы настроить процесс загрузки с помощью GRUB для UEFI, необходимо отключить её в интерфейсе конфигурации прошивки. Прочтите документацию, предоставленную производителем вашей системы, чтобы узнать, как это сделать.
Убедитесь, что вы не пропустили раздел по настройке ядра, для поддержки <a href="#/kernel/kernel-setup?id=efi">EFI</a>.
@ -25,7 +27,9 @@ fdisk -l /dev/sda
Если система или жёсткий диск новые, или если вы впервые устанавливаете ОС, загружаемую через `UEFI`, `ESP` может не существовать. В этом случае создайте новый раздел, создайте на нем файловую систему `vfat` и установите тип раздела `EFI system`.
!> Некоторые (старые) реализации `UEFI` могут требовать, чтобы ESP был первым разделом на диске.
???+ bug
Некоторые (старые) реализации `UEFI` могут требовать, чтобы ESP был первым разделом на диске.
Создайте точку монтирования для `ESP` и смонтируйте ее (замените `sda1` на соответствующий `ESP`):
@ -58,7 +62,9 @@ efivarfs /sys/firmware/efi/efivars efivarfs defaults 0 0
EOF
```
!> Если система не загружается с UEFI, каталог `/sys/firmware/efi` будет отсутствовать. В этом случае вы должны загрузить систему в режиме `UEFI` с аварийным загрузочным диском.
???+ note "Обратите внимание"
Если система не загружается с UEFI, каталог `/sys/firmware/efi` будет отсутствовать. В этом случае вы должны загрузить систему в режиме `UEFI` с аварийным загрузочным диском.
## Настройка
@ -133,7 +139,9 @@ EOF
`(hd0,2)`, `sda2` следует заменить в соответствии с вашей конфигурацией.
?> Для GRUB файлы используются относительно раздела. Если вы использовали отдельный раздел `/boot`, удалите `/boot` из указанных выше путей (к ядру и к unicode.pf2). Вам также нужно будет изменить строку корневого раздела, чтобы она указывала на загрузочный раздел.
???+ note "Обратите внимание"
Для GRUB файлы используются относительно раздела. Если вы использовали отдельный раздел `/boot`, удалите `/boot` из указанных выше путей (к ядру и к unicode.pf2). Вам также нужно будет изменить строку корневого раздела, чтобы она указывала на загрузочный раздел.
## Загрузка вместе с Windows

View File

@ -1,40 +1,56 @@
<pkg :name="'acl'" instsize showsbu2></pkg>
{{ include('../packages/acl/README.md') }}
## Настройка
[filename](../packages/acl/configure ':include')
```bash
{{ include('../packages/acl/configure') }}
```
## Сборка
[filename](../packages/acl/build ':include')
```bash
{{ include('../packages/acl/build') }}
```
## Установка
[filename](../packages/acl/install ':include')
```bash
{{ include('../packages/acl/install') }}
```
## При раздельной структуре каталогов
Добавьте к скрипту `configure` опцию `--bindir=/bin`.
[filename](../packages/acl/cldirs ':include')
```bash
{{ include('../packages/acl/cldirs') }}
```
## Для multilib
### Очистка
[filename](../packages/acl/multi_prepare ':include')
```bash
{{ include('../packages/acl/multi_prepare') }}
```
### Настройка
[filename](../packages/acl/multi_configure ':include')
```bash
{{ include('../packages/acl/multi_configure') }}
```
### Сборка
[filename](../packages/acl/multi_build ':include')
```bash
{{ include('../packages/acl/multi_build') }}
```
### Установка
[filename](../packages/acl/multi_install ':include')
```bash
{{ include('../packages/acl/multi_install') }}
```
## Установленные файлы
@ -42,6 +58,4 @@
Библиотеки: `libacl.so`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,46 +1,66 @@
<pkg :name="'attr'" instsize showsbu2></pkg>
{{ include('../packages/attr/README.md') }}
## Настройка
[filename](../packages/attr/configure ':include')
```bash
{{ include('../packages/attr/configure') }}
```
## Сборка
[filename](../packages/attr/build ':include')
```bash
{{ include('../packages/attr/build') }}
```
## Тестирование
!> Тестирование нужно производить на файловой системе, поддерживающей расширенные атрибуты. Например, ext2-ext4.
???+ warning "Предупреждение"
[filename](../packages/attr/test ':include')
Тестирование нужно производить на файловой системе, поддерживающей расширенные атрибуты. Например, ext2-ext4.
```bash
{{ include('../packages/attr/test') }}
```
## Установка
[filename](../packages/attr/install ':include')
```bash
{{ include('../packages/attr/install') }}
```
## При раздельной структуре каталогов
Добавьте к скрипту `configure` опцию `--bindir=/bin`.
[filename](../packages/attr/cldirs ':include')
```bash
{{ include('../packages/attr/cldirs') }}
```
## Для multilib
### Очистка
[filename](../packages/attr/multi_prepare ':include')
```bash
{{ include('../packages/attr/multi_prepare') }}
```
### Настройка
[filename](../packages/attr/multi_configure ':include')
```bash
{{ include('../packages/attr/multi_configure') }}
```
### Сборка
[filename](../packages/attr/multi_build ':include')
```bash
{{ include('../packages/attr/multi_build') }}
```
### Установка
[filename](../packages/attr/multi_install ':include')
```bash
{{ include('../packages/attr/multi_install') }}
```
## Установленные файлы
@ -48,6 +68,4 @@
Библиотеки: `libattr.so`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,23 +1,31 @@
<pkg :name="'autoconf'" instsize showsbu2></pkg>
{{ include('../packages/autoconf/README.md') }}
## Настройка
[filename](../packages/autoconf/configure ':include')
```bash
{{ include('../packages/autoconf/configure') }}
```
## Сборка
[filename](../packages/autoconf/build ':include')
```bash
{{ include('../packages/autoconf/build') }}
```
## Тестирование
[filename](../packages/autoconf/test ':include')
```bash
{{ include('../packages/autoconf/test') }}
```
?> Если у вас несколько ядер процессора, то можно значительно (иногда более чем на 60%) сократить время выполнения тестирования. Перед выполнением тестов объявите переменную: `TESTSUITEFLAGS=-j<N>`, где `<N>` - число ядер ЦП.
???+ note "Обратите внимание"
Если у вас несколько ядер процессора, то можно значительно (иногда более чем на 60%) сократить время выполнения тестирования. Перед выполнением тестов объявите переменную: `TESTSUITEFLAGS=-j<N>`, где `<N>` - число ядер ЦП.
## Установка
[filename](../packages/autoconf/install ':include')
```bash
{{ include('../packages/autoconf/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,27 +1,35 @@
<pkg :name="'automake'" instsize showsbu2></pkg>
{{ include('../packages/automake/README.md') }}
## Настройка
Внесите исправление для некорректного теста:
[filename](../packages/automake/prepare ':include')
[filename](../packages/automake/configure ':include')
```bash
{{ include('../packages/automake/prepare') }}
```
```bash
{{ include('../packages/automake/configure') }}
```
## Сборка
[filename](../packages/automake/build ':include')
```bash
{{ include('../packages/automake/build') }}
```
## Тестирование
[filename](../packages/automake/test ':include')
```bash
{{ include('../packages/automake/test') }}
```
?> Известно, что тесты `t/subobj.sh`, `t/deprecated-acinit.sh` и `t/init.sh` не проходят в LX4.
???+ warning "Предупреждение"
Известно, что тесты `t/subobj.sh`, `t/deprecated-acinit.sh` и `t/init.sh` не проходят в LX4.
## Установка
[filename](../packages/automake/install ':include')
```bash
{{ include('../packages/automake/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,14 +1,19 @@
<pkg :name="'bash'" instsize showsbu2></pkg>
{{ include('../packages/bash/README.md') }}
## Подготовка
Для многоядерных процессоров внесите исправление, которое устраняет проблему "состояния гонки" при использовании нескольких ядер.
[filename](../packages/bash/prepare ':include')
```bash
{{ include('../packages/bash/prepare') }}
```
## Настройка
[filename](../packages/bash/configure ':include')
```bash
{{ include('../packages/bash/configure') }}
```
### Значения параметров
@ -18,23 +23,31 @@
## Сборка
[filename](../packages/bash/build ':include')
```bash
{{ include('../packages/bash/build') }}
```
## Тестирование
Для корректного выполнения тестов, сделайте пользователя `tester` владельцем каталога и запустите тесты от пользователя `tester`
[filename](../packages/bash/test ':include')
```bash
{{ include('../packages/bash/test') }}
```
## Установка
[filename](../packages/bash/install ':include')
```bash
{{ include('../packages/bash/install') }}
```
## При раздельной структуре каталогов
Создайте ссылку на нужный бинарный файл.
[filename](../packages/bash/cldirs ':include')
```bash
{{ include('../packages/bash/cldirs') }}
```
`bash` должен находиться в `/bin`. Для упрощённой структуры этого делать не требуется.
@ -45,7 +58,3 @@
```bash
exec /bin/bash --login +h
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,31 @@
<pkg :name="'bc'" instsize showsbu2></pkg>
{{ include('../packages/bc/README.md') }}
## Настройка
[filename](../packages/bc/configure ':include')
```bash
{{ include('../packages/bc/configure') }}
```
## Сборка
[filename](../packages/bc/build ':include')
```bash
{{ include('../packages/bc/build') }}
```
## Тестирование
[filename](../packages/bc/test ':include')
```bash
{{ include('../packages/bc/test') }}
```
## Установка
[filename](../packages/bc/install ':include')
```bash
{{ include('../packages/bc/install') }}
```
## Установленные файлы
Программы: `bc` и `dc`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,10 +1,12 @@
<pkg :name="'binutils'" instsize showsbu2></pkg>
{{ include('../packages/binutils/README.md') }}
## Подготовка
Удалите проблемный тест:
[filename](../packages/binutils/prepare ':include')
```bash
{{ include('../packages/binutils/prepare') }}
```
<!-- temp solution TODO: Remove in next versions -->
Ошибка в системе сборки приводит к тому, что страницы руководства становятся пустыми. Можно обойти проблему, чтобы страницы руководства были созданы правильно:
@ -16,11 +18,15 @@ find -name \*.1 -delete
## Настройка
[filename](../packages/binutils/configure ':include')
```bash
{{ include('../packages/binutils/configure') }}
```
### Для multilib
[filename](../packages/binutils/multi_configure ':include')
```bash
{{ include('../packages/binutils/multi_configure') }}
```
### Значения параметров
@ -36,22 +42,31 @@ find -name \*.1 -delete
## Сборка
[filename](../packages/binutils/build ':include')
```bash
{{ include('../packages/binutils/build') }}
```
## Тестирование
[filename](../packages/binutils/test ':include')
<package-script :package="'binutils'" :type="'test'"></package-script>
```bash
{{ include('../packages/binutils/test') }}
```
?> Известно, что четыре теста с меткой `Run property ...` могут дать сбои.
???+ warning "Предупреждение"
Известно, что четыре теста с меткой `Run property ...` могут дать сбои.
## Установка
[filename](../packages/binutils/install ':include')
```bash
{{ include('../packages/binutils/install') }}
```
Удалите бесполезные статические библиотеки:
[filename](../packages/binutils/postinstall ':include')
```bash
{{ include('../packages/binutils/postinstall') }}
```
## Установленные файлы
@ -60,7 +75,3 @@ find -name \*.1 -delete
Библиотеки: libbfd.so, libctf.so, libctf-nobfd.so и libopcodes.so
Директории: /usr/lib/ldscripts
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,23 +1,29 @@
<pkg :name="'bison'" instsize showsbu2></pkg>
{{ include('../packages/bison/README.md') }}
## Настройка
[filename](../packages/bison/configure ':include')
```bash
{{ include('../packages/bison/configure') }}
```
## Сборка
[filename](../packages/bison/build ':include')
```bash
{{ include('../packages/bison/build') }}
```
## Тестирование
[filename](../packages/bison/test ':include')
```bash
{{ include('../packages/bison/test') }}
```
> Добавляет примерно 5,5 SBU к общему времени установки пакета
## Установка
[filename](../packages/bison/install ':include')
```bash
{{ include('../packages/bison/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -2,4 +2,6 @@
Инструкции по установке `GRUB`, наиболее популярного системного загрузчика, будут сильно отличаться в зависимости от того, используете вы UEFI или Legacy BIOS boot.
?> вы можете использовать другой загрузчик, например, LILO, Syslinux или systemd-boot.
???+ note "Обратите внимание"
Вы можете использовать другой загрузчик, например, LILO, Syslinux или systemd-boot.

View File

@ -4,4 +4,6 @@
В данном разделе пойдёт речь об установке загрузчика GRUB2 на UEFI.
!> Если у вас обычный BIOS, пропустите этот раздел, перейдя к [BIOS](/build-system/boot/bios.md).
???+ warning "Предупреждение"
Если у вас обычный BIOS, пропустите этот раздел, перейдя к [BIOS](/build-system/boot/bios.md).

View File

@ -1,17 +1,23 @@
<pkg :name="'efibootmgr'" instsize showsbu2></pkg>
{{ include('../packages/efibootmgr/README.md') }}
## Подготовка
Исправьте ошибку сборки:
<package-script :package="'efibootmgr'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/efibootmgr/prepare') }}
```
## Сборка
<package-script :package="'efibootmgr'" :type="'build'"></package-script>
```bash
{{ include('../packages/efibootmgr/build') }}
```
## Установка
<package-script :package="'efibootmgr'" :type="'install'"></package-script>
```bash
{{ include('../packages/efibootmgr/install') }}
```
## Значения новых команд
@ -19,6 +25,4 @@
- `EFI_LOADER=grubx64.efi`- указывает имя загрузчика EFI по умолчанию.
- `sbindir=/usr/bin` - установить `efibootmgr` в /usr/bin.
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,35 +1,21 @@
<pkg :name="'efivar'" instsize showsbu2></pkg>
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
{{ include('../packages/efivar/README.md') }}
## Подготовка
Примените патч, исправляющий ошибку сборки новыми версиями GCC:
<package-script :package="'efivar'" :type="'patch'"></package-script>
```bash
{{ include('../packages/efivar/patch') }}
```
## Сборка
<package-script :package="'efivar'" :type="'build'"></package-script>
```bash
{{ include('../packages/efivar/build') }}
```
## Установка
<package-script :package="'efivar'" :type="'install'"></package-script>
<script>
new Vue({
el: '#main',
data: { package: {}, patch: {} },
mounted: function () {
this.getPatch();
},
methods: {
getPatch: function() {
getPackage('efivar-patch')
.then(response => this.patch = response);
},
}
})
</script>
```bash
{{ include('../packages/efivar/install') }}
```

View File

@ -1,4 +1,4 @@
<pkg :name="'grub'" instsize showsbu2></pkg>
{{ include('../packages/grub/README.md') }}
## Дополнительные необходимые файлы
@ -8,11 +8,15 @@ https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.p
Установите шрифт, используемый grub:
<package-script :package="'grub'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/grub/prepare') }}
```
## Настройка
<package-script :package="'grub'" :type="'configure'"></package-script>
```bash
{{ include('../packages/grub/configure') }}
```
## Значения параметров
@ -24,12 +28,14 @@ https://unifoundry.com/pub/unifont/unifont-13.0.06/font-builds/unifont-13.0.06.p
## Сборка
<package-script :package="'grub'" :type="'build'"></package-script>
```bash
{{ include('../packages/grub/build') }}
```
## Установка
<package-script :package="'grub'" :type="'install'"></package-script>
```bash
{{ include('../packages/grub/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'grub'" instsize showsbu2></pkg>
{{ include('../packages/grub/README.md') }}
## Настройка
<package-script :package="'grub'" :type="'configure-mbr'"></package-script>
```bash
{{ include('../packages/grub/configure-mbr') }}
```
## Значения параметров
@ -10,12 +12,14 @@
## Сборка
<package-script :package="'grub'" :type="'build'"></package-script>
```bash
{{ include('../packages/grub/build') }}
```
## Установка
<package-script :package="'grub'" :type="'install-mbr'"></package-script>
```bash
{{ include('../packages/grub/install-mbr') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -2,4 +2,6 @@
В этой главе мы приступаем к сборке конечной Linux системы.
!> Прежде чем приступить к работе, проверьте, что выполнен [вход в окружение chroot](build-temp-system/enter-in-chroot.md).
???+ warning "Предупреждение"
Прежде чем приступить к работе, проверьте, что выполнен [вход в окружение chroot](build-temp-system/enter-in-chroot.md).

View File

@ -1,52 +1,67 @@
<pkg :name="'bzip2'" instsize showsbu2></pkg>
{{ include('../packages/bzip2/README.md') }}
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
## Подготовка
Примените патч для правильной установки документации:
[filename](../packages/bzip2/patch ':include')
```bash
{{ include('../packages/bzip2/patch') }}
```
Убедитесь, что будут созданы относительные символические ссылки, и исправьте путь установки man-страниц:
[filename](../packages/bzip2/prepare ':include')
```bash
{{ include('../packages/bzip2/prepare') }}
```
## Сборка
Для сборки динамической библиотеки `libbz2.so` и самого пакета:
[filename](../packages/bzip2/build ':include')
```bash
{{ include('../packages/bzip2/build') }}
```
## Установка
[filename](../packages/bzip2/install ':include')
```bash
{{ include('../packages/bzip2/install') }}
```
Создайте необходимые символические ссылки:
[filename](../packages/bzip2/postinstall ':include')
```bash
{{ include('../packages/bzip2/postinstall') }}
```
> Если вы собираете систему с раздельной структурой каталогов, то пропустите шаг с созданием ссылок, перейдя к следующему.
## При раздельной структуре каталогов
[filename](../packages/bzip2/cldirs ':include')
```bash
{{ include('../packages/bzip2/cldirs') }}
```
## Для multilib
### Очистка
[filename](../packages/bzip2/multi_prepare ':include')
```bash
{{ include('../packages/bzip2/multi_prepare') }}
```
### Сборка
[filename](../packages/bzip2/multi_build ':include')
```bash
{{ include('../packages/bzip2/multi_build') }}
```
### Установка
[filename](../packages/bzip2/multi_install ':include')
```bash
{{ include('../packages/bzip2/multi_install') }}
```
## Установленные файлы
@ -79,24 +94,3 @@
`bzmore` - работает больше с файлами, сжатыми с помощью bzip
`libbz2` - библиотека, реализующая сжатие данных без потерь с сортировкой по блокам с использованием алгоритма Берроуза-Уиллера.
<script>
new Vue({
el: '#main',
data: { package: {}, patch: {} },
mounted: function () {
this.getPackage('bzip2');
this.getPatch();
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
},
getPatch: function() {
getPackage('bzip2-patch')
.then(response => this.patch = response);
},
}
})
</script>

View File

@ -1,23 +1,29 @@
<pkg :name="'check'" instsize showsbu2></pkg>
{{ include('../packages/check/README.md') }}
## Настройка
[filename](../packages/check/configure ':include')
```bash
{{ include('../packages/check/configure') }}
```
## Сборка
[filename](../packages/check/build ':include')
```bash
{{ include('../packages/check/build') }}
```
## Тестирование
[filename](../packages/check/test ':include')
```bash
{{ include('../packages/check/test') }}
```
> Тесты добавляют 4 SBU ко всему времени установки пакета.
## Установка
[filename](../packages/check/install ':include')
```bash
{{ include('../packages/check/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -12,7 +12,9 @@ rm -rf /tmp/*
logout
```
[filename](../scripts/chroot.md ':include')
```bash
{{ include('../scripts/chroot.sh') }}
```
Файлы `.la` потеряли свою актуальность и могут вызвать проблемы при обновлении. Удалите их:
@ -41,6 +43,7 @@ userdel -r tester
Вы можете удалить ненужные символы из исполняемых файлов:
```bash
save_usrlib="$(cd /usr/lib; ls ld-linux*)
libc.so.6
@ -104,6 +107,3 @@ find /usr/lib32 -type f -name \*.so* ! -name \*dbg \
-exec strip --strip-unneeded {} ';'
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,24 +1,29 @@
<pkg :name="'coreutils'" instsize showsbu2></pkg>
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
{{ include('../packages/coreutils/README.md') }}
## Подготовка
Примените необязательный патч для поддержки локализации:
[filename](../packages/coreutils/patch ':include')
```bash
{{ include('../packages/coreutils/patch') }}
```
!> В этом патче могут встречаться баги. При обнаружении новых ошибок обязательно отошлите отчёт об этом сопровождающим `coreutils`, перед этим проверив, воспроизводима ли ошибка без этого патча.
???+ bug
В этом патче могут встречаться баги. При обнаружении новых ошибок обязательно отошлите отчёт об этом сопровождающим `coreutils`, перед этим проверив, воспроизводима ли ошибка без этого патча.
Удалите проблемный тест:
[filename](../packages/coreutils/prepare ':include')
```bash
{{ include('../packages/coreutils/prepare') }}
```
## Настройка
[filename](../packages/coreutils/configure ':include')
```bash
{{ include('../packages/coreutils/configure') }}
```
### Значения параметров
@ -28,40 +33,34 @@
## Сборка
[filename](../packages/coreutils/build ':include')
```bash
{{ include('../packages/coreutils/build') }}
```
## Тестирование
[filename](../packages/coreutils/test ':include')
```bash
{{ include('../packages/coreutils/test') }}
```
?> Известно, что тест `test-getlogin` не проходит в LX4.
???+ warning "Предупреждение"
Известно, что тест `test-getlogin` не проходит в LX4.
## Установка
[filename](../packages/coreutils/install ':include')
```bash
{{ include('../packages/coreutils/install') }}
```
## При раздельной структуре каталогов
[filename](../packages/coreutils/cldirs ':include')
```bash
{{ include('../packages/coreutils/cldirs') }}
```
## Установленные файлы
Программы: [, b2sum, base32, base64, basename, basenc, cat, chcon, chgrp, chmod, chown, chroot, cksum, comm, cp, csplit, cut, date, dd, df, dir, dircolors, dirname, du, echo, env, expand, expr, factor, false, fmt, fold, groups, head, hostid, id, install, join, link, ln, logname, ls, md5sum, mkdir, mkfifo, mknod, mktemp, mv, nice, nl, nohup, nproc, numfmt, od, paste, pathchk, pinky, pr, printenv, printf, ptx, pwd, readlink, realpath, rm, rmdir, runcon, seq, sha1sum, sha224sum, sha256sum, sha384sum, sha512sum, shred, shuf, sleep, sort, split, stat, stdbuf, stty, sum, sync, tac, tail, tee, test, timeout, touch, tr, true, truncate, tsort, tty, uname, unexpand, uniq, unlink, users, vdir, wc, who, whoami и yes
Библиотеки: libstdbuf.so (в /usr/libexec/coreutils)
<script>
new Vue({
el: '#main',
data: { patch: {} },
mounted: function () {
this.getPatch();
},
methods: {
getPatch: function() {
getPackage('coreutils-patch')
.then(response => this.patch = response);
},
}
})
</script>

View File

@ -1,20 +1,26 @@
<pkg :name="'dejagnu'" instsize showsbu2></pkg>
{{ include('../packages/dejagnu/README.md') }}
[filename](../shared/test-pkgs.md ':include')
{{ include('../shared/test-pkgs.md') }}
## Настройка
[filename](../packages/dejagnu/configure ':include')
```bash
{{ include('../packages/dejagnu/configure') }}
```
## Сборка и установка
[filename](../packages/dejagnu/install ':include')
```bash
{{ include('../packages/dejagnu/install') }}
```
## Тестирование
[filename](../packages/dejagnu/test ':include')
<package-script :package="'dejagnu'" :type="'test'"></package-script>
```bash
{{ include('../packages/dejagnu/test') }}
```
```bash
{{ include('../packages/dejagnu/test') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,21 +1,27 @@
<pkg :name="'diffutils'" instsize showsbu2></pkg>
{{ include('../packages/diffutils/README.md') }}
## Настройка
[filename](../packages/diffutils/configure ':include')
```bash
{{ include('../packages/diffutils/configure') }}
```
## Сборка
[filename](../packages/diffutils/build ':include')
```bash
{{ include('../packages/diffutils/build') }}
```
## Тестирование
[filename](../packages/diffutils/test ':include')
```bash
{{ include('../packages/diffutils/test') }}
```
## Установка
[filename](../packages/diffutils/install ':include')
```bash
{{ include('../packages/diffutils/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,17 +1,21 @@
<pkg :name="'dosfstools'" instsize showsbu2></pkg>
{{ include('../packages/dosfstools/README.md') }}
## Настройка
<package-script :package="'dosfstools'" :type="'configure'"></package-script>
```bash
{{ include('../packages/dosfstools/configure') }}
```
## Сборка
<package-script :package="'dosfstools'" :type="'build'"></package-script>
```bash
{{ include('../packages/dosfstools/build') }}
```
## Установка
<package-script :package="'dosfstools'" :type="'install'"></package-script>
```bash
{{ include('../packages/dosfstools/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'e2fsprogs'" instsize showsbu2></pkg>
{{ include('../packages/e2fsprogs/README.md') }}
## Настройка
[filename](../packages/e2fsprogs/configure ':include')
```bash
{{ include('../packages/e2fsprogs/configure') }}
```
## При раздельной структуре каталогов
@ -20,28 +22,38 @@
## Сборка
[filename](../packages/e2fsprogs/build ':include')
```bash
{{ include('../packages/e2fsprogs/build') }}
```
## Тестирование
[filename](../packages/e2fsprogs/test ':include')
```bash
{{ include('../packages/e2fsprogs/test') }}
```
> Тесты могут занять довольно продолжительное время на HDD (около 4 SBU). На SSD же это будет быстрее - 1,5 SBU.
?> Тест `m_rootdir_acl` может дать сбой.
???+ warning "Предупреждение"
Тест `m_rootdir_acl` может дать сбой.
## Установка
[filename](../packages/e2fsprogs/install ':include')
```bash
{{ include('../packages/e2fsprogs/install') }}
```
Пакет установит запакованный файл .info и не обновит системный файл dir. Распакуйте файл и обновите файл dir, выполнив следующую команду:
[filename](../packages/e2fsprogs/postinstall ':include')
```bash
{{ include('../packages/e2fsprogs/postinstall') }}
```
При необходимости создайте и установите дополнительную документацию выполнив следующие команды:
[filename](../packages/e2fsprogs/install-doc ':include')
```bash
{{ include('../packages/e2fsprogs/install-doc') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,20 +1,30 @@
<pkg :name="'emacs'" instsize showsbu2></pkg>
{{ include('../packages/emacs/README.md') }}
## Настройка
<package-script :package="'emacs'" :type="'configure'"></package-script>
```bash
{{ include('../packages/emacs/configure') }}
```
## Сборка
<package-script :package="'emacs'" :type="'build'"></package-script>
```bash
{{ include('../packages/emacs/build') }}
```
## Установка
<package-script :package="'emacs'" :type="'install'"></package-script>
```bash
{{ include('../packages/emacs/install') }}
```
!> Emacs устанавливает файлы иконок в `/usr/share/icons/hicolor`. После того, как вы скомпилируете Xorg/Wayland и GTK+ 2.24.33 или 3.24.25, вы можете улучшить производительность и использование памяти, обновив файл `/usr/share/icons/hicolor/index.theme`. Выполните:
???+ info
<package-script :package="'emacs'" :type="'postinstall'"></package-script>
Emacs устанавливает файлы иконок в `/usr/share/icons/hicolor`. После того, как вы скомпилируете Xorg/Wayland и GTK+ 2.24.33 или 3.24.25, вы можете улучшить производительность и использование памяти, обновив файл `/usr/share/icons/hicolor/index.theme`. Выполните:
```bash
{{ include('../packages/emacs/postinstall') }}
```
## Установленные файлы
@ -22,6 +32,4 @@
- **Установленные библиотеки:** нет
- **Установленные директории:** `/usr/libexec/emacs`, `/usr/share/emacs` и `/var/games/emacs`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,43 +1,59 @@
<pkg :name="'expat'" instsize showsbu2></pkg>
{{ include('../packages/expat/README.md') }}
## Настройка
<package-script :package="'expat'" :type="'configure'"></package-script>
```bash
{{ include('../packages/expat/configure') }}
```
## Сборка
<package-script :package="'expat'" :type="'build'"></package-script>
```bash
{{ include('../packages/expat/build') }}
```
## Тестирование
<package-script :package="'expat'" :type="'test'"></package-script>
```bash
{{ include('../packages/expat/test') }}
```
## Установка
<package-script :package="'expat'" :type="'install'"></package-script>
```bash
{{ include('../packages/expat/install') }}
```
## Установка документации
<package-script :package="'expat'" :type="'install-doc'"></package-script>
```bash
{{ include('../packages/expat/install-doc') }}
```
## Для multilib
### Очистка
<package-script :package="'expat'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/expat/multi_prepare') }}
```
### Настройка
<package-script :package="'expat'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/expat/multi_configure') }}
```
### Сборка
<package-script :package="'expat'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/expat/multi_build') }}
```
### Установка
<package-script :package="'expat'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/expat/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,23 +1,29 @@
<pkg :name="'expect'" instsize showsbu2></pkg>
{{ include('../packages/expect/README.md') }}
[filename](../shared/test-pkgs.md ':include')
{{ include('../shared/test-pkgs.md') }}
## Настройка
[filename](../packages/expeсt/configure ':include')
```bash
{{ include('../packages/expect/configure') }}
```
## Сборка
[filename](../packages/expect/build ':include')
```bash
{{ include('../packages/expect/build') }}
```
## Тестирование
[filename](../packages/expect/test ':include')
```bash
{{ include('../packages/expect/test') }}
```
## Установка
[filename](../packages/expect/install ':include')
```bash
{{ include('../packages/expect/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,20 +1,28 @@
<pkg :name="'file'" instsize showsbu2></pkg>
{{ include('../packages/file/README.md') }}
## Настройка
<package-script :package="'file'" :type="'configure'"></package-script>
```bash
{{ include('../packages/file/configure') }}
```
## Сборка
<package-script :package="'file'" :type="'build'"></package-script>
```bash
{{ include('../packages/file/build') }}
```
## Тестирование
<package-script :package="'file'" :type="'test'"></package-script>
```bash
{{ include('../packages/file/test') }}
```
## Установка
<package-script :package="'file'" :type="'install'"></package-script>
```bash
{{ include('../packages/file/install') }}
```
## Установленные файлы
@ -22,6 +30,4 @@
Библиотеки: libmagic.so
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'findutils'" instsize showsbu2></pkg>
{{ include('../packages/findutils/README.md') }}
## Настройка
[filename](../packages/findutils/configure ':include')
```bash
{{ include('../packages/findutils/configure') }}
```
### Значения параметров
@ -10,20 +12,26 @@
## Сборка
[filename](../packages/findutils/build ':include')
```bash
{{ include('../packages/findutils/build') }}
```
## Тестирование
[filename](../packages/findutils/test ':include')
```bash
{{ include('../packages/findutils/test') }}
```
## Установка
[filename](../packages/findutils/install ':include')
```bash
{{ include('../packages/findutils/install') }}
```
## При раздельной структуре каталогов
[filename](../packages/findutils/cldirs ':include')
```bash
{{ include('../packages/findutils/cldirs') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,24 +1,34 @@
<pkg :name="'flex'" instsize showsbu2></pkg>
{{ include('../packages/flex/README.md') }}
## Настройка
<package-script :package="'flex'" :type="'configure'"></package-script>
```bash
{{ include('../packages/flex/configure') }}
```
## Сборка
<package-script :package="'flex'" :type="'build'"></package-script>
```bash
{{ include('../packages/flex/build') }}
```
## Тестирование
<package-script :package="'flex'" :type="'test'"></package-script>
```bash
{{ include('../packages/flex/test') }}
```
## Установка
<package-script :package="'flex'" :type="'install'"></package-script>
```bash
{{ include('../packages/flex/install') }}
```
Некоторые программы обращаются к `lex`, а не `flex`, поэтому создайте ссылку:
<package-script :package="'flex'" :type="'postinstall'"></package-script>
```bash
{{ include('../packages/flex/postinstall') }}
```
## Установленные файлы
@ -26,6 +36,4 @@
Библиотеки: `libfl.so`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,37 +1,51 @@
<pkg :name="'freetype'" instsize showsbu2></pkg>
{{ include('../packages/freetype/README.md') }}
## Настройка
?> В руководстве extra, данный пакет следует переустановить после установки `harfbuzz` из-за циклической зависимости.
???+ note "Обратите внимание"
<package-script :package="'freetype'" :type="'configure'"></package-script>
В руководстве extra, данный пакет следует переустановить после установки `harfbuzz` из-за циклической зависимости.
```bash
{{ include('../packages/freetype/configure') }}
```
## Сборка
<package-script :package="'freetype'" :type="'build'"></package-script>
```bash
{{ include('../packages/freetype/build') }}
```
## Установка
<package-script :package="'freetype'" :type="'install'"></package-script>
```bash
{{ include('../packages/freetype/install') }}
```
## Для multilib
### Очистка
<package-script :package="'freetype'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/freetype/multi_prepare') }}
```
### Настройка
<package-script :package="'freetype'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/freetype/multi_configure') }}
```
### Сборка
<package-script :package="'freetype'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/freetype/multi_build') }}
```
### Установка
<package-script :package="'freetype'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/freetype/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,30 +1,41 @@
<pkg :name="'gawk'" instsize showsbu2></pkg>
{{ include('../packages/gawk/README.md') }}
## Подготовка
Следует убедиться, что ненужные файлы не будут установлены
<package-script :package="'gawk'" :type="'prepare'"></package-script>
Следует убедиться, что ненужные файлы не будут установлены:
```bash
{{ include('../packages/gawk/prepare') }}
```
## Настройка
<package-script :package="'gawk'" :type="'configure'"></package-script>
```bash
{{ include('../packages/gawk/configure') }}
```
## Сборка
<package-script :package="'gawk'" :type="'build'"></package-script>
```bash
{{ include('../packages/gawk/build') }}
```
## Тестирование
<package-script :package="'gawk'" :type="'test'"></package-script>
```bash
{{ include('../packages/gawk/test') }}
```
## Установка
<package-script :package="'gawk'" :type="'install'"></package-script>
```bash
{{ include('../packages/gawk/install') }}
```
## Установка документации
<package-script :package="'gawk'" :type="'install-doc'"></package-script>
```bash
{{ include('../packages/gawk/install-doc') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,36 +1,28 @@
<pkg :name="'gcc'" instsize showsbu2></pkg>
<script>
new Vue({
el: '#main',
data: { package: {} },
mounted: function () {
this.getPackage('gcc');
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
},
}
})
</script>
{{ include('../packages/gcc/README.md') }}
## Подготовка
Исправьте пути установки библиотек:
[filename](../packages/gcc/prepare ':include')
```bash
{{ include('../packages/gcc/prepare') }}
```
## Настройка
?> На данном этапе необходимы только компиляторы для C и C++, однако вы можете собрать компиляторы для любых поддерживаемых GCC языков программирования, перечислив их через запятые в опции configure `--enable-languages=c,c++`. GCC поддерживает следующие языки - `c,c++,d,fortran,go,objc,obj-c++`. вы можете собрать все доступные компиляторы, добавив параметр `--enable-languages=c,c++,d,fortran,go,objc,obj-c++`. Если позднее вам потребуется компилятор для какого либо языка из этого списка - пересоберите GCC с его поддержкой.
???+ note "Обратите внимание"
[filename](../packages/gcc/configure ':include')
На данном этапе необходимы только компиляторы для C и C++, однако вы можете собрать компиляторы для любых поддерживаемых GCC языков программирования, перечислив их через запятые в опции configure `--enable-languages=c,c++`. GCC поддерживает следующие языки - `c,c++,d,fortran,go,objc,obj-c++`. вы можете собрать все доступные компиляторы, добавив параметр `--enable-languages=c,c++,d,fortran,go,objc,obj-c++`. Если позднее вам потребуется компилятор для какого либо языка из этого списка - пересоберите GCC с его поддержкой.
```bash
{{ include('../packages/gcc/configure') }}
```
### Для multilib
[filename](../packages/gcc/multi_configure ':include')
```bash
{{ include('../packages/gcc/multi_configure') }}
```
### Значения параметров
@ -40,16 +32,22 @@
## Сборка
[filename](../packages/gcc/build ':include')
```bash
{{ include('../packages/gcc/build') }}
```
## Тестирование
- Увеличьте размер стека по умолчанию
- Произведите тестирование от непривилегированного пользователя во избежание непредвиденных ситуаций с системой.
[filename](../packages/gcc/test ':include')
```bash
{{ include('../packages/gcc/test') }}
```
> Тестирование занимает достаточно много времени.
???+ note "Обратите внимание"
Тестирование этого пакета занимает достаточно много времени.
Для просмотра итогов теста выполните:
@ -57,11 +55,15 @@
../contrib/test_summary
```
?> Известно, что 6 тестов, связанных с `get_time`, дают сбои. По видимому, это связано с локалью `en_HK`. Кроме того, тест `COSTEXPR-52830` не удается.
???+ warning "Предупреждение"
Известно, что 6 тестов, связанных с `get_time`, дают сбои. По видимому, это связано с локалью `en_HK`. Кроме того, тест `COSTEXPR-52830` не удается.
## Установка
[filename](../packages/gcc/install ':include')
```bash
{{ include('../packages/gcc/install') }}
```
- Удалите ненужную директорию,
- Убедитесь, что владелец установленных заголовков корректный,
@ -69,13 +71,19 @@
- Для поддержки LTO требуется следующая символическая ссылка,
- Переместите файлы в правильное место:
[filename](../packages/gcc/postinstall ':include')
```bash
{{ include('../packages/gcc/postinstall') }}
```
## При использовании раздельных каталогов:
- Замените `ln -svr /usr/bin/cpp /usr/lib` из предыдущей команды на корректную для раздельной структуры.
## Проверка работоспособности
???+ danger "Важно"
Сейчас необходимо проверить работу `gcc`. Если всё нормально, то продолжайте сборку.
Выполните набор команд:
```bash
@ -165,7 +173,9 @@ grep "found ld-linux*" dummy.log
found ld-linux-x86-64.so.2 at /usr/lib/ld-linux-x86-64.so.2
```
!> Если вывод не соответствует вышеуказанному, или вообще не получен, значит, что-то не так. Изучите и повторите шаги, чтобы выяснить, в чем проблема. Перед продолжением процесса необходимо решить любые проблемы.
???+ warning "Предупреждение"
Если вывод не соответствует вышеуказанному, или вообще не получен, значит, что-то не так. Изучите и повторите шаги, чтобы выяснить, в чем проблема. Перед продолжением процесса необходимо решить любые проблемы.
Удалите тестовые файлы:

View File

@ -1,8 +1,10 @@
<pkg :name="'gdbm'" instsize showsbu2></pkg>
{{ include('../packages/gdbm/README.md') }}
## Настройка
<package-script :package="'gdbm'" :type="'configure'"></package-script>
```bash
{{ include('../packages/gdbm/configure') }}
```
### Значения параметров
@ -10,18 +12,24 @@
## Сборка
<package-script :package="'gdbm'" :type="'build'"></package-script>
```bash
{{ include('../packages/gdbm/build') }}
```
## Тестирование
<package-script :package="'gdbm'" :type="'test'"></package-script>
```bash
{{ include('../packages/gdbm/test') }}
```
?> Известно, что один тест (`version`) может дать сбой.
???+ warning "Предупреждение"
Известно, что один тест (`version`) может дать сбой.
## Установка
<package-script :package="'gdbm'" :type="'install'"></package-script>
```bash
{{ include('../packages/gdbm/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,23 +1,29 @@
<pkg :name="'gettext'" instsize showsbu2></pkg>
{{ include('../packages/gettext/README.md') }}
## Настройка
<package-script :package="'gettext'" :type="'configure'"></package-script>
```bash
{{ include('../packages/gettext/configure') }}
```
## Сборка
<package-script :package="'gettext'" :type="'build'"></package-script>
```bash
{{ include('../packages/gettext/build') }}
```
## Тестирование
<package-script :package="'gettext'" :type="'test'"></package-script>
```bash
{{ include('../packages/gettext/test') }}
```
> Тестирование добавляет +3 SBU ко всему времени установки пакета.
## Установка
<package-script :package="'gettext'" :type="'install'"></package-script>
```bash
{{ include('../packages/gettext/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,40 +1,10 @@
<package-info :package="package" instsize showsbu2></package-info>
<script>
new Vue({
el: '#main',
data: {
package: {},
tzdata: {},
glibcPatch: {},
},
mounted: function () {
this.getPackage('glibc');
this.getTzdata();
this.getGlibcPatch();
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
},
getTzdata: function() {
getPackage('tzdata')
.then(response => this.tzdata = response);
},
getGlibcPatch: function() {
getPackage('glibc-patch')
.then(response => this.glibcPatch = response);
},
}
})
</script>
{{ include('../packages/glibc/README.md') }}
## Дополнительные необходимые файлы
<a :href="glibcPatch.url">{{ glibcPatch.url}}</a>
<a :href="tzdata.url">{{ tzdata.url}}</a>
```bash
{{ include('../packages/tzdata/.url') }}
```
## Подготовка
@ -60,14 +30,13 @@ cd build
## Настройка
Если вы собираете систему с раздельной структурой директорий, убедитесь, что утилиты `ldconfig` и `sln` установлены в `/usr/sbin`:
```bash
echo "rootsbindir=/usr/sbin" > configparms
```
Запустите скрипт `configure`:
```bash
../configure \
--prefix=/usr \
@ -76,7 +45,6 @@ echo "rootsbindir=/usr/sbin" > configparms
--with-headers=/usr/include \
libc_cv_slibdir=/lib
```
### Для multilib
Добавьте параметр `--enable-multi-arch`
@ -128,17 +96,6 @@ sed '/test-installation/s@$(PERL)@echo not running@' -i ../Makefile
```bash
make install
```
Исправьте жестко заданный путь к исполняемому загрузчику в скрипте ldd:
```bash
sed '/RTLDLIST=/s@/usr@@g' -i /usr/bin/ldd
```
Установите нужные файлы для nscd:
```bash
cp -v ../nscd/nscd.conf /etc/nscd.conf
mkdir -pv /var/cache/nscd
```
@ -201,7 +158,7 @@ localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS
localedef -i zh_TW -f UTF-8 zh_TW.UTF-8
```
вы можете установить все локали, которые содержатся в файле `{{ package.fileName }}/localedata/SUPPORTED`.
вы можете установить все локали, которые содержатся в файле `localedata/SUPPORTED`.
Выполните следующую команду:
```bash
@ -238,8 +195,8 @@ EOF
Установите информацию о часовых поясах:
<pre class="pre">
tar -xf ../../{{tzdata.fileName}}
```bash
tar -xf ../../{{ include('../packages/tzdata/.filename') }}
ZONEINFO=/usr/share/zoneinfo
mkdir -pv $ZONEINFO/{posix,right}
@ -254,7 +211,7 @@ done
cp -v zone.tab zone1970.tab iso3166.tab $ZONEINFO
zic -d $ZONEINFO -p America/New_York
unset ZONEINFO
</pre>
```
Для выбора часового пояса запустите скрипт:
@ -315,7 +272,8 @@ CC="gcc -m32" CXX="g++ -m32" \
--with-headers=/usr/include \
--enable-multi-arch \
--libdir=/usr/lib32 \
libc_cv_slibdir=/lib32
--libexecdir=/usr/lib32 \
libc_cv_slibdir=/usr/lib32
```
## Сборка

View File

@ -1,8 +1,10 @@
<pkg :name="'gmp'" instsize showsbu2></pkg>
{{ include('../packages/gmp/README.md') }}
## Подготовка
?> По умолчанию gmp оптимизируется под ваш процессор. Для того чтобы её можно было запустить на другом процессоре, можете выполнить:
???+ warning "Предупреждение"
По умолчанию gmp оптимизируется под ваш процессор. Для того чтобы её можно было запустить на другом процессоре, можете выполнить:
```
cp -v configfsf.guess config.guess
@ -11,7 +13,9 @@ cp -v configfsf.sub config.sub
## Настройка
<package-script :package="'gmp'" :type="'configure'"></package-script>
```bash
{{ include('../packages/gmp/configure') }}
```
### Значения параметров
@ -19,42 +23,56 @@ cp -v configfsf.sub config.sub
## Сборка
<package-script :package="'gmp'" :type="'build'"></package-script>
```bash
{{ include('../packages/gmp/build') }}
```
## Тестирование
<package-script :package="'gmp'" :type="'test'"></package-script>
```bash
{{ include('../packages/gmp/test') }}
```
## Установка
<package-script :package="'gmp'" :type="'install'"></package-script>
```bash
{{ include('../packages/gmp/install') }}
```
## Для multilib
### Очистка и подготовка
<package-script :package="'gmp'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/gmp/multi_prepare') }}
```
### Настройка
<package-script :package="'gmp'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/gmp/multi_configure') }}
```
### Сборка
<package-script :package="'gmp'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/gmp/multi_build') }}
```
### Установка
<package-script :package="'gmp'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/gmp/multi_install') }}
```
---
!> Код gmp сильно оптимизирован для процессора, на котором построен. Изредка, если система LX4 была перенесена на ПК с другим процессором, при компиляции может выдавать ошибки `Illegal instruction` и прерывать сборку программы. Чтобы этого избежать, перекомпилируйте пакет `gmp`, добавив опцию `--build=x86_64-pc-linux-gnu`.
???+ warning "Предупреждение"
Код gmp сильно оптимизирован для процессора, на котором построен. Изредка, если система LX4 была перенесена на ПК с другим процессором, при компиляции может выдавать ошибки `Illegal instruction` и прерывать сборку программы. Чтобы этого избежать, перекомпилируйте пакет `gmp`, добавив опцию `--build=x86_64-pc-linux-gnu`.
## Установленные файлы
Библиотеки: libgmp.so libgmpxx.so
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,23 +1,31 @@
<pkg :name="'gperf'" instsize showsbu2></pkg>
{{ include('../packages/gperf/README.md') }}
## Настройка
<package-script :package="'gperf'" :type="'configure'"></package-script>
```bash
{{ include('../packages/gperf/configure') }}
```
## Сборка
<package-script :package="'gperf'" :type="'build'"></package-script>
```bash
{{ include('../packages/gperf/build') }}
```
## Тестирование
!> Тестирование должно производиться в один поток, так как при одновременном тестировании (многопотоковом) появляются всевозможные ошибки. Поэтому и используется ключ `-j1`:
???+ warning "Предупреждение"
<package-script :package="'gperf'" :type="'test'"></package-script>
Тестирование должно производиться в один поток, так как при одновременном тестировании (многопотоковом) появляются всевозможные ошибки. Поэтому и используется ключ `-j1`:
```bash
{{ include('../packages/gperf/test') }}
```
## Установка
<package-script :package="'gperf'" :type="'install'"></package-script>
```bash
{{ include('../packages/gperf/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,21 +1,27 @@
<pkg :name="'grep'" instsize showsbu2></pkg>
{{ include('../packages/grep/README.md') }}
## Настройка
[filename](../packages/grep/configure ':include')
```bash
{{ include('../packages/grep/configure') }}
```
## Сборка
[filename](../packages/grep/build ':include')
```bash
{{ include('../packages/grep/build') }}
```
## Тестирование
[filename](../packages/grep/test ':include')
```bash
{{ include('../packages/grep/test') }}
```
## Установка
[filename](../packages/grep/install ':include')
```bash
{{ include('../packages/grep/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,4 +1,4 @@
<pkg :name="'groff'" instsize showsbu2></pkg>
{{ include('../packages/groff/README.md') }}
## Подготовка
@ -6,7 +6,9 @@ Groff ожидает переменную окружения `PAGE`, значе
## Настройка
<package-script :package="'groff'" :type="'configure'"></package-script>
```bash
{{ include('../packages/groff/configure') }}
```
### Значения параметров
@ -15,12 +17,14 @@ Groff ожидает переменную окружения `PAGE`, значе
## Сборка
Пакет не поддерживает параллельную сборку. Выполните компиляцию пакета:
<package-script :package="'groff'" :type="'build'"></package-script>
```bash
{{ include('../packages/groff/build') }}
```
## Установка
<package-script :package="'groff'" :type="'install'"></package-script>
```bash
{{ include('../packages/groff/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,33 @@
<pkg :name="'gzip'" instsize showsbu2></pkg>
{{ include('../packages/gzip/README.md') }}
## Настройка
[filename](../packages/gzip/configure ':include')
```bash
{{ include('../packages/gzip/configure') }}
```
## Сборка
[filename](../packages/gzip/build ':include')
```bash
{{ include('../packages/gzip/build') }}
```
## Тестирование
[filename](../packages/gzip/test ':include')
```bash
{{ include('../packages/gzip/test') }}
```
## Установка
[filename](../packages/gzip/install ':include')
```bash
{{ include('../packages/gzip/install') }}
```
## При раздельной структуре каталогов
[filename](../packages/gzip/cldirs ':include')
```bash
{{ include('../packages/gzip/cldirs') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'iana-etc'" instsize></pkg>
{{ include('../packages/iana-etc/README.md') }}
## Установка
<package-script :package="'iana-etc'" :type="'install'"></package-script>
```bash
{{ include('../packages/iana-etc/install') }}
```
### Установленные файлы
@ -13,7 +15,3 @@
`/etc/protocols` - определяет, каким транспортным протоколом пользуется сервис. Имеется возможность различия протоколов udp или tcp. Сервис может работать с разными протоколами, а может быть два сервиса работают на одном порте, но с разными протоколами.
и `/etc/services` - файл определений протоколов. Данный файл является простым ASCII файлом, описывающим различные DARPA internet протоколы, которые доступны через подсистему TCP/IP. Не изменяйте этот файл, так как изменения могут привести к некорректному формированию IP пакетов. Номера протоколов и их имена определяются Центром Сетевой Информации (DDN Network Information Center).
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'inetutils'" instsize showsbu2></pkg>
{{ include('../packages/inetutils/README.md') }}
## Настройка
[filename](../packages/inetutils/configure ':include')
```bash
{{ include('../packages/inetutils/configure') }}
```
### Значения параметров
@ -10,26 +12,34 @@
## Сборка
[filename](../packages/inetutils/build ':include')
```bash
{{ include('../packages/inetutils/build') }}
```
## Тестирование
[filename](../packages/inetutils/test ':include')
```bash
{{ include('../packages/inetutils/test') }}
```
?> Тест `libls.sh` даёт сбой, когда система LX4 находится в среде chroot, а тест `ping-localhost.sh` не проходит, если в хост-системе нет поддержки IPv6.
???+ warning "Предупреждение"
Тест `libls.sh` даёт сбой, когда система LX4 находится в среде chroot, а тест `ping-localhost.sh` не проходит, если в хост-системе нет поддержки IPv6.
## Установка
[filename](../packages/inetutils/install ':include')
```bash
{{ include('../packages/inetutils/install') }}
```
## При раздельной структуре каталогов
[filename](../packages/inetutils/cldirs ':include')
```bash
{{ include('../packages/inetutils/cldirs') }}
```
## Установленные файлы
Программы: `dnsdomainname`, `ftp`, `ifconfig`, `hostname`, `ping`, `ping6`, `talk`, `telnet`, `tftp` и `traceroute`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -6,4 +6,6 @@
В процессе загрузки после инициализации ядра, как правило, запускается /sbin/init, как первый процесс пользовательского режима, и init отвечает за дальнейшую загрузку системы. Для этого запускаются стартовые сценарии, которые выполняют проверку и монтирование файловых систем, запуск необходимых сервисов, настройку ядра (в том числе загрузку модулей ядра согласно установленному оборудованию, настройку IP-адресов, таблиц маршрутизации и другие задачи), запуск графической оболочки. Основная информация для загрузки, как правило, размещается в `/etc/inittab`.
?> Данный раздел предоставляет выбор между несколькими системами инициализации. Вам необходимо самостоятельно выбрать желаемую.
???+ note "Обратите внимание"
Данный раздел предоставляет выбор между несколькими системами инициализации. Вам необходимо самостоятельно выбрать желаемую.

View File

@ -1,9 +1,9 @@
<pkg :name="'bootscripts'" instsize showsbu2></pkg>
{{ include('../packages/bootscripts/README.md') }}
## Установка
<package-script :package="'bootscripts'" :type="'install'"></package-script>
```bash
{{ include('../packages/bootscripts/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,47 +1,65 @@
<pkg :name="'dbus'" instsize showsbu2></pkg>
{{ include('../packages/dbus/README.md') }}
## Настройка
[filename](../../packages/dbus/configure ':include')
```bash
{{ include('../packages/dbus/configure') }}
```
## Сборка
[filename](../../packages/dbus/build ':include')
```bash
{{ include('../packages/dbus/build') }}
```
## Тестирование
[filename](../../packages/dbus/test ':include')
```bash
{{ include('../packages/dbus/test') }}
```
## Установка
[filename](../../packages/dbus/install ':include')
```bash
{{ include('../packages/dbus/install') }}
```
Создайте символическую ссылку, чтобы `systemd` и `D-Bus` использовали один и тот же файл `machine-id`:
[filename](../../packages/dbus/postinstall ':include')
```bash
{{ include('../packages/dbus/postinstall') }}
```
## При раздельной структуре каталогов
[filename](../../packages/dbus/cldirs ':include')
```bash
{{ include('../packages/dbus/cldirs') }}
```
## Для multilib
### Очистка
[filename](../../packages/dbus/multi_prepare ':include')
```bash
{{ include('../packages/dbus/multi_prepare') }}
```
### Настройка
[filename](../../packages/dbus/multi_configure ':include')
```bash
{{ include('../packages/dbus/multi_configure') }}
```
### Сборка
[filename](../../packages/dbus/multi_build ':include')
```bash
{{ include('../packages/dbus/multi_build') }}
```
### Установка
[filename](../../packages/dbus/multi_install ':include')
```bash
{{ include('../packages/dbus/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,52 +1,68 @@
<pkg :name="'eudev'" instsize showsbu2></pkg>
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
{{ include('../packages/eudev/README.md') }}
## Настройка
> Если вы собираете систему с раздельной структурой каталогов, то пропустите этот шаг и приступите к следующему.
[filename](../../packages/eudev/configure ':include')
```bash
{{ include('../packages/eudev/configure') }}
```
## При раздельной структуре каталогов
[filename](../../packages/eudev/cldirs ':include')
```bash
{{ include('../packages/eudev/cldirs') }}
```
## Сборка
[filename](../../packages/eudev/build ':include')
```bash
{{ include('../packages/eudev/build') }}
```
## Тестирование
[filename](../../packages/eudev/test ':include')
```bash
{{ include('../packages/eudev/test') }}
```
## Установка
[filename](../../packages/eudev/install ':include')
```bash
{{ include('../packages/eudev/install') }}
```
Установите необходимые файлы:
[filename](../../packages/eudev/postinstall ':include')
```bash
{{ include('../packages/eudev/postinstall') }}
```
## Для multilib
### Очистка
[filename](../../packages/eudev/multi_prepare ':include')
```bash
{{ include('../packages/eudev/multi_prepare') }}
```
### Настройка
[filename](../../packages/eudev/multi_configure ':include')
```bash
{{ include('../packages/eudev/multi_configure') }}
```
### Сборка
[filename](../../packages/eudev/multi_build ':include')
```bash
{{ include('../packages/eudev/multi_build') }}
```
### Установка
[filename](../../packages/eudev/multi_install ':include')
```bash
{{ include('../packages/eudev/multi_install') }}
```
<script>
new Vue({

View File

@ -1,27 +1,37 @@
<pkg :name="'procps-ng'" instsize showsbu2></pkg>
{{ include('../packages/procps-ng/README.md') }}
## Настройка
[filename](../../packages/procps-ng/configure-systemd ':include')
```bash
{{ include('../packages/procps-ng/configure-systemd') }}
```
## Сборка
[filename](../../packages/procps-ng/build ':include')
```bash
{{ include('../packages/procps-ng/build') }}
```
## Тестирование
[filename](../../packages/procps-ng/test ':include')
```bash
{{ include('../packages/procps-ng/test') }}
```
?> Пять тестов, связанных с `pkill` дают сбои, так как они (тесты) не были обновлены.
???+ warning "Предупреждение"
Пять тестов, связанных с `pkill` дают сбои, так как они (тесты) не были обновлены.
## Установка
[filename](../../packages/procps-ng/install ':include')
```bash
{{ include('../packages/procps-ng/install') }}
```
## При раздельной структуре каталогов
[filename](../../packages/procps-ng/cldirs ':include')
```bash
{{ include('../packages/procps-ng/cldirs') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,27 +1,37 @@
<pkg :name="'procps-ng'" instsize showsbu2></pkg>
{{ include('../packages/procps-ng/README.md') }}
## Настройка
[filename](../../packages/procps-ng/configure ':include')
```bash
{{ include('../packages/procps-ng/configure') }}
```
## Сборка
[filename](../../packages/procps-ng/build ':include')
```bash
{{ include('../packages/procps-ng/build') }}
```
## Тестирование
[filename](../../packages/procps-ng/test ':include')
```bash
{{ include('../packages/procps-ng/test') }}
```
?> Пять тестов, связанных с `pkill` дают сбои, так как они (тесты) не были обновлены.
???+ warning "Предупреждение"
Пять тестов, связанных с `pkill` дают сбои, так как они (тесты) не были обновлены.
## Установка
[filename](../../packages/procps-ng/install ':include')
```bash
{{ include('../packages/procps-ng/install') }}
```
## При раздельной структуре каталогов
[filename](../../packages/procps-ng/cldirs ':include')
```bash
{{ include('../packages/procps-ng/cldirs') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,35 +1,45 @@
<pkg :name="'sysklogd'" instsize showsbu2></pkg>
{{ include('../packages/sysklogd/README.md') }}
## Подготовка
Исправьте ошибку, приводящую к краху программы:
[filename](../../packages/sysklogd/prepare ':include')
```bash
{{ include('../packages/sysklogd/prepare') }}
```
## Сборка
[filename](../../packages/sysklogd/build ':include')
```bash
{{ include('../packages/sysklogd/build') }}
```
## Тестирование
[filename](../../packages/sysklogd/test ':include')
```bash
{{ include('../packages/sysklogd/test') }}
```
## Установка
[filename](../../packages/sysklogd/install ':include')
```bash
{{ include('../packages/sysklogd/install') }}
```
> Если вы собираете систему с раздельной структурой каталогов, то пропустите шаг с установкой, перейдя к следующему
## При раздельной структуре каталогов
[filename](../../packages/sysklogd/cldirs ':include')
```bash
{{ include('../packages/sysklogd/cldirs') }}
```
## Настройка
Создайте конфигурационный файл:
[filename](../../packages/sysklogd/postinstall ':include')
```bash
{{ include('../packages/sysklogd/postinstall') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -2,8 +2,8 @@
`systemd` требует множество пользователей и групп для своей работы. Создайте их:
[filename](../../scripts/systemd-users.md ':include')
```bash
{{ include('../scripts/systemd-users.sh') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,14 +1,18 @@
<pkg :name="'systemd'" instsize showsbu2></pkg>
{{ include('../packages/systemd/README.md') }}
## Подготовка
Удалите ненужную группу `render` из правил `udev`:
[filename](../../packages/systemd/prepare ':include')
```bash
{{ include('../packages/systemd/prepare') }}
```
## Настройка
[filename](../../packages/systemd/configure ':include')
```bash
{{ include('../packages/systemd/configure') }}
```
## При раздельной структуре каталогов
@ -24,37 +28,49 @@
## Сборка
[filename](../../packages/systemd/build ':include')
```bash
{{ include('../packages/systemd/build') }}
```
## Установка
[filename](../../packages/systemd/install ':include')
```bash
{{ include('../packages/systemd/install') }}
```
- Удалите ненужный каталог;
- Создайте файл `/etc/machine-id`, необходимый для `systemd-journald`;
- Настройте базовую целевую структуру;
- Отключите службу, которая, как известно, вызывает проблемы с системами, использующими конфигурацию сети, отличную от той, которая предоставляется systemd-networkd:
[filename](../../packages/systemd/postinstall ':include')
```bash
{{ include('../packages/systemd/postinstall') }}
```
## Для multilib
### Очистка
[filename](../../packages/systemd/multi_prepare ':include')
```bash
{{ include('../packages/systemd/multi_prepare') }}
```
### Настройка
[filename](../../packages/systemd/multi_configure ':include')
```bash
{{ include('../packages/systemd/multi_configure') }}
```
### Сборка
[filename](../../packages/systemd/multi_build ':include')
```bash
{{ include('../packages/systemd/multi_build') }}
```
### Установка
[filename](../../packages/systemd/multi_install ':include')
```bash
{{ include('../packages/systemd/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,35 +1,22 @@
<pkg :name="'sysvinit'" instsize showsbu2></pkg>
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
{{ include('../packages/sysvinit/README.md') }}
## Подготовка
Примените необходимый патч:
<package-script :package="'sysvinit'" :type="'patch'"></package-script>
```bash
{{ include('../packages/sysvinit/patch') }}
```
## Сборка
<package-script :package="'sysvinit'" :type="'build'"></package-script>
```bash
{{ include('../packages/sysvinit/build') }}
```
## Установка
<package-script :package="'sysvinit'" :type="'install'"></package-script>
```bash
{{ include('../packages/sysvinit/install') }}
```
<script>
new Vue({
el: '#main',
data: { package: {}, patch: {} },
mounted: function () {
this.getPatch();
},
methods: {
getPatch: function() {
getPackage('sysvinit-patch')
.then(response => this.patch = response);
},
}
})
</script>

View File

@ -1,44 +1,64 @@
<pkg :name="'util-linux'" instsize showsbu2></pkg>
{{ include('../packages/util-linux/README.md') }}
## Настройка
[filename](../../packages/util-linux/configure-systemd ':include')
```bash
{{ include('../packages/util-linux/configure-systemd') }}
```
> Если вы собираете систему с раздельной структурой каталогов, уберите аргумент `--libdir=/usr/lib`!
???+ note "Обратите внимание"
Если вы собираете систему с раздельной структурой каталогов, уберите аргумент `--libdir=/usr/lib`!
## Сборка
[filename](../../packages/util-linux/build-systemd ':include')
```bash
{{ include('../packages/util-linux/build-systemd') }}
```
## Тестирование
!> Тестирование пакета от имени пользователя `root` может сломать Вашу систему. Для того чтобы этого не случилось, производите тесты от имени непривилегированного пользователя. Для запуска тестов параметр `CONFIG_SCSI_DEBUG` для ядра должен быть доступен в текущей системе и должен быть собран в виде модуля. Также должны быть установлены некоторые другие пакеты из руководства extra. При желании этот тест может быть запущен после перезагрузки в завершенную систему LX4: `bash tests/run.sh --srcdir=$PWD --builddir=$PWD`
???+ danger "Важно"
[filename](../../packages/util-linux/test-systemd ':include')
Тестирование пакета от имени пользователя `root` может сломать Вашу систему. Для того чтобы этого не случилось, производите тесты от имени непривилегированного пользователя. Для запуска тестов параметр `CONFIG_SCSI_DEBUG` для ядра должен быть доступен в текущей системе и должен быть собран в виде модуля. Также должны быть установлены некоторые другие пакеты из руководства extra. При желании этот тест может быть запущен после перезагрузки в завершенную систему LX4: `bash tests/run.sh --srcdir=$PWD --builddir=$PWD`
```bash
{{ include('../packages/util-linux/test-systemd') }}
```
## Установка
[filename](../../packages/util-linux/install-systemd ':include')
```bash
{{ include('../packages/util-linux/install-systemd') }}
```
## Для multilib
### Очистка
[filename](../../packages/util-linux/multi_prepare-systemd ':include')
```bash
{{ include('../packages/util-linux/multi_prepare-systemd') }}
```
### Настройка
[filename](../../packages/util-linux/multi_configure-systemd ':include')
```bash
{{ include('../packages/util-linux/multi_configure-systemd') }}
```
### Сборка
[filename](../../packages/util-linux/multi_build-systemd ':include')
```bash
{{ include('../packages/util-linux/multi_build-systemd') }}
```
### Установка
[filename](../../packages/util-linux/multi_install-systemd ':include')
<package-script :package="'util-linux'" :type="'multi_install-systemd'"></package-script>
```bash
{{ include('../packages/util-linux/multi_install-systemd') }}
```
```bash
{{ include('../packages/util-linux/multi_install-systemd') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,43 +1,61 @@
<pkg :name="'util-linux'" instsize showsbu2></pkg>
{{ include('../packages/util-linux/README.md') }}
## Настройка
[filename](../../packages/util-linux/configure ':include')
```bash
{{ include('../packages/util-linux/configure') }}
```
## Сборка
[filename](../../packages/util-linux/build ':include')
```bash
{{ include('../packages/util-linux/build') }}
```
> Если вы собираете систему с раздельной структурой каталогов, уберите аргумент `--libdir=/usr/lib`!
???+ note "Обратите внимание"
Если вы собираете систему с раздельной структурой каталогов, уберите аргумент `--libdir=/usr/lib`!
## Тестирование
!> Тестирование пакета от имени пользователя `root` может сломать Вашу систему. Для того чтобы этого не случилось, производите тесты от имени непривилегированного пользователя. Для запуска тестов параметр `CONFIG_SCSI_DEBUG` для ядра должен быть доступен в текущей системе и должен быть собран в виде модуля. Также должны быть установлены некоторые другие пакеты из руководства extra. При желании этот тест может быть запущен после перезагрузки в завершенную систему LX4: `bash tests/run.sh --srcdir=$PWD --builddir=$PWD`
???+ danger "Важно"
[filename](../../packages/util-linux/test ':include')
Тестирование пакета от имени пользователя `root` может сломать Вашу систему. Для того чтобы этого не случилось, производите тесты от имени непривилегированного пользователя. Для запуска тестов параметр `CONFIG_SCSI_DEBUG` для ядра должен быть доступен в текущей системе и должен быть собран в виде модуля. Также должны быть установлены некоторые другие пакеты из руководства extra. При желании этот тест может быть запущен после перезагрузки в завершенную систему LX4: `bash tests/run.sh --srcdir=$PWD --builddir=$PWD`
```bash
{{ include('../packages/util-linux/test') }}
```
## Установка
[filename](../../packages/util-linux/install ':include')
```bash
{{ include('../packages/util-linux/install') }}
```
## Для multilib
### Очистка
[filename](../../packages/util-linux/multi_prepare ':include')
```bash
{{ include('../packages/util-linux/multi_prepare') }}
```
### Настройка
[filename](../../packages/util-linux/multi_configure ':include')
```bash
{{ include('../packages/util-linux/multi_configure') }}
```
### Сборка
[filename](../../packages/util-linux/multi_build ':include')
```bash
{{ include('../packages/util-linux/multi_build') }}
```
### Установка
[filename](../../packages/util-linux/multi_install ':include')
```bash
{{ include('../packages/util-linux/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,28 +1,38 @@
<pkg :name="'intltool'" instsize showsbu2></pkg>
{{ include('../packages/intltool/README.md') }}
## Настройка
Исправьте предупреждение, которое может появиться при использовании perl версии 5.22 и выше:
<package-script :package="'intltool'" :type="'prepare'"></package-script>
<package-script :package="'intltool'" :type="'configure'"></package-script>
```bash
{{ include('../packages/intltool/prepare') }}
```
```bash
{{ include('../packages/intltool/configure') }}
```
## Сборка
<package-script :package="'intltool'" :type="'build'"></package-script>
```bash
{{ include('../packages/intltool/build') }}
```
## Тестирование
<package-script :package="'intltool'" :type="'test'"></package-script>
```bash
{{ include('../packages/intltool/test') }}
```
## Установка
<package-script :package="'intltool'" :type="'install'"></package-script>
```bash
{{ include('../packages/intltool/install') }}
```
## Установка документации
<package-script :package="'intltool'" :type="'install-doc'"></package-script>
```bash
{{ include('../packages/intltool/install-doc') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,27 +1,33 @@
<pkg :name="'iproute2'" instsize showsbu2></pkg>
{{ include('../packages/iproute2/README.md') }}
## Подготовка
- Программа `arpd` требует установленную Berkeley DB. Отключите её,
- Отключите 2 модуля, требующие `iptables`,
<package-script :package="'iproute2'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/iproute2/prepare') }}
```
## Сборка
<package-script :package="'iproute2'" :type="'build'"></package-script>
```bash
{{ include('../packages/iproute2/build') }}
```
## Установка
<package-script :package="'iproute2'" :type="'install'"></package-script>
```bash
{{ include('../packages/iproute2/install') }}
```
## Установка документации
<package-script :package="'iproute2'" :type="'install-doc'"></package-script>
```bash
{{ include('../packages/iproute2/install-doc') }}
```
## Установленные файлы
Программы: bridge, ctstat (ссылка на lnstat), genl, ifcfg, ifstat, ip, lnstat, nstat, routef, routel, rtacct, rtmon, rtpr, rtstat (ссылка на lnstat), ss, and tc
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,33 @@
<pkg :name="'isl'" instsize showsbu2></pkg>
{{ include('../packages/isl/README.md') }}
## Настройка
<package-script :package="'isl'" :type="'configure'"></package-script>
```bash
{{ include('../packages/isl/configure') }}
```
## Сборка
<package-script :package="'isl'" :type="'build'"></package-script>
```bash
{{ include('../packages/isl/build') }}
```
## Тестирование
<package-script :package="'isl'" :type="'test'"></package-script>
```bash
{{ include('../packages/isl/test') }}
```
## Установка
<package-script :package="'isl'" :type="'install'"></package-script>
```bash
{{ include('../packages/isl/install') }}
```
Переместите неправильно установленные файлы:
<package-script :package="'isl'" :type="'postinstall'"></package-script>
```bash
{{ include('../packages/isl/postinstall') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,11 +1,11 @@
<pkg :name="'jinja2'" instsize showsbu2></pkg>
{{ include('../packages/jinja2/README.md') }}
[filename](../shared/systemd-extra-warn.md ':include')
{{ include('../shared/systemd-extra-warn.md') }}
## Установка
<package-script :package="'jinja2'" :type="'install'"></package-script>
```bash
{{ include('../packages/jinja2/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,20 +1,23 @@
<pkg :name="'kbd'" instsize showsbu2></pkg>
## Дополнительные необходимые файлы
<a :href="patch.url">{{ patch.url}}</a>
{{ include('../packages/kbd/README.md') }}
## Подготовка
Примените патч для исправления работы клавиш backspace и delete:
<package-script :package="'kbd'" :type="'patch'"></package-script>
```bash
{{ include('../packages/kbd/patch') }}
```
Удалите ненужную программу `resizecons`, требующую `svgalib`:
<package-script :package="'kbd'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/kbd/prepare') }}
```
## Настройка
<package-script :package="'kbd'" :type="'configure'"></package-script>
```bash
{{ include('../packages/kbd/configure') }}
```
### Значения параметров
@ -22,30 +25,18 @@
## Сборка
<package-script :package="'kbd'" :type="'build'"></package-script>
```bash
{{ include('../packages/kbd/build') }}
```
## Тестирование
<package-script :package="'kbd'" :type="'test'"></package-script>
```bash
{{ include('../packages/kbd/test') }}
```
## Установка
<package-script :package="'kbd'" :type="'install'"></package-script>
!> Пакет `kbd` не предоставляет некоторых рабочих раскладок клавиатуры (например, для белорусского языка). Загрузите (при необходимости) эти раскладки отдельно.
<script>
new Vue({
el: '#main',
data: { package: {}, patch: {} },
mounted: function () {
this.getPatch();
},
methods: {
getPatch: function() {
getPackage('kbd-patch')
.then(response => this.patch = response);
},
}
})
</script>
```bash
{{ include('../packages/kbd/install') }}
```

View File

@ -1,8 +1,10 @@
<pkg :name="'kmod'" instsize showsbu2></pkg>
{{ include('../packages/kmod/README.md') }}
## Настройка
[filename](../packages/kmod/configure ':include')
```bash
{{ include('../packages/kmod/configure') }}
```
### Значения параметров
@ -12,7 +14,9 @@
## Сборка
[filename](../packages/kmod/build ':include')
```bash
{{ include('../packages/kmod/build') }}
```
## Тестирование
@ -20,11 +24,15 @@
## Установка
[filename](../packages/kmod/install ':include')
```bash
{{ include('../packages/kmod/install') }}
```
Необходимо создать символические ссылки (симлинки) для совместимости с `Module-Init-Tools` (предыдущая реализация программы обработки модулей ядра).
[filename](../packages/kmod/postinstall ':include')
```bash
{{ include('../packages/kmod/postinstall') }}
```
> Заметьте, что эту команду не следует вводить, если вы используете систему с раздельной структурой каталогов, в таком случае перейдите к следующему шагу.
@ -34,7 +42,9 @@
Измените предыдущую команду (создающую симлинки для совместимости с `Module-Init-Tools`) и создайте необходимую ссылку в `/bin`:
[filename](../packages/kmod/cldirs ':include')
```bash
{{ include('../packages/kmod/cldirs') }}
```
## Для multilib
@ -42,20 +52,26 @@
Очистите предыдущую сборку, но сохраните страницы руководства, так как они не могут быть воссозданы, поскольку пакет `xsltproc` не установлен:
[filename](../packages/kmod/multi_prepare ':include')
```bash
{{ include('../packages/kmod/multi_prepare') }}
```
### Подготовка
[filename](../packages/kmod/multi_configure ':include')
```bash
{{ include('../packages/kmod/multi_configure') }}
```
### Сборка
[filename](../packages/kmod/multi_build ':include')
```bash
{{ include('../packages/kmod/multi_build') }}
```
### Установка
[filename](../packages/kmod/multi_install ':include')
```bash
{{ include('../packages/kmod/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'less'" instsize showsbu2></pkg>
{{ include('../packages/less/README.md') }}
## Настройка
<package-script :package="'less'" :type="'configure'"></package-script>
```bash
{{ include('../packages/less/configure') }}
```
### Значения параметров
@ -10,12 +12,14 @@
## Сборка
<package-script :package="'less'" :type="'build'"></package-script>
```bash
{{ include('../packages/less/build') }}
```
## Установка
<package-script :package="'less'" :type="'install'"></package-script>
```bash
{{ include('../packages/less/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,46 +1,64 @@
<pkg :name="'libcap'" instsize showsbu2></pkg>
{{ include('../packages/libcap/README.md') }}
## Подготовка
Отключите установку статических библиотек:
[filename](../packages/libcap/prepare ':include')
```bash
{{ include('../packages/libcap/prepare') }}
```
## Сборка
[filename](../packages/libcap/build ':include')
```bash
{{ include('../packages/libcap/build') }}
```
## Тестирование
[filename](../packages/libcap/test ':include')
```bash
{{ include('../packages/libcap/test') }}
```
## Установка
[filename](../packages/libcap/install ':include')
```bash
{{ include('../packages/libcap/install') }}
```
Установите корректные права для библиотек:
[filename](../packages/libcap/postinstall ':include')
```bash
{{ include('../packages/libcap/postinstall') }}
```
## При раздельной структуре каталогов
Уберите `prefix=/usr` в сборке и установке.
[filename](../packages/libcap/cldirs ':include')
```bash
{{ include('../packages/libcap/cldirs') }}
```
## Для multilib
### Очистка
[filename](../packages/libcap/multi_prepare ':include')
```bash
{{ include('../packages/libcap/multi_prepare') }}
```
### Сборка
[filename](../packages/libcap/multi_build ':include')
```bash
{{ include('../packages/libcap/multi_build') }}
```
### Установка
[filename](../packages/libcap/multi_install ':include')
```bash
{{ include('../packages/libcap/multi_install') }}
```
## Установленные файлы
@ -48,6 +66,4 @@
Библиотеки: `libcap.so` и `libpsx.so`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,47 +1,63 @@
<pkg :name="'elfutils'" instsize showsbu2></pkg>
{{ include('../packages/elfutils/README.md') }}
## Настройка
[filename](../packages/elfutils/configure ':include')
```bash
{{ include('../packages/elfutils/configure') }}
```
## Сборка
[filename](../packages/elfutils/build ':include')
```bash
{{ include('../packages/elfutils/build') }}
```
## Тестирование
[filename](../packages/elfutils/test ':include')
```bash
{{ include('../packages/elfutils/test') }}
```
## Установка
Потребуется только установка библиотеки `libelf`.
[filename](../packages/elfutils/install ':include')
```bash
{{ include('../packages/elfutils/install') }}
```
## При раздельной структуре каталогов
Добавьте к скрипту `configure` опцию `--libdir=/lib`.
[filename](../packages/elfutils/cldirs ':include')
```bash
{{ include('../packages/elfutils/cldirs') }}
```
## Для multilib
### Очистка
[filename](../packages/elfutils/multi_prepare ':include')
```bash
{{ include('../packages/elfutils/multi_prepare') }}
```
### Подготовка
[filename](../packages/elfutils/multi_configure ':include')
```bash
{{ include('../packages/elfutils/multi_configure') }}
```
### Сборка
[filename](../packages/elfutils/multi_build ':include')
```bash
{{ include('../packages/elfutils/multi_build') }}
```
### Установка
[filename](../packages/elfutils/multi_install ':include')
```bash
{{ include('../packages/elfutils/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,45 +1,61 @@
<pkg :name="'libffi'" instsize showsbu2></pkg>
{{ include('../packages/libffi/README.md') }}
## Настройка
?> Libffi как и GMP оптимизируется под определённый процессор. Если планируется переносить систему на компьютер с другим ЦП, экспортируйте `CFLAGS` и `CXXFLAGS`, чтобы указать универсальную сборку для вашей архитектуры.
???+ warning "Предупреждение"
<package-script :package="'libffi'" :type="'configure'"></package-script>
Libffi как и GMP оптимизируется под определённый процессор. Если планируется переносить систему на компьютер с другим ЦП, экспортируйте `CFLAGS` и `CXXFLAGS`, чтобы указать универсальную сборку для вашей архитектуры.
```bash
{{ include('../packages/libffi/configure') }}
```
## Сборка
<package-script :package="'libffi'" :type="'build'"></package-script>
```bash
{{ include('../packages/libffi/build') }}
```
## Тестирование
<package-script :package="'libffi'" :type="'test'"></package-script>
```bash
{{ include('../packages/libffi/test') }}
```
## Установка
<package-script :package="'libffi'" :type="'install'"></package-script>
```bash
{{ include('../packages/libffi/install') }}
```
## Для multilib
### Очистка
<package-script :package="'libffi'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/libffi/multi_prepare') }}
```
### Подготовка
<package-script :package="'libffi'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/libffi/multi_configure') }}
```
### Сборка
<package-script :package="'libffi'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/libffi/multi_build') }}
```
### Установка
<package-script :package="'libffi'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/libffi/multi_install') }}
```
## Установленные файлы
Библиотеки: libffi.so
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,21 +1,27 @@
<pkg :name="'libpipeline'" instsize showsbu2></pkg>
{{ include('../packages/libpipeline/README.md') }}
## Настройка
<package-script :package="'libpipeline'" :type="'configure'"></package-script>
```bash
{{ include('../packages/libpipeline/configure') }}
```
## Сборка
<package-script :package="'libpipeline'" :type="'build'"></package-script>
```bash
{{ include('../packages/libpipeline/build') }}
```
## Тестирование
<package-script :package="'libpipeline'" :type="'test'"></package-script>
```bash
{{ include('../packages/libpipeline/test') }}
```
## Установка
<package-script :package="'libpipeline'" :type="'install'"></package-script>
```bash
{{ include('../packages/libpipeline/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,40 +1,54 @@
<pkg :name="'libtasn1'" instsize showsbu2></pkg>
{{ include('../packages/libtasn1/README.md') }}
## Настройка
<package-script :package="'libtasn1'" :type="'configure'"></package-script>
```bash
{{ include('../packages/libtasn1/configure') }}
```
## Сборка
<package-script :package="'libtasn1'" :type="'build'"></package-script>
```bash
{{ include('../packages/libtasn1/build') }}
```
## Тестирование
<package-script :package="'libtasn1'" :type="'test'"></package-script>
```bash
{{ include('../packages/libtasn1/test') }}
```
## Установка
<package-script :package="'libtasn1'" :type="'install'"></package-script>
```bash
{{ include('../packages/libtasn1/install') }}
```
## Для multilib
### Очистка
<package-script :package="'libtasn1'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/libtasn1/multi_prepare') }}
```
## Настройка
<package-script :package="'libtasn1'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/libtasn1/multi_configure') }}
```
### Сборка
<package-script :package="'libtasn1'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/libtasn1/multi_build') }}
```
### Установка
<package-script :package="'libtasn1'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/libtasn1/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,47 +1,67 @@
<pkg :name="'libtool'" instsize showsbu2></pkg>
{{ include('../packages/libtool/README.md') }}
## Настройка
<package-script :package="'libtool'" :type="'configure'"></package-script>
```bash
{{ include('../packages/libtool/configure') }}
```
## Сборка
<package-script :package="'libtool'" :type="'build'"></package-script>
```bash
{{ include('../packages/libtool/build') }}
```
## Тестирование
<package-script :package="'libtool'" :type="'test'"></package-script>
```bash
{{ include('../packages/libtool/test') }}
```
?> Если у вас несколько ядер процессора, то можно значительно (иногда более чем на 60%) сократить время выполнения тестирования. Перед выполнением тестов объявите переменную: `TESTSUITEFLAGS=-j<N>`, где `<N>` - число ядер ЦП.
???+ note "Обратите внимание"
?> Пять тестов могут дать сбой, однако все тесты проходят после установки `automake`.
Если у вас несколько ядер процессора, то можно значительно (иногда более чем на 60%) сократить время выполнения тестирования. Перед выполнением тестов объявите переменную: `TESTSUITEFLAGS=-j<N>`, где `<N>` - число ядер ЦП.
???+ warning "Предупреждение"
Пять тестов могут дать сбой, однако все тесты проходят после установки `automake`.
## Установка
<package-script :package="'libtool'" :type="'install'"></package-script>
```bash
{{ include('../packages/libtool/install') }}
```
Удалите ненужную статическую библиотеку
<package-script :package="'libtool'" :type="'postinstall'"></package-script>
```bash
{{ include('../packages/libtool/postinstall') }}
```
## Для multilib
### Очистка
<package-script :package="'libtool'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/libtool/multi_prepare') }}
```
### Настройка
<package-script :package="'libtool'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/libtool/multi_configure') }}
```
### Сборка
<package-script :package="'libtool'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/libtool/multi_build') }}
```
### Установка
<package-script :package="'libtool'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/libtool/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,40 +1,21 @@
# Заголовочные файлы ядра Linux
Ссылка для скачивания: <a :href="package.url"><b>{{ package.url }}</b></a>
<br />
Текущая версия: <b>{{ package.version }}</b>
<br />
Домашняя страница: <a :href="package.homeUrl"><b>{{ package.homeUrl }}</b></a>
<br />
Важность: <b>Необходимый</b>
<br />
Размер архива: <b>{{ package.size }} Mb</b>
{{ include('../packages/linux/README.md') }}
<script>
new Vue({
el: '#main',
data: { package: {} },
mounted: function () {
this.getPackage('linux');
},
methods: {
getPackage: function(name) {
getPackage(name)
.then(response => this.package = response);
}
}
})
</script>
Файлы заголовков определяют способ определения функций в исходном файле. Они используются таким образом, чтобы компилятор мог проверить правильность использования функции в качестве сигнатуры функции (возвращаемое значение и параметры) в файле заголовка. Для этой задачи фактическая реализация функции не требуется.
Когда вы компилируете драйвер устройства как модуль ядра, вам необходимы установленные заголовочные файлы ядра. Также они требуются, если вы собираете пользовательское приложение, которое взаимодействует напрямую с ядром.
!> Версия заголовочных файлов должна соответствовать версии устанавливаемого ядра.
???+ warning "Предупреждение"
Версия заголовочных файлов должна соответствовать версии устанавливаемого ядра.
## Сборка
?> **Данный пакет является частью архива с ядром Linux**.
???+ note "Обратите внимание"
**Данный пакет является частью архива с ядром Linux**.
Убедитесь, что в архив не включены файлы которые могут помешать сборке.
@ -42,8 +23,7 @@
make mrproper
```
Эта команда выполнит очистку дерева исходных текстов. Разработчики ядра рекомендуют, чтобы эта команда выполнялась перед каждым процессом компиляции.
Эта команда выполнит очистку дерева исходных текстов и удалит файлы конфигурации. Разработчики ядра рекомендуют, чтобы эта команда выполнялась перед каждым процессом компиляции.
### Подготовьте заголовки для использования:
```bash
@ -58,7 +38,9 @@ rm usr/include/Makefile
cp -rv usr/include $LIN/usr
```
!> Заголовочные файлы, расположенные в системном каталоге `/usr/include`, должны всегда быть те, которые использовались при компиляции [Glibc](build-system/glibc). Их никогда не следует заменять на чистые заголовочные файлы ядра или любые другие подготовленные заголовочные файлы.
???+ danger "Важно"
Заголовочные файлы, расположенные в системном каталоге `/usr/include`, должны всегда быть те, которые использовались при компиляции [Glibc](build-system/glibc). Их никогда не следует заменять на чистые заголовочные файлы ядра или любые другие подготовленные заголовочные файлы.
### Установленные файлы

View File

@ -1,25 +1,31 @@
<pkg :name="'m4'" instsize showsbu2></pkg>
{{ include('../packages/m4/README.md') }}
## Настройка
<package-script :package="'m4'" :type="'configure'"></package-script>
```bash
{{ include('../packages/m4/configure') }}
```
## Сборка
<package-script :package="'m4'" :type="'build'"></package-script>
```bash
{{ include('../packages/m4/build') }}
```
## Тестирование
<package-script :package="'m4'" :type="'test'"></package-script>
```bash
{{ include('../packages/m4/test') }}
```
## Установка
<package-script :package="'m4'" :type="'install'"></package-script>
```bash
{{ include('../packages/m4/install') }}
```
## Установленные программы:
`m4`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,4 +1,4 @@
<pkg :name="'make-ca'" instsize showsbu2></pkg>
{{ include('../packages/make-ca/README.md') }}
Сценарий загрузит и обработает сертификаты, включенные в файл certdata.txt. Любые локальные сертификаты, хранящиеся в `/etc/ssl/local`, будут импортированы в сгенерированные хранилища сертификатов (перекрывая доверие Mozilla). Кроме того, любые измененные значения будут скопированы из `/etc/ssl/local` до любых обновлений, с сохранением настраиваемых значений, которые отличаются от Mozilla при использовании утилиты p11-kit для работы с хранилищем доверенных сертификатов.
@ -12,14 +12,16 @@ cp -v /etc/{hosts,resolv.conf} $LIN/etc
Чтобы установить различные хранилища сертификатов, установите сценарий make-ca в правильное место:
<package-script :package="'make-ca'" :type="'install'"></package-script>
```bash
{{ include('../packages/make-ca/install') }}
```
Загрузите источник сертификата и подготовьте к использованию в системе с помощью следующей команды:
<package-script :package="'make-ca'" :type="'postinstall'"></package-script>
```bash
{{ include('../packages/make-ca/postinstall') }}
```
При повторном запуске сценария с той же версией `certdata.txt`, например, для добавления дополнительных хранилищ по мере установки необходимого программного обеспечения, добавьте переключатель -r в командную строку. При упаковке запустите `make-ca --help`, чтобы увидеть все доступные параметры командной строки.
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,21 +1,27 @@
<pkg :name="'make'" instsize showsbu2></pkg>
{{ include('../packages/make/README.md') }}
## Настройка
<package-script :package="'make'" :type="'configure'"></package-script>
```bash
{{ include('../packages/make/configure') }}
```
## Сборка
<package-script :package="'make'" :type="'build'"></package-script>
```bash
{{ include('../packages/make/build') }}
```
## Тестирование
<package-script :package="'make'" :type="'test'"></package-script>
```bash
{{ include('../packages/make/test') }}
```
## Установка
<package-script :package="'make'" :type="'install'"></package-script>
```bash
{{ include('../packages/make/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -18,4 +18,6 @@
## Установка
<package-script :package="'man-pages'" :type="'install'"></package-script>
```bash
{{ include('../packages/man-pages/install') }}
```

View File

@ -1,8 +1,10 @@
<pkg :name="'man-db'" instsize showsbu2></pkg>
{{ include('../packages/man-db/README.md') }}
## Настройка
<package-script :package="'man-db'" :type="'configure'"></package-script>
```bash
{{ include('../packages/man-db/configure') }}
```
## Значения параметров
@ -14,15 +16,21 @@
## Сборка
<package-script :package="'man-db'" :type="'build'"></package-script>
```bash
{{ include('../packages/man-db/build') }}
```
## Тестирование
<package-script :package="'man-db'" :type="'test'"></package-script>
```bash
{{ include('../packages/man-db/test') }}
```
## Установка
<package-script :package="'man-db'" :type="'install'"></package-script>
```bash
{{ include('../packages/man-db/install') }}
```
## Страницы руководств на других языках
@ -75,8 +83,8 @@
| Ukrainian (uk) | KOI8-U |
| Vietnamese (vi) | TCVN5712-1 |
!> Страницы на других языках не поддерживаются.
???+ note "Обратите внимание"
Страницы на других языках не поддерживаются.
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,15 +1,17 @@
<pkg :name="'markupsafe'" instsize showsbu2></pkg>
{{ include('../packages/markupsafe/README.md') }}
[filename](../shared/systemd-extra-warn.md ':include')
{{ include('../shared/systemd-extra-warn.md') }}
## Сборка
<package-script :package="'markupsafe'" :type="'build'"></package-script>
```bash
{{ include('../packages/markupsafe/build') }}
```
## Установка
<package-script :package="'markupsafe'" :type="'install'"></package-script>
```bash
{{ include('../packages/markupsafe/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,19 +1,27 @@
<pkg :name="'meson'" instsize showsbu2></pkg>
{{ include('../packages/meson/README.md') }}
?> Хотя данный пакет предлагается использовать при установке systemd, однако он может понадобиться при установке многих других пакетов, за пределами создания базовой системы. Вернитесь к этой инструкции по мере необходимости.
???+ note "Обратите внимание"
Хотя данный пакет предлагается использовать при установке systemd, однако он может понадобиться при установке многих других пакетов, за пределами создания базовой системы. Вернитесь к этой инструкции по мере необходимости.
## Подготовка
Убедитесь, что директория для библиотек по умолчанию корректна:
<package-script :package="'meson'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/meson/prepare') }}
```
## Сборка
<package-script :package="'meson'" :type="'build'"></package-script>
```bash
{{ include('../packages/meson/build') }}
```
## Установка
<package-script :package="'meson'" :type="'install'"></package-script>
```bash
{{ include('../packages/meson/install') }}
```
### Значения параметров
@ -23,6 +31,4 @@
Программы: `meson`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,31 @@
<pkg :name="'mpc'" instsize showsbu2></pkg>
{{ include('../packages/mpc/README.md') }}
## Настройка
<package-script :package="'mpc'" :type="'configure'"></package-script>
```bash
{{ include('../packages/mpc/configure') }}
```
## Сборка
<package-script :package="'mpc'" :type="'build'"></package-script>
```bash
{{ include('../packages/mpc/build') }}
```
## Тестирование
<package-script :package="'mpc'" :type="'test'"></package-script>
```bash
{{ include('../packages/mpc/test') }}
```
## Установка
<package-script :package="'mpc'" :type="'install'"></package-script>
```bash
{{ include('../packages/mpc/install') }}
```
## Установленные файлы
Библиотеки: libmpc.so
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,31 @@
<pkg :name="'mpfr'" instsize showsbu2></pkg>
{{ include('../packages/mpfr/README.md') }}
## Настройка
<package-script :package="'mpfr'" :type="'configure'"></package-script>
```bash
{{ include('../packages/mpfr/configure') }}
```
## Сборка
<package-script :package="'mpfr'" :type="'build'"></package-script>
```bash
{{ include('../packages/mpfr/build') }}
```
## Тестирование
<package-script :package="'mpfr'" :type="'test'"></package-script>
```bash
{{ include('../packages/mpfr/test') }}
```
## Установка
<package-script :package="'mpfr'" :type="'install'"></package-script>
```bash
{{ include('../packages/mpfr/install') }}
```
## Установленные файлы
Библиотеки: libmpfr.so
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,25 +1,33 @@
<pkg :name="'nano'" instsize showsbu2></pkg>
{{ include('../packages/nano/README.md') }}
## Настройка
<package-script :package="'nano'" :type="'configure'"></package-script>
```bash
{{ include('../packages/nano/configure') }}
```
## Сборка
<package-script :package="'nano'" :type="'build'"></package-script>
```bash
{{ include('../packages/nano/build') }}
```
## Тестирование
<package-script :package="'nano'" :type="'test'"></package-script>
```bash
{{ include('../packages/nano/test') }}
```
## Установка
<package-script :package="'nano'" :type="'install'"></package-script>
```bash
{{ include('../packages/nano/install') }}
```
## Установка документации
<package-script :package="'nano'" :type="'install-doc'"></package-script>
```bash
{{ include('../packages/nano/install-doc') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,8 +1,10 @@
<pkg :name="'ncurses'" instsize showsbu2></pkg>
{{ include('../packages/ncurses/README.md') }}
## Настройка
<package-script :package="'ncurses'" :type="'configure'"></package-script>
```bash
{{ include('../packages/ncurses/configure') }}
```
### Значения параметров
@ -14,11 +16,15 @@
## Сборка
[filename](../packages/ncurses/build ':include')
```bash
{{ include('../packages/ncurses/build') }}
```
## Установка
[filename](../packages/ncurses/install ':include')
```bash
{{ include('../packages/ncurses/install') }}
```
Многие пакеты при компоновке ищут библиотеки без широких символов. Для компоновки с библиотеками содержащими широкие символы выполните:
@ -44,23 +50,27 @@ ln -sfv libncurses.so /usr/lib/libcurses.so
rm -fv /usr/lib/libncurses++w.a
```
?> Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
???+ note "Дополнительно"
```bash
make distclean
./configure --prefix=/usr \
Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
```bash
make distclean
./configure --prefix=/usr \
--with-shared \
--without-normal \
--without-debug \
--without-cxx-binding \
--with-abi-version=5
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
## При раздельной структуре каталогов
[filename](../packages/ncurses/cldirs ':include')
```bash
{{ include('../packages/ncurses/cldirs') }}
```
## Для multilib
@ -72,29 +82,37 @@ make distclean
### Настройка
[filename](../packages/ncurses/multi_configure ':include')
```bash
{{ include('../packages/ncurses/multi_configure') }}
```
### Сборка
[filename](../packages/ncurses/multi_build ':include')
```bash
{{ include('../packages/ncurses/multi_build') }}
```
### Установка
[filename](../packages/ncurses/multi_install ':include')
?> Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
```bash
make distclean
CC="gcc -m32" CXX="g++ -m32" ./configure --prefix=/usr \
{{ include('../packages/ncurses/multi_install') }}
```
???+ note "Дополнительно"
Если для запуска старых бинарных программ требуется библиотека `ncurses` без широких символов - соберите её:
```bash
make distclean
CC="gcc -m32" CXX="g++ -m32" ./configure --prefix=/usr \
--with-shared \
--without-normal \
--without-debug \
--without-cxx-binding \
--with-abi-version=5 --host=i686-pc-linux-gnu
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
make sources libs
cp -av lib/lib*.so.5* /usr/lib
```
## Установленные файлы
@ -103,7 +121,3 @@ cp -av lib/lib*.so.5* /usr/lib
Библиотеки: `libcursesw.so` (ссылка на `libncursesw.so`), `libformw.so`, `libmenuw.so`, `libncursesw.so`, `libpanelw.so` и их версии без широких символов
Директории: /usr/share/tabset /usr/share/terminfo
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,10 +1,12 @@
<pkg :name="'ninja'" instsize showsbu2></pkg>
{{ include('../packages/ninja/README.md') }}
## Подготовка
[filename](../shared/systemd-extra-warn.md ':include')
{{ include('../shared/systemd-extra-warn.md') }}
?> `ninja` запускает максимальное количество процессов параллельно. По умолчанию это количество ядер в системе плюс два. В некоторых случаях это может привести к перегреву ЦП или нехватке памяти в системе. При запуске из командной строки передача параметра `-jN` ограничит количество параллельных процессов, но некоторые пакеты могут не передавать параметр `-j`.
???+ danger "Важно"
`ninja` запускает максимальное количество процессов параллельно. По умолчанию это количество ядер в системе плюс два. В некоторых случаях это может привести к перегреву ЦП или нехватке памяти в системе. При запуске из командной строки передача параметра `-jN` ограничит количество параллельных процессов, но некоторые пакеты могут не передавать параметр `-j`.
Использование переменной окружения `NINJAJOBS` гарантирует ограничение на количество параллельных процессов.
@ -16,11 +18,15 @@ export NINJAJOBS=4
Для того чтобы задействовать значение переменной `NINJAJOBS`, выполните корректировку:
<package-script :package="'ninja'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/ninja/prepare') }}
```
## Сборка
<package-script :package="'ninja'" :type="'build'"></package-script>
```bash
{{ include('../packages/ninja/build') }}
```
### Значения параметров
@ -28,16 +34,18 @@ export NINJAJOBS=4
## Тестирование
<package-script :package="'ninja'" :type="'test'"></package-script>
```bash
{{ include('../packages/ninja/test') }}
```
## Установка
<package-script :package="'ninja'" :type="'install'"></package-script>
```bash
{{ include('../packages/ninja/install') }}
```
## Установленные файлы
Программы: `ninja`
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,40 +1,58 @@
<pkg :name="'openssl'" instsize showsbu2></pkg>
{{ include('../packages/openssl/README.md') }}
## Настройка
<package-script :package="'openssl'" :type="'configure'"></package-script>
```bash
{{ include('../packages/openssl/configure') }}
```
## Сборка
<package-script :package="'openssl'" :type="'build'"></package-script>
```bash
{{ include('../packages/openssl/build') }}
```
## Тестирование
<package-script :package="'openssl'" :type="'test'"></package-script>
```bash
{{ include('../packages/openssl/test') }}
```
?> Известно, что один тест `30-test_afalg.t` даст сбой в некоторых конфигурациях ядра (по-видимому, предполагает, что некоторые неопределенные параметры `Crypto` были выбраны).
???+ warning "Предупреждение"
Известно, что один тест `30-test_afalg.t` даст сбой в некоторых конфигурациях ядра (по-видимому, предполагает, что некоторые неопределенные параметры `Crypto` были выбраны).
## Установка
<package-script :package="'openssl'" :type="'install'"></package-script>
```bash
{{ include('../packages/openssl/install') }}
```
## Для multilib
### Очистка
<package-script :package="'openssl'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/openssl/multi_prepare') }}
```
### Подготовка
<package-script :package="'openssl'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/openssl/multi_configure') }}
```
### Сборка
<package-script :package="'openssl'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/openssl/multi_build') }}
```
### Установка
<package-script :package="'openssl'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/openssl/multi_install') }}
```
## Установленные файлы
@ -44,6 +62,4 @@
Директории: /etc/ssl, /usr/include/openssl и /usr/lib/engines
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,14 +1,18 @@
<pkg :name="'p11-kit'" instsize showsbu2></pkg>
{{ include('../packages/p11-kit/README.md') }}
## Подготовка
Подготовьте специфичный для дистрибутива скрипт:
<package-script :package="'p11-kit'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/p11-kit/prepare') }}
```
## Настройка
<package-script :package="'p11-kit'" :type="'configure'"></package-script>
```bash
{{ include('../packages/p11-kit/configure') }}
```
### Значение параметров configure
@ -16,30 +20,40 @@
## Сборка
<package-script :package="'p11-kit'" :type="'build'"></package-script>
```bash
{{ include('../packages/p11-kit/build') }}
```
## Установка
<package-script :package="'p11-kit'" :type="'install'"></package-script>
```bash
{{ include('../packages/p11-kit/install') }}
```
## Для multilib
### Очистка
<package-script :package="'p11-kit'" :type="'multi_prepare'"></package-script>
```bash
{{ include('../packages/p11-kit/multi_prepare') }}
```
## Настройка
<package-script :package="'p11-kit'" :type="'multi_configure'"></package-script>
```bash
{{ include('../packages/p11-kit/multi_configure') }}
```
### Сборка
<package-script :package="'p11-kit'" :type="'multi_build'"></package-script>
```bash
{{ include('../packages/p11-kit/multi_build') }}
```
### Установка
<package-script :package="'p11-kit'" :type="'multi_install'"></package-script>
```bash
{{ include('../packages/p11-kit/multi_install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,21 +1,27 @@
<pkg :name="'patch'" instsize showsbu2></pkg>
{{ include('../packages/patch/README.md') }}
## Настройка
<package-script :package="'patch'" :type="'configure'"></package-script>
```bash
{{ include('../packages/patch/configure') }}
```
## Сборка
<package-script :package="'patch'" :type="'build'"></package-script>
```bash
{{ include('../packages/patch/build') }}
```
## Тестирование
<package-script :package="'patch'" :type="'test'"></package-script>
```bash
{{ include('../packages/patch/test') }}
```
## Установка
<package-script :package="'patch'" :type="'install'"></package-script>
```bash
{{ include('../packages/patch/install') }}
```
<script>
new Vue({ el: '#main' })
</script>

View File

@ -1,14 +1,18 @@
<pkg :name="'perl'" instsize showsbu2></pkg>
{{ include('../packages/perl/README.md') }}
## Настройка
Для использования системных версий `zlib` и `bzip2` вместо встроенных выполните:
<package-script :package="'perl'" :type="'prepare'"></package-script>
```bash
{{ include('../packages/perl/prepare') }}
```
Запустите скрипт `configure` (Для полного контроля над настройкой удалите опцию `-des`)
<package-script :package="'perl'" :type="'configure'"></package-script>
```bash
{{ include('../packages/perl/configure') }}
```
### Значения параметров
@ -22,17 +26,23 @@
## Сборка
<package-script :package="'perl'" :type="'build'"></package-script>
```bash
{{ include('../packages/perl/build') }}
```
## Тестирование
<package-script :package="'perl'" :type="'test'"></package-script>
```bash
{{ include('../packages/perl/test') }}
```
> Тесты добавляют 11 SBU ко всему времени установки пакета.
## Установка
<package-script :package="'perl'" :type="'install'"></package-script>
```bash
{{ include('../packages/perl/install') }}
```
## Установленные файлы
@ -42,6 +52,4 @@
Директории: `/usr/lib/perl5`
<script>
new Vue({ el: '#main' })
</script>

Some files were not shown because too many files have changed in this diff Show More