使用 yum
安装软件包时,通常会将软件包安装到系统的默认目录中(例如 /usr/bin
、/usr/lib
等)。如果你想将软件包安装到指定的目录,yum
本身并不直接支持这种操作。不过,你可以通过以下几种方法来实现这一目标:
--installroot
选项你可以使用 --installroot
选项来指定安装根目录。这种方法通常用于创建一个 chroot 环境。
sudo yum install --installroot=/path/to/install /path/to/package.rpm
安装软件包到默认目录:
首先,使用 yum
将软件包安装到默认目录。
sudo yum install /path/to/package.rpm
手动复制文件: 安装完成后,手动将需要的文件从默认目录复制到你指定的目录。
sudo cp -r /usr/local/path/to/package /path/to/install
rpmbuild
你可以使用 rpmbuild
工具来重新打包软件包,并在打包过程中指定安装目录。
创建一个构建目录:
mkdir -p ~/rpmbuild/{BUILD,RPMS,SOURCES,SPECS,SRPMS}
下载软件包源码:
如果你有 .src.rpm
文件,可以使用 rpmbuild
解包。
rpmbuild -i /path/to/package.src.rpm
修改 SPEC 文件:
在 SPEC
文件中,找到 %install
部分,修改安装路径。
%install
rm -rf $RPM_BUILD_ROOT
mkdir -p $RPM_BUILD_ROOT/path/to/install
cp -a * $RPM_BUILD_ROOT/path/to/install
重新打包:
rpmbuild -bb ~/rpmbuild/SPECS/package.spec
安装新打包的 RPM:
sudo yum localinstall ~/rpmbuild/RPMS/noarch/package.rpm
dnf
和 --setopt
如果你使用的是 dnf
,可以尝试使用 --setopt
选项来改变安装路径。
sudo dnf install --setopt=install_weak_deps=False /path/to/package.rpm
不过,这种方法并不保证能将所有文件安装到指定目录,具体效果取决于软件包的结构和依赖关系。
最直接的方法是手动复制文件,但这种方法比较繁琐。使用 rpmbuild
可以更灵活地控制安装路径,但需要一定的 RPM 打包知识。根据你的具体需求选择合适的方法。