Linux中RPM属于包管理工具,提供多种命令来安装、删除、查询、更新和校验。常见的RPM管理命令及详细说明分享给大家。
RPM包安装:
sudo rpm -i <package_name>.rpm
其中i是安装指定的RPM包,<package_name>.rpm是要安装的RPM包文件。如安装example.rpm程序:
sudo rpm -i example.rpm
升级RPM包,可以使用u 选项:
sudo rpm -U <package_name>.rpm
u指的升级指定的RPM包,如果包已安装rpm将其升级,如果未安装,rpm则将其作为新包来安装。升级example.rpm包:
sudo rpm -U example.rpm
需要卸载/删除RPM包,可以使用e选项:
sudo rpm -e <package_name>
其中e是删除的指定包,<package_name>是删除的包名称。
卸载example程序:
sudo rpm -e example
如果是想知道所有已安装的包,可以用q来一一列出:
rpm -qa
q表示查询模式,a列出全部已安装的包。
如果是想查询特定的包是否安装,可以指定包名称:
rpm -q <package_name>
如,查询系统中是否已安装了curl包:
rpm -q curl
如果是想查看已安装包的详细信息,可以使用qi:
rpm -qi <package_name>
i显示包的详细信息。如查看curl包的详细信息:
rpm -qi curl
如果想查看某个包安装的全部文件:
rpm -ql <package_name>
1是指定包安装的所有文件。如查看curl包安装的文件:
rpm -ql curl
如知道文件路径,还想知道哪个包安装了这个文件,可以使用qf查询:
rpm -qf <file_path>
f表示查询该文件属于哪个包。如果是验证一个已安装包签名,确保没有被改,可以使用k选项:
rpm -K <package_name>.rpm
如是验证保重有无文件丢失或损坏情况:
rpm -V <package_name>
查询包的依赖关系:
rpm -qR <package_name>
找出哪些包依赖于某个指定包:
rpm -q --whatrequires <package_name>
whatrequires是显示哪些包依赖于指定的包。如果下查看包的安装路径:
rpm -q --queryformat '%{INSTALLTIME:date}\n' <package_name>
%{INSTALLTIME:date}是显示包的安装时间。
获取RPM包文件的元数据,如版本、大小、构建时间等:
rpm -qpi <package_name>.rpm
p是指定操作的包文件。i是显示包的详细信息。
在 RHEL 和 CentOS 中,自定义创建RPM包,先安装工具:
sudo yum install rpmdevtools
再创建一个新的RPM包:
rpmdev-setuptree
RPM是非常强大的包管理工具有了它可以实现便捷安装、卸载、查询、验证和管理全局。