mirror of
https://github.com/Linux4Yourself/book.git
synced 2025-02-02 23:07:17 +08:00
Merge pull request #956 from Linux4Yourself/feature/mkddocs-upstream-fixes
Feature/mkddocs upstream fixes
This commit is contained in:
commit
8a4e8cd95b
@ -43,15 +43,67 @@ userdel -r tester
|
|||||||
|
|
||||||
Вы можете удалить ненужные символы из исполняемых файлов:
|
Вы можете удалить ненужные символы из исполняемых файлов:
|
||||||
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
find /lib /usr/lib{,32} -type f -name \*.a \
|
save_usrlib="$(cd /usr/lib; ls ld-linux*)
|
||||||
-exec strip --strip-debug {} ';'
|
libc.so.6
|
||||||
|
libthread_db.so.1
|
||||||
|
libquadmath.so.0.0.0
|
||||||
|
libstdc++.so.6.0.29
|
||||||
|
libitm.so.1.0.0
|
||||||
|
libatomic.so.1.2.0"
|
||||||
|
|
||||||
find /lib /usr/lib{,32} -type f -name \*.so* ! -name \*dbg \
|
cd /usr/lib
|
||||||
|
|
||||||
|
for LIB in $save_usrlib; do
|
||||||
|
objcopy --only-keep-debug $LIB $LIB.dbg
|
||||||
|
cp $LIB /tmp/$LIB
|
||||||
|
strip --strip-unneeded /tmp/$LIB
|
||||||
|
objcopy --add-gnu-debuglink=$LIB.dbg /tmp/$LIB
|
||||||
|
install -vm755 /tmp/$LIB /usr/lib
|
||||||
|
rm /tmp/$LIB
|
||||||
|
done
|
||||||
|
|
||||||
|
online_usrbin="bash find strip"
|
||||||
|
online_usrlib="libbfd-2.37.so
|
||||||
|
libhistory.so.8.1
|
||||||
|
libncursesw.so.6.2
|
||||||
|
libm.so.6
|
||||||
|
libreadline.so.8.1
|
||||||
|
libz.so.1.2.11.zlib-ng
|
||||||
|
$(cd /usr/lib; find libnss*.so* -type f)"
|
||||||
|
|
||||||
|
for BIN in $online_usrbin; do
|
||||||
|
cp /usr/bin/$BIN /tmp/$BIN
|
||||||
|
strip --strip-unneeded /tmp/$BIN
|
||||||
|
install -vm755 /tmp/$BIN /usr/bin
|
||||||
|
rm /tmp/$BIN
|
||||||
|
done
|
||||||
|
|
||||||
|
for LIB in $online_usrlib; do
|
||||||
|
cp /usr/lib/$LIB /tmp/$LIB
|
||||||
|
strip --strip-unneeded /tmp/$LIB
|
||||||
|
install -vm755 /tmp/$LIB /usr/lib
|
||||||
|
rm /tmp/$LIB
|
||||||
|
done
|
||||||
|
|
||||||
|
for i in $(find /usr/lib -type f -name \*.so* ! -name \*dbg) \
|
||||||
|
$(find /usr/lib -type f -name \*.a) \
|
||||||
|
$(find /usr/{bin,sbin,libexec} -type f); do
|
||||||
|
case "$online_usrbin $online_usrlib $save_usrlib" in
|
||||||
|
*$(basename $i)* )
|
||||||
|
;;
|
||||||
|
* ) strip --strip-unneeded $i
|
||||||
|
;;
|
||||||
|
esac
|
||||||
|
done
|
||||||
|
|
||||||
|
unset BIN LIB save_usrlib online_usrbin online_usrlib
|
||||||
|
|
||||||
|
find /usr/lib{,32} -type f -name \*.a \
|
||||||
|
-exec strip --strip-debug {} ';'
|
||||||
|
|
||||||
|
find /usr/lib32 -type f -name \*.so* ! -name \*dbg \
|
||||||
-exec strip --strip-unneeded {} ';'
|
-exec strip --strip-unneeded {} ';'
|
||||||
|
|
||||||
find /{bin,sbin} /usr/{bin,sbin,libexec} -type f \
|
|
||||||
-exec strip --strip-all {} ';'
|
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -1,21 +1,5 @@
|
|||||||
{{ include('../packages/gcc/README.md') }}
|
{{ include('../packages/gcc/README.md') }}
|
||||||
|
|
||||||
<script>
|
|
||||||
new Vue({
|
|
||||||
el: '#main',
|
|
||||||
data: { package: {} },
|
|
||||||
mounted: function () {
|
|
||||||
this.getPackage('gcc');
|
|
||||||
},
|
|
||||||
methods: {
|
|
||||||
getPackage: function(name) {
|
|
||||||
getPackage(name)
|
|
||||||
.then(response => this.package = response);
|
|
||||||
},
|
|
||||||
}
|
|
||||||
})
|
|
||||||
</script>
|
|
||||||
|
|
||||||
## Подготовка
|
## Подготовка
|
||||||
|
|
||||||
Исправьте пути установки библиотек:
|
Исправьте пути установки библиотек:
|
||||||
|
@ -21,13 +21,6 @@ Glibc по умолчанию использует несоответствую
|
|||||||
patch -Np1 -i ../glibc-2.33-fhs-1.patch
|
patch -Np1 -i ../glibc-2.33-fhs-1.patch
|
||||||
```
|
```
|
||||||
|
|
||||||
Исправьте ошибку:
|
|
||||||
|
|
||||||
```bash
|
|
||||||
sed -e '402a\ *result = local->data.services[database_index];' \
|
|
||||||
-i nss/nss_database.c
|
|
||||||
```
|
|
||||||
|
|
||||||
Пакет Glibc требует использовать отдельную директорию для сборки. Создайте её:
|
Пакет Glibc требует использовать отдельную директорию для сборки. Создайте её:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -37,19 +30,21 @@ cd build
|
|||||||
|
|
||||||
## Настройка
|
## Настройка
|
||||||
|
|
||||||
|
|
||||||
|
Если вы собираете систему с раздельной структурой директорий, убедитесь, что утилиты `ldconfig` и `sln` установлены в `/usr/sbin`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo "rootsbindir=/usr/sbin" > configparms
|
||||||
|
```
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
../configure \
|
../configure \
|
||||||
--prefix=/usr \
|
--prefix=/usr \
|
||||||
--disable-werror \
|
--disable-werror \
|
||||||
--enable-kernel=3.2 \
|
--enable-kernel=3.2 \
|
||||||
--with-headers=/usr/include \
|
--with-headers=/usr/include \
|
||||||
--libexecdir=/usr/lib \
|
libc_cv_slibdir=/lib
|
||||||
libc_cv_slibdir=/usr/lib \
|
|
||||||
libc_cv_include_x86_isa_level=no
|
|
||||||
```
|
```
|
||||||
|
|
||||||
> Если вы используете раздельную структуру каталогов, то измените значение параметра `libc_cv_slibdir` на `/lib`: `libc_cv_slibdir=/lib`, и удалите параметр `--libexecdir=/usr/lib`.
|
|
||||||
|
|
||||||
### Для multilib
|
### Для multilib
|
||||||
|
|
||||||
Добавьте параметр `--enable-multi-arch`
|
Добавьте параметр `--enable-multi-arch`
|
||||||
@ -60,8 +55,6 @@ cd build
|
|||||||
|
|
||||||
`--with-headers=/usr/include` - задаёт путь к заголовкам ядра.
|
`--with-headers=/usr/include` - задаёт путь к заголовкам ядра.
|
||||||
|
|
||||||
`libc_cv_include_x86_isa_level=no` - исключает возможную ошибку.
|
|
||||||
|
|
||||||
## Сборка
|
## Сборка
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -11,7 +11,7 @@ ln -sfv ../lib/ld-linux-x86-64.so.2 $LIN/lib64/ld-lsb-x86-64.so.3
|
|||||||
|
|
||||||
Первая ссылка используется GCC, вторую требует LSB.
|
Первая ссылка используется GCC, вторую требует LSB.
|
||||||
|
|
||||||
В пакете Glibc по умолчанию используется несоответствующая стандаруту FHS директория `/var/db`. Для исправления этого примените патч:
|
В пакете Glibc по умолчанию используется несоответствующая стандарту FHS директория `/var/db`. Для исправления этого примените патч:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
patch -Np1 -i ../glibc-2.34-fhs-1.patch
|
patch -Np1 -i ../glibc-2.34-fhs-1.patch
|
||||||
@ -24,6 +24,13 @@ mkdir build
|
|||||||
cd build
|
cd build
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Убедитесь, что утилиты `ldconfig` и `sln` установлены в `/usr/sbin`:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
echo "rootsbindir=/usr/sbin" > configparms
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
Запустите скрипт `configure`:
|
Запустите скрипт `configure`:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
@ -65,6 +72,13 @@ make
|
|||||||
make DESTDIR=$LIN install
|
make DESTDIR=$LIN install
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
Исправьте жестко заданный путь к исполняемому загрузчику в скрипте ldd:
|
||||||
|
|
||||||
|
```bash
|
||||||
|
sed '/RTLDLIST=/s@/usr@@g' -i $LIN/usr/bin/ldd
|
||||||
|
```
|
||||||
|
|
||||||
Завершите установку файла `limits.h`, запустив скрипт из состава GCC:
|
Завершите установку файла `limits.h`, запустив скрипт из состава GCC:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
|
@ -199,7 +199,7 @@ Cryptographic API --->
|
|||||||
|
|
||||||
В разделе `Device Drivers` - нужно пройтись по разделам и включить драйвера для своего оборудования - нестандартные жёсткие диски, мышки, USB устройства, веб-камеры, Bluetooth, Wi-Fi адаптеры, принтеры и т. д.
|
В разделе `Device Drivers` - нужно пройтись по разделам и включить драйвера для своего оборудования - нестандартные жёсткие диски, мышки, USB устройства, веб-камеры, Bluetooth, Wi-Fi адаптеры, принтеры и т. д.
|
||||||
|
|
||||||
Посмотреть, какое оборудование подключено к вашей системе можно командой:
|
Если вы собирали пакет `pciutils`, то просмотреть, какое оборудование подключено к вашему ПК, можно командой:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
lspci
|
lspci
|
||||||
|
@ -48,17 +48,16 @@ ln -sf bash /bin/sh
|
|||||||
pacman -S base-devel
|
pacman -S base-devel
|
||||||
```
|
```
|
||||||
|
|
||||||
### Для Rosa
|
### Для Fedora, Redhat
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
urpmi bison gawk texinfo make gcc-c++
|
dnf install bison gawk texinfo make gcc-c++
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
## Проверка соответствия программного обеспечения
|
## Проверка соответствия программного обеспечения
|
||||||
|
|
||||||
Чтобы узнать, что ваша хост-система полностью соответствует всем необходимым для дальнейшей работы требованиям, выполните следующий набор команд:
|
Чтобы узнать, что ваша хост-система полностью соответствует всем необходимым для дальнейшей работы требованиям, выполните следующий набор команд:
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
{{ include('../scripts/version-check.sh') }}
|
{{ include('../scripts/version-check.sh') }}
|
||||||
```
|
```
|
||||||
@ -129,6 +128,4 @@ tar (GNU tar) 1.32
|
|||||||
texi2any (GNU texinfo) 6.6
|
texi2any (GNU texinfo) 6.6
|
||||||
xz (XZ Utils) 5.2.4
|
xz (XZ Utils) 5.2.4
|
||||||
g++ compilation OK
|
g++ compilation OK
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue
Block a user