Linux搭建yum仓库Day.17

一.搭建网络仓库


1.服务端准备软件包。

  1.光盘

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

  2.缓存

  3.联网下载

  4.同步

2.通过ftp服务共享软件包存放的目录

[root@zy ~]# yum install vsftpd -y

(默认没有ftp服务需要安装)

[root@zy ~]# systemctl start vsftpd

(开启ftp服务,关机之后需要重新开启)

*可以设为开机自启服务】

[root@zy ~]# systemctl stop firewalld.service

(关闭防火墙)

[root@zy ~]# setenforce 0

(关闭安全机制)

3.将光盘中的软件包都拷贝到ftp的共享目录下

[root@zy ~]# mkdir /var/ftp/yum_10.0.0.200/

(创建一个软件包目录)

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

(查找出挂载目录下的所有软件包,然后拷贝到/var/ftp/软件包目录下)

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

[root@zy ~]# yum install createrepo -y

(默认没有createrepo需要安装)

[root@zy ~]# createrepo /var/ftp/yum_10.0.0.200/

(将yum_10.0.0.200目录中的所有文件转换成软件包)

2.客户端

    1.关闭所有的公网yum仓库

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

2.在/etc/yum.repos.d/目录中新建一个repo文件,文件中的baseyrl指向服务端。(一般仓库文件名都是以repo结尾的)

[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.repo

[ftp_10.0.0.200.repo]    (软件包名字)

name = This is yum      (软件包描述)

baseurl = ftp://10.0.0.200/yum_10.0.0.200/ (将baseyrl指向服务端)

enadle = 1    (是否启用yum)【1=启用】【0=禁用】

gpgcheck = 0 (检查yum是否安全)【1=检查】【0=不检查】

(完成之后测试是否可以正常使用)

二.如果客户端需要通过共享的仓库安装zabbix软件怎么办?

  服务端

1.服务端需要提供zabbix软件箱单的仓库

[root@zy ~]#[root@zy ~]# mkdir /var/ftp/zabbix/

(在/var/ftp/在创建一个zabbix共享目录)

2.获取zabbix的软件包

[root@zy ~]# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ >zabbix.txt

(浏览zabbix软件包所在网址,将输出内容输出到一个文件中)

[root@zy ~]# awk -F '"' '/href/ {print "wget -O /var/ftp/zabbix/"$2" ""https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/"$2}' zabbix.txt >zabbix1.txt

【将该条命令输出结果重定向到zabbix1.txt中,例:wget -O /var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm

(指定下载到/var/ftp/zabbix/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm 中)

https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/zabbix-web-pgsql-4.0.9-3.el7.noarch.rpm】

# zabbix还缺少的四个软件包

wget http://repo.zabbix.com/non-

supported/rhel/7/x86_64/fping-3.10-1.el7.x86_64.rpm

wget http://repo.zabbix.com/non-

supported/rhel/7/x86_64/iksemel-1.4-

2.el7.centos.x86_64.rpm

wget http://repo.zabbix.com/non-

supported/rhel/7/x86_64/iksemel-devel-1.4-

2.el7.centos.x86_64.rpm

wget http://repo.zabbix.com/non-

supported/rhel/7/x86_64/iksemel-utils-1.4-

2.el7.centos.x86_64.rpm

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

(将zabbix目录中的所有文件转换成软件包)

2.客户端新建一个repo文件,文件中的baseyrl指向服务端

提供的zabbix仓库。

        客户端

[root@neimengJay yum.repos.d]# cat ftp_10.0.0.200.zabbix.repo 

[ftp-zabbix]      (仓库名称)

name = Tith is zabbix repo  (仓库描述)

baseur = ftp://10.0.0.200/zabbix/  (baseyrl指向ftp://10.0.0.200/zabbix/ 服务端)

enable = 1        (是否使用yum)【1=开启】【0=禁用】

gpgcheck = 0    (是否检查yum安全)【1=检查】【0=不检查】

(测试zabbix仓库是否可用)


三.源码包管理

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

2.为什么要学源码包

  因为部分软件官网只提供源码包,需要自己进行编译并安装。

  一些软件在新版本有一些特性还没有来得及制作成rpm包时,可以自行编译软件使用其新特性。

3.源代码的缺点,优点

    优点:可以自行修改源代码。

              可以定制需要的相关功能。

              新版软件优先更新原码。

    缺点:相对yum安装软件会复杂很多。

              标准化实施困难,无法实现自动化。

4.在常见的软件包官网都可以获取源码包比如:apache,nginx,mysql等等。(以tar.gz结尾的都是源码包)

5.如何将源码包编译为二进制可执行文件。

    编译安装过程:

    1.下载源代码安装包文件

    2.tar解包(解压并释放源码包到指定的目录)

    3../configure配置(设置安装目录,安装模块等选项,生成makefeile)

[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic

error: the HTTP rewrite module requires the PCRE library.

(解决error错误)

[root@zy nginx-1.17.3]# yum -y install pcre-devel openssl openssl-devel

[root@zy nginx-1.17.3]# ./configure --prefix=/rpm/nginx-2.16 --with-http_perl_module=dynamic

(重新执行生成makefile文件)

    4.make编译(将makefie生成可执行的二进制文件)

[root@zy nginx-1.17.3]# make

[root@zy nginx-1.17.3]# echo $?

(查看有没有报错)

    5.make  install 安装(复制二进制文件到系统,配置应用环境)

[root@zy nginx-1.17.3]#make install

    6.测试应用,维护软件

访问该服务器的IP地址(10.0.0.200)

你可能感兴趣的:(Linux搭建yum仓库Day.17)