Linux软件安装

Linux安装软件的三种方式

  1. rpm安装
  2. yum安装
  3. 源代码安装

区别
rpm安装类似windows中的安装包,下载后直接安装,但是他不能自己解决依赖。
yum是基于rpm安装的,在此基础上它解决了依赖问题。
源代码安装是通过编译代码得到安装包的,因此它能够修改源码达到某些自定义的功能。

RPM安装

RPM安装软件需要先下载安装包,这里以zip为例。

  1. 首先从华为云镜像仓库下载zip安装包(此安装包只是示例,可以任意)
    image

  2. 输入命令rpm -ivh [软件包名称]
    image

此时软件安装完成了,但是rpm还有一些常用其他命令。

软件包名称介绍

我们以上述zip软件包为例,介绍软件包名称含义。

image

  • 软件名: zip
  • 版本号: 3.0
  • 第几次次编译: 11
  • 适用的平台: el7(CentOS 7)
  • 适用的系统位数: x86_64
  • 扩展名: rpm

RPM命令

  1. 安装:rpm -ivh [软件包]
    image

  2. 卸载:rpm -e [软件包]
    image

  3. 更新:rpm -Uvh [软件包]

  4. 查看所有安装的软件包 rpm -qa

  5. 查看是否安装了某软件 rpm -q [软件名]
    image

  6. 查看软件安装目录 rpm -ql [软件名]
    image

YUM安装

之前介绍过yum安装时基于rpm的,并且它解决了包依赖的问题。

YUM命令

  1. 安装 yum install [软件包名称]

    image

    • -y 免交互
    • --nogpgcheck 忽略公钥认证
  2. 卸载 yum remove [软件包名称]

    image

    • -y 免交互
  3. 更新 yum update [软件包名称]

    image

    • -y 免交互

YUM安装的生命周期

yum安装的生命周期即安装软件的流程顺序,以下是整个流程的顺序。

  1. 执行命令yum install [软件包名称]
  2. /etc/yum.repos.d/目录下查看.repo结尾文件中的仓库链接
  3. 通过此链接的软件仓库下载指定的软件包
  4. 缓存至/usr/cache/yum
  5. 根据缓存安装软件
  6. 删除缓存(软件包)

注: 最后是否删除缓存的软件包根据 keepcache 而定。1表示保留,0表示删除,而默认是删除的。keepcache 在/etc/yum.conf文件中配置。

image

编译安装

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

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

image

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

image

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

image

然后再在此目录下执行make make install编译并编译下载。

[root@localhost nginx-1.20.2]# make
[root@localhost nginx-1.20.2]# make install

下载完成启动nginx,如下:

image

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

image

image

YUM搭建私有仓库(练习)

本地仓库

  1. 首先我们需要下载两个工具,yum install yum-utils createrepo -y

  2. 创建仓库目录,这个目录下必须要有一个Packages目录。(这里在/opt/目录下创建)
    image

  3. 将下载的软件包都放到Packages目录下
    image

  4. 将repos目录初始化为仓库,执行命令 createrepo /opt/repos
    image

  5. 添加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,表示下载软件包会到此仓库下载。

  6. 我们更新缓存
    image

  7. 测试下载
    image

    不难发现,此时下载zip软件包已经到我们本地仓库下载了。

远程仓库

远程仓库以本地仓库为基础,要做能够远程访问的仓库需要安装nginx。默认的linux官方仓库中是无法下载nginx的,我们把/etc/yum.repos.d/目录下.repo结尾的文件移动到backup,然后创建一个自定义的yum源文件,设置此文件的baseurl为华为云仓库地址https://repo.huaweicloud.com/epel/7/x86_64/,我们使用之前安装的yum-utils快速创建。

image

安装nginx其中一个依赖包需要公钥认证,我们通过--nogpgchekc忽略认证。

[root@localhost ~]# yum install nginx --nogpgcheck

下载完成后我们修改下nginx配置文件,

# include /etc/nginx/conf.d/*.conf;  #  注释此行
root /opt/repos;  # 修改地址为本地仓库目录
autoindex on;  # 添加此行

然后判断下修改是否起效,并启动nginx。

image

关闭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

在新开启虚拟机中测试:

image

posted @ 2021-12-16 15:42  它叫鸮  阅读(69)  评论(0)    收藏  举报