一般来说著名的 Linux 系统基本上分两大类:

  1. RedHat 系列:Redhat、Centos、Fedora 等
  2. Debian 系列:Debian、Ubuntu 等

Dpkg (Debian系):Ubuntu 
RPM (Red Hat系):CentOS、Fedora

RedHat 系列

  • 常见的安装包格式 rpm 包,安装rpm包的命令是“rpm -参数”
  • 包管理工具 yum
  • 支持 tar 包

Debian系列

  • 常见的安装包格式 deb 包,安装 deb 包的命令是“dpkg -参数”
  • 包管理工具 apt-get
  • 支持 tar 包

tar 只是一种压缩文件格式,所以,它只是把文件压缩打包而已。

rpm 相当于windows中的安装文件,它会自动处理软件包之间的依赖关系。优缺点来说,rpm一般都是预先编译好的文件,它可能已经绑定到某种CPU或者发行版上面了。

列出系统中已安装的所有套件:

下面是其他博客的摘录

以下整理列表来自Jamyy's Weblog :

安装

目的 rpm 用法 dpkg 用法
安装指定套件 rpm -i pkgfile.rpm dpkg -i pkgfile.deb

查询

目的 rpm 用法 dpkg 用法
显示所有已安装的套件名称 rpm -qa dpkg -l (小写L)
显示套件包含的所有档案 rpm -ql softwarename (小写L) dpkg -L softwarename
显示特定档案所属套件名称 rpm -qf /path/to/file dpkg -S /path/to/file
查询套件档案资讯 rpm -qip pkgfile.rpm (显示套件资讯) 
rpm -qlp pkgfile.rpm (小写L,显示套件内所有档案)
dpkg -I pkgfile.deb (大写I ) 
dpkg -c pkgfile.deb
显示指定套件是否安装 rpm -q softwarename (只显示套件名称)
rpm -qi softwarename (显示套件资讯)
dpkg -l softwarename (小写L,只列出简洁资讯) 
dpkg -s softwarename (显示详细资讯)
dpkg -p softwarename (显示详细资讯)

移除

目的 rpm 用法 dpkg 用法
移除指定套件 rpm -e softwarename dpkg -r softwarename (会留下套件设定档) 
dpkg -P softwarename (完全移除)

在Debian使用alien处理RPM套件

alien 可处理.deb、.rpm、.slp、.tgz 等档案格式, 进行转档或安装. 
于Debian安装非Debian套件时,可使用alien进行安装. 
安装alien套件: apt-get install alien

  • 在Debian安装RPM套件: alien -i quota-3.12-7.i386.rpm
  • 制作成deb的套件格式: alien -d quota-3.12-7.i386.rpm
  • 制作成rpm的套件格式: alien -r quota_3.12-6_i386.deb

APT与YUM

虽然RPM与DPKG有效的解决的软体的安装,移除与查询的需求,但是在Linux上的套件管理还有一个很大的问题必须解决,就是各软体间的相依性(dependency)。 RPM与DPKG只能做到检查相依性,在安装或移除时告知相依性的不满足,皆下来就需要使用者自行去找出所需的套件来安装。 这样的确是有点不方便,因此产生了前端工具软体- APT及YUM。

APT

Debian开发,目前也有porting到其他版本,要在Red Hat系的Fedora或CentOS使用也是可以的。

使用方法:

  • 编辑/etc/apt/sources.list ,设定所选用的版本,如stable,testing,unstable及套件来源站台或装置。 档案详细设定请参考: 了解Debian系统的哲学
  • 基本指令:
apt-setup 设定/etc/apt/souces.list
apt-get update 软体资料库同步
apt-get install softwarename1 [softwarename2.....] 安装软体
apt-get remove softwarename 1 [softwarename 2...] 移除软体(保留设定档)
apt-get --purge remove softwarename 1 [softwarename 2...] 移除软体(不保留设定档)
apt-cache search softwarename 列出所有sofrwarename的套件
apt-upgrade [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
apt-get clean(autoclean) 删除系统暂存的deb(autoclean只会将比目前系统旧版的套件删除)
apt-get dist-upgrade 转换系统的版本(需在/etc/apt/sources.list指定stable,testing或unstable)

YUM

YUM(Yellow dog Updater, Modified )是Yellow Dog Linux开发的。 Yellow Dog Linux原本是一套完全源于Red Hat但运作于先前使用IBM PPC平台的MAC机器,原本以为这个版本已经消失,没想到最新消息是他们推出了在Sony PS3上面运作的版本。 CentOS及Fedora的基本预设安装中即将YUM列入其内。 如果没记错,要在Debian上使用YUM也是可以的。

使用方法:

  • 编辑/etc/yum.conf档案详细设定请参考: 简易APT/YUM伺服器设定注1
  • 基本指令: (如果yum在工作过程中需要使用者回应,可加上-y参数直接回答yes )
yum install softwarename1 [softwarename2.....] 安装套件
yum update [softwarename 1 softwarename2...] 更新套件,不指定套件名则更新所有可更新的套件
yum list 列出目前在yum server 上面有的套件
yum info 类似rpm -qi
yum clean 移除下载到本机的packages 或headers
yum remove softwarename1 [softwarename2.....] 移除已经安装的套件

注1:Red Hat近年来致力于将一个设定档切割成很多小设定档。 以yum.conf为例,Red Hat将其分割成xxx.repo档放置在/etc/yum.repos.d这个目录下。 并在yum.conf档里增加一行注解: PUT YOUR REPOS HERE OR IN separate files named file.repo in /etc/yum.repos.d。 个人可视喜好决定。

 

区分一下dpkg,rpm和yum以及apt-get的更多相关文章

  1. Linux RPM、YUM、APT包管理工具

    ⒈rpm包的管理 1)介绍 rpm是一种用于互联网下载包的打包及安装工具,它包含在某些Linux分发版中,它生成具有.RPM扩展名的文件,RPM是RedHat Package Manager(RedH ...

  2. linux RPM、YUM

    Linux 界的两大主流: RPM 与 DPKG distribution 代表 软件管理机制 使用指令 在线升级机制(指令) Red Hat/Fedora RPM rpm, rpmbuild YUM ...

  3. Linux软件包安装(rpm、yum、apt-get)

    转载自:https://blog.csdn.net/wzq__janeGreen_/article/details/81774924 rpm/yum适用于Redhat.CentOS.Suse等平台: ...

  4. centos的软件安装方法rpm和yum

    centos的软件安装大致可以分为两种类型: [centos]rpm文件安装,使用rpm指令  类似[ubuntu]deb文件安装,使用dpkg指令 [centos]yum安装   类似[ubuntu ...

  5. 【linux之软件安装,rpm,yum】

    一.软件管理 静态库 动态库静态库:在程序编译时会被连接到目标代码中,程序运行时将不再需要该静态库动态库:在程序编译时并不会被连接到目标代码中,而是在程序运行时才被载入. 链接是程序调用库的过程. 静 ...

  6. CentOS 7上的程序管理:rpm、yum和源码编译安装

    简介 在Linux的早期时代(也许吧?我猜的.也可能是Unix.),想要在系统上安装一款应用程序,是比较复杂的.需要专业的人员自行获取程序的源代码,并且编译安装,这是非常的复杂且需要一定的专业功底的, ...

  7. rpm 与 yum 源

    rpm rpm -e                删除软件包rpm -i                安装软件包rpm -U                更新软件包rpm -qa         ...

  8. dpkg: 处理归档 /var/cache/apt/archives/软件名 (--unpack)时出错:由于已经达到 MaxReports 限制,没有写入 apport 报告。

    一.环境介绍: OS:ubuntu16.04 64bit 二.错误如下: 正准备解包 .../libqt4-script_4%3a4.8.7+dfsg-5ubuntu2_i386.deb  ...正在 ...

  9. rpm and yum commands

    rpm命令 rpm包,由“-”.“.”构成,包名.版本信息.版本号.运行平台 对已安装软件信息的查询 rpm -qa                             查询已安装的软件 rpm ...

随机推荐

  1. android复习第一天-----简单的android常识

    前言:要去面试了,这些天花一些事件把android中简单的知识点来串联的复习一下 1,android中的工程结构 src文件夹:存储android文件的源代码 gen文件夹:有工具自动生成,不要去修改 ...

  2. zw版_Halcon图像交换、数据格式、以及超级简单实用的DIY全内存计算.TXT

    zw版_Halcon图像交换.数据格式.以及超级简单实用的DIY全内存计算.TXT Halcon由于效率和其他原因,内部图像采用了很多自有格式,提高运行速度,但在数据交换方面非常麻烦. 特别是基于co ...

  3. 解决PHP在IE浏览器下载文件,中文文件名乱码问题

    前提:我们网站所有文件全部使用的是UTF-8 NO BOM的编码方式 1.找测试重现.360浏览器下载的呵呵,果然文件名是乱码.再请测试在ie浏览器下测试.IE9,8,7也全部是乱码.查看编码就是UT ...

  4. 收缩TempDB的办法(转载)

    有时候在数据库上运行一个数据量很大的查询语句,会导致TempDB数据量剧增,具体查看下面链接文章: SqlServer 一个查询语句导致tempdb增大55G 找到TempDB剧增的问题后,接下来的问 ...

  5. window7快捷键

    新建文件夹:Shift +F10  松手  shift  + w 两遍 Enter   shift+F   Enter

  6. Microsoft JET Database Engine (0x80004005)

    解决方法:打开我的电脑,菜单栏工具选项下去掉打钩查看卡里使用简单文件共享(推荐)这项. 找到windows/temp文件夹,对temp右键属性,安全选项里添加everyone这个用户,选择完全控制权限 ...

  7. Install Sogou IM 2.0 in Ubuntu14.04+/Xfce

    Ubuntu14.04+ 安装搜狗输入法 搜狗输入法是一款非常友好的输入法产品,从Ubuntu14.04开始对Linux支持,不过只是Debian系的,是Ubuntu优麒麟组引入的.优麒麟是针对国人设 ...

  8. JavaScript中统计Textarea字数并提示还能输入的字符

    <span style="font-size:18px;"><script language="javascript"> functio ...

  9. 利用OpenStack Rest API 创建镜像

    服务端点: image API: POST     /v2/images Request1:     Method:Post     Url: http://192.168.31.147:9292/v ...

  10. 在PostgreSQL中使用oracle_fdw访问Oracle

    本文讲述如何在PostgreSQL中使用oracle_fdw访问Oracle上的数据. 1. 安装oracle_fdw 可以参照:oracle_fdw in github 编译安装oracle_fdw ...