麒麟os中需手动干预安装路径以将软件部署到数据盘:图形化安装包用--install-dir指定路径;apt缓存可重定向至/data/apt-archives;源码编译通过--prefix=$home/local控制;已安装软件可用符号链接迁移/opt或子目录。

您在麒麟OS中安装软件后发现程序文件默认存放在系统盘(如/opt或/usr),而实际希望将其统一部署到数据盘(如/data)以释放系统空间、避免权限冲突或便于备份管理,就必须干预安装路径的生成逻辑——因为系统本身不提供全局“默认安装路径”开关,所有修改都需在安装前显式指定或安装后重定向。
图形化安装程序(.run/.bin)强制指定目标目录
Qt SDK、IDEA、WPS商业版等闭源GUI安装包默认尝试写入/opt,但普通用户无写入权限,会静默失败或退回到$HOME下创建混乱子目录。必须在启动时用参数锁定路径。
第一步:打开终端,进入安装包所在目录,执行:
chmod +x qt-opensource-linux-x64-5.12.10.run
第二步:运行安装程序并强制指定路径:
./qt-opensource-linux-x64-5.12.10.run --install-dir /data/Apps/Qt5.12.10
第三步:安装完成后验证所有权:
ls -ld /data/Apps/Qt5.12.10 → 确认输出中所有者为当前用户,而非root;若出现root属主,说明未加--install-dir参数,安装过程已回退至特权模式,需卸载重装。
APT包管理器迁移缓存与解压路径
软件中心底层调用APT下载.deb包并解压安装,其缓存目录/var/cache/apt/archives和临时解压区常占数GB空间,且默认位于根分区。迁移此处可立即缓解系统盘压力。
方法一:重定向APT包缓存
创建新目录并授权:
sudo mkdir -p /data/apt-archives
sudo chown _apt:root /data/apt-archives
新建配置文件:
echo 'Dir::Cache::Archives "/data/apt-archives";' | sudo tee /etc/apt/apt.conf.d/99custom-cache
执行sudo apt clean && sudo apt update验证是否生效。
方法二:修改软件中心临时工作目录
编辑配置文件:
sudo nano /etc/kylin/kylin-software-center.conf
在[main]节下添加:
cache-dir=/data/kylin-cache
【必须确保/data/kylin-cache目录已存在且权限正确,否则软件中心将拒绝启动】
源码编译类软件通过prefix控制安装位置
make install型软件(如Nginx、FFmpeg)默认安装到/usr/local,该路径在麒麟V10中仍需root权限写入。直接sudo make install会导致文件属主为root,后续升级或卸载困难。
① 解压源码后进入目录,执行configure时指定用户可写路径:
./configure --prefix=$HOME/Local
② 编译并安装:
make && make install
③ 将新bin目录加入PATH:
echo 'export PATH="$HOME/Local/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
这一步完成后,nginx -v或ffmpeg -version即可直接调用,所有生成文件均归属当前用户,无需sudo权限维护。
已安装软件通过符号链接重定向核心目录
当已有大量软件安装在/opt,又无法重装时,可用符号链接将整个目录映射至数据盘,操作系统和程序仍认为路径未变,实际存储已迁移。
方法一:安全迁移/opt
先复制全部内容:
sudo rsync -av /opt/ /data/opt_backup/
卸载原挂载(如有)并清空目录:
sudo umount /opt 2>/dev/null; sudo rm -rf /opt/*
建立软链:
sudo ln -sf /data/opt_backup /opt
方法二:仅重定向特定子目录
例如将/opt/kingbase指向数据盘:
sudo mv /opt/kingbase /data/kingbase
sudo ln -sf /data/kingbase /opt/kingbase
注意:此操作后需重启依赖该路径的服务,否则进程仍持有原路径句柄。











