/var/cache/apt/archives/ 中没有足够的空间

eps*_*nes 49 package-management apt disk-usage

当我运行命令安装软件包 solr-jetty 时,我被告知

You don't have enough free space in /var/cache/apt/archives/
Run Code Online (Sandbox Code Playgroud)

这是df -H命令的结果:

在此处输入图片说明

我已经在我的 Mac 上安装了带有 VirtualBox 的 Ubuntu。

我该如何解决这个问题?

Rin*_*ind 54

sudo apt-get autoclean
Run Code Online (Sandbox Code Playgroud)

这将删除当前未安装的所有软件包。如果这不能释放足够的空间,请使用sudo apt-get clean. 这清除了所有.debs下载和/或安装的内容。

但看起来你的硬盘空间不足。空间严重不足。对于一个良好的工作系统来说,61Mb 是不够的。我发现了 2 个可以规避空间相关问题的替代方案,尽管在使用虚拟机时这两种方案都可能难以实现。一个更持久的解决方案是增加虚拟机的大小(我也建议使用允许机器动态增加大小的方法;VirtualBox 有这样的设置)。


如果您有分区或外部存储,则另选。

使用此方法,您可以重新路由.deb存储 s的位置:

sudo mv -i /var/cache/apt /media/{dir_of_mounted_disc}
sudo ln -s /media/{dir_of_mounted_disc}/apt /var/cache/apt
Run Code Online (Sandbox Code Playgroud)

运行升级并安装。完成后,您可以使用以下命令切换回正常状态:

sudo apt-get clean
sudo unlink /var/cache/apt
sudo mv /media/{dir_of_mounted_disc}/apt /var/cache
Run Code Online (Sandbox Code Playgroud)

当然 {dir_of_mounted_disc} 需要改成你挂载的光盘的名字。

另一种选择

这样您就可以创建 RAM 光盘:

sudo mkdir /media/{directory}
sudo mount -t tmpfs tmpfs /media/{directory}
sudo ln -s /media/{directory}/apt /var/cache/apt
Run Code Online (Sandbox Code Playgroud)

像第一种选择一样清理。

警告这需要大量 RAM,因此在使用虚拟系统时可能无法使用。

  • 我尝试了这两个命令,但我收到了相同的“空间不足”消息 (2认同)

gre*_*een 9

每当您安装程序时,程序包(.deb 文件)都会存储在/var/cache/apt/archives,这显然会占用空间(如果安装了很多软件包,则会占用大量空间)。

要摆脱它们,请使用:

sudo apt-get clean
Run Code Online (Sandbox Code Playgroud)

clean如果您想知道和之间的区别autoclean,请参阅手册页内容:

clean: clean 清除检索到的包文件的本地存储库。它会从 /var/cache/apt/archives/ 和 /var/cache/apt/archives/partial/ 中删除除锁定文件之外的所有内容。APT 用作 dselect(1) 方法,运行 clean 那些不使用 dselect 的人可能希望不时运行 apt-get clean 以释放磁盘空间。

autoclean:与 clean 一样,autoclean 会清除本地存储库中的包文件。不同之处在于,它仅删除无法再下载的包文件,并且基本上没有用处。这是一个需要长期维护的缓存,不会失控。如果将配置选项 Clean-Installed 设置为关闭,它将防止已安装的软件包被删除。


rɑː*_*dʒɑ 6

这些命令将删除不再需要的额外包。

打开终端(Ctrl- Alt- T)并输入

sudo apt-get autoclean
sudo apt-get autoremove 
Run Code Online (Sandbox Code Playgroud)