早期的安装软件
早起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 中最常用命令选项的集合。