yum 仓库搭建与源码包安装实战
一、yum 仓库自建示例:
1.安装ftp服务
yum -y install vsftpd
2.创建yum源仓库目录
mkdir /var/ftp/pub/{base,zabbix,nginx}
3.挂载在cdrom
mount /dev/cdrom /mnt
4.复制光盘镜像中的rpm包到/var/ftp/pub/base目录
cp /mnt/Packages/* /var/ftp/pub/base/
5.网上下载nginx的rpm包到/var/ftp/pub/nginx目录下
wget -O /var/ftp/pub/nginx/nginx.rpm https://mirrors.aliyun.com/centos/7.6.1810/opstools/x86_64/perfmon/collectd-nginx-5.7.2-1.el7.x86_64.rpm
6.网上下载zabbix的rpm包到/var/ftp/pub/zabbix目录下
wget –O /var/ftp/pub/zabbix/zabbix.rpm https://mirrors.aliyun.com/centos/7.6.1810/os/x86_64/Packages/pcp-export-zabbix-agent-4.1.0-4.el7.x86_64.rpm
7.安装createrepo命令
yum -y install createrepo
8.创建 reopdata仓库,生成仓库信息
注意:如果此仓库每次新增软件则需要重新生成一次
createrepo /var/ftp/pub/base/
createrepo /var/ftp/pub/nginx/
createrepo /var/ftp/pub/zabbix/
9.开启ftp服务,关闭防火墙和selinux
ftp://10.0.0.11/pub/
systemctl stop firewalld
setenforce 0
10.用windows检验ftp服务是否正常
ftp://10.0.0.11
11.客户端操作:
1进入yum源仓库配置目录
cd /etc/yum.repos.d/
2.压缩备份原先的yum仓库
gzip ./*
3.配置base仓库文件
vim base.repo
[base]
name=base
baseurl=ftp://10.0.0.11/pub/base
gpgcheck=0
enabled=1
4.配置zabbix仓库文件
vim zabbix.repo
[zabbix]
name=zabbix
baseurl=ftp://10.0.0.11/pub/zabbix
gpgcheck=0
enabled=1
5.配置nginx仓库文件
vim nginx.repo
[nginx]
name=nginx
baseurl=ftp://10.0.0.11/pub/nginx
gpgcheck=0
enabled=1
6.检验yum仓库是否能够使用,安装samba服务
yum –y install samba
二、源码包安装实践
基础环境
1. 基础环境准备
先安装个虚拟机,登陆nginx官网 http://nginx.org/选择一个稳定的nginx版本
2. 右键复制地址,到新克隆的纯净虚拟机下载
- 先把源换成阿里云的
curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
或者 wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
- 纯洁的新环境需要安装一下wget,vim 上传下载
yum -y install wget
yum -y install vim
yum install -y lrzsz
3.源码包下载
wget http://nginx.org/download/nginx-1.16.0.tar.gz
4.解压 tar xf nginx-1.16.0.tar.gz
5.进入nginx.查看一下
cd nginx-1.16.0
ll
6.在根下创建一个目录,比如/app
mkdir /app
7.选要安装的浏览位置 我们把它放到/app下
./configure --prefix=/app/nginx-1.16.0
6.搜索
find /var/cache/yum/ -name '*.rpm'
就是看yum的缓存下有没有东西,回车后会发现没有
服务端配置
1.修改yum.conf文件
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf
2. 安装所有需要的依赖源
yum install -y gcc gcc-c++ glibc pcre-devel zlib-devel openssl-devel
3.解压缩
需要先删除解压好的 rm -fr nginx-1.16.0.tar.gz
重新解压生成 tar xf nginx-1.16.0.tar.gz
4.生成初始化
进入目录
cd nginx-1.16.0
./configure --prefix=/app/nginx-1.16.0
5.汇编
make
6.安装
make install
查看/app/ 这个nginx是程序
7.将缓存中的依赖包复制到/usr/local/src
find /var/cache/yum/ -name '*rpm'|xargs cp -t /usr/local/src/
8.安装fpm依赖包
yum -y install rpm-build ruby rubygems ruby-devel lrzsz
下载及安装fpm软件
#1.fpm工具安装:
wget http://download.driverzeng.com/fpm-1.3.3.x86_64.tar.gz
解压: tar xf fpm-1.3.3.x86_64.tar.gz
gem sources --add https://mirrors.huaweicloud.com/repository/rubygems/ --remove https://rubygems.org/
gem sources --list 可以看到源变成了华为的源
#2.安装
gem install *.gem
#3.打包rpm
fpm -s dir -t rpm -n nginx -v 1.16.0 -d 'pcre-devel,openssl-devel' -f /app/nginx-1.16.0/
-s dir 指定把一个目录打包
-v 1.16.0 版本
-d 'pcre-devel,openssl-devel' 指定依赖包
-post 指定脚本
-f /app/nginx-1.16.0/ 指定打包的目录
#4.将打包好的rpm包复制到/usr/local/src下
cp nginx-1.16.0-1.x86_64.rpm /usr/local/src
#5.安装ftp服务
yum -y install vsftpd
#6.将/usr/local/src下所有rpm文件复制到/var/ftp/pub/nginx
mkdir -p /var/ftp/pub/nginx
cp /usr/local/src/* /var/ftp/pub/nginx/
#7.安装createrepo
yum -y install createrepo
#8.制作yum仓库
createrepo /var/ftp/pub/nginx
#9.开启ftp服务和关闭防火墙
systemctl start vsftpd
systemctl stop firewalld
客户端:
1.进入yum源目录
cd /etc/yum.repos.d/
2.备份现有yum源
gzip *
3.配置yum源文件
vim nginx.repo
[nginx]
name=nginx
baseurl=ftp://10.0.0.11/pub/nginx/ #可以在yum仓库中搜索粘贴上去
enable=1
gpgcheck=0
4.检验下是否配置成功
yum repolist
5.安装nginx
查询是否安装nginx
rpm -qa | grep nginx
有的话卸掉 rpm -e
重新安装 yum -y install nginx
下载nginx的路径会变成本地yum源
6.启动nginx
/app/nginx-1.16.0/sbin/nginx
netstat -lntup 查看
如果httpd占用 systemctl stop httpd
7.关闭防火墙
systemctl stop firewalld
8.打开浏览器,重新访问:http://10.0.0.60/
yum 仓库搭建与源码包安装实战的更多相关文章
- linux 软件管理--yum工具及源码包
目录 linux 软件管理--yum工具及源码包 一.yum基本概述 二.yum源的配置 三.yum实践案例 四.yum全局配置文件 五.yum签名检查机制 五.制作本地yum仓库 六.构建企业级yu ...
- yum更换国内源 yum下载rpm包 源码包安装
7.6 yum更换国内源 7.7 yum下载rpm包 7.8/7.9 源码包安装 yum更换国内源 cd /etc/yum.repo.d/ 删除源 rm -f dvd.repo rm -f C ...
- Linux yum源码包安装和卸载
Linux 下的绝大多数源码包都是用 C 语言编写的,还有少部分是用 C++ 等其他程序语言编写的.所以,要想安装源码包,必须安装 C 语言编译器 gcc(如果是用 C++ 编写的程序,则还需要安装 ...
- yum更换国内源、yum下载rpm包、源码包安装 使用介绍
第5周第4次课(4月19日) 课程内容: 7.6 yum更换国内源7.7 yum下载rpm包7.8/7.9 源码包安装 7.6 yum更换国内源 当yum仓库的软件不好用时,例如很多yum源都是国外的 ...
- yum换源,rpm包下载,源码包安装
一.yum更换源 yum自带源地址一般斗是国外的,可能下载速度略慢,我们可以自己换成国内的源,比如163等.比如配置163的yum源:1.先删除默认源文件dvd.repo # rm -f /etc/y ...
- 部署企业本地yum源及源码包安装
YUM命令 yum list //列出每个软件包(包括未安装和已安装) rpm -q repolist //列出所以仓库名称 info //查看软件信息 rpm -qi install //安装 rp ...
- Linux进阶之Linux破解密码、yum源配置、防火墙设置及源码包安装
一.老师语录: 所有要求笔试的公司都是垃圾公司 笔试(是考所有的涉及到的点) 要有自己的卖点.专长(给自己个标签)(至少一个) 生产环境中,尽量使用mv(mv到一个没用的目录下),少使用rm 二.防火 ...
- yum工具及源码包
目录 yum工具及源码包 yum yum源 yum实战案例 yum全局配置文件 制作本地yum仓库 构建企业级yum仓库 源码包 yum工具及源码包 yum yum是RedHat以及CentOS中的软 ...
- Zabbix源码包安装
Zabbix源码包安装 Cenos5.3 Basic server 安装顺序 Libxml2 Libmcrypt Zlib Libpng Jpeg:需要创建目录jpeg /bin /lib / ...
随机推荐
- ubuntu 开启ftp服务
一. 检查是否已安装 vsftpd vsftpd -v 二. 安装 vsftpd apt-get install vsftpd 三. 检查是否已安装好 vsftpd vsftpd -v system ...
- MySQL-触发案列
1.更新案例 DELIMITER $$ USE `haochacang`$$ DROP TRIGGER /*!50032 IF EXISTS */ `customer_info_update`$$ C ...
- 【leetcode】1007. Minimum Domino Rotations For Equal Row
题目如下: In a row of dominoes, A[i] and B[i] represent the top and bottom halves of the i-th domino. ( ...
- BZOJ 4883 棋盘上的守卫 解题报告
BZOJ4883 棋盘上的守卫 考虑费用流,但是数据范围太大 考虑 \(i\) 行 \(j\) 列如果被选择,那么要么给 \(i\) 行,要么给 \(j\) 列 把选择 \(i\) 行 \(j\) 列 ...
- 540D - Bad Luck Island(概率DP)
原题链接:http://codeforces.com/problemset/problem/540/D 题意:给你石头.剪刀.布的数量,它们之间的石头能干掉剪刀,剪刀能干掉布,布能干掉石头,问最后石头 ...
- Pangu and Stones HihoCoder - 1636 区间DP
Pangu and Stones HihoCoder - 1636 题意 给你\(n\)堆石子,每次只能合成\(x\)堆石子\((x\in[L, R])\),问把所有石子合成一堆的最小花费. 思路 和 ...
- 六、unique_lock
一.unique_lock取代lock_guard 是个类模板,一般用lock_guard,unique_guard更灵活,效率差一点,内存占用多了一点. 二.unique_lock 的第二个参数 1 ...
- 汇编 “ program has no starting address ”解决方法
- [CSP-S模拟测试]:math(裴蜀定理)
题目传送门(内部题22) 输入格式 第一行有$2$个整数$n,k$.第二行有$n$个正整数$a_i$. 输出格式 第一行有一个整数$s$,表示可以生成的非负整数的个数.第二行有$s$个可以生成的非负整 ...
- python练习题之全选框全不选反选
功能 实现分为两大部分: 第一body 部分,1,通过<li>无序列表标签实现选项的基本样式,通过input的checkbox标签实现里面的复选框功能.用到了标签的嵌套.然后选项的js方法 ...