Linux包管理工具yum、apt的区别

 更新时间:2023年04月22日 14:40:39   投稿:yin  
Linux系统基本分两大类:RedHat系列:Redhat、Centos、Fedora等;Debian系列:Debian、Ubuntu 等。yum是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt是一个在 Debian 和Ubuntu中的Shell前端软件包管理器。

一般来说著名的 Linux 系统基本上分两大类:RedHat 系列:Redhat、Centos、Fedora 等;Debian 系列:Debian、Ubuntu 等。

yum( Yellow dog Updater, Modified)是一个在 Fedora 和 RedHat 以及 SUSE 中的 Shell 前端软件包管理器。apt(Advanced Packaging Tool)是一个在 Debian 和 Ubuntu 中的 Shell 前端软件包管理器。

概述

一般来说著名的 Linux系统基本上分两大类:
RedHat 系列:Redhat、Centos、Fedora 等
Debian 系列:Debian、Ubuntu 等

RedHat 系列

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

Debian系列

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

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

tar一般包括编译脚本,你可以在你的环境下编译,所以具有通用性。
如果你的包不想开放源代码,你可以制作成rpm,如果开源,用tar更方便了。
tar一般都是源码打包的软件,需要自己解包,然后进行安装三部曲,./configure, make, make install. 来安装软件。

rpm是redhat公司的一种软件包管理机制,直接通过rpm命令进行安装删除等操作,最大的优点是自己内部自动处理了各种软件包可能的依赖关系。

系列对比

对比项rpmyumdpkgapt
系列RedHat系RedHat系Debian系Debian系
区别包安装工具依赖管理工具包安装工具依赖管理工具
查询已安装rpm -qayum list installeddkpg -lapt list –installed
安装rpm -i package.rpm 或 rpm –ivh http://www.xxx.net/package.rpmyum install -ydpkg -i package.debapt-get install package
更新rpm –U software.rpmyum updateapt upgrade
移除软件包rpm -e [module1][module2]…yum -removedpkg -r packageapt remove package
移除软件包及配置dpkg -Papt purge package
下载的包存放位置/var/cache/apt/archives
软件安装默认位置rpm -ql/usr/share
可执行文件位置/usr/bin/usr/bin
配置文件位置/etc/etc
lib文件位置/usr/lib/usr/lib
使用手册/usr/share/doc
帮助文档/usr/share/man
更新

 使用方式

1 dpkg包

dpkg (Debian Package)管理工具,软件包名以.deb后缀。类似redhat的rpm。这种方法适合系统不能联网的情况下。
比如安装tree命令的安装包,先将tree.deb传到Linux系统中。再使用如下命令安装。

dpkg -i tree_1.5.3-1_i386.deb         安装软件
sudo dpkg -r tree                                     卸载软件

注:将tree.deb传到Linux系统中,有多种方式。VMwareTool,使用挂载方式;使用winSCP工具等;

2 APT

APT(Advanced Packaging Tool)高级软件工具。这种方法适合系统能够连接互联网的情况。类似redhat的yum。

apt 命令提供了查找、安装、升级、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

apt 命令执行需要超级管理员权限(root)。

apt适合Debian 系列:Debian、Ubuntu 等。在Ubuntu下,apt-get近乎是最常用的shell命令之一了,因为他是Ubuntu安装软件的常用工具命令。

依然以tree为例

 apt-get install tree                        安装tree
 apt-get remove tree                         卸载tree
 apt-get update                              更新软件
 apt-get upgrade
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)

3 rpm包

将.rpm文件转为.deb文件
.rpm为RPM (Red Hat系):CentOS、Fedora使用的软件格式。在Ubuntu下不能直接使用,所以需要转换一下。
alien abc.rpm

3.1 安装

rpm -i 需要安装的包文件
rpm -iv 需要安装的包文件(显示安装详情)
rpm -ivh 需要安装的包文件(显示安装详情及进度

3.2 升级

rpm -U 需要升级的包文件
rpm -Uvh 需要升级的包文件(显示升级详情及进度)

3.3 卸载

rpm -e 需要卸载的软件包

注:如果其他程序依赖要卸载的包,系统会提示不能删除,若需要强行删除加上–nodeps,

会强制删除,但可能导致依赖于它的软件不能运行。

3.4 查看

查看已安装

rpm -qa   查看已安装
rpm -qa | grep "软件或者包的名字"  查看指定包

4 yum安装

基于 RPM 包管理,能够从指定的服务器自动下载 RPM 包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

yum特点

  • 可以同时配置多个资源库(Repository)
  • 简洁的配置文件(/etc/yum.conf
  • 自动解决增加或删除rpm包时遇到的倚赖性问题
  • 使用方便
  • 保持与RPM数据库的一致性

yum详细指令

1、安装: yum install 软件
2、升级: yum update 软件
3、删除: yum remove 软件
4、查看: yum info 软件
5、搜索软件: yum search 软件
6、查看依赖关系: yum deplist 软件
7、查看已安装软件: yum list installded

总结

APT是linux的Debian发行版已经一些以Debian为基础的发行版(Ubuntu等)下,做软件包管理的一个工具,其中包括deselect和apt-get两个工具,他们都可以提供下载、安装、更新、删除软件包的功能。

Yum是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

到此这篇关于Linux包管理工具yum、apt的区别的文章就介绍到这了,更多相关yum、apt的区别内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib

    Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy

    virtualenv 是一个创建隔绝的Python环境的工具。这篇文章主要介绍了Ubuntu 18.04安装 pyenv、pyenv-virtualenv、virtualenv、Numpy、SciPy、Pillow、Matplotlib的教程,需要的朋友可以参考下
    2019-11-11
  • 制作PHP的RPM包详解及实例

    制作PHP的RPM包详解及实例

    这篇文章主要介绍了制作PHP的RPM包详解及实例的相关资料,为了方便源码包的安装,我们需要自己订制软件包的需求,我们会把一些源码包按照我们的需求来做成rpm包,需要的朋友可以参考下
    2016-12-12
  • Linux系统中创建SSH服务器别名的两种方法

    Linux系统中创建SSH服务器别名的两种方法

    这篇文章主要给大家介绍了关于Linux系统中创建SSH服务器别名的两种方法,文中通过示例代码介绍的非常详细,对大家学习或者使用Linux系统具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详解linux下查看系统版本号信息的方法(总结)

    详解linux下查看系统版本号信息的方法(总结)

    本篇文章主要介绍了详解CentOS下查看系统版本号信息的方法(总结),具有一定的参考价值,有兴趣的可以来了解一下
    2017-07-07
  • Ubuntu16.04上安装CUDA9.0 详细教程

    Ubuntu16.04上安装CUDA9.0 详细教程

    这篇文章主要介绍了Ubuntu16.04上安装CUDA9.0 详细教程,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-08-08
  • Apache Doris的Bitmap索引和BloomFilter索引使用及注意事项

    Apache Doris的Bitmap索引和BloomFilter索引使用及注意事项

    bitmap index是一种位图索引,是一种快速数据结构,能够加快查询速度,BloomFilter索引也是以Block为粒度创建的,这篇文章主要介绍了Apache Doris的Bitmap索引和BloomFilter索引使用,需要的朋友可以参考下
    2022-09-09
  • linux之centos7防火墙基本使用详解

    linux之centos7防火墙基本使用详解

    这篇文章主要介绍了linux之centos7防火墙基本使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-02-02
  • linux常用命令小结之yum、源码安装

    linux常用命令小结之yum、源码安装

    这篇文章主要介绍了linux常用命令小结之yum、源码安装的相关资料,需要的朋友可以参考下
    2018-04-04
  • CentOS 安装 Mongodb详解(在线和离线)

    CentOS 安装 Mongodb详解(在线和离线)

    这篇文章主要介绍了CentOS 安装 Mogodb详解(在线和离线) ,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • CentOS 服务器安全配置策略

    CentOS 服务器安全配置策略

    近期服务器频繁有被暴力破解,大致分析了一下入侵行为,整理了常用的安全策略,需要的朋友可以参考下
    2019-11-11

最新评论