设为首页 加入收藏

TOP

linux包管理器rpm和dpkg的使用说明
2023-07-23 13:35:49 】 浏览:23
Tags:linux 包管理 rpm dpkg
软件包:
  • 开源软件刚开始只提供打包好的源代码文件(例如:.tar.gz),用户需要自己使用编译器编译后才能使用。

  • Debian诞生时,管理工具dpkg也就应运而生,可用来管理deb后缀的"包"文件

  • 后面后Red Hat才开发自己的rpm包管理系统

主流软件包管理器:
  • redhat:RPM Package Manager,管理rpm文件

  • debain: dpkg(debian package) 包管理器,管理deb文件

rpm 包管理器

CentOS 系统上使用rpm命令管理程序包

  • 安装:-i

  • 升级:-U

  • 卸载:-e

  • 查询:-q

-h:  以#显示程序包管理执行进度

-v: verbose
安装软件包

rpm {-i|--install} [install-options] PACKAGE_FILE…

注意:安装的时候要写软件包的路径

#安装选项
--test: 测试安装,但不真正执行安装,即dry run模式

--nodeps:忽略依赖关系

--replacepkgs | replacefiles

--nosignature: 不检查来源合法性

--nodigest:不检查包完整性
软件包的升级和降级

rpm {-U|--upgrade} [install-options] PACKAGE_FILE...

rpm {-F|--freshen} [install-options] PACKAGE_FILE...

upgrade和区别:

  • upgrade:安装有旧版程序包,则"升级",如果不存在旧版程序包,则"安装"

  • freshen:安装有旧版程序包,则"升级", 如果不存在旧版程序包,则不执行升级操作

安装选项:
--oldpackage:降级

--force: 强制安装

注意:
程序包升级不会覆盖配置文件,而是把新版本文件重命名(FILENAME.rpmnew)后保留。

包查询

rpm {-q|--query} [select-options] [query-options]

[select-options]
-a:所有包(系统上安装了的)

-f:查看指定的文件由哪个程序包安装生成

-p rpmfile:针对尚未安装的程序包文件做查询操作

[query-options]
-c:查询程序的配置文件

-d:查询程序的文档

-i:information

-l:查看指定的程序包安装后生成的所有文件

--scripts:程序包自带的脚本
包卸载

rpm {-e|--erase} [option] PACKAGE_NAME ...

注意:

  • 当包卸载时,对应的配置文件不会删除, 以FILENAME.rpmsave形式保留

  • 如果其它软件包依赖于您要卸载的软件包,卸载时则会产生错误信息

  • 卸载只需要写软件的名称,如果存在多个版本就要写全名

选项:
--allmatches:卸载所有匹配的包(仅输个软件名即可,指示RPM卸载所有匹配的包,)

--test:卸载测试,如果存在依赖关系就会提示报错

-nodeps , 不检查依赖,强制删除(一般不推荐这样做)
RPM的数据库:/var/lib/rpm

存放已安装的包名、文件列表、依赖关系、安装路径等

  • rpm包安装生成的信息都放在:/var/lib/rpm 这个文件中

  • 利用这个数据库就可以知道系统已经安装的rpm包和里面包含的文件、属性。

  • 安装和卸载软件都会首先检查这个数据库。

RPM数据库维护

重新建RPM数据库:rpm {--initdb|--rebuilddb}

initdb: 初始化,如果事先不存在数据库,则新建之,否则,不执行任何操作

rebuilddb:重建已安装的包头的数据库索引目录

dpkg debian的包管理器

  • 安装:-i

  • 删除:-P

  • 查询:-l

-列出文件:-L

#安装包
dpkg -i package.deb 

#删除包,不建议,不自动卸载依赖于它的包
dpkg -r package 

#删除包(包括配置文件)
dpkg -P package 

#列出当前已安装的包,类似rpm -qa
dpkg -l

#显示该包的简要说明
dpkg -l package 

#列出该包的状态,包括详细信息,类似rpm –qi
dpkg -s package 

#列出该包中所包含的文件,类似rpm –ql 
dpkg -L package 

#搜索包含pattern的包,类似rpm –qf 
dpkg -S <pattern> 

#配置包,-a 使用,配置所有没有配置的软件包
dpkg --configure package 

#列出 deb 包的内容,类似rpm –qpl 
dpkg -c package.deb 

#解开 deb 包的内容
dpkg --unpack package.deb
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇KVM导入Ubuntu/Centos Cloud Imag.. 下一篇Linux 安装Httpd服务

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目