Linux下安装命令虽然经常使用,但也仅仅是会使用,每次再用时依然的百度 。于是就花了些时间整体的梳理了一番,以便于更好的理解。
在Linux下安装软件,其实也是遵循着和Windows一样的安装流程。
首先,从官网网站下载对应软件包到服务器上 。
其次,在服务器上进行安装 。
若将以上步骤换成Linux命令的话,就变成具体如下步骤
下载:wget
安装: 这里的安装有两种方式,分别为:
直接安装二进制包: rpm
直接安装源码:编译安装
当然除了以上方式,为了减少用户操作,Linux也提供了一个可以将以上步骤合二为一的命令,即:yum
.这个命令可以将软件安装包自动下载并且安装,非常的方便 。
可以看出,涉及软件包安装常见的方式有三种,分别是:
二进制包安装:rpm
源码编译安装:make & make install
下载并安装:yum
RPM早期被称为RedHat Package Manager
,但由于目前RPM非常流行,且已经成为Linux工业标准。所以RPM现在又被称为RPM is Package Manager
。
make是用来编译编译和安装很多开源的工具。
YUM被称为 Yellowdog Updater Modified
,是一个使用Python语言开发的前端软件包管理器。YUM主要是对RPM包进行管理。
在这里我们必须要理解两个概念,分别是:
源码文件,这个很好理解,就是开发编写好的代码,发布后的源码一般都将其打成一个.gz
或.tgz
的压缩包 。所以,我们在官网上下载到常常是一个压缩包,如:redis-5.0.7.tar.gz
二进制文件,简单来说就是Linux的可执行命令文件,比如我们经常使用的一些命令都是二进制文件 。而我们使用到的rpm其实就是将源码文件进行编译成二进制可执行程序并最终打包成rpm格式的安装包 。
?
通过上面介绍可以看出 ,我们在Linux下所安装的包一般有两种形式,分别是:
以源码形式存在的压缩包,常见的格式有:.tar.gz , .tgz, .tar.bz2
格式 ,如redis-5.0.7.tar.gz
以rpm格式存在的rpm包 。格式为:软件包名-软件版本-软件发布的次数-适合的 Linux
平台-适合的硬件平台-包扩展名 ,比如: httpd-2.2.15-15.el6.centsos.1.i686.rpm
通过以上介绍,我们知道了安装包存在的形式以及安装方式 ,也就是说我们一般拿到的安装主要就两种形式
源码包,通过make & make install 进行编译安装后变成可运行程序 。
rpm包 , 通过rpm命令或者yum进行安装
具体安装过程如下 :
通过以上介绍,我们知道了不同的包该使用什么方式安装 。那么它们之间到底有啥区别呢 ?
优点:
安装包的版本可以自由选择 ,选择自己适合的版本
卸载方便 。
开源,有能力可以扩展源代码
缺点:
安装步骤比较多,总体安装时间也比较长
若在编译安装过程中出现问题,问题也更难解决 。
优点:
软件已经编译打包,所以传输和安装方便,用户可以免除编环节。
安装也更加方便和快捷
软件信息都已经记录在服务器上,方便查询、升级和卸载 。
缺点:
安装前必须要安装所需要的依赖包
软件包安装的环境必须与打包时的环境一致或相当
优点:
省去找安装包的过程,一个命令搞定下载和安装 。
最大的好处就是解决了rpm中安装包依赖的问题,yum会自动帮你安装依赖包
缺点:
安装的版本一般比较老,往往不太符合我们要求 。
rpm不仅仅支持安装,也可以查询、升级、卸载、校验等 。不同的功能都是通过以下的选项控制的。
选项 | 说明 | 备注 |
---|---|---|
-i | 表示安装 | 全名:install |
-v | 表示详细信息 | 全名:verbose |
-h | 表示进度 | 全名:hash |
-q | 查询指定的包名 | 全名:query |
-a | 查询所有安装的包 | 全名:all |
-e | 卸载指定的包名 | |
-U | 升级软件 | |
-V | 对rpm包进行验证 | |
-l | 列表该包的文件 | 全名:list |
以上列出的是rpm中一些常用选项,在实际使用中,往往是进行选项的组合 ,比如:
1.安装某个rpm包: rpm -ivh 包名 2.查询所有已安装包: rpm -qa 3.卸载某个已安装包: rpm -e 包名 4.查询某个包中的详细信息:rpm -ql 包名
因为yum是基于rpm包进行管理的 ,所以同样也支持了rpm包中的相关功能 。
选项 | 说明 |
---|---|
install | 安装 |
update | 更新 |
update-to | 更新到某个版本 |
remove | 卸载 |
list | 列表 |
search | 查找 |
info | 显示关于软件包的详细信息 |
clean | 删除缓存数据 |
-y | 所有确认项默认默认选是 |
以下为具体使用:
1.显示所有已经安装和没有安装的包:yum list all 2.只显示已安装的包:yum list installed 3.只显示没有安装但可以安装的包: yum list available 4.列出可更新的包:yum list updates 5.模糊查询:yum search 关键字 ,比如yum search python 6.安装某软件包:yum install 包名 7.安装多个包: yum install 包名1 包名2 包名n 8.安装某个包: yum install -y 包名 , ? ? ? ? //期间有确认项自动选yes . 9.更新安装包: yum update 包名 10.卸载某软件包:yum remove 包名 11.查询包中的信息:yum info 包名