尝试安装 Tensorflow 时在 Ubuntu 上"No space left on device"



我正在尝试使用 Python 3.8.2 在 Oracle Virtualbox 上的 Linux 虚拟机上安装 Tensorflow 2。该机器具有以下特点:

操作系统: Ubuntu 20.04 LTS(64 位(

GNOME 版本: 3.36.1

开窗系统:X11

内存:9.5 GiB

磁盘容量:10.7 GB

在终端中进行pip安装tensorflow==2.2.0时,我在最后阶段(下载完成后(收到以下错误:

ERROR: Could not install packages due to an EnvironmentError: [Errno 28] No space left on device

在终端中键入 du -sh 会产生

12K      .

而DF收益率

Filesystem     1K-blocks    Used Available Use% Mounted on
udev             4952816       0   4952816   0% /dev
tmpfs             996192    1324    994868   1% /run
/dev/sda5        9736500 6919960   2302236  76% /
tmpfs            4980940       0   4980940   0% /dev/shm
tmpfs               5120       4      5116   1% /run/lock
tmpfs            4980940       0   4980940   0% /sys/fs/cgroup
/dev/loop0         56320   56320         0 100% /snap/core18/1705
/dev/loop1         56320   56320         0 100% /snap/core18/1754
/dev/loop2        246656  246656         0 100% /snap/gnome-3-34-1804/24
/dev/loop3        261760  261760         0 100% /snap/gnome-3-34-1804/36
/dev/loop4         63616   63616         0 100% /snap/gtk-common-themes/1506
/dev/loop5         51072   51072         0 100% /snap/snap-store/433
/dev/loop6         51072   51072         0 100% /snap/snap-store/454
/dev/loop7         27776   27776         0 100% /snap/snapd/7264
/dev/loop8         31104   31104         0 100% /snap/snapd/7777
/dev/sda1         523248       4    523244   1% /boot/efi
tmpfs             996188      24    996164   1% /run/user/1000

我试图遵循 https://www.maketecheasier.com/fix-linux-no-space-left-on-device-error/和 https://github.com/pypa/pip/issues/5816,但他们的解决方案似乎都不适合我。谁能帮我找出问题所在?

pip

pip install期间将文件下载到临时目录/tmp

该错误意味着/tmp安装过程中空间不足。查看df输出显示/tmp未作为tmpfs挂载点挂载,表明/tmp当前挂载在/下。

/的可用存储空间为 2,302,236 个 1K 块(来自您的df输出(,约为 2.3 GB(下次使用df -h以获得更可读的值(。

但通过执行:

sudo mount -t tmpfs tmpfs /tmp

tmpfs安装到/tmp上。通常,tmpfs分区的最大大小设置为可用RAM的一半,在您的情况下为4.75GB,基本上是可用空间的两倍pip.

我也在Oracle VirtualBox上运行Ubuntu 20.04 LTS(64位(,并开始收到有关磁盘空间不足的警告。

在我的情况下,罪魁祸首是占用771 MB的/var/cache/apt/archives目录,这可能是您系统上的相同问题。/var/下的目录,因此使用的存储聚合在那里而不是作为单独的挂载点,这一事实掩盖了原因。

sudo apt clean使用了大锤子方法并清除了缓存,相信apt稍后会重新下载可能需要的任何软件包。使用的存储空间从 771 MB 下降到 36 KB。

答案为时已晚,无法帮助OP,希望它能帮助其他人。

$ sudo du -ch /var/cache/apt/archives/
4.0K    /var/cache/apt/archives/partial
771M    /var/cache/apt/archives/
771M    total
$ sudo apt clean
$ sudo du -ch /var/cache/apt/archives/
4.0K    /var/cache/apt/archives/partial
36K    /var/cache/apt/archives/
36K    total
$ sudo du -ch -d 1 /var/cache
40K    /var/cache/apt
1.8M    /var/cache/man
40K    /var/cache/dictionaries-common
56K    /var/cache/ldconfig
8.0K    /var/cache/PackageKit
2.6M    /var/cache/fontconfig
20K    /var/cache/cups
15M    /var/cache/app-info
5.2M    /var/cache/debconf
2.1M    /var/cache/fwupd
2.2M    /var/cache/snapd
6.1M    /var/cache/cracklib
4.0K    /var/cache/gdm
484K    /var/cache/private
6.7M    /var/cache/apparmor
42M    /var/cache
42M    total
$

可能是索引节点问题。尝试一个

df -i

或多个文件打开太高 尝试并杀死过程相关:

find /proc/*/fd -ls | grep '(deleted)'