Linux-Redhat-CentOS软件安装及解决所需依赖包的多种方案(本文较长建议收藏再看)

目录

1.前言

2.简介

3.准备工作

4.rpm包安装

4.1.yum安装

4.1.1.yum在线安装

4.1.2.yum离线安装

4.2.rpm命令安装

5.源码包安装

1.前言

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

2.简介

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

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

3.准备工作

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

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

IP主机名网络环境系统版本类型
192.168.44.20study1外网centos7.6最小化安装VMware虚拟机
192.168.44.30study2内网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离线安装所需的依赖软件包,然后再按照上面的步骤解压、编译安装源码包即可。

  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
Linux RedHat 7或CentOS 7环境中安装Oracle 11g时,需要安装一些RPM依赖。以下是安装这些依赖的步骤: 1. 首先,确保系统已经更新到最新版本。可以运行以下命令来更新系统: ``` sudo yum update ``` 2. 安装依赖管理工具yum-utils: ``` sudo yum install yum-utils ``` 3. 添加Oracle提供的安装源。可以从Oracle官方网站上下载适用于RedHat 7或CentOS 7的oracle-release,并使用以下命令安装它: ``` sudo yum install oracle-release-el7 ``` 4. 安装Oracle的EPEL(Extra Packages for Enterprise Linux)存储库。EPEL存储库提供了许多额外的软件包括Oracle所需依赖。运行以下命令添加EPEL存储库: ``` sudo yum install epel-release ``` 5. 现在,通过运行以下命令安装Oracle所需依赖之一(这里仅列举了几个常见的依赖,实际上可能还需要其他的依赖): ``` sudo yum install binutils.x86_64 compat-libcap1.x86_64 gcc.x86_64 gcc-c++.x86_64 glibc.i686 glibc.x86_64 \ glibc-devel.i686 glibc-devel.x86_64 ksh.x86_64 libaio.i686 libaio.x86_64 libaio-devel.i686 libaio-devel.x86_64 \ libgcc.i686 libgcc.x86_64 libstdc++.i686 libstdc++.x86_64 libstdc++-devel.i686 libstdc++-devel.x86_64 \ libXi.i686 libXi.x86_64 libXtst.i686 libXtst.x86_64 make.x86_64 sysstat.x86_64 ``` 6. 安装完成后,可以继续按照Oracle官方文档中提供的步骤安装Oracle 11g。 请注意,以上步骤仅涵盖了一部分常见的依赖,并且最新版本的Oracle可能需要其他依赖。在安装Oracle之前,建议查阅官方文档以获取最新的依赖列表。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

哈哈灾难

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值