mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-01-23 14:32:18 +08:00
Merge pull request #1040 from Linux4Yourself/any-fixes
Фиксы пунктуации, мелкие дополнения и изменения по тексту руководства
This commit is contained in:
commit
c44657b071
@ -54,8 +54,8 @@
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
Программы: `chacl`, `getfacl`, `setfacl`
|
||||
**Программы:** `chacl`, `getfacl`, `setfacl`
|
||||
|
||||
Библиотеки: `libacl.so`
|
||||
**Библиотеки:** `libacl.so`
|
||||
|
||||
|
||||
|
@ -64,8 +64,8 @@
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
Программы: `attr`, `getfattr`, `setfattr`
|
||||
**Программы:** `attr`, `getfattr`, `setfattr`
|
||||
|
||||
Библиотеки: `libattr.so`
|
||||
**Библиотеки:** `libattr.so`
|
||||
|
||||
|
||||
|
@ -28,4 +28,8 @@
|
||||
{{ include('../packages/autoconf/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `autoconf`, `autoheader`, `autom4te`, `autoreconf`, `autoscan`, `autoupdates` и `ifnames`
|
||||
|
||||
**Директории:** `/usr/share/autoconf`
|
||||
|
@ -32,4 +32,8 @@
|
||||
{{ include('../packages/automake/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `aclocal`, `aclocal-1.16` (жёсткая ссылка на `aclocal`), `automake`, `automake-1.16` (жёсткая ссылка на `automake`)
|
||||
|
||||
**Директории:** `/usr/share/aclocal-1.16`, `/usr/share/automake-1.16`, `/usr/share/doc/automake`
|
||||
|
@ -57,4 +57,10 @@
|
||||
|
||||
```bash
|
||||
exec /bin/bash --login +h
|
||||
```
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `bash`, `bashbug` и `sh` (ссылка на `bash`)
|
||||
|
||||
**Директории:** `/usr/include/bash`, `/usr/lib/bash` и `/usr/share/doc/bash`
|
||||
|
@ -26,6 +26,6 @@
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
Программы: `bc` и `dc`
|
||||
**Программы:** `bc` и `dc`
|
||||
|
||||
|
||||
|
@ -75,8 +75,8 @@ find -name \*.1 -delete
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
Программы: addr2line, ar, as, c++filt, dwp, elfedit, gprof, ld, ld.bfd, ld.gold, nm, objcopy, objdump, ranlib, readelf, size, strings и strip
|
||||
**Программы:** `addr2line`, `ar`, `as`, `c++filt`, `dwp`, `elfedit`, `gprof`, `ld`, `ld.bfd`, `ld.gold`, `nm`, `objcopy`, `objdump`, `ranlib`, `readelf`, `size`, `strings` и `strip`
|
||||
|
||||
Библиотеки: libbfd.so, libctf.so, libctf-nobfd.so и libopcodes.so
|
||||
**Библиотеки:** `libbfd.so`, `libctf.so`, `libctf-nobfd.so` и `libopcodes.so`
|
||||
|
||||
Директории: /usr/lib/ldscripts
|
||||
**Директории:** `/usr/lib/ldscripts`
|
||||
|
@ -26,4 +26,10 @@
|
||||
{{ include('../packages/bison/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `bison` и `yacc`
|
||||
|
||||
**Библиотеки:** `liby.a`
|
||||
|
||||
**Директории:** `/usr/share/bison`
|
||||
|
@ -26,4 +26,8 @@
|
||||
{{ include('../packages/check/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `checkmk`
|
||||
|
||||
**Библиотеки:** `libcheck.so`
|
||||
|
@ -27,9 +27,9 @@
|
||||
|
||||
### Значения параметров
|
||||
|
||||
`autoreconf` - Требует патч поддержки локализации;
|
||||
`autoreconf` - требует патч поддержки локализации;
|
||||
|
||||
`FORCE_UNSAFE_CONFIGURE=1` - Разрешает запуск `configure` под пользователем `root`.
|
||||
`FORCE_UNSAFE_CONFIGURE=1` - разрешает запуск `configure` под пользователем `root`.
|
||||
|
||||
## Сборка
|
||||
|
||||
@ -45,7 +45,7 @@
|
||||
|
||||
???+ warning "Предупреждение"
|
||||
|
||||
Известно, что тест `test-getlogin` не проходит в LX4.
|
||||
Известно, что тест `test-getlogin` не проходит в LX4U.
|
||||
|
||||
## Установка
|
||||
|
||||
@ -61,6 +61,6 @@
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
Программы: [, 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
|
||||
**Программы:** `[`, `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)
|
||||
**Библиотеки:** `libstdbuf.so` (в `/usr/libexec/coreutils`)
|
||||
|
@ -23,4 +23,6 @@
|
||||
{{ include('../packages/dejagnu/test') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `runtest`
|
||||
|
@ -24,4 +24,6 @@
|
||||
{{ include('../packages/diffutils/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `cmp`, `diff`, `diff` и `sdiff`
|
||||
|
@ -18,4 +18,6 @@
|
||||
{{ include('../packages/dosfstools/install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `fatlabel`, `fsck.fat` и `mkfs.fat`
|
||||
|
@ -12,13 +12,11 @@
|
||||
|
||||
### Значения параметров
|
||||
|
||||
`--enable-elf-shlibs`
|
||||
Это создает общие библиотеки, которые используются некоторыми программами пакета.
|
||||
`--enable-elf-shlibs` - создает общие библиотеки, которые используются некоторыми программами пакета.
|
||||
|
||||
`--disable-*`
|
||||
Исключает установку библиотек libuuid и libblkid, службы uuidd и fsck обертки, которые содержатся в пакете Util-Linux и являются более актуальными.
|
||||
`--disable-*` - исключает установку библиотек libuuid и libblkid, службы uuidd и fsck обертки, которые содержатся в пакете Util-Linux и являются более актуальными.
|
||||
|
||||
`--enable-symlink-install` `--enable-relative-symlinks` - использовать относительные символические ссылки вместо жёстких.
|
||||
`--enable-symlink-install`, `--enable-relative-symlinks` - использовать относительные символические ссылки вместо жёстких.
|
||||
|
||||
## Сборка
|
||||
|
||||
@ -56,4 +54,10 @@
|
||||
{{ include('../packages/e2fsprogs/install-doc') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `badblocks`, `chattr`, `compile_et`, `debugfs`, `dumpe2fs`, `e2freefrag`, `e2fsck`, `e2image`, `e2label`, `e2mmpstatus`, `e2scrub`, `e2scrub_all`, `e2undo`, `e4crypt`, `e4defrag`, `filefrag`, `fsck.ext2`, `fsck.ext3`, `fsck.ext4`, `logsave`, `lsattr`, `mk_cmds`, `mke2fs`, `mkfs.ext2`, `mkfs.ext3`, `mkfs.ext4`, `mklost+found`, `resize2fs`, и `tune2fs`
|
||||
|
||||
**Библиотеки:** `libcom_err.so`, `libe2p.so`, `libext2fs.so`, и `libss.so`
|
||||
|
||||
**Директории:** `/usr/include/e2p`, `/usr/include/et`, `/usr/include/ext2fs`, `/usr/include/ss`, `/usr/lib/e2fsprogs`, `/usr/share/et`, и `/usr/share/ss`
|
||||
|
@ -28,8 +28,8 @@
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
- **Установленные программы:** `ctags`, `ebrowse`, `emasc` (символическая ссылка на `emacs-27.1`), `emacs-27.1`, `emacsclient`, `etags` и `grep-changelog`
|
||||
- **Установленные библиотеки:** нет
|
||||
- **Установленные директории:** `/usr/libexec/emacs`, `/usr/share/emacs` и `/var/games/emacs`
|
||||
**Программы:** `ctags`, `ebrowse`, `emasc` (символическая ссылка на `emacs-27.1`), `emacs-27.1`, `emacsclient`, `etags` и `grep-changelog`
|
||||
|
||||
**Директории:** `/usr/libexec/emacs`, `/usr/share/emacs` и `/var/games/emacs`
|
||||
|
||||
|
||||
|
@ -56,4 +56,10 @@
|
||||
{{ include('../packages/expat/multi_install') }}
|
||||
```
|
||||
|
||||
## Установленные файлы
|
||||
|
||||
**Программы:** `xmlwf`
|
||||
|
||||
**Библиотеки:** `libexpat.so`
|
||||
|
||||
**Директории:** `/usr/share/doc/expat`
|
||||
|
@ -156,7 +156,7 @@ localedef -i zh_HK -f BIG5-HKSCS zh_HK.BIG5-HKSCS
|
||||
localedef -i zh_TW -f UTF-8 zh_TW.UTF-8
|
||||
```
|
||||
|
||||
вы можете установить все локали, которые содержатся в файле `localedata/SUPPORTED`.
|
||||
Вы можете установить все локали, которые содержатся в файле `localedata/SUPPORTED`.
|
||||
Выполните следующую команду:
|
||||
|
||||
```bash
|
||||
@ -307,9 +307,9 @@ ldconfig
|
||||
|
||||
Программы: `catchsegv, gencat, getconf, getent, iconv, iconvconfig, ldconfig, ldd, lddlibc4, locale, localedef, makedb, mtrace, nscd, pcprofiledump, pldd, sln, sotruss, sprof, tzselect, xtrace, zdump, zic`
|
||||
|
||||
Библиотеки: ` ld-2.33.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so}, libc.{a,so}, libc_nonshared.a, libcrypt.{a,so}, libdl.{a,so}, libg.a, libm.{a,so}, libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.{a,so}, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libpcprofile.so, libpthread.{a,so}, libpthread_nonshared.a, libresolv.{a,so}, librt.{a,so}, libthread_db.so, libutil.{a,so}`
|
||||
Библиотеки: `ld-2.33.so, libBrokenLocale.{a,so}, libSegFault.so, libanl.{a,so}, libc.{a,so}, libc_nonshared.a, libcrypt.{a,so}, libdl.{a,so}, libg.a, libm.{a,so}, libmcheck.a, libmemusage.so, libmvec.{a,so}, libnsl.{a,so}, libnss_compat.so, libnss_dns.so, libnss_files.so, libnss_hesiod.so, libpcprofile.so, libpthread.{a,so}, libpthread_nonshared.a, libresolv.{a,so}, librt.{a,so}, libthread_db.so, libutil.{a,so}`
|
||||
|
||||
Директории: ` /usr/include/arpa, /usr/include/bits, /usr/include/gnu, /usr/include/net, /usr/include/netash, /usr/include/netatalk, /usr/include/netax25, /usr/include/neteconet, /usr/include/netinet, /usr/include/netipx, /usr/include/netiucv, /usr/include/netpacket, /usr/include/netrom, /usr/include/netrose, /usr/include/nfs, /usr/include/protocols, /usr/include/rpc, /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo, /var/cache/nscd, /var/lib/nss_db`
|
||||
Директории: `/usr/include/arpa, /usr/include/bits, /usr/include/gnu, /usr/include/net, /usr/include/netash, /usr/include/netatalk, /usr/include/netax25, /usr/include/neteconet, /usr/include/netinet, /usr/include/netipx, /usr/include/netiucv, /usr/include/netpacket, /usr/include/netrom, /usr/include/netrose, /usr/include/nfs, /usr/include/protocols, /usr/include/rpc, /usr/include/sys, /usr/lib/audit, /usr/lib/gconv, /usr/lib/locale, /usr/libexec/getconf, /usr/share/i18n, /usr/share/zoneinfo, /var/cache/nscd, /var/lib/nss_db`
|
||||
|
||||
### Краткое описание
|
||||
|
||||
|
@ -18,6 +18,8 @@ rm -rf /usr/share/{info,man,doc}/*
|
||||
|
||||
## Удаление отладочных символов
|
||||
|
||||
<!-- TODO: Need to test -->
|
||||
|
||||
Созданные исполняемые файлы и библиотеки содержат немногим более 90 МБ ненужных отладочных символов.
|
||||
|
||||
Удалите символы отладки из двоичных файлов:
|
||||
@ -44,7 +46,7 @@ tar -cJpf $HOME/lin-temp-tools.tar.xz .
|
||||
Выполняется из-под хост-системы:
|
||||
|
||||
```bash
|
||||
cd $LIN &&
|
||||
cd $LIN &&
|
||||
rm -rf ./* &&
|
||||
tar -xpf $HOME/lin-temp-tools.tar.xz
|
||||
```
|
||||
|
@ -2,7 +2,7 @@
|
||||
|
||||
## Настройка
|
||||
|
||||
Убедимся, что лишние файлы не будут установлены:
|
||||
Убедитесь, что лишние файлы не будут установлены:
|
||||
|
||||
```bash
|
||||
sed -i 's/extras//' Makefile.in
|
||||
|
@ -37,9 +37,9 @@ cd ..
|
||||
|
||||
### Значения параметров
|
||||
|
||||
`--without-manpages , --without-tests, --without-cxx` - Man-страницы, тесты и библиотека C++ не нужны для временной системы.
|
||||
`--without-manpages`, `--without-tests`, `--without-cxx` - man-страницы, тесты и библиотека C++ не нужны для временной системы.
|
||||
|
||||
`--without-ada` - отключает сборку компонентов на языке `ada`, так как в собираемой системе отсутствуют необходимые для их запуска компоненты.
|
||||
`--without-ada` - отключает сборку компонентов на языке Ada, так как в собираемой системе отсутствуют необходимые для их запуска компоненты.
|
||||
|
||||
`--without-normal` - отключает установку большинства статических библиотек.
|
||||
|
||||
@ -76,7 +76,6 @@ ln -sfv ../../lib/$(readlink $LIN/usr/lib/libncursesw.so) $LIN/usr/lib/libncurse
|
||||
|
||||
### Настройка
|
||||
|
||||
Соберите 32-битную версию ncurses:
|
||||
Выполните:
|
||||
|
||||
```bash
|
||||
@ -91,9 +90,9 @@ make distclean
|
||||
CC="$LIN_TGT-gcc -m32" \
|
||||
CXX="$LIN_TGT-g++ -m32" \
|
||||
DESTDIR=$LIN \
|
||||
./configure --prefix=/usr \
|
||||
./configure --prefix=/usr \
|
||||
--host=$LIN_TGT32 \
|
||||
--build=$(./config.guess) \
|
||||
--build=$(./config.guess) \
|
||||
--libdir=/usr/lib32 \
|
||||
--without-manpages \
|
||||
--without-tests \
|
||||
@ -103,7 +102,7 @@ DESTDIR=$LIN \
|
||||
--without-debug \
|
||||
--without-ada \
|
||||
--without-normal \
|
||||
--enable-pc-files \
|
||||
--enable-pc-files \
|
||||
--enable-widec \
|
||||
--with-pkg-config-libdir=/usr/lib32/pkgconfig
|
||||
```
|
||||
|
@ -4,6 +4,7 @@
|
||||
|
||||
<!--
|
||||
- при апдейтах лучше писать "сверху" списка, а не в алфавитном порядке
|
||||
- UPD. И писать дату обновления.
|
||||
- давать понятное описание того, что изменилось (или брать с issue)
|
||||
- новые записи добавлять наверх
|
||||
-->
|
||||
@ -25,13 +26,15 @@
|
||||
- e2fsprogs 1.46.5
|
||||
|
||||
## Изменения
|
||||
- [Копирование resolv.conf перенесенно в раздел "подготовка"](https://github.com/Linux4Yourself/book/issues/933)
|
||||
- [Изменить формат changelog(а)](https://github.com/Linux4Yourself/book/issues/963)
|
||||
|
||||
- [Исправления пунктуации, мелкие дополнения и изменения по тексту руководства](https://github.com/Linux4Yourself/book/pull/1040)
|
||||
- [Копирование resolv.conf перенесенно в раздел "Подготовка"](https://github.com/Linux4Yourself/book/issues/933)
|
||||
- [Изменён формат changelog(а)](https://github.com/Linux4Yourself/book/issues/963)
|
||||
- [Cмена репозитория (и мейнтейнера) eudev](https://github.com/Linux4Yourself/book/issues/981)
|
||||
- [Битая ссылка https://lx4u.ru/rel/stable/kernel/kernel-setup-intro/additional/LinuxStructure1](https://github.com/Linux4Yourself/book/issues/1015)
|
||||
- [Опечатка в ссылке в разделе "Информация об используемых пакетах", пакет kbd-patch](https://github.com/Linux4Yourself/book/issues/1016)
|
||||
- [Исправлена битая ссылка https://lx4u.ru/rel/stable/kernel/kernel-setup-intro/additional/LinuxStructure1](https://github.com/Linux4Yourself/book/issues/1015)
|
||||
- [Исправлена опечатка в ссылке в разделе "Информация об используемых пакетах", пакет kbd-patch](https://github.com/Linux4Yourself/book/issues/1016)
|
||||
- [Добавление информации о доп. пакетах в заключительной части](https://github.com/Linux4Yourself/book/issues/1014)
|
||||
- [Обновление сборочных инструкций `gmp`](https://github.com/Linux4Yourself/book/pull/1018)
|
||||
- [Обновлены сборочные инструкции `gmp`](https://github.com/Linux4Yourself/book/pull/1018)
|
||||
|
||||
|
||||
## 28.12.2021
|
||||
|
@ -34,9 +34,9 @@ cd build
|
||||
|
||||
### Значения параметров
|
||||
|
||||
`--with-sysroot=$LIN` `--target=$LIN_TGT` - необходимо для кросс-компиляции.
|
||||
`--with-sysroot=$LIN`, `--target=$LIN_TGT` - необходимо для кросс-компиляции.
|
||||
|
||||
`--disable-nls` - Для кросс-компилятора не требуется локализация.
|
||||
`--disable-nls` - для кросс-компилятора не требуется локализация.
|
||||
|
||||
`--disable-werror` - отключает остановку сборки при предупреждениях.
|
||||
|
||||
|
@ -63,19 +63,19 @@ cd build
|
||||
|
||||
### Значения параметров
|
||||
|
||||
`--with-glibc-version = 2.11` Эта опция гарантирует, что пакет будет совместим с версией glibc на хосте. Для него установлено минимальное требование glibc, указанное в Требованиях к хост-системе.
|
||||
`--with-glibc-version = 2.11` - эта опция гарантирует, что пакет будет совместим с версией glibc на хосте. Для него установлено минимальное требование glibc, указанное в Требованиях к хост-системе.
|
||||
|
||||
`--with-newlib` Поскольку рабочая библиотека C еще недоступна, это гарантирует, что константа `ignit_libc` определена при сборке libgcc. Это предотвращает компиляцию любого кода, требующего поддержки libc.
|
||||
`--with-newlib` - поскольку рабочая библиотека C еще недоступна, это гарантирует, что константа `ignit_libc` определена при сборке libgcc. Это предотвращает компиляцию любого кода, требующего поддержки libc.
|
||||
|
||||
`--without-headers` При создании полного кросс-компилятора GCC требует стандартных заголовков, совместимых с целевой системой. Для наших целей эти заголовки не понадобятся. Этот переключатель предотвращает их поиск GCC.
|
||||
`--without-headers` - при создании полного кросс-компилятора GCC требует стандартных заголовков, совместимых с целевой системой. Для наших целей эти заголовки не понадобятся. Этот переключатель предотвращает их поиск GCC.
|
||||
|
||||
`--enable-initfini-array` Этот переключатель заставляет использовать некоторые внутренние структуры данных, которые необходимы, но не могут быть обнаружены при построении кросс-компилятора.
|
||||
`--enable-initfini-array` - этот переключатель заставляет использовать некоторые внутренние структуры данных, которые необходимы, но не могут быть обнаружены при построении кросс-компилятора.
|
||||
|
||||
`--disable-shared` Этот переключатель заставляет GCC связывать свои внутренние библиотеки статически. Нам это нужно, потому что общие библиотеки требуют glibc, которая ещё не установлена в целевой системе.
|
||||
`--disable-shared` - этот переключатель заставляет GCC связывать свои внутренние библиотеки статически. Нам это нужно, потому что общие библиотеки требуют glibc, которая ещё не установлена в целевой системе.
|
||||
|
||||
`--disable-decimal-float, --disable-threads, --disable-libatomic, --disable-libgomp, --disable-libquadmath, --disable-libssp, --disable-libvtv, --disable-libstdcxx` Эти переключатели отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp, libvtv и стандартной библиотеки C++ соответственно. Эти функции не будут скомпилированы при сборке кросс-компилятора и не являются необходимыми для кросс-компиляции временной libc.
|
||||
`--disable-decimal-float`, `--disable-threads`, `--disable-libatomic`, `--disable-libgomp`, `--disable-libquadmath`, `--disable-libssp`, `--disable-libvtv`, `--disable-libstdcxx` - эти переключатели отключают поддержку десятичных расширений с плавающей запятой, потоковой передачи, libatomic, libgomp, libquadmath, libssp, libvtv и стандартной библиотеки C++ соответственно. Эти функции не будут скомпилированы при сборке кросс-компилятора и не являются необходимыми для кросс-компиляции временной libc.
|
||||
|
||||
`--enable-languages=c,c++` Эта опция гарантирует, что будут построены только компиляторы C и C++. Это единственные языки, которые нужны сейчас.
|
||||
`--enable-languages=c,c++` - эта опция гарантирует, что будут построены только компиляторы C и C++. Это единственные языки, которые нужны сейчас.
|
||||
|
||||
## Сборка
|
||||
|
||||
@ -89,7 +89,7 @@ make
|
||||
make install
|
||||
```
|
||||
|
||||
Создадим полную версию `limits.h` - заголовочного файла, в котором записаны лимиты:
|
||||
Создайте полную версию `limits.h` - заголовочного файла, в котором записаны лимиты:
|
||||
|
||||
```bash
|
||||
cd ..
|
||||
|
@ -2,12 +2,12 @@
|
||||
<img src="https://raw.githubusercontent.com/Linux4Yourself/Linux4Yourself.Design/main/misc/cover.svg" />
|
||||
</div>
|
||||
|
||||
Lx4U или “Linux для себя” - подробное руководство по созданию Linux-системы, используя исходные тексты необходимого программного обеспечения.
|
||||
Lx4U или “Linux для себя” - подробное руководство по созданию Linux-системы путём сборки исходных текстов необходимого программного обеспечения.
|
||||
|
||||
Это руководство - самостоятельное ответвление от проекта [Linux From Scratch](https://linuxfromscratch.org).
|
||||
|
||||
На ваш выбор предлагается использование multilib системы, поддержка EFI и набор дополнительного программного обеспечения для организации комфортной работы. Кроме того, существует расширенное руководство, в котором содержится информация о настройке окружения рабочего стола и программного обеспечения, охватывающего различные области применения.
|
||||
|
||||
Но главная идея остаётся - вы в центре всего, и вы решаете, какой должна быть Ваша собственная система. А мы просто протягиваем Вам руку помощи.
|
||||
Но главная идея остаётся - вы в центре всего, и вы решаете, какой должна быть ваша собственная система. А мы просто протягиваем вам руку помощи.
|
||||
|
||||
Начните собственное путешествие в мир Linux прямо сейчас!
|
||||
|
@ -2,9 +2,9 @@
|
||||
|
||||
Время сборки пакетов во многом зависит от мощности компьютера.
|
||||
|
||||
В этом руководстве используется единица времени, аналогичная такой же как в Linux from scratch - SBU (Standard Build Unit).
|
||||
В этом руководстве используется единица времени, аналогичная такой же, как в Linux From Scratch, - SBU (Standard Build Unit).
|
||||
|
||||
Она равна времени сборки первого пакета. Первым пакетом является `binutils`, время его компиляции в один поток на компьютере с процессором i3-2370M составляет примерно 3 минуты. 3 минуты = 1 SBU. На Вашем ПК значение будет немного другим. Также, если какой-то пакет компилируется 10 SBU, то, переводя SBU в более привычную единицу, это будет равняться 30 минутам (учитывая то, что 1 SBU = 3 минутам).
|
||||
Она равна времени сборки первого пакета. Первым пакетом является `binutils`, время его компиляции в один поток на компьютере с процессором i3-2370M составляет примерно 3 минуты. 3 минуты = 1 SBU. На вашем ПК значение будет немного другим. Если какой-то пакет компилируется 10 SBU, то, переводя SBU в более привычную единицу, это будет равняться 30 минутам (учитывая то, что 1 SBU равен 3 минутам).
|
||||
|
||||
Время на сборку 32-битных версий библиотек не учитывается.
|
||||
|
||||
|
@ -1,5 +1,7 @@
|
||||
# Создание пользователя LIN
|
||||
|
||||
<!-- "мы находимся под пользователем..." - как-то криво -->
|
||||
|
||||
Когда мы находимся под пользователем `root` - одна единственная ошибка может привести к повреждению или поломке всей хост-системы.
|
||||
|
||||
Следовательно, рекомендуется выполнять сборку пакетов для временного набора инструментов от обычного пользователя, без привилегий.
|
||||
@ -35,13 +37,13 @@ _`/dev/null` — специальный файл в системах класс
|
||||
passwd lin
|
||||
```
|
||||
|
||||
Предоставим пользователю `lin` полный доступ к каталогам будущей ОС:
|
||||
Предоставьте пользователю `lin` полный доступ к каталогам будущей ОС:
|
||||
|
||||
```bash
|
||||
chown -vR lin $LIN
|
||||
```
|
||||
|
||||
Выполните вход как пользователь lin. Это действие можно выполнить в графической оболочке, используя виртуальный терминал, или в обычной пользовательской среде:
|
||||
Выполните вход как пользователь `lin`. Это действие можно выполнить в графической оболочке, используя виртуальный терминал, или в обычной пользовательской среде:
|
||||
|
||||
```bash
|
||||
su - lin
|
||||
|
@ -27,4 +27,4 @@
|
||||
В руководстве в конце многих страниц присутствуют инструкции для multilib систем. Поддержка multilib является опциональной. Если Вам она не нужна, не выполняйте эти инструкции.
|
||||
Поддержка multilib является частичной - инструкции для сборки 32-битных версий библиотек предоставляются только тогда, когда они необходимы для сборки пакета.
|
||||
|
||||
[Подробнее про архитектуры процессора](../../additional/cpu-arch).
|
||||
> [Подробнее про архитектуры процессора](../../additional/cpu-arch).
|
||||
|
@ -1,8 +1,8 @@
|
||||
# Создание базовых директорий и символических ссылок
|
||||
|
||||
## Создание каталога $LIN/tools
|
||||
## Создание каталога `$LIN/tools`
|
||||
|
||||
Все программы, которые будут скомпилированы в следующей части, будут установлены в каталог `$LIN/tools`, чтобы можно было оставить их отдельно от сборки конечной системы. Программы, которые будут скомпилированы - временные инструменты и не будут входить в конечную сборку системы.
|
||||
Все программы, которые будут скомпилированы в следующей части, будут установлены в каталог `$LIN/tools`, чтобы можно было оставить их отдельно от сборки конечной системы. Это временные инструменты, которые не будут входить в конечную сборку системы.
|
||||
|
||||
После использования кросс-компилятора, от него можно избавиться. Использование каталога `$LIN/tools` необходимо для того, чтобы не засорять рабочие каталоги хост-системы.
|
||||
|
||||
@ -59,10 +59,8 @@ ln -sv usr/lib32 $LIN/lib32
|
||||
|
||||
???+ note "Обратите внимание"
|
||||
|
||||
В случае если вы используете классическую иерархию каталогов, разделение /lib32 и /usr/lib32 не имеет смысла так как 32-битные библиотеки не требуются для запуска системы.
|
||||
В случае если вы используете классическую иерархию каталогов, разделение `/lib32` и `/usr/lib32` не имеет смысла, так как 32-битные библиотеки не требуются для запуска системы.
|
||||
|
||||
???+ warning "Предупреждение"
|
||||
|
||||
Обратите внимание, что указанная символическая ссылка правильная. Если указать `$LIN/usr/lib32`, то при входе в среду `chroot`, ссылка будет некорректная.
|
||||
|
||||
|
||||
|
@ -1,16 +1,20 @@
|
||||
# Необходимые разделы
|
||||
|
||||
Потребуется корневой раздел - рекомендуемый размер не менее 20 Гб. Также вы можете создать дополнительный и поместить туда любой каталог (например, `/home`).
|
||||
Потребуется корневой раздел, рекомендуемый размер которого не менее 20 Гб. Также вы можете создать дополнительный и поместить туда любой каталог (например, `/home`).
|
||||
|
||||
## Форматирование корневого раздела
|
||||
|
||||
В руководстве поддерживается только файловая система ext4. Рекомендуется создать её на корневом разделе следующей командой (или по-другому, например, с помощью `GParted`):
|
||||
<!-- Удалено уточнение про GParted потому что:
|
||||
- Предполагается, что пользователь, собирающий LX4U, знает об этом инструменте, либо о подобных;
|
||||
- В данном руководстве рассказывать о каких-то дополнительных инструментах для работы с дисками будет излишним, ИМХО
|
||||
-->
|
||||
В руководстве поддерживается только файловая система ext4. Рекомендуется создать её на корневом разделе следующей командой:
|
||||
|
||||
```bash
|
||||
mkfs -v -t ext4 /dev/sdX
|
||||
```
|
||||
|
||||
Где sdX - ваш раздел
|
||||
Где `sdX` - ваш раздел
|
||||
|
||||
## Форматирование EFI раздела
|
||||
|
||||
@ -21,7 +25,8 @@ mkfs.vfat -v /dev/sdN
|
||||
```
|
||||
|
||||
Где `sdN` - ваш раздел.
|
||||
После этого следует установить на него флаги `boot`,`esp`.
|
||||
|
||||
После этого следует установить на него флаги `boot`, `esp`.
|
||||
|
||||
## Для MBR и Legacy boot
|
||||
|
||||
@ -41,12 +46,12 @@ mkswap /dev/sdY
|
||||
|
||||
???+ note "Обратите внимание"
|
||||
|
||||
Больше информации о создании и настройке подкачки читать [здесь](../../additional/swap).
|
||||
Больше информации о создании и настройке подкачки читать [здесь](../../additional/swap).
|
||||
|
||||
## Другие разделы
|
||||
|
||||
При желании вы можете создать другие разделы. Инструкции для них аналогичны инструкции по созданию корневого раздела. Если вы не уверены, нужно ли создавать еще какой-либо раздел, делать этого не стоит.
|
||||
При желании вы можете создать другие разделы. Инструкции для них аналогичны инструкциям по созданию корневого раздела. Если вы не уверены, нужно ли создавать еще какой-либо раздел, делать этого не стоит.
|
||||
|
||||
???+ note "Обратите внимание"
|
||||
|
||||
[Подробнее о разделах](../../additional/partitions_catalogs?id=Типы-разделов).
|
||||
[Подробнее о разделах](../../additional/partitions_catalogs?id=Типы-разделов).
|
||||
|
@ -20,7 +20,7 @@ wget --input-file=wget-list --continue --directory-prefix=$LIN/usr/src
|
||||
|
||||
При желании вы можете выполнить проверку пакетов на соответствие контрольным суммам.
|
||||
|
||||
Загрузите файл [md5Sums](../../packages/md5sums).
|
||||
Загрузите файл [md5sums](../../packages/md5sums).
|
||||
|
||||
Поместите его в каталог `$LIN/usr/src` и выполните команду:
|
||||
|
||||
|
@ -2,17 +2,17 @@
|
||||
|
||||
???+ warning "Предупреждение"
|
||||
|
||||
**Все команды в данном разделе выполняются от имени пользователя root.**
|
||||
**Все команды в данном разделе выполняются от имени пользователя `root`.**
|
||||
|
||||
## Монтирование корневого раздела
|
||||
|
||||
Убедимся, что переменная `$LIN` задана:
|
||||
Убедитесь, что переменная `$LIN` задана:
|
||||
|
||||
```bash
|
||||
echo $LIN
|
||||
```
|
||||
|
||||
Смонтируем раздел:
|
||||
Смонтируйте раздел:
|
||||
|
||||
```bash
|
||||
mount -v /dev/sdX $LIN
|
||||
@ -22,13 +22,13 @@ mount -v /dev/sdX $LIN
|
||||
|
||||
## Монтирование раздела EFI
|
||||
|
||||
Создадим точку монтирования раздела EFI:
|
||||
Создайте точку монтирования раздела EFI:
|
||||
|
||||
```bash
|
||||
mkdir -pv $LIN/boot/efi
|
||||
```
|
||||
|
||||
Смонтируем раздел:
|
||||
Смонтируйте раздел:
|
||||
|
||||
```bash
|
||||
mount -v /dev/sdN $LIN/boot/efi
|
||||
|
@ -10,28 +10,28 @@
|
||||
|
||||
Более ранние версии перечисленных программных пакетов могут работать, но корректность работы не проверялась.
|
||||
|
||||
- Bash-3.2 (`/bin/sh` - жесткая или символическая ссылка на ``bash``)
|
||||
- Binutils-2.25
|
||||
- Bison-2.7 (`/usr/bin/yacc` - символическая ссылка на `bison` или на файл сценария, который его запускает)
|
||||
- Bzip2-1.0.4
|
||||
- Coreutils-6.9
|
||||
- Diffutils-2.8.1
|
||||
- Findutils-4.2.31
|
||||
- Gawk-4.0.1 (``/usr/bin/awk`` - символическая ссылка на `gawk`)
|
||||
- GCC-6.2 с компилятором C++, g++
|
||||
- Glibc-2.11
|
||||
- Grep-2.5.1a
|
||||
- Gzip-1.3.12
|
||||
- Linux Kernel-3.2
|
||||
- M4-1.4.10
|
||||
- Make-4.0
|
||||
- Patch-2.5.4
|
||||
- Perl-5.8.8
|
||||
- Python-3.4
|
||||
- Sed-4.1.5
|
||||
- Tar-1.22
|
||||
- Texinfo-4.7
|
||||
- Xz-5.0.0
|
||||
- Bash-3.2 (`/bin/sh` - жесткая или символическая ссылка на ``bash``);
|
||||
- Binutils-2.25;
|
||||
- Bison-2.7 (`/usr/bin/yacc` - символическая ссылка на `bison` или на файл сценария, который его запускает);
|
||||
- Bzip2-1.0.4;
|
||||
- Coreutils-6.9;
|
||||
- Diffutils-2.8.1;
|
||||
- Findutils-4.2.31;
|
||||
- Gawk-4.0.1 (``/usr/bin/awk`` - символическая ссылка на `gawk`);
|
||||
- GCC-6.2 с компилятором C++, g++;
|
||||
- Glibc-2.11;
|
||||
- Grep-2.5.1a;
|
||||
- Gzip-1.3.12;
|
||||
- Linux Kernel-3.2;
|
||||
- M4-1.4.10;
|
||||
- Make-4.0;
|
||||
- Patch-2.5.4;
|
||||
- Perl-5.8.8;
|
||||
- Python-3.4;
|
||||
- Sed-4.1.5;
|
||||
- Tar-1.22;
|
||||
- Texinfo-4.7;
|
||||
- Xz-5.0.0;
|
||||
|
||||
В зависимости от семейства ОС Linux, выполните следующий команды, чтобы обеспечить совместимость и установить необходимые пакеты:
|
||||
|
||||
@ -54,7 +54,6 @@ pacman -S base-devel
|
||||
dnf install bison gawk texinfo make gcc-c++
|
||||
```
|
||||
|
||||
|
||||
## Проверка соответствия программного обеспечения
|
||||
|
||||
Чтобы узнать, что ваша хост-система полностью соответствует всем необходимым для дальнейшей работы требованиям, выполните следующий набор команд:
|
||||
@ -65,7 +64,7 @@ dnf install bison gawk texinfo make gcc-c++
|
||||
???+ warning "Предупреждение"
|
||||
Внимательно изучите результат выполнения. В нём не должно встречаться строк, содержащих `ERROR`, `command not found`, `failed`.
|
||||
|
||||
**Ошибочный результат**
|
||||
**Ошибочный результат:**
|
||||
|
||||
```
|
||||
bash, version 5.0.17(1)-release
|
||||
@ -99,7 +98,7 @@ version-check.sh: line 53: g++: command not found
|
||||
g++ compilation failed
|
||||
```
|
||||
|
||||
**Успешный результат**
|
||||
**Успешный результат:**
|
||||
|
||||
```
|
||||
bash, version 5.0.0(1)-release
|
||||
@ -128,4 +127,4 @@ tar (GNU tar) 1.32
|
||||
texi2any (GNU texinfo) 6.6
|
||||
xz (XZ Utils) 5.2.4
|
||||
g++ compilation OK
|
||||
```
|
||||
```
|
||||
|
@ -1,7 +1,7 @@
|
||||
# Настройка окружения
|
||||
|
||||
Необходимо настроить окружение для недавно созданного пользователя.
|
||||
Создадим `.bash_profile`:
|
||||
Создайте `.bash_profile`:
|
||||
|
||||
```bash
|
||||
cat > ~/.bash_profile << "EOF"
|
||||
@ -9,7 +9,7 @@ exec env -i HOME=$HOME TERM=$TERM PS1='\u:\w\$ ' /bin/bash
|
||||
EOF
|
||||
```
|
||||
|
||||
Создадим базовый `.bashrc`:
|
||||
Создайте базовый `.bashrc`:
|
||||
|
||||
```bash
|
||||
cat > ~/.bashrc << "EOF"
|
||||
@ -76,14 +76,14 @@ source ~/.bash_profile
|
||||
|
||||
## Значения параметров базового bashrc
|
||||
|
||||
`set +h` - Данный параметр отключает сохранение путей к исполняемым файлам в памяти bash. Это необходимо для того чтобы новые исполняемые файлы становились доступны немедленно.
|
||||
`set +h` - данный параметр отключает сохранение путей к исполняемым файлам в памяти bash. Это необходимо для того чтобы новые исполняемые файлы становились доступны немедленно.
|
||||
|
||||
`umask 022` - Гарантирует, что для новых файлов будут установлены права 644.
|
||||
`umask 022` - гарантирует, что для новых файлов будут установлены права 644.
|
||||
|
||||
`LIN=/mnt/lin` - Задает путь к корню собираемый системы. `mnt/lin` взят в качестве образца.
|
||||
`LIN=/mnt/lin` - задает путь к корню собираемый системы. `/mnt/lin` взят в качестве образца.
|
||||
|
||||
`LC_ALL=C` - Исключает связанные с локализацией ошибки.
|
||||
`LC_ALL=C` - исключает связанные с локализацией ошибки.
|
||||
|
||||
`PATH=/usr/bin if [ ! -L /bin ]; then PATH=/bin:$PATH; fi` - Задаёт пути поиска исполняемых файлов в хост-системе.
|
||||
`PATH=/usr/bin if [ ! -L /bin ]; then PATH=/bin:$PATH; fi` - задаёт пути поиска исполняемых файлов в хост-системе.
|
||||
|
||||
`PATH=$LIN/tools/bin:$PATH` - Необходимо для обнаружения исполняемых файлов кросс-компилятора.
|
||||
`PATH=$LIN/tools/bin:$PATH` - необходимо для обнаружения исполняемых файлов кросс-компилятора.
|
||||
|
@ -4,6 +4,8 @@
|
||||
|
||||
Как минимум, вы должны уметь пользоваться командной оболочкой, копировать и выполнять перемещение файлов и каталогов, просматривать списки каталогов и содержимое файлов и изменять текущий каталог. Также ожидается, что у вас есть знания о процессе установки программного обеспечения в системах Linux.
|
||||
|
||||
Рекомендуем чаще обращаться к разделу [вспомогательные материалы](../../additional/additional), в котором находятся разъяснения по многим вопросам. Этот раздел часто дополняется и актуализируется.
|
||||
<!-- Если использовать выражение '... обращаться к разделу "Вспомогательные материалы"', то поместить его в кавычки. Либо использовать выражение '... обращаться к разделу вспомогательных материалов' -->
|
||||
|
||||
Рекомендуем чаще обращаться к разделу [вспомогательных материалов](../../additional/additional), в котором находятся разъяснения по многим вопросам. Этот раздел часто дополняется и актуализируется.
|
||||
|
||||
Советуем вам не пропускать тестирование скомпилированных программ, если тесты указаны в книге. Тестирование поможет вам сделать ваш дистрибутив максимально стабильным и надёжным. В случае ошибок тестирования вы можете пересобрать нужный пакет, чтобы он работал корректно.
|
||||
|
@ -1,7 +1,9 @@
|
||||
# Преимущества
|
||||
|
||||
У проекта несколько целей. Одна из них - образовательная. Создание системы по этому руководству поможет узнать, для чего используется каждый пакет и каждая программа, как компоненты системы работают вместе и взаимодействуют друг с другом. Так же вы получите много опыта в компиляции ПО из исходного кода и решения проблем при сборке.
|
||||
У проекта несколько целей. Одна из них - образовательная. Создание системы по этому руководству поможет узнать, для чего используется каждый пакет и каждая программа, как компоненты системы работают вместе и взаимодействуют друг с другом. Так же вы получите много опыта в компиляции ПО из исходного кода и решении проблем при сборке.
|
||||
|
||||
Другая цель - сборка системы, отвечающей потребностям конечного пользователя. Большинство дистрибутивов включают в себя большое число программного обеспечения. Не всё можно удалить "безболезненно" для системы. В LX4 вы можете диктовать каждый аспект своей системы, создать миниатюрную систему, способную стабильно и быстро работать на слабом оборудовании, а можете собрать довольно тяжёлый дистрибутив для мощного ПК.
|
||||
<!-- Заменено неточное "тяжёлый дистрибутив для мощного ПК". Не всегда есть необходимость в тяжёлых дистрибутивах вообще. -->
|
||||
|
||||
Другая цель - сборка системы, отвечающей потребностям конечного пользователя. Большинство дистрибутивов включают в себя большое число программного обеспечения. Не всё можно удалить "безболезненно" для системы. В LX4 вы можете диктовать каждый аспект своей системы, создать миниатюрную систему, способную стабильно и быстро работать на слабом оборудовании, а можете собрать довольно продвинутый дистрибутив для мощного ПК.
|
||||
|
||||
Преимуществом собственной сборки Linux является безопасность. При компиляции каждого компонента системы из исходных кодов вы можете всё проверить и применить необходимые патчи. Теперь не надо ждать, когда кто-нибудь скомпилирует пакет с требуемыми исправлениями.
|
||||
|
@ -2,10 +2,10 @@
|
||||
|
||||
Существует огромное количество операционных систем семейства Linux, каждая из которых предлагает то или иное преимущество. Различные варианты могут затруднить выбор и забрать много времени для поиска необходимого именно под Ваши задачи.
|
||||
|
||||
Linux распахивает дверь в гигантский мир открытых систем, в котором существует огромное количество средств для решения самых разнообразных задач.
|
||||
Linux распахивает дверь в гигантский мир открытых и свободных систем, в котором существует огромное количество средств для решения самых разнообразных задач.
|
||||
|
||||
Нужна ОС попроще? Для игр? А, возможно, нужен мультимедийный дистрибутив для комфортного просмотра и прослушивания медиа контента?
|
||||
|
||||
Используя это руководство, вы получите работающую систему на ваш вкус. вы всё контролируете, а мы просто протягиваем Вам руку помощи.
|
||||
Используя это руководство, вы получите работающую систему на ваш вкус. Вы всё контролируете, а мы просто протягиваем вам руку помощи.
|
||||
|
||||
Начните собственное путешествие в мир Linux прямо сейчас!
|
||||
|
@ -2,8 +2,10 @@
|
||||
|
||||
**Уважаемый читатель!**
|
||||
|
||||
Мы ценим, что вы читаете это руководство и искренне надеемся, что оно принесёт как образовательную, так и практическую пользу.
|
||||
<!-- Фикс пунктуации: [мы ценим, (...), ...] -->
|
||||
|
||||
Если у вас возникли вопросы, проблемы, или вы хотите внести свой вклад в развитие проекта - пожалуйста, оставьте запрос в нашем репозитории по адресу **https://github.com/Linux4Yourself/book/issues/new**.
|
||||
Мы ценим, что вы читаете это руководство, и искренне надеемся, что оно принесёт как образовательную, так и практическую пользу.
|
||||
|
||||
Если у вас возникли вопросы, проблемы, или вы хотите внести свой вклад в развитие проекта - пожалуйста, оставьте запрос в нашем репозитории [**здесь**](https://github.com/Linux4Yourself/book/issues/new).
|
||||
|
||||
_С уважением, команда проекта «Linux для себя»._
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Опечатки и неточности
|
||||
|
||||
Проблему ошибок и опечаток в публикациях мы стараемся рассматривать и исправлять как можно оперативнее. Мы открыты к диалогу, и Вы, как читатель, всегда можете предложить свои замечания, улучшения и пожелания.
|
||||
Проблему ошибок и опечаток в публикациях мы стараемся рассматривать и исправлять как можно оперативнее. Мы открыты к диалогу, и вы, как читатель, всегда можете предложить свои замечания, улучшения и пожелания.
|
||||
|
||||
Для этого достаточно создать запрос в нашем официальном репозитории на GitHub по адресу: https://github.com/Linux4Yourself/book/issues/new.
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user