在Linux下安装软件,其实也是遵循着和Windows一样的安装流程。
- 首先,从官网网站下载对应软件包到服务器上 。
- 其次,在服务器上进行安装
若将以上步骤换成Linux命令的话,就变成具体如下步骤
- 下载:wget
- 安装: 这里的安装有两种方式,
- 直接安装二进制包rpm
- 直接安装源码,编译安装 make&make install
当然除了以上方式,为了减少用户操作,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的压缩包 。所以,我们在官网上下载到常常是一个压缩包,常见的格式有:.tar.gz , .tgz, .tar.bz2格式,如:redis-5.0.7.tar.gz
- 二进制文件,简单来说就是Linux的可执行命令文件,比如我们经常使用的一些命令都是二进制文件 。而我们使用到的rpm其实就是将源码文件进行编译成二进制可执行程序并最终打包成rpm格式的安装包 ,
格式为:软件包名-软件版本-软件发布的次数-适合的 Linux平台-适合的硬件平台-包扩展名 ,比如: httpd-2.2.15-15.el6.centsos.1.i686.rpm
安装命令优缺点
| 安装方式 | 优点 | 缺点 |
|---|---|---|
| 源码安装 | - 安装包的版本可以自由选择 ,选择自己适合的版本 - 卸载方便 。 - 开源,有能力可以扩展源代码 |
- 安装步骤比较多,总体安装时间也比较长 - 若在编译安装过程中出现问题,问题也更难解决 |
| rpm安装 | - 软件已经编译打包,所以传输和安装方便,用户可以免除编环节。 - 安装也更加方便和快捷 - 软件信息都已经记录在服务器上,方便查询、升级和卸载 |
- 安装前必须要安装所需要的依赖包 - 软件包安装的环境必须与打包时的环境一致或相当 |
| yum安装 | - 省去找安装包的过程,一个命令搞定下载和安装 。 - 最大的好处就是解决了rpm中安装包依赖的问题,yum会自动帮你安装依赖包 |
- 安装的版本一般比较老,往往不太符合我们要求 |
命令简介
rpm命令
rpm不仅仅支持安装,也可以查询、升级、卸载、校验等 。不同的功能都是通过以下的选项控制的
| 选项 | 说明 | 备注 |
|---|---|---|
| -i | 表示安装 | 全名:install |
| -v | 表示详细信息 | 全名:verbose |
| -h | 表示进度 | 全名:hash |
| -q | 查询指定的包名 | 全名:query |
| -a | 查询所有安装的包 | 全名:all |
| -e | 卸载指定的包名 |
| | -U | 升级软件 |
| | -V | 对rpm包进行验证 |
| | -l | 列表该包的文件 | 全名:list |
常用命令
#安装某个rpm包:rpm -ivh 包名#查询所有已安装包:rpm -qa#卸载某个已安装包:rpm -e 包名#查询某个包中的详细信息:rpm -ql 包名
yum命令
因为yum是基于rpm包进行管理的 ,所以同样也支持了rpm包中的相关功能
| 选项 | 说明 |
|---|---|
| install | 安装 |
| update | 更新 |
| update-to | 更新到某个版本 |
| remove | 卸载 |
| list | 列表 |
| search | 查找 |
| info | 显示关于软件包的详细信息 |
| clean | 删除缓存数据 |
| -y | 所有确认项默认默认选是 |
常用命令
显示所有已经安装和没有安装的包:yum list all只显示已安装的包:yum list installed只显示没有安装但可以安装的包: yum list available列出可更新的包:yum list updates模糊查询:yum search 关键字 ,比如yum search python安装某软件包:yum install 包名安装多个包: yum install 包名1 包名2 包名n安装某个包: yum install -y 包名 , //期间有确认项自动选yes .更新安装包: yum update 包名卸载某软件包:yum remove 包名查询包中的信息:yum info 包名
