在CentOS上提取软件包,通常指的是从已安装的软件包中提取文件。这可以通过几种不同的方法来完成:
使用rpm2cpio
和cpio
命令:
如果你已经安装了一个软件包,并且想要提取它的文件,你可以使用rpm2cpio
工具将.rpm
文件转换为.cpio
格式,然后使用cpio
命令提取文件。
首先,找到软件包的.rpm
文件。如果你已经安装了该软件包,你可以使用yum reinstall --downloadonly --downloaddir=/path/to/save <package_name>
来下载软件包到指定目录。
然后,使用以下命令提取文件:
rpm2cpio /path/to/package.rpm | cpio -idmv
这里的-i
表示提取文件,-d
表示创建目录(如果不存在的话),-m
表示保留文件的修改时间,-v
表示显示详细信息。
使用yum
的downloadonly
插件:
如果你只是想要下载软件包而不安装它,可以使用yum
的downloadonly
插件。
首先,确保你已经安装了yum-utils
包:
sudo yum install yum-utils
然后,使用以下命令下载软件包:
sudo yum install --downloadonly --downloaddir=/path/to/save <package_name>
这将会下载.rpm
文件到指定的目录,但不会安装它。
使用dnf
命令 (适用于CentOS 8及更高版本):
dnf
是yum
的下一代包管理器,它提供了类似的功能。
下载软件包的命令与yum
类似:
sudo dnf install --downloadonly --downloaddir=/path/to/save <package_name>
请注意,提取软件包文件通常是为了备份、迁移或手动管理软件包内容。如果你只是想要安装或更新软件包,建议使用yum
或dnf
命令来处理。