Linux软件安装
Linux安装软件的三种方式
- rpm安装
- yum安装
- 源代码安装
区别:
rpm安装类似windows中的安装包,下载后直接安装,但是他不能自己解决依赖。
yum是基于rpm安装的,在此基础上它解决了依赖问题。
源代码安装是通过编译代码得到安装包的,因此它能够修改源码达到某些自定义的功能。
RPM安装
RPM安装软件需要先下载安装包,这里以zip为例。
-
首先从华为云镜像仓库下载zip安装包(此安装包只是示例,可以任意)
![image]()
-
输入命令
rpm -ivh [软件包名称]
![image]()
此时软件安装完成了,但是rpm还有一些常用其他命令。
软件包名称介绍
我们以上述zip软件包为例,介绍软件包名称含义。

- 软件名: zip
- 版本号: 3.0
- 第几次次编译: 11
- 适用的平台: el7(CentOS 7)
- 适用的系统位数: x86_64
- 扩展名: rpm
RPM命令
-
安装:
rpm -ivh [软件包]
![image]()
-
卸载:
rpm -e [软件包]
![image]()
-
更新:
rpm -Uvh [软件包] -
查看所有安装的软件包
rpm -qa -
查看是否安装了某软件
rpm -q [软件名]
![image]()
-
查看软件安装目录
rpm -ql [软件名]
![image]()
YUM安装
之前介绍过yum安装时基于rpm的,并且它解决了包依赖的问题。
YUM命令
-
安装
yum install [软件包名称]![image]()
- -y 免交互
- --nogpgcheck 忽略公钥认证
-
卸载
yum remove [软件包名称]![image]()
- -y 免交互
-
更新
yum update [软件包名称]![image]()
- -y 免交互
YUM安装的生命周期
yum安装的生命周期即安装软件的流程顺序,以下是整个流程的顺序。
- 执行命令
yum install [软件包名称] - 在
/etc/yum.repos.d/目录下查看.repo结尾文件中的仓库链接 - 通过此链接的软件仓库下载指定的软件包
- 缓存至/usr/cache/yum
- 根据缓存安装软件
- 删除缓存(软件包)
注: 最后是否删除缓存的软件包根据 keepcache 而定。1表示保留,0表示删除,而默认是删除的。keepcache 在/etc/yum.conf文件中配置。

编译安装
以编译安装nginx为例,我们目的是为了自定义服务器显示。
首先我们去nginx官网下载源代码包,稳定版本即可。

放到root家目录下,我们解压nginx。

修改解压的nginx目录下的/src/core/nginx.h配置文件,如下:

cd到nginx目录中,执行./configure编译配置。

然后再在此目录下执行make make install编译并编译下载。
[root@localhost nginx-1.20.2]# make
[root@localhost nginx-1.20.2]# make install
下载完成启动nginx,如下:

访问本地ip地址,随意输入地址查看效果。


YUM搭建私有仓库(练习)
本地仓库
-
首先我们需要下载两个工具,
yum install yum-utils createrepo -y。 -
创建仓库目录,这个目录下必须要有一个Packages目录。(这里在/opt/目录下创建)
![image]()
-
将下载的软件包都放到Packages目录下
![image]()
-
将repos目录初始化为仓库,执行命令
createrepo /opt/repos
![image]()
-
添加yum源,此步我们将
/etc/yum.repos.d/目录下的所有.repo结尾文件备份到/etc/yum.repos.d/backup/目录下,执行yum-config-manager --add-repo=file:///opt/repos生成yum源配置文件。
![image]()
可以发现此配置文件内
baseurl=file:///opt/respos,表示下载软件包会到此仓库下载。 -
我们更新缓存
![image]()
-
测试下载
![image]()
不难发现,此时下载zip软件包已经到我们本地仓库下载了。
远程仓库
远程仓库以本地仓库为基础,要做能够远程访问的仓库需要安装nginx。默认的linux官方仓库中是无法下载nginx的,我们把/etc/yum.repos.d/目录下.repo结尾的文件移动到backup,然后创建一个自定义的yum源文件,设置此文件的baseurl为华为云仓库地址https://repo.huaweicloud.com/epel/7/x86_64/,我们使用之前安装的yum-utils快速创建。

安装nginx其中一个依赖包需要公钥认证,我们通过--nogpgchekc忽略认证。
[root@localhost ~]# yum install nginx --nogpgcheck
下载完成后我们修改下nginx配置文件,
# include /etc/nginx/conf.d/*.conf; # 注释此行
root /opt/repos; # 修改地址为本地仓库目录
autoindex on; # 添加此行
然后判断下修改是否起效,并启动nginx。

关闭selinux和firewalld,
[root@localhost ~]# systemctl disable --now firewalld
[root@localhost ~]# setenforce 0
然后删除华为云的yum源文件,快速创建新yum源文件。
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://[本机ip]/
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
到目前为止,远程仓库已经配置完成。我们再开启一个虚拟机,备份新虚拟机的yum源文件,再使用yum-utils工具快速创建yum源文件。
[root@localhost yum.repos.d]# mkdir backup
[root@localhost yum.repos.d]# mv *.repo backup/
[root@localhost yum.repos.d]# yum-config-manager --add-repo=http://[远程仓库的主机ip]/
[root@localhost yum.repos.d]# yum clean all
[root@localhost yum.repos.d]# yum makecache
[root@localhost ~]# yum install zip -y
在新开启虚拟机中测试:

















浙公网安备 33010602011771号