PS:网上搜了很多,都不能解决,基本都是同一个文章转来转去,现将我的方法罗列如下。
1.找准问题
这类错误基本就是磁盘临时空间不足导致。
2.解决方法
清理 /dev/sda1。
3.具体步骤:
系统安装Ubuntu后,给Ubuntu的分区不够大,Google了一下Ubuntu系统的清理磁盘空间。
提示 1:清理残余的配置文件
一般而言,当我们从 Ubuntu 系统中删除了一个软件之后,该软件的残余配置文件并没有被删除。如果你确信以后不再使用该软件,那么保留其配置文件实在没有必要,所以我们大可一并删除之。
要删除某个软件的残余配置文件,可以执行下面的操作:
在终端中执行 sudo synaptic,以便启动 Synaptic 包管理工具。
点击 Synaptic 右下角的 Status 按钮进行切换。
现在,你应该能够在 Synaptic 的左边看到 Not installed (residual config)。选择它即可在右边看到包含有残余配置文件的包,你可以在此选择删除该包。
提示 2:清理下载的缓存包
我们在 Ubuntu 中通过 sudo apt-get install 安装软件时,其下载的包都缓存在 /var/cache/apt/archives/ 目录中。如果要清理掉这些已下载的缓存包,那么可以执行命令:
sudo apt-get autoclean
sudo apt-get clean
执行这个,空间增加500M左右
提示 3:清理不再需要的包
我们知道,在 Ubuntu 系统中安装软件时,该软件的依赖通常也会自动安装上。那么,在我们删除该软件后,其依赖可能需要我们手动删除之。你可以运行 sudo apt-get autoremove 命令来解决这个问题。
执行了这个,空间增加不明显
提示 4:清理无用的语言文件
Ubuntu 与其他 Linux 发行版一样,是一个支持多语言界面的系统。其实,对使用自己母语的我们来说,通常保留中文即可,你也可以保留自己所需要使用的语言,如英文。其他的语言文件于我们而言则没有必要保留。
为了清理这些无用的语言文件,你需要在 Ubuntu 系统中安装一个名为 localepurge 的小工具。
安装 localepurge 是十分简单的,只需执行 sudo aptitude install localepurge 命令就可以了。在安装的过程中,程序会提示你进入如下图所示的画面中进行配置。
localepurge
使用空格键可以选择需要保留的区域配置,其他的则会被删除。当以后在安装程序时,此工具也会自动执行,勿需再次配置。中文用户保留zh、zh_CN、zh_CN.*
执行了这个,空间增加不明显
提示 5:清理无用的翻译内容
你可以使用 trans-purge 这组小工具来清理 *.desktop、mime-database、gconf schema 中的无用翻译内容。
trans-purge 这组小工具使用过程如下:
下载源代码:
wget http://pcman.sayya.org/desktop-purge.c
wget http://pcman.sayya.org/mime-purge.c
wget http://pcman.sayya.org/gconf-purge.c
安装编译依赖:
sudo apt-get install libglib2.0-dev
编译程序:
gcc `pkg-config glib-2.0 –cflags –libs` -o desktop-purge desktop-purge.c
gcc `pkg-config glib-2.0 –cflags –libs` -o mime-purge mime-purge.c
gcc `pkg-config glib-2.0 –cflags –libs` -o gconf-purge gconf-purge.c
安装程序:
sudo cp desktop-purge /usr/bin/
sudo cp mime-purge /usr/bin/
sudo cp gconf-purge /usr/bin/
执行清理:
手动清理:
sudo desktop-purge
sudo mime-purge
sudo gconf-purge
自动清理:
让每次 apt-get 安装软件后自动进行清理。创建 /etc/apt/apt.conf.d/99-transpurge 文件,并添加下列内容:
DPkg
{
Post-Invoke {“if [ $(ps w -p "$PPID" | grep -c remove) != 1 ]; then /usr/bin/desktop-purge > /dev/null; /usr/bin/mime-purge >/dev/null ; /usr/bin/gconf-purge > /dev/null; else exit 0; fi”;};
};
这个没有执行
4.我只执行了第2种方法。
效果如下: