Lx4U-book/docs/build-system/cleanup.md

110 lines
2.6 KiB
Markdown
Raw Permalink Normal View History

2021-05-25 18:16:24 +08:00
# Очистка системы
Во время тестов может создаваться большое количество временных файлов. Удалите их:
```bash
rm -rf /tmp/*
```
Перезайдите в среду `chroot`:
```bash
logout
```
```bash
{{ include('../scripts/chroot.sh') }}
```
2021-07-06 17:57:26 +08:00
2021-05-29 16:32:19 +08:00
2021-05-25 18:16:24 +08:00
Файлы `.la` потеряли свою актуальность и могут вызвать проблемы при обновлении. Удалите их:
```bash
find /usr/lib /usr/libexec /usr/lib32 -name \*.la -delete
```
Удалите временный компилятор:
```bash
find /usr -depth -name $(uname -m)-lin-linux-gnu\* | xargs rm -rf
```
2021-06-10 21:28:16 +08:00
Удалите кросс-компилятор:
2021-05-25 18:16:24 +08:00
```bash
rm -rf /tools
```
Удалите созданного для тестов пользователя:
```bash
userdel -r tester
```
2021-05-30 15:34:14 +08:00
2021-10-26 03:10:08 +08:00
Вы можете удалить ненужные символы из исполняемых файлов:
2021-05-30 15:34:14 +08:00
2021-05-30 15:34:14 +08:00
```bash
2021-10-26 03:10:08 +08:00
save_usrlib="$(cd /usr/lib; ls ld-linux*)
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"
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
2021-11-10 19:37:57 +08:00
libncursesw.so.6.3
2021-10-26 03:10:08 +08:00
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 \
2021-05-30 15:34:14 +08:00
-exec strip --strip-unneeded {} ';'
```
2021-06-13 16:26:44 +08:00