Нехватка памяти при установке pip пакета

Приветствую! Пытаюсь установить python пакет весом в 5 несчастных мегабайт…
Выдает следующее:
pip3 install ptvsd
The directory ‘/root/.cache/pip’ or its parent directory is not owned by the current user and caching wheels has been disabled. check the permissions and owner of that directory. If executing pip with sudo, you may want sudo’s -H flag.
Collecting ptvsd
Downloading https://files.pythonhosted.org/packages/44/5b/fa477e4fd8e62c722febdc52462d7b037a77aa963c3e400a8e90e8f0d2c0/ptvsd-4.3.2- py2.py3-none-any.whl (4.9MB)
100% |################################| 4.9MB 13kB/s
Exception:
Traceback (most recent call last):
File “/usr/lib/python3/dist-packages/pip/basecommand.py”, line 215, in main
status = self.run(options, args)
File “/usr/lib/python3/dist-packages/pip/commands/install.py”, line 342, in run
requirement_set.prepare_files(finder)
File “/usr/lib/python3/dist-packages/pip/req/req_set.py”, line 380, in prepare_files
ignore_dependencies=self.ignore_dependencies))
File “/usr/lib/python3/dist-packages/pip/req/req_set.py”, line 620, in _prepare_file
session=self.session, hashes=hashes)
File “/usr/lib/python3/dist-packages/pip/download.py”, line 821, in unpack_url
hashes=hashes
File “/usr/lib/python3/dist-packages/pip/download.py”, line 663, in unpack_http_url
unpack_file(from_path, location, content_type, link)
File “/usr/lib/python3/dist-packages/pip/utils/init.py”, line 617, in unpack_file
flatten=not filename.endswith(’.whl’)
File “/usr/lib/python3/dist-packages/pip/utils/init.py”, line 519, in unzip_file
fp.write(data)
OSError: [Errno 28] No space left on device

вот что показывает по памяти:
root@wirenboard-AIMFOBFX:~# df -h
Filesystem Size Used Avail Use% Mounted on
/dev/root 980M 941M 0 100% /
devtmpfs 494M 0 494M 0% /dev
tmpfs 503M 0 503M 0% /dev/shm
tmpfs 503M 808K 502M 1% /run
tmpfs 5.0M 0 5.0M 0% /run/lock
tmpfs 503M 0 503M 0% /sys/fs/cgroup
/dev/mmcblk0p6 4.7G 424M 4.1G 10% /mnt/data
tmpfs 101M 0 101M 0% /run/user/0

/dev/root чем то забит…

Тоже самое теперь происходит при пользовании apt. Подскажите что делать?

Добрый день.
Советую для начала посмотреть - что занимает место и удалить лишнее. Ну и не ставить ПО в корень, есть большой раздел mmcblk0p6.
Для оценки пакетов - можно использовать

dpkg-query --show --showformat='${Installed-Size}\t${Package}\n' | sort -rh | head -40 | awk '{print $1/1024, $2}'

Не очень понимаю что должна дать оценка пакетов…на 100% забит корень, я понимаю. Но не понимаю как его чистить.
du -sh /* Эта команда по идее должна давать содержимое и вес корня.
du -sh /*
5.6M /bin
7.9M /boot
4.0K /chroot_this.sh
0 /dev
4.7M /etc
8.0K /home
64M /lib
16K /lost+found
4.0K /media
405M /mnt
4.0K /opt
du: cannot access ‘/proc/8329/task/8329/fd/4’: No such file or directory
du: cannot access ‘/proc/8329/task/8329/fdinfo/4’: No such file or directory
du: cannot access ‘/proc/8329/fd/4’: No such file or directory
du: cannot access ‘/proc/8329/fdinfo/4’: No such file or directory
0 /proc
0 /root
16K /root.default
6.0M /run
5.4M /sbin
4.0K /srv
0 /sys
4.8M /tmp
4.0K /umount_chroot.sh
780M /usr
68M /var

Если я правильно понимаю, то /usr и /var занимают больше всего места, но что там можно удалять а что нет, не знаю.

Сначала посмотрите размер установленных пакетов, как советовал коллега выше.
Потом можете посмотреть размер директорий в /usr:

du /usr/* -hs | sort -h

Ну и так дальше, пока не найдете причину

Посмотрел по списку пакетов и размер директорий.
4.7M /usr/lib/file
11M /usr/lib/postgresql
15M /usr/lib/python3
37M /usr/lib/python2.7
46M /usr/lib/gcc
68M /usr/lib/python3.5
127M /usr/lib/arm-linux-gnueabihf
Тут самые габаритные это питон и образ линукса. Но весь список суммарно не занимает и половины занятого места. Не понимаю что забило память…куда копать?

Что выдают команды:

du /usr/* -hs | sort -h
du /usr/share/* -hs | sort -h
du /usr/lib/* -hs | sort -h

Не забывайте что некоторые каталоги смонтированы:
/var/log и /mnt/data с другого, не корневого, раздела.
780M на /usr - много. Но и подсказать что удалять никак не могу.

Я бы посоветовал следующее:

  1. Перенести базу wb-mqtt-db на флешку. В зависимости от кол-ва устройств и топиков, она может занимать десятки или сотни Мбайт.
  2. Ограничить размер логов (настроить размер journal в /etc/systemd/journald.conf )

pip3 install подтягивает очень много ненужных зависимостей на сотни Мбайт, далеко не факт что все они понадобятся - можно попробовал ставить модули вручную.

2 лайка

Решил сделать полный сброс и начать по новой. Смотрите, в данном топике Катастрофическая нехватка места в системном разделе - #12 от пользователя aerobatic1977

Идет вопрос о “расширении” корневого каталога. В него по умолчанию ставятся все пакеты для разработки, особенно в usr/lib. Неужели нет возможности реально увеличить dev/root на 1-2 гб, что есть у /dev/mmcblk0p6 ?

Структуру (и размер разделов контроллера менять нельзя. Но можно добавить, смонтировав каталог, размещенный на mmcblk0p6 или на вешнем, например, носителе.
WB7, кстати, бкдет иметь вариант увеличенной флешкой.

Допустим, я примонтирую новый каталог с mmcblk0p6, но это ведь все равно не даст места для установки новых пакетов, скажем свежего питона, в стандартные пути usr/lib? Проблема в итоге ведь не решится

Установить питон - места и так достаточно. Но! Не надо тащить все-все. Разработка под контроллеры на них не ведется, на контроллер ставится уже собранный пакет.