Day 18-Linux软件管理之搭建仓库、源码包

当你需要使用yum源而你的Linux系统又不能联网时,你就不能便捷的使用联网的yum源了,这时候你就需要一个本地的不需要联网的yum源,我们可以利用系统镜像光盘自己来制作一个yum源来满足自己的需求,具体制作步骤如下:

一、本地仓库搭建

1、挂载镜像

[root@oldboy ~]#mount /dev/cdrom /mnt   

2、备份原有仓库

[root@oldboy ~]# gzip /etc/yum.repos.d/*

3、使用yum-config-manager命令添加本地仓库或者使用手动添加repo文件

[root@oldboy ~]#yum-config-manager --add-repo="file:///mnt"

[root@oldboy ~]# vim /etc/yum.repos.d/cdrom.repo  
[cdrom]      
name=This is local cdrom
baseurl=file:///mnt
enabled=1
gpgcheck=0

4、手动配置的文件相关注释

[] 仓库名称
name 仓库描述信息
baseurl yum源url地址 ,可以是file:// ftp:// http://
enabled 是否使用该YUM源(0代表禁用, 1代表激活)
gpgcheck 是否验证软件签名(0代表禁用, 1代表激活)

5、生成缓存

[root@oldboy ~]# yum makecache

二、网络仓库搭建

网络仓库搭配示例图

1、环境准备

系统 IP 角色
Centos 7 10.0.0.200 yum仓库服务端
Centos 7 10.0.0.199 yum仓库客户端

2、服务端进行仓库搭建准备工作

1)、挂载光盘

mount /dev/cdrom /mnt

2)、通过ftp共享软件包存放的目录

[root@oldboy ~]# yum install vsftpd -y 
[root@oldboy ~]# systemctl start vsftpd 
[root@oldboy ~]# systemctl stop firewalld 
[root@oldboy ~]# setenforce 0

3)、将光盘中的软件包都拷贝至ftp的共享目录下

[root@oldboy ~]# mkdir /var/ftp/centos7/ 
[root@oldboy ~]# find /mnt/ -type f -name "*.rpm" exec cp {} /var/ftp/centos7/ \;

4)、将共享的目录设置成yum仓库

[root@oldboy ~]# yum install createrepo -y 
[root@oldboy ~]# createrepo /var/ftp/centos7/

2、客户端进行仓库搭建准备工作

1)、关闭所有的公网yum仓库

[root@oldboy-199 yum.repos.d]# gzip /etc/yum.repos.d/*

2)、新建一个repo文件,文件中的baseurl指向服务端

[root@oldboy-199 ~]# vim /etc/yum.repos.d/ftpcentos7.repo   
[ftp-centos7]           
name = This is Base Repo 
baseurl = ftp://10.0.0.200/centos7/ 
enable = 1 
gpgcheck = 0

3)、测试是否能正常安装软件

[root@oldboy-199 ~]# yum install httpd -y

3、尝试安装zabbix的仓库

1)、获取zabbix的软件包

[root@oldboy ~]# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ > zabbix_1.txt
[root@oldboy ~]# grep " zabbix_2.txt
[root@oldboy ~]# chmod +x zabbix_3.txt 
[root@oldboy ~]# ./zabbix_2.txt

2)、下载zabbix缺少的四个软件包

[root@oldboy ~]#  wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/fping-3.10-1.el7.x86_64.rpm

[root@oldboy ~]#  wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-1.4-2.el7.centos.x86_64.rpm

[root@oldboy ~]#  wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-devel-1.4-2.el7.centos.x86_64.rpm

[root@oldboy ~]#  wget http://repo.zabbix.com/non-supported/rhel/7/x86_64/iksemel-utils-1.4-2.el7.centos.x86_64.rpm

3)、将下载好的软件包移动到指定的目录

[root@oldboy ~]# mkdir /var/ftp/zabbix 
[root@oldboy ~]# find ./ -type f  -name "*.rpm" -exec mv {} /var/ftp/zabbix/ \;

4)、将zabbix目录生成为一个yum仓库

[root@oldboy ~]# createrepo /var/ftp/zabbix/

5)、客户端新建一个repo文件指向服务端提供的zabbix仓库

[root@oldboy-199 ~]# cat /etc/yum.repos.d/ftpzabbix.repo 
[ftp-zabbix] 
name = ftp share zabbix repo 
baseurl = ftp://10.0.0.200/zabbix/ 
enable = 1 
gpgcheck = 0

6)、客户端测试zabbix仓库是否可用

[root@oldboy-199 ~]# yum clean all 
[root@oldboy-199 ~]# yum install zabbix-agent 
[root@oldboy-199 ~]# yum install zabbix-get 
[root@oldboy-199 ~]# yum install zabbix-server

三、源码包管理实践

1、源码包是什么

源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。

2、为什么要学习源码包

1)、部分软件官网仅提供源码包,需要自行编译并安装。
2)、部分软件在新版本有一些特性还没来得及制作成rpm包时,可以自行编译软件使用其新特性。

3、源码包的优缺点

1)、优点:
(1)、可以自行修改源代码
(2)、可以定制需要的相关功能
(3)、新版软件优先更新源码
2)、缺点:
(1)、相对yum安装软件会复杂很多。
(2)、标准化实施困难,自动化就无法落地。

4、源码包如何获取

常见的软件包都可以在官网获取源码包,比如 apache、nginx、mysql等等

5、

将源码包编译为二进制可执行文件步骤如下,简称安装三步曲


你可能感兴趣的:(Day 18-Linux软件管理之搭建仓库、源码包)