Linux RPM 包升级、卸载、查询

目录

RPM 包升级、卸载、查询

RPM 包升级

RPM 包卸载

RPM 包查询

rpm –q 包名  查询软件包是否安装 

rpm -qa 查询系统中的所有安装软件包

rpm –qi 包名 查询软件包的详细信息

rpm –qip 包全名 查询还没有安装的软件包的详细信息

rpm –ql 包名 查询软件包中的文件列表

rpm –qf 系统文件名 查询系统文件属于哪个 RPM 包

rpm –qR 包名 查询软件包所依赖的软件包

总结


RPM 包升级、卸载、查询

RPM 包升级

[root@localhost ~]# rpm –Uvh 包全名
  • 选项:
    • -U(大写) 升级安装,如果没有安装过,系统直接安装。如果安装过的版本较旧,则升级到新版本(upgrade)
[root@localhost ~]# rpm –Fvh 包全名
  • 选项:
    • -F(大写) 升级安装,如果没有安装过,则不会安装。必须安装有较旧版本,才能升级(freshen)

RPM 包卸载

[root@localhost ~]# rpm -e 包名
  • 选项:
    • --nodeps 不检查依赖性
    • -e 卸载

RPM 包查询

rpm –q 包名  查询软件包是否安装 

  • 可以查询软件包是否安装,命令格式如下:
[root@localhost ~]# rpm –q 包名
  • 选项:
    • -q: 查询(query)

rpm -qa 查询系统中的所有安装软件包

  • 可以查询 Linux 系统中所有已经安装的软件包,命令格式如下:
[root@localhost ~]# rpm -qa
  • 选项:
    • -a:所有(all)
  • 当然,可以用管道符来查看所需的内容,比如:
[root@localhost ~]# rpm -qa | grep httpd
  • 发现,使用“rpm -q 包名”只能查看这个包是否安装,但是使用“rpm -qa | grep 包名”会把包含包名称的所有包都列出来。

rpm –qi 包名 查询软件包的详细信息

  • 可以查询已经安装的某个软件包的详细信息,命令格式如下:
[root@localhost ~]# rpm –qi 包名
  • 选项:
    • -i: 查询软件信息(information)

rpm –qip 包全名 查询还没有安装的软件包的详细信息

[root@localhost ~]# rpm –qip 包全名
  • 选项:
    • -p: 查询没有安装的软件包(package)

rpm –ql 包名 查询软件包中的文件列表

  • 可以查询已经安装的软件包中的文件列表和安装的完整目录,命令格式如下
[root@localhost ~]# rpm –ql 包名
  • 选项:
    • -l: 列出软件包中所有的文件列表和软件所安装的目录(list)
  • 可以查询还没有安装的软件包中的文件列表和打算安装的位置,命令格式如下:
[root@localhost ~]# rpm –qlp 包全名
  • 选项:
    • -p: 查询没有安装的软件包信息(package)

rpm –qf 系统文件名 查询系统文件属于哪个 RPM 包

  • 既然可以知道每个 RPM 包中的文件的安装位置,那么可以查询系统文件属于哪个 RPM 包吗?
    • 当然可以,不过需要注意的是,手工建立的文件是不能查询的,因为这些文件不是通过 RPM 包安装的,当然不能反向查询它属于哪个 RPM 包。
    • 命令格式如下:
[root@localhost ~]# rpm –qf 系统文件名
  • 选项:
    • -f: 查询系统文件属于哪个软件包(file)

rpm –qR 包名 查询软件包所依赖的软件包

  • 查询系统中和已经安装的软件包有依赖关系的软件包,命令格式如下:
[root@localhost ~]# rpm –qR 包名
  • 选项:
    • -R: 查询软件包的依赖性(requires)
  • 可以查询没有安装的软件包的依赖性吗?加“-p”选项即可。例如,查看一下还没有安装的 bind软件包的依赖包,可以执行如下命令:
[root@localhost ~]# rpm -qRp /mnt/cdrom/Packages/bind-9.8.2-0.10.rc1.el6.i686.rpm

总结

【注】:参考尚硅谷沈超老师教程

猜你喜欢

转载自blog.csdn.net/baidu_41388533/article/details/107753845