许多用户在银河麒麟V10操作系统上安装应用程序时,常常会遇到系统盘空间快速耗尽的问题。特别是通过图形化软件中心安装软件时,默认的缓存文件、临时数据以及用户配置信息通常都存储在根分区或用户主目录下,长期积累容易导致存储空间不足。
实际上,这一问题有明确的解决方案。关键在于将软件中心及其相关组件的存储路径,从默认的系统盘迁移到空间更充足的分区,例如挂载在 /data 目录下的独立硬盘。接下来,我们将详细讲解这一迁移过程的完整步骤。

一、修改软件中心默认缓存与临时安装路径
软件中心在安装.deb软件包时,并非直接写入系统。它会先将安装包解压到临时目录,完成校验和准备工作后再执行安装。这个临时目录默认位于 /tmp 或 /var/cache/kylin-software-center。如果系统盘空间紧张,首先应考虑迁移此目录。
具体操作步骤如下:
首先,在您准备用于扩展存储的分区上(例如 /data),创建一个专用的缓存目录:
sudo mkdir -p /data/kylin-cache
接着,定位软件中心的配置文件 /etc/kylin/kylin-software-center.conf。编辑前可能需要调整文件权限:
sudo chmod 644 /etc/kylin/kylin-software-center.conf
然后,使用文本编辑器(如nano或vim)打开该配置文件:
sudo nano /etc/kylin/kylin-software-center.conf
在文件中找到 [main] 配置段。检查其中是否存在 cache-dir 配置项。若没有,则在 [main] 下方新增一行:
cache-dir=/data/kylin-cache
保存并退出编辑器后,请重启软件中心进程以使配置生效:
killall kylin-software-center
二、调整APT包管理器默认缓存路径
软件中心底层依赖APT(高级包管理工具)来下载和解析软件包。APT自身维护着一个软件包仓库,即 /var/cache/apt/archives/ 目录,所有下载的.deb安装包都会暂存于此。该目录很容易占用数GB空间,是释放系统盘存储的关键目标。
将其迁移至其他分区可立即缓解存储压力:
先在目标分区创建新目录,并设置正确的所有者和权限(APT服务以“_apt”用户身份运行):
sudo mkdir -p /data/apt-archives sudo chown _apt:root /data/apt-archives sudo chmod 755 /data/apt-archives
随后,在APT配置目录下创建自定义配置文件。通常建议使用较高编号(如99)以确保其配置优先级:
sudo nano /etc/apt/apt.conf.d/99custom-cache
在新文件中写入以下指令,指定APT的新缓存位置:
Dir::Cache::Archives "/data/apt-archives";
配置完成后,可执行清理操作并更新软件源列表,以验证配置是否正常工作:
sudo apt clean sudo apt update
三、配置用户级应用数据存储路径
许多通过软件中心安装的图形应用程序(如WPS Office、浏览器或专业工具)会将用户配置、插件及本地数据存储在家目录的 ~/.local/share 或 ~/.config 子目录中。如果您的 /home 分区独立但空间有限,同样可以将这些数据定向到更大的分区。
此方法利用符号链接实现,相当于为数据在新位置建立存储,并在原位置保留访问入口:
首先,在目标分区为当前用户创建相应的目录结构:
mkdir -p /data/user-data/$USER/share mkdir -p /data/user-data/$USER/config
出于安全考虑,建议先备份原始目录(若存有重要数据,请务必确认备份完成):
mv ~/.local/share ~/.local/share.bak mv ~/.config ~/.config.bak
然后,创建指向新存储位置的符号链接:
ln -sf /data/user-data/$USER/share ~/.local/share ln -sf /data/user-data/$USER/config ~/.config
最后,使用 ls -l 命令检查链接是否创建成功,确保其正确指向新路径。
四、设置LVM逻辑卷作为软件中心主存储池
对于服务器版本或对存储管理有更高要求的桌面环境,LVM(逻辑卷管理)提供了更灵活的解决方案。您可以将存储软件中心元数据及状态信息的 /var/lib/kylin-software-center 目录置于独立的逻辑卷上。这样做的好处是支持动态扩展存储空间,并可方便地进行快照备份。
具体实施步骤如下:
首先,查看现有卷组(例如名为kylin-vg)的剩余空间:
sudo vgdisplay kylin-vg | grep "Free"
确认有可用空间后,创建指定大小的逻辑卷并命名:
sudo lvcreate -L 50G -n lv-swcenter kylin-vg
接着,在新逻辑卷上创建文件系统:
sudo mkfs.ext4 /dev/kylin-vg/lv-swcenter
创建挂载点并临时挂载,以测试功能是否正常:
sudo mkdir -p /var/lib/kylin-software-center sudo mount /dev/kylin-vg/lv-swcenter /var/lib/kylin-software-center
关键步骤是获取该逻辑卷的UUID,并将其添加到 /etc/fstab 文件中以实现开机自动挂载:
sudo blkid /dev/kylin-vg/lv-swcenter
记录输出的UUID,然后编辑fstab文件,添加如下格式的行(请替换为实际的UUID):
UUID=xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx /var/lib/kylin-software-center ext4 defaults 0 2
五、禁用软件中心自动下载源索引缓存
软件中心为保持软件列表最新,默认会定期(例如每24小时)自动连接软件源并下载索引文件(如Packages.gz)。在带宽受限或离线环境中,此操作可能失败并产生残留临时文件,无形中增加系统缓存目录的负担。若不需要频繁更新软件列表,可考虑关闭自动更新功能。
这需要通过修改其D-Bus服务配置文件来实现:
定位软件中心的D-Bus服务配置文件:
sudo nano /usr/share/dbus-1/system-services/org.kylinos.KylinSoftwareCenter.service
在文件中找到以 Exec= 开头的行,该行指定了软件中心的启动命令。在此命令末尾添加禁用自动更新索引的参数:
Exec=/usr/bin/kylin-software-center --no-auto-update-index
保存修改后,需重新加载系统配置并重启软件中心服务:
sudo systemctl daemon-reload sudo systemctl stop kylin-software-center.service sudo systemctl start kylin-software-center.service
完成以上五个步骤的调整后,软件中心相关的大部分存储活动都将从默认的系统路径转移至您指定的大容量分区。这不仅有效解决了银河麒麟V10系统盘空间不足的问题,也使存储管理结构更加清晰和易于控制。操作前若涉及重要数据,进行备份始终是明智之举。
