Linux软件管理-仓库搭建-day20
2020-03-24 本文已影响0人
Linux运维
一、搭建私有仓库
私有仓库运作原理图
原因:如果用户都去公有仓库下载rpm包,所有的用户会连接同一个内网交换机,负担变大限速。因此有需要搭建私有仓库,让其速度变快,效率变高。
1.往私有仓库中添加包
从公有仓库中下载(aliyun)
#zabbix软件包
[root@10 ~]# mkdir zabbix
#查看该网址页面中内容,重定向到 1.txt
[root@10 ~]# curl https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/ >1.txt
[root@10 ~]# cd zabbix
#将想要得到的软件包地址弄出(过滤、截取、后向引用),然后运行这个文件
[root@10 zabbix]# grep "href" /root/1.txt | awk -F '"' '{print $2}' | sed -r 's#(.*)#wget https://mirrors.aliyun.com/zabbix/zabbix/4.0/rhel/7/x86_64/\1#g' |bash
#mongodb软件包
[root@10 ~]# mkdir mongodb
[root@10 ~]# curl https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/ >1.txt
[root@10 ~]# cd mongodb
[root@10 mongodb]# grep "href" /root/1.txt | awk -F '"' '{print $2}' | sed -r 's#(.*)#wget https://mirrors.aliyun.com/mongodb/yum/redhat/7/mongodb-org/3.0/x86_64/RPMS/\1#g' |bash
2.让客户端获取到该rpm包(httpd、ftp)
ftp
[root@10 ~]# yum install vsftpd -y
[root@10 ~]# systemctl start vsftpd
#访问 ftp://你的服务端IP地址
#将下载的rpm包移动到 /var/ftp/
[root@10 ~]# mv zabbix/ mongodb/ /var/ftp/
[root@10 ~]# setenforce 0 #关闭selinux
[root@10 ~]# systemctl stop firewalld #关闭firewalld
3.将存放rpm包的目录制作为一个仓库(zabbix、mongodb)
[root@10 ~]# yum install createrepo -y
[root@10 ~]# createrepo /var/ftp/mongodb/
[root@10 ~]# createrepo /var/ftp/zabbix/
4.客户端怎样使用
在客户端进行配置
[root@client ~]# vim /etc/yum.repos.d/ftp_mongodb.repo
#将以下这些写入
[mongodb]
name = db
baseurl = ftp://服务端IP地址/mongodb/
enabled = 1
gpgcheck = 0
运行yum命令安装:
yum install mongodb-org
[root@client ~]# vim /etc/yum.repos.d/ftp_zabbix.repo
##将以下这些写入
[zabbix-rep]
name = zabbix monitor
baseurl = ftp://服务端IP地址/zabbix/
enable = 1
gpgcheck = 0
运行yum命令安装:
yum install zabbix-agent
二、源码包管理
源码包指的是开发编写好的程序源代码,但并没有将其编译为一个能正常使用的工具。
编译安装过程:
#下载源码包,安装包文件
[root@10 ~]# wget http://nginx.org/download/nginx-1.16.1.tar.gz
第一步:tar解包 (解压并释放源代码包到指定的目录)
[root@10 ~]# mkdir /soft
[root@10 ~]# tar xf nginx-1.16.1.tar.gz -C /soft/
第二步:./configure配置 (设置安装目录、安装模块等选项、生成makefile)
#我想做什么菜给客人==>列一份菜单
[root@10 ~]# cd /soft/nginx-1.16.1/
[root@10 nginx-1.16.1]# ./configure --prefix=/usr/local/nginx-1.16
第三步:make编译 (将makefile生成可执行的二进制文件)
#按照菜单做成对应的菜
第四步:make install安装(复制二进制文件到系统,配置应用环境)
#将做好的菜端到客人的桌上
#测试及应用、维护软件
#创建软连接,便于后期升级
[root@10 nginx-1.16.1]# ln -s /usr/local/nginx-1.16/ /usr/local/nginx
#启动 nginx
[root@10 nginx-1.16.1]# /usr/local/nginx/sbin/nginx