linux 的rpm/yum/apt/apt-get命令解释 作者:马育民 • 2017-09-02 22:40 • 阅读:10122 # 早期的安装软件 早起linux安装软件比较复杂,大部分开源软件都是将源代码打包发布,那么安装时需要解压缩,然后编译后才能安装运行。非常复杂繁琐。 正是以下这些命令,解决了上面的麻烦,将编译后的二进制文件打包,安装时只需要执行简单的命令即可完成安装。 # rpm RPM是RPM Package Manager(RPM软件包管理器)的缩写。 这一文件格式名称虽然打上了RedHat的标志,但是其原始设计理念是开放式的,现在包括OpenLinux、S.u.S.E.以及Turbo Linux等Linux的分发版本都有采用,可以算是公认的行业标准了。 # yum Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。 基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。 # rpm和yum的区别 rpm软件包形式的管理虽然方便,但是需要手工解决软件包的依赖关系。 很多时候安装一个软件,需要安装1个或者多个 依赖的软件,手动解决时,很复杂。 yum解决上面这些问题(相当于 maven)。Yum是rpm的前端程序,主要目的是设计用来自动解决rpm的依赖关系,其特点: 1) 自动解决依赖关系; 2)可以对rpm进行分组,基于组进行安装操作; 3)引入网络仓库概念,支持多个仓库; 4)配置简单 >yum网络仓库用来存放所有的现有的.rpm包,当使用yum安装一个rpm包时,需要依赖关系,会自动在仓库中查找依赖软件并安装。仓库可以是本地的,也可以是HTTP、FTP、nfs形式使用的集中地、统一的网络仓库。 # apt-get apt-get,是一条linux命令,适用于deb包管理式的操作系统,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统。 Advanced Package Tool,又名apt-get,是一款适用于Unix和Linux系统的应用程序管理器。 最初于1998年发布,用于检索应用程序并将其加载到Debian Linux系统。Apt-get成名的原因之一在于其出色的解决软件依赖关系的能力。 # apt Advanced Packaging Tool(apt)是Linux下的一款安装包管理工具,最初应用在Debian,稍后Red Hat才决定开发自己的“rpm”包管理系统。 APT是一个客户/服务器系统。在服务器上先复制所有DEB包(DEB是Debian软件包格式的文件扩展名),然后用APT的分析工具(genbasedir)根据每个DEB 包的包头(Header)信息对所有的DEB包进行分析,并将该分析结果记录在一个文件中,这个文件称为DEB 索引清单,APT服务器的DEB索引清单置于base文件夹内。一旦APT 服务器内的DEB有所变动,一定要使用genbasedir产生新的DEB索引清单。客户端在进行安装或升级时先要查询DEB索引清单,从而可以获知所有具有依赖关系的软件包,并一同下载到客户端以便安装。 当客户端需要安装、升级或删除某个软件包时,客户端计算机取得DEB索引清单压缩文件后,会将其解压置放于/var/state/apt/lists/,而客户端使用apt-get install或apt-get upgrade命令的时候,就会将这个文件夹内的数据和客户端计算机内的DEB数据库比对,知道哪些DEB已安装、未安装或是可以升级的。 # apt 和 apt-get 区别 最常用的 Linux 包管理命令都被分散在了 apt-get、apt-cache 和 apt-config 这三条命令当中。 apt 命令的引入就是为了解决命令过于分散的问题,它包括了 `apt-get` 命令出现以来使用最广泛的功能选项,以及 `apt-cache` 和 `apt-config` 命令中很少用到的功能。 apt = apt-get、apt-cache 和 apt-config 中最常用命令选项的集合。 原文出处:http://www.malaoshi.top/show_1C7arRQTdtH.html