Linux安装软件每次靠百度,这次花了些时间,终于算是搞明白了
Linux下安装命令虽然经常使用,但也仅仅是会使用,每次再用时依然的百度 。于是就花了些时间整理了一番,以便于更好地理解。
1.安装流程介绍
在Linux下安装软件,其实也是遵循着和Windows一样的安装流程。
- 首先,从官网网站下载对应软件包到服务器上 。
- 其次,在服务器上进行安装 。
若将以上步骤换成Linux命令的话,就变成具体如下步骤
- 下载:wget
- 安装: 这里的安装有两种方式,分别为:直接安装二进制包:rpm直接安装源码:编译安装
当然除了以上方式,为了减少用户操作,Linux也提供了一个可以将以上步骤合二为一的命令,即:yum.这个命令可以将软件安装包自动下载并且安装,非常的方便 。
可以看出,涉及软件安装常见的方式有三种,分别是:
- 二进制包安装:rpm
- 源码编译安装:make & make install
- 下载并安装:yum
2.安装包介绍
- 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
3.安装原理介绍
通过以上介绍,我们知道了安装包存在的形式以及安装方式 ,也就是说我们一般拿到的安装主要就两种形式
- 源码包,通过make & make install 进行编译安装后变成可运行程序 。
- rpm包 , 通过rpm命令或者yum进行安装
具体安装过程如下 :
通过以上介绍,我们知道了不同的包该使用什么方式安装 。那么它们之间到底有啥区别呢 ?
4.安装命令优缺点
4.1 源码安装优缺点
优点:
- 安装包的版本可以自由选择 ,选择自己适合的版本
- 卸载方便 。
- 开源,有能力可以扩展源代码
缺点:
- 安装步骤比较多,总体安装时间也比较长
- 若在编译安装过程中出现问题,问题也更难解决 。
4.2 rpm安装优缺点
优点:
- 软件已经编译打包,所以传输和安装方便,用户可以免除编环节。
- 安装也更加方便和快捷
- 软件信息都已经记录在服务器上,方便查询、升级和卸载 。
缺点:
- 安装前必须要安装所需要的依赖包
- 软件包安装的环境必须与打包时的环境一致或相当
4.3 yum安装优缺点
优点:
- 省去找安装包的过程,一个命令搞定下载和安装 。
- 最大的好处就是解决了rpm中安装包依赖的问题,yum会自动帮你安装依赖包
缺点:
- 安装的版本一般比较老,往往不太符合我们要求 。
5.命令介绍
5.1 rpm命令介绍
rpm不仅仅支持安装,也可以查询、升级、卸载、校验等 。不同的功能都是通过以下的选项控制的。
选项 | 说明 | 备注 |
-i | 表示安装 | 全名:install |
-v | 表示详细信息 | 全名:verbose |
-h | 表示进度 | 全名:hash |
-q | 查询指定的包名 | 全名:query |
-a | 查询所有安装的包 | 全名:all |
-e | 卸载指定的包名 | |
-U | 升级软件 | |
-V | 对rpm包进行验证 | |
-l | 列表该包的文件 | 全名:list |
以上列出的是rpm中一些常用选项,在实际使用中,往往是进行选项的组合 ,比如:
1.安装某个rpm包:rpm-ivh包名2.查询所有已安装包:rpm-qa3.卸载某个已安装包:rpm-e包名4.查询某个包中的详细信息:rpm-ql包名
5.2 yum命令介绍
因为yum是基于rpm包进行管理的 ,所以同样也支持了rpm包中的相关功能 。
选项 | 说明 |
install | 安装 |
update | 更新 |
update-to | 更新到某个版本 |
remove | 卸载 |
list | 列表 |
search | 查找 |
info | 显示关于软件包的详细信息 |
clean | 删除缓存数据 |
-y | 所有确认项默认默认选是 |
以下为具体使用:
1.显示所有已经安装和没有安装的包:yumlistall2.只显示已安装的包:yumlistinstalled3.只显示没有安装但可以安装的包:yumlistavailable4.列出可更新的包:yumlistupdates5.模糊查询:yumsearch关键字,比如yumsearchpython6.安装某软件包:yuminstall包名7.安装多个包:yuminstall包名1包名2包名n8.安装某个包:yuminstall-y包名,//期间有确认项自动选yes.9.更新安装包:yumupdate包名10.卸载某软件包:yumremove包名11.查询包中的信息:yuminfo包名
我告诉你msdn版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!