首页 > 系统相关 >linux包管理器rpm和dpkg的使用说明

linux包管理器rpm和dpkg的使用说明

时间:2022-10-11 12:57:21浏览次数:43  
标签:管理器 -- 安装 卸载 程序包 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

#安装包
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

标签:管理器,--,安装,卸载,程序包,linux,rpm,dpkg
From: https://www.cnblogs.com/heyongshen/p/16778826.html

相关文章

  • Linux 驱动 SPI Flash(W25Q80DV)
    W25Q80DV是Winbond的一款SPIFlash,容量大小为8Mbit。如果还没看W25Q80DV的数据手册,赶紧去看!本文描述的是在i.MX6q硬件平台上添加W25Q80DV芯片(SPI设备),Linux内......
  • Linux下的lua和boost c++的搭建和安装
    先下载lua,boostc++​​http://www.lua.org/versions.html#5.2​​​​http://www.boost.org/​​ ​​http://sourceforge.net/projects/luabind/​​1.安装lua[root@l......
  • linux安装tomcat
    tomcat下载地址:https://tomcat.apache.org/下载并解压到任意目录,我解压到了/usr/local/tomecat目录下jdk下载地址:http://www.oracle.com/technetwork/java/javase/downlo......
  • Linux“桥接”和“NAT”方式区别
    1.根据图片显示 2.总的来说桥接模式  通过使用物理机网卡具有单独ip vm与pc在同一局域网资源共享 不安全  地址可能不够用NAT 把物理机为路由器......
  • Linux
    linux平台:操作系统。Linux:林纳斯。开源免费,流畅,小巧,安全,稳定。服务器系统。CentOS:7Ubuntu:界面酷炫著称。个人电脑。大数据领域。Windows也有服务器版本,WindowsServer......
  • Linux 在线环境
    JS/UIX–Terminal地址:https://www.masswerk.at/jsuix/index.html进入后,点击openterminal即可。它提供非常简单的终端环境,而且没有自带gcc等编译套件,不过练习基本......
  • Linux 安装Httpd服务
    安装Httpd服务版本说明:CentOS7以上,默认系统是httpd2.4,CentOS6版默认为httpd2.2Ubuntu18.04默认Apache/2.4.29范例:CentOS8安装httpd[root@CentOS8~]#yum......
  • springboot H2 linux下搭建使用
    这次研究是H2数据库了,关键还是再Linux下进行搭建部署的,被这个数据库快弄死了弄了4天时间,现在大致可以用了,还有些细节需要修正。我这边使用的是springboot集成模式。直接使......
  • Linux中$#,$0,$1,$2,$@,$*,$$,$? 的含义
    Linux中$#,$0,$1,$2,$@,$*,$$,$?的含义$#是传给脚本的参数个数$0是脚本本身的文件名$1是脚本后接的第一个参数$2是脚本后接的第二个参数$@是传给脚本......
  • Linux中find命令
    Linux中find命令Linux中find命令用来在指定目录下查找文件。任何位于参数之前的字符串都将被视为欲查找的目录名。如果使用该命令时,不设置任何参数,则find命令将在当前目录......