Самый верный способ очистки будет перенос пользовательских пакетов
в большой раздел диска
и создание символической ссылки на них в прежнем месте
в конце есть несколько полезных ссылок чтобы не искать все ручками (начать лучше с них (отобразить самые большие пакеты и перенести их), а алгоритм изложен в моем сообщении)
две полезные темы по этому поводу
и собственный опыт)
Смотрим какие разделы примонтированы и куда
df -h
Пример вывода
root@wirenboard-AITGTIZ7:~# df -h
Файловая система Размер Использовано Дост Использовано% Cмонтировано в
/dev/root 979M 718M 194M 79% /
devtmpfs 493M 0 493M 0% /dev
tmpfs 502M 0 502M 0% /dev/shm
tmpfs 502M 512K 501M 1% /run
tmpfs 5,0M 0 5,0M 0% /run/lock
tmpfs 502M 0 502M 0% /sys/fs/cgroup
/dev/mmcblk0p6 4,9G 1,4G 3,3G 30% /mnt/data
tmpfs 101M 0 101M 0% /run/user/0
Запоминаем что наш большой раздел примонтрован в /mnt/data
И исследуем что у нас занимает место в корне
root@wirenboard-AITGTIZ7:~# du -hd1 /
5,5M /sbin
4,0K /opt
74M /lib
4,0K /home
4,9M /etc
504K /run
16K /lost+found
5,6M /bin
0 /sys
1,4G /mnt
576M /usr
4,0K /media
5,5M /tmp
du: невозможно получить доступ к '/proc/5666/task/5666/fd/4': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/task/5666/fdinfo/4': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/fd/3': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5666/fdinfo/3': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5721': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5725': Нет такого файла или каталога
du: невозможно получить доступ к '/proc/5726': Нет такого файла или каталога
0 /proc
4,0K /srv
124M /var
9,9M /boot
16K /root.default
0 /dev
2,2G /
Условно видим что много места занимает /usr
далее
du -hd1 /usr
и в таком духе.
В моем случае много места занимал Node-red со своими модулями
поэтому я перенес такие папки как /usr/lib/node_modules/
Как перенести?
Для порядка предлагаю создать внутри /mnt/data какую-то отдельную папку, условно folder
mkdir /mnt/data/folder
и создавать внутри нее целевые папки по образу изначального нахождения (вообще я уверен что для cp есть какой-то синтаксис, который создаст все необходимые целевые папки, но я его не знаю)
mkdir /mnt/data/folder/usr
mkdir /mnt/data/folder/usr/lib
mkdir /mnt/data/folder/usr/lib/node_modules
Дальше берем нашу usr/lib/node_modules/ и копируем в нашу folder
cp -r /usr/lib/node_modules /mnt/data/folder/usr/lib/
удаляем папку в прежнем месте
rm -r /usr/lib/node_modules
и создаем на нее символическую ссылку
ln -s /mnt/data/folder/usr/lib/node_modules /usr/lib/node_modules /// ln -s целевой_файл(каталог) место_ссылки
можем проверить
root@wirenboard-AITGTIZ7:~# ls -l /usr/lib/
итого 20936
drwxr-xr-x 5 root root 4096 фев 23 2022 apt
drwxr-xr-x 19 root root 20480 сен 5 10:42 arm-linux-gnueabihf
drwxr-xr-x 2 root root 4096 июн 17 09:42 avahi
drwxr-xr-x 2 root root 4096 июл 8 2021 binfmt.d
drwxr-xr-x 2 root root 4096 мар 25 18:28 bluetooth
drwxr-xr-x 2 root root 4096 май 31 22:56 compat-ld
drwxr-xr-x 2 root root 4096 фев 23 2022 dbus-1.0
drwxr-xr-x 3 root root 4096 фев 23 2022 dpkg
drwxr-xr-x 2 root root 4096 фев 23 2022 file
drwxr-xr-x 3 root root 4096 фев 14 2018 gcc
drwxr-xr-x 3 root root 12288 май 31 22:56 git-core
drwxr-xr-x 2 root root 4096 май 31 22:56 gnupg
drwxr-xr-x 2 root root 4096 фев 23 2022 gnupg1
drwxr-xr-x 2 root root 4096 май 31 22:56 gnupg2
drwxr-xr-x 2 root root 4096 май 31 22:56 gold-ld
drwxr-xr-x 3 root root 4096 фев 23 2022 kernel
drwxr-xr-x 2 root root 4096 мар 25 18:26 knxd
-rwxr-xr-x 1 root root 39788 апр 27 2021 knxd_args
drwxr-xr-x 2 root root 4096 май 31 22:56 ldscripts
lrwxrwxrwx 1 root root 20 янв 5 2017 libGammu.so.8 -> libGammu.so.8.1.38.1
-rw-r--r-- 1 root root 1009284 янв 5 2017 libGammu.so.8.1.38.1
lrwxrwxrwx 1 root root 24 фев 28 2017 libinotifytools.so.0 -> libinotifytools.so.0.4.1
-rw-r--r-- 1 root root 22224 фев 28 2017 libinotifytools.so.0.4.1
-rwxr-xr-x 1 root root 20096302 авг 31 22:40 libpython3.9.a
drwxr-xr-x 3 root root 4096 фев 23 2022 locale
drwxr-xr-x 5 root root 4096 фев 23 2022 mc
drwxr-xr-x 3 root root 4096 фев 23 2022 mime
drwxr-xr-x 2 root root 4096 июл 8 2021 modules-load.d
lrwxrwxrwx 1 root root 31 авг 31 15:40 node_modules -> /mnt/data/usr/lib/node_modules/ ///такакя пометка говорит нам о том что папка находится по адресу /mnt/data/usr/lib/node_modules/ ///
drwxr-xr-x 2 root root 4096 фев 23 2022 openssh
-rw-r--r-- 1 root root 261 июл 11 2020 os-release
drwxr-xr-x 2 root root 4096 авг 31 23:16 pkgconfig
drwxr-xr-x 3 root root 4096 фев 23 2022 pm-utils
drwxr-xr-x 3 root root 4096 фев 23 2022 pppd
drwxr-xr-x 3 root root 4096 мар 25 18:25 python2.6
drwxr-xr-x 26 root root 20480 фев 23 2022 python2.7
drwxr-xr-x 3 root root 4096 май 21 2017 python3
drwxr-xr-x 32 root root 4096 фев 23 2022 python3.5
lrwxrwxrwx 1 root root 28 авг 31 23:42 python3.9 -> /mnt/data/usr/lib/python3.9/
drwxr-xr-x 3 root root 4096 фев 23 2022 resolvconf
drwxr-xr-x 2 root root 4096 дек 20 2019 sasl2
lrwxrwxrwx 1 root root 16 июл 15 2014 sendmail -> ../sbin/sendmail
lrwxrwxrwx 1 root root 19 июл 15 2019 sftp-server -> openssh/sftp-server
drwxr-xr-x 3 root root 4096 май 27 17:32 ssl
drwxr-xr-x 2 root root 4096 июн 17 09:42 sudo
drwxr-xr-x 7 root root 4096 фев 23 2022 systemd
drwxr-xr-x 2 root root 4096 мар 25 18:26 sysusers.d
drwxr-xr-x 2 root root 4096 окт 30 2016 tar
drwxr-xr-x 2 root root 4096 фев 23 2022 tc
drwxr-xr-x 3 root root 4096 мар 25 18:25 tcc
drwxr-xr-x 2 root root 4096 июл 4 00:06 tmpfiles.d
drwxr-xr-x 3 root root 4096 мар 25 18:25 u-boot
drwxr-xr-x 2 root root 4096 мар 25 18:23 valgrind
drwxr-xr-x 2 root root 4096 дек 15 2021 wb-homa-ism-radio
drwxr-xr-x 2 root root 4096 сен 5 10:42 wb-hwconf-manager
drwxr-xr-x 3 root root 4096 мар 25 18:25 wb-image-update
drwxr-xr-x 2 root root 4096 мар 25 18:26 wb-knxd-config
drwxr-xr-x 2 root root 4096 сен 5 10:42 wb-mqtt-adc
drwxr-xr-x 2 root root 4096 сен 5 10:42 wb-mqtt-gpio
drwxr-xr-x 2 root root 4096 сен 5 10:43 wb-mqtt-homeui
-rw-r--r-- 1 root root 65 сен 5 09:06 wb-release
-rwxr-xr-x 1 root root 85 май 30 14:24 wb-rsyslog-rotation
drwxr-xr-x 6 root root 4096 апр 5 12:42 wb-test-suite
drwxr-xr-x 4 root root 4096 сен 5 10:42 wb-utils
Важно! нельзя перенести системные файлы
не знаю как правильно объяснить, шобы меня не заплевали
но при старте системы далеко не сразу загрузятся все примонтированные разделы
и может случиться так что ваша ссылка будет ссылать вникуда
печальный пример
пара полезных команд из той же темы
Узнать список файлов пакета nodejs:
dpkg -L nodejs
Список директорий пакета:
dpkg -S nodejs
и мастхев
dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -30 | awk '{print $1/1024, $2}'
pwd - present working directory. отобразит текущий рабочий каталог (может быть полезно если перемещаетесь по каталогам через cd, для удобства)
root@wirenboard-AITGTIZ7:~# pwd
/root
И на всякий случай вот то, что перенес я
root@wirenboard-AITGTIZ7:/mnt/data# ls -d usr/*/*/* -R -l
drwxr-xr-x 3 root root 4096 авг 29 17:56 usr/lib/node_modules/
-rw-r--r-- 1 root root 4489 авг 31 23:40 usr/lib/python3.9/ /// Установил из-за возникших проблем после перехода на последний node.js, чтоб сделать ребилд zigbee-herdsman ///
lrwxrwxrwx 1 root root 40 сен 1 01:10 usr/local/bin/gulp -> ../lib/node_modules/gulp-cli/bin/gulp.js
-rwxr-xr-x 1 root root 73801604 авг 31 21:36 usr/local/bin/node
drwxr-xr-x 5 root root 4096 сен 1 01:08 usr/local/lib/node_modules
drwxr-xr-x 3 root root 4096 авг 31 21:42 usr/local/n/versions