CentOS软件安装及解决所需依赖包的多种方案

【广告】【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中

1.前言
       相信每一位工作者,都有把工作做好的初心。静下心来脚踏实地的做好每一件事,争取有更多的收获!

2.简介
       这篇文章主要是针对Linux小白写的,结合自己前期的Linux学习过程中的实际情况进行总结。

       概念性的东西就不搬运了,直接进入正题。Linux入门总的来说就是三个方面的内容,常用命令,shell脚本,软件安装,基本上熟悉这三个内容,完成日常运维工作就没问题了。命令和脚本这里就不介绍了,最好的学习方式就是在工作场景里不断的练习,没有捷径。今天我们主要讲一下软件安装的技巧和分享一些资源。

3.准备工作
       centos软件安装分为源码包安装和rpm包安装。其中,rpm包安装又分为yum安装和rpm命令安装。同时,yum安装又分为在线安装(互联网)和离线安装(内网),下面我们逐一演示介绍,在工作中如何选用最佳的软件安装方式,提高工作效率,如果不使用正确的安装方式,安装难度可能会成倍增加。

       本文以centos7.6作为演示,基本适用于centos其他版本及Redhat系列。

IP 主机名 网络环境 系统版本 类型
192.168.44.20 study1 外网 centos7.6最小化安装 VMware虚拟机
192.168.44.30 study2 内网 centos7.6最小化安装 VMware虚拟机
4.rpm包安装
rpm包安装分为yum安装和rpm命令安装两种方式。

4.1.yum安装
1.yum(Yellow dog Updater, Modified)是一个Redhat系列操作系统基于rpm的软件包管理工具,类似于Ubuntu的dpkg,windows的360软件管家。yum安装软件是通过给yum配置一个数据源(rpm包储存仓库),从配置的源下载、安装所需的软件并自动解决依赖,只需要一个命令,非常方便。这个源可以是本地离线源,也可以是外网源。

2.yum是可以配置多个源的。比如你配置了阿里云的yum源,同时还可以配置MySQL的yum源,redis的yum源等。配置源的文件存放在/etc/yum.repos.d/目录下,以.repo结尾,yum会自己依次读取,不用的源也可以在对应的配置文件关闭。

3.对于yum数据源的分类,我认为有必要说明一下。按照源里包含的软件种类,可以将源分为系统软件源、应用软件源(附加软件源)、指定软件源。这样简单划分便于新手朋友更好理解yum数据源的区别。

分类 举例 包含的软件 用途
系统软件源 阿里的Centos-7.repo源 centos7的所有系统相关软件 安装系统相关软件,如telnet、httpd、sshd等
应用软件源 阿里的epel-7.repo源 常用应用软件源 安装非系统自带软件,如redis、nginx等,缺点版本较老且单一
指定软件源 MySQL的源 MySQL各个版本的软件 优点:有了更多的版本选择
4.1.1.yum在线安装
主要命令:yum -y install httpd

命令详解:yum                                #使用yum命令

                  -y                                    #参数,当软件安装过程中需要选择yes/no时,自动选yes

                  install                              #yum的安装指令

                  httpd                               #要安装的软件包名,如果源里有多个版本可以在此处指定版本号

yum在线安装软件非常简单,也是最常用的,步骤如下:

1.配置一个外网源。

       yum官方的源由于服务器在外国,下载软件的速度很慢,因此我们一般会配置国内的源,加快下载软件包的速度。国内的外网源很多,如阿里、网易等互联网公司及一些高校等都有自己的源,这里我们配置阿里的源。需要注意的是,无论是官方源还是其他源,他们的源里面的软件包一般都是一样的,只是软件包的版本及更新速度和网络环境不同。对于版本如果没有特殊要求,那我们选择源时首要考虑网络环境,以获得最快的下载速度。

# 外网服务器,主机名:study1,演示yum在线安装
# 不一定用我这里使用的源,可以选择速度更快的源。

# 1.配置外网系统软件源
# 备份原有的yum源
cd /etc/yum.repos.d/ && mv CentOS-Base.repo CentOS-Base.repo_bak

# 下载yum的阿里系统软件源,也可以是其他的源
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

# 清除yum源并重新建立缓存
yum clean all && yum makecache

# 查看源信息,可以看到阿里源配置成功,总共11678个软件包。
[root@study1 yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 – Base – mirrors.aliyun.com 10,072
extras/7/x86_64 CentOS-7 – Extras – mirrors.aliyun.com 448
updates/7/x86_64 CentOS-7 – Updates – mirrors.aliyun.com 1,158
repolist: 11,678
[root@study1 yum.repos.d]#
2.演示安装阿里系统软件源里存在的软件apache-httpd

使用命令yum list httpd,可查看源里是否有可安装的httpd软件

# 2.yum安装系统软件源里的软件httpd
[root@study1 yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
–> 正在检查事务
—> 软件包 httpd.x86_64.0.2.4.6-97.el7.centos 将被 安装
–> 正在处理依赖关系 httpd-tools = 2.4.6-97.el7.centos,它被软件包 httpd-2.4.6-97.el7.centos.x86_64 需要
–> 正在处理依赖关系 /etc/mime.types,它被软件包 httpd-2.4.6-97.el7.centos.x86_64 需要
……
……
……
已安装:
httpd.x86_64 0:2.4.6-97.el7.centos

作为依赖被安装:
apr.x86_64 0:1.4.8-7.el7 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-97.el7.centos mailcap.noarch 0:2.1.41-2.el7

完毕!
[root@study1 yum.repos.d]#
3.演示安装应用软件源里的软件redis。

# 3.yum安装一个系统软件源里面没有的软件redis,直接安装会提示没有可用的软件包redis,因为我们还没有添加应用软件源
[root@study1 ~]# yum -y install redis
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
没有可用软件包 redis。
错误:无须任何处理

# 因此首先需要安装任意一个有redis的应用软件源,这里还是选择阿里的软件源
[root@study1 yum.repos.d]# wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
–2021-01-29 10:18:36– http://mirrors.aliyun.com/repo/epel-7.repo
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)… 123.6.12.229, 123.6.12.234, 123.6.12.235, …
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|123.6.12.229|:80… 已连接。
已发出 HTTP 请求,正在等待回应… 200 OK
长度:664 [application/octet-stream]
正在保存至: “/etc/yum.repos.d/epel.repo”

100%[======================================================================================>] 664 –.-K/s 用时 0s

2021-01-29 10:18:36 (19.8 MB/s) – 已保存 “/etc/yum.repos.d/epel.repo” [664/664])

# 安装redis,需要注意软件版本较老,这取决于yum源管理者更新软件的速度。
# 建好数据源可以直接安装,首次使用数据源安装软件会自动建立缓存,可以不用执行建立缓存的命令。
[root@study1 yum.repos.d]# yum -y install redis
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
epel | 4.7 kB 00:00:00
(1/3): epel/x86_64/group_gz | 95 kB 00:00:00
(2/3): epel/x86_64/updateinfo | 1.0 MB 00:00:02
(3/3): epel/x86_64/primary_db | 6.9 MB 00:00:03
正在解决依赖关系
–> 正在检查事务
—> 软件包 redis.x86_64.0.3.2.12-2.el7 将被 安装
–> 正在处理依赖关系 libjemalloc.so.1()(64bit),它被软件包 redis-3.2.12-2.el7.x86_64 需要
……
……
……

已安装:
redis.x86_64 0:3.2.12-2.el7

作为依赖被安装:
jemalloc.x86_64 0:3.6.0-1.el7

完毕!
4.演示安装指定软件源软件MySQL8.0。

# 4.如下我们可以看到,即便安装了基础软件源和应用软件源,还是不能安装MySQL8.0
# 此时我们就需要再安装指定软件源,即MySQL的源
[root@study1 opt]# yum -y install mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
没有可用软件包 mysql-community-server。
错误:无须任何处理

# 安装MySQL8.0指定软件源。当然,如果我们要安装MySQL5.7,那就安装MySQL5.7的指定软件源
# 以下用MySQL8.0作为演示
[root@study1 opt]# yum -y localinstall https://dev.mysql.com/get/mysql80-community-release-el7-2.noarch.rpm
已加载插件:fastestmirror
mysql80-community-release-el7-2.noarch.rpm | 25 kB 00:00:00
正在检查 /var/tmp/yum-root-PsbkBm/mysql80-community-release-el7-2.noarch.rpm: mysql80-community-release-el7-2.noarch
/var/tmp/yum-root-PsbkBm/mysql80-community-release-el7-2.noarch.rpm 将作为 mysql80-community-release-el7-1.noarch 的更新
正在解决依赖关系
–> 正在检查事务
—> 软件包 mysql80-community-release.noarch.0.el7-1 将被 升级
……
……
……

更新完毕:
mysql80-community-release.noarch 0:el7-2

完毕!

# 安装好源后,就可以直接安装MySQL8.0,安装完后提示MySQL8.0替代centos7自带的mariadb
# 这正好是我们所需要的,因为有时我们并不想使用系统自带的mariadb,而是选择自己安装指定的MySQL或者mariadb其他版本
[root@study1 opt]# yum -y install mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
–> 正在检查事务
—> 软件包 mysql-community-server.x86_64.0.8.0.23-1.el7 将被 安装
……
……
……
已安装:
mysql-community-libs.x86_64 0:8.0.23-1.el7 mysql-community-libs-compat.x86_64 0:8.0.23-1.el7 mysql-community-server.x86_64 0:8.0.23-1.el7

作为依赖被安装:
mysql-community-client.x86_64 0:8.0.23-1.el7 mysql-community-client-plugins.x86_64 0:8.0.23-1.el7 mysql-community-common.x86_64 0:8.0.23-1.el7 net-tools.x86_64 0:2.0-0.25.20131004git.el7

作为依赖被升级:
postfix.x86_64 2:2.10.1-9.el7

替代:
mariadb-libs.x86_64 1:5.5.60-1.el7_5

完毕!
如上,我们看出安装不同的数据源有一点细微的差别,但安装软件是相同的,熟练即可区分。yum在线安装软件并不复杂,和windows一键安装差不多。

同时,应用软件源里的软件的版本一般是较老的稳定版本,如果对软件有新版本要求,就需要安装指定软件源获取最新的软件版本,如MySQL8.0。

# 可以看到,我们所添加的源都在这里显示且可用软件包从最开始的11678变为25787个
[root@study1 opt]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
源标识 源名称 状态
base/7/x86_64 CentOS-7 – Base – mirrors.aliyun.com 10,072
epel/x86_64 Extra Packages for Enterprise Linux 7 – x86_64 13,514
extras/7/x86_64 CentOS-7 – Extras – mirrors.aliyun.com 448
mysql-connectors-community/x86_64 MySQL Connectors Community 185
mysql-tools-community/x86_64 MySQL Tools Community 123
mysql80-community/x86_64 MySQL 8.0 Community Server 229
updates/7/x86_64 CentOS-7 – Updates – mirrors.aliyun.com 1,216
repolist: 25,787
[root@study1 opt]#
4.1.2.yum离线安装
yum离线安装有两种方式:

1.将安装软件所需的所有rpm包在外网下载到本地保存,转移至离线环境,再进行安装。

## 首先外网下载rpm包
# 以安装MySQL5.7演示,MySQL5.7在阿里的基础软件源(centos-7.repo)和常用软件源(epel.repo)都没有,默认的是mariadb
# 1.安装MySQL5.7的源,由于之前安装过MySQL8.0的源,相同的源会冲突。因此我们先卸载MySQL8.0的源,再安装5.7的源
[root@study1 home]# rpm -e mysql80-community-release-el7-2.noarch
[root@study1 home]# yum -y localinstall http://dev.mysql.com/get/mysql57-community-release-el7-8.noarch.rpm
已加载插件:fastestmirror
mysql57-community-release-el7-8.noarch.rpm | 8.9 kB 00:00:00
正在检查 /var/tmp/yum-root-PsbkBm/mysql57-community-release-el7-8.noarch.rpm: mysql57-community-release-el7-8.noarch
/var/tmp/yum-root-PsbkBm/mysql57-community-release-el7-8.noarch.rpm 将被安装
正在解决依赖关系
–> 正在检查事务
—> 软件包 mysql57-community-release.noarch.0.el7-8 将被 安装
–> 解决依赖关系完成
……
……
……
已安装:
mysql57-community-release.noarch 0:el7-8

完毕!
[root@study1 home]#

# 2.同时,还要卸载前面安装的MySQL8.0
[root@study1 home]# yum -y remove mysql-community*
已加载插件:fastestmirror
正在解决依赖关系
–> 正在检查事务
—> 软件包 mysql-community-client.x86_64.0.8.0.23-1.el7 将被 删除
……
……
……
删除:
mysql-community-client.x86_64 0:8.0.23-1.el7 mysql-community-client-plugins.x86_64 0:8.0.23-1.el7 mysql-community-common.x86_64 0:8.0.23-1.el7 mysql-community-libs.x86_64 0:8.0.23-1.el7
mysql-community-libs-compat.x86_64 0:8.0.23-1.el7 mysql-community-server.x86_64 0:8.0.23-1.el7

作为依赖被删除:
postfix.x86_64 2:2.10.1-9.el7

完毕!

# 3.yum有一个插件 downloadonly,该参数的作用是只下载、不安装。我们需要用这个插件下载MySQL5.7离线安装所需要的rpm包
# centos7以上版本一般自带该插件,7以下的需要先安装这个插件 yum -y install yum-plugin-downloadonly
# 该插件提供一个参数 –downloaddir=<dir> ,指定下载到哪个目录。使用downloadonly有一个前提,该服务器没有安装此软件,否则将无法下载rpm包。
[root@study1 home]# yum -y install –downloadonly –downloaddir=/home mysql-community-server
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
* base: mirrors.aliyun.com
* extras: mirrors.aliyun.com
* updates: mirrors.aliyun.com
正在解决依赖关系
–> 正在检查事务
—> 软件包 mysql-community-server.x86_64.0.5.7.33-1.el7 将被 安装
……
……
……
总下载量:201 M
安装大小:876 M
Background downloading packages, then exiting:
mysql-community-server-5.7.33-1.el7.x86_64.rpm | 173 MB 00:00:56
exiting because “Download Only” specified
[root@study1 home]# ll | grep mysql
-rw-r–r–. 1 root root 26468960 12月 11 13:20 mysql-community-client-5.7.33-1.el7.x86_64.rpm
-rw-r–r–. 1 root root 315280 12月 11 13:20 mysql-community-common-5.7.33-1.el7.x86_64.rpm
-rw-r–r–. 1 root root 2458780 12月 11 13:21 mysql-community-libs-5.7.33-1.el7.x86_64.rpm
-rw-r–r–. 1 root root 181817592 12月 11 13:21 mysql-community-server-5.7.33-1.el7.x86_64.rpm
[root@study1 home]#

# 4.转移至离线环境安装,这里我的内网机器其实和外网机器是同一个局域网,只不过内网机器没有连通互联网。因此可以直接用scp传过去。如果是网络隔离的两台机器,需要用U盘或其他工具转移。
[root@study1 home]# scp /home/mysql-community-* root@192.168.44.30:/home
The authenticity of host ‘192.168.44.30 (192.168.44.30)’ can’t be established.
ECDSA key fingerprint is SHA256:hOD5dI6CTICGoSiW58FyCGUYIC8UuEjYtDiFgLHuhms.
ECDSA key fingerprint is MD5:f1:9b:1c:f3:da:28:3f:a4:6e:43:13:e0:61:7f:5d:80.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added ‘192.168.44.30’ (ECDSA) to the list of known hosts.
root@192.168.44.30’s password:
mysql-community-client-5.7.33-1.el7.x86_64.rpm 100% 25MB 27.6MB/s 00:00
mysql-community-common-5.7.33-1.el7.x86_64.rpm 100% 308KB 6.2MB/s 00:00
mysql-community-libs-5.7.33-1.el7.x86_64.rpm 100% 2401KB 26.6MB/s 00:00
mysql-community-server-5.7.33-1.el7.x86_64.rpm 100% 173MB 18.5MB/s 00:09

# 传过去以后,切换至内网安装,安装之前确认没有安装MySQL或Mariadb,有则卸载
# 本人之前使用 yum localinstall 安装本地rpm软件包,后来发现这种方式在纯内网是有问题的,烦请大佬解惑。
# 这里使用rpm -ivh –nodeps 依次安装(推荐rpm包较少时使用此方式)。注意如果是 MySQL8.0,则需要的rpm包会多几个
mysql-community-client-5.7.33-1.el7.x86_64.rpm
mysql-community-common-5.7.33-1.el7.x86_64.rpm
mysql-community-libs-5.7.33-1.el7.x86_64.rpm
mysql-community-server-5.7.33-1.el7.x86_64.rpm

# 5.此处还可以使用命令 createrepo <rpmfile_dir> 来创建yum本地仓库,再将创建的仓库配置到 /etc/yum.repos.d/ 目录下,也能完成离线安装(推荐rpm包较多时使用此方式)
# 将/home创建为yum本地
createrepo /home
# 编辑文件
vim /etc/repos.d/local.repo
# 添加如下内容并保存
[local]
name=local
baseurl=http://192.168.44.30:/home
enabled=1
gpgcheck=0
# yum安装MySQL
yum -y install mysql-community-server
2.建立yum本地源安装

在此之前你需要下载一个合适版本的centos7系统映像文件,映像文件下载地址:https://mirrors.aliyun.com/centos-vault/,

# 首先将映像文件上传到内网机器,这里我放在/opt/yum/下,也可以放在其他目录。
# 1.直接挂载映像使用file:///opt/yum/centos7的方式连接仓库,这样比较快。
# 建立/opt/yum/centos7目录用于挂载映像
[root@study2 opt]# mkdir -p /opt/yum/centos7
[root@study2 opt]# mount /opt/yum/CentOS-7-x86_64-DVD-1810.iso /opt/yum/centos7/
mount: /dev/loop1 写保护,将以只读方式挂载

# 修改yum配置文件。将原有的所有yum源移动至新建的bak目录下,并新建配置文件local1.repo,最终如下:
[root@study2 yum.repos.d]# pwd
/etc/yum.repos.d
[root@study2 yum.repos.d]# ll
总用量 4
drwxr-xr-x. 2 root root 250 1月 29 18:33 bak
-rw-r–r–. 1 root root 601 1月 29 18:55 local1.repo
[root@study2 yum.repos.d]# vi /etc/yum.repos.d/local1.repo
# 添加如下内容
[base]
name=local1
baseurl=file:///opt/yum/centos7
enable=1
gpgcheck=0

# yum repolist显示如下则配置成功
[root@study2 yum.repos.d]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
base local1 10,072
repolist: 10,072
[root@study2 yum.repos.d]#

# 测试安装一个常用的网络工具net-tools,提示已安装且是最新版本,说明数据源配置正常
[root@study2 yum.repos.d]# yum -y install net-tools
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
base | 3.6 kB 00:00:00
Not using downloaded base/repomd.xml because it is older than what we have:
Current : Fri Oct 30 04:03:00 2020
Downloaded: Mon Nov 26 07:53:36 2018
软件包 net-tools-2.0-0.25.20131004git.el7.x86_64 已安装并且是最新版本
无须任何处理

# 2.使用httpd服务建立,局域网内所有机器可以访问
# 首先用我们刚才建立好的本地yum源安装apache-http服务
[root@study2 yum.repos.d]# yum clean all
已加载插件:fastestmirror
正在清理软件源: base
Cleaning up list of fastest mirrors
Other repos take up 84 M of disk space (use –verbose for details)
[root@study2 yum.repos.d]# yum -y install httpd
已加载插件:fastestmirror
Determining fastest mirrors
base | 3.6 kB 00:00:00
(1/2): base/group_gz | 166 kB 00:00:00
(2/2): base/primary_db | 3.1 MB 00:00:00
正在解决依赖关系
–> 正在检查事务
—> 软件包 httpd.x86_64.0.2.4.6-88.el7.centos 将被 安装
……
……
……
已安装:
httpd.x86_64 0:2.4.6-88.el7.centos

作为依赖被安装:
apr.x86_64 0:1.4.8-3.el7_4.1 apr-util.x86_64 0:1.5.2-6.el7 httpd-tools.x86_64 0:2.4.6-88.el7.centos mailcap.noarch 0:2.1.41-2.el7

完毕!

[root@study2 yum.repos.d]# systemctl start httpd
[root@study2 yum.repos.d]# systemctl stop firewalld
[root@study2 yum.repos.d]# cd /var/www/html
[root@study2 html]# mkdir centos7
[root@study2 html]# mount /opt/yum/CentOS-7-x86_64-DVD-1810.iso /var/www/html/centos7/
mount: /dev/loop2 写保护,将以只读方式挂载
[root@study2 html]# vi /etc/yum.repos.d/local2.repo
# 配置文件内容如下
[base]
name=local2
baseurl=http://192.168.44.30/centos7/
enable=1
gpgcheck=0

[root@study2 html]# yum repolist
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
源标识 源名称 状态
base local2 4,021
repolist: 4,021

# 测试安装常用命令wget
[root@study2 centos7]# yum -y install wget
已加载插件:fastestmirror
Loading mirror speeds from cached hostfile
正在解决依赖关系
–> 正在检查事务
—> 软件包 wget.x86_64.0.1.14-18.el7 将被 安装
–> 解决依赖关系完成
……
……
……
已安装:
wget.x86_64 0:1.14-18.el7

完毕!
4.2.rpm命令安装
首先获取要安装的软件的rpm包,以安装软件 lrzsz 服务器上传下载工具为例。

提供一个centos7的rpm包下载地址:https://mirrors.aliyun.com/centos-vault/7.6.1810/os/x86_64/Packages/

# 1.第一种方式其实前面已经介绍过了,这个严格来说不算rpm命令安装,应属于yum本地安装,在外网环境下,用做rpm命令安装的替代会更方便,如下:
[root@study1 ~]# yum -y localinstall https://mirrors.aliyun.com/centos-vault/7.6.1810/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
已加载插件:fastestmirror
lrzsz-0.12.20-36.el7.x86_64.rpm | 78 kB 00:00:00
正在检查 /var/tmp/yum-root-ubna7j/lrzsz-0.12.20-36.el7.x86_64.rpm: lrzsz-0.12.20-36.el7.x86_64
/var/tmp/yum-root-ubna7j/lrzsz-0.12.20-36.el7.x86_64.rpm 将被安装
正在解决依赖关系
–> 正在检查事务
—> 软件包 lrzsz.x86_64.0.0.12.20-36.el7 将被 安装
–> 解决依赖关系完成
……
……
……
已安装:
lrzsz.x86_64 0:0.12.20-36.el7

完毕!
[root@study1 ~]#

# 2.第二种方式。先下载rpm包到服务器,再使用 rpm -ivh rpmfilename 安装,如下:
[root@study1 ~]# wget https://mirrors.aliyun.com/centos-vault/7.6.1810/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
–2021-03-03 11:57:15– https://mirrors.aliyun.com/centos-vault/7.6.1810/os/x86_64/Packages/lrzsz-0.12.20-36.el7.x86_64.rpm
正在解析主机 mirrors.aliyun.com (mirrors.aliyun.com)… 59.80.28.224, 59.80.28.229, 59.80.28.225, …
正在连接 mirrors.aliyun.com (mirrors.aliyun.com)|59.80.28.224|:443… 已连接。
已发出 HTTP 请求,正在等待回应… 200 OK
长度:79376 (78K) [application/x-redhat-package-manager]
正在保存至: “lrzsz-0.12.20-36.el7.x86_64.rpm”

100%[=======================================================================================================================================================================>] 79,376 256KB/s 用时 0.3s

2021-03-03 11:57:16 (256 KB/s) – 已保存 “lrzsz-0.12.20-36.el7.x86_64.rpm” [79376/79376])

[root@study1 ~]# rpm -ivh lrzsz-0.12.20-36.el7.x86_64.rpm
准备中… ################################# [100%]
正在升级/安装…
1:lrzsz-0.12.20-36.el7 ################################# [100%]
[root@study1 ~]#
5.源码包安装
源码包安装首先要获取到软件的源码包,这种方式安装第三方软件时常用,源码包获取方式很多,常用的如下:

1.可以在GitHub下载源码包,免费且资源最全,就是下载速度较慢。

2.也可以在软件官网下载。比如MySQL、NGINX,下载速度一般。

3.第三方资源下载网站。比如CSDN,热门的软件各个版本的源码包都有,下载速度很快,但需要付费。

外网服务器,以安装nginx-1.18.0为例:

# 1.获取源码包,这里我们从nginx官网下载
[root@study1 opt]# wget http://nginx.org/download/nginx-1.18.0.tar.gz

# 2.解压
[root@study1 opt]# tar -zxvf nginx-1.18.0.tar.gz

# 3.进入目录
[root@study1 opt]# cd nginx-1.18.0

# 4.安装依赖
yum -y install gcc-c++ zlib-devel openssl-devel prce-devel

# 5.编译安装
[root@study1 nginx-1.18.0]# ./configure && make && make install

# 6.确认安装成功
[root@study1 nginx-1.18.0]# cd /usr/local/nginx/sbin
[root@study1 sbin]# ./nginx -v
nginx version: nginx/1.18.0
安装思路:下载源码包 ===> yum安装依赖 ===> 编译安装 ===> 安装完成

主要命令:./configure && make && make install

命令详解:./configure                                                       #./configure生成makefile文件,部分软件自带makefile文件,可以省略此命令

                   make                                                              #编译,自动传入当前目录下的makefile文件作为参数

                   make install                                                    #将软件安装到系统里

总结:1.对于不需要生成makefile文件的,直接make && make install即可,这样会安装到默认目录下,不同的软件默认安装目录是不一样的,在软件开发的时候就写好了,一般是/usr/local/

           2.如果需要指定安装的目录,也可以在./configure时指定,比如:./configure –prefix=/home && make && make install

           3.内网离线环境安装,只需要将外网服务器下载的源码包上传到内网服务器,再使用yum离线安装所需的依赖软件包,然后再按照上面的步骤解压、编译安装源码包即可。

【广告】【腾讯云】2核2G云服务器新老同享99元/年续费同价,8888元代金券限时抢
© 版权声明
THE END
喜欢就支持一下吧
点赞5赞赏 分享
评论 抢沙发
头像
欢迎您留下宝贵的见解!
提交
头像

昵称

取消
昵称表情代码图片

    暂无评论内容