国内服务器
亚洲服务器
欧洲服务器
北美洲服务器
南美洲服务器
大洋洲服务器
非洲服务器

首页>>IDC资讯

Centos定制rpm包、搭建yum仓库的案例分析

发表时间:2022-05-31 09:01:25

这篇文章主要介绍摘录定制每分钟转数包、搭建美味的仓库的案例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

1 保留yum安装软件时下载下来的rpm包

只需修改美味的配置文件即可。下载下来的每分钟转数包会自动保存在/var/cache/yum/目录下

[root@swag~]#sed-i的# keep cache=0 # keep cache=1 # g '/etc/yum。主配置文件

[root@swag~]#yuminstallsl-y

[root @ swag ~]# tree/var/cache/yum/x86 _ 64/6/epel/

/var/cache/yum/x86_64/6/epel/

83f14a3d88054141092be5da12eb18cb1baabd7d52e1ae38bfc98d3d5005490c-primary.sqlite

cachecookie

packages

sl-5.02-1.el6.x86_64.rpm

repomd.xml

一目录,4文件2 编译安装Nginx

#Downloadtar.gzpackage

cd/home/oldboy/tools

wget-qhttp://nginx.org/download/nginx-1.6.3.tar.gz

# YumInstallDependentspackage

Yumin stallopenslopensl-develoy

yuminstallpcrepcre-dev-y

rpm-qapcrepcre-dev

#Useraddwww

useraddwww-s/sbin/nologin-M

#Compileandinstall

tar-xfnginx-1.6.3.tar.gz

cdnginx-1.6.3。/configure-user=www-group=www-with-http _ SSL _ module-with-http _ stub _ status _ module-prefix=/application/nginx-1。6 .3/

makemakeinstall

#Createasoftlink

ln-s/应用/nginx-1。6 .3//应用程序/nginx

#Startnginx

/application/nginx/sbin/nginx

#Checkport80

lsof-i:803 安装fpm工具

首先安装依赖包

好吃安装zlib-dev curl-dev open SSL-dev httpd-dev apr-dev apr-util-dev MySQL-dev

下载ruby,fpm是红宝石写的,因此系统环境需要露比。不推荐美味的安装鲁比,在测试的时候会出现一些问题。

[root@swagtools]#wgethttps://ruby。淘宝。org/mirrors/ruby/ruby-2。3 .0 .焦油。地面零点

[root @ swag tools]# tar-xfruby-2。3 .0 .焦油。地面零点

[root@swagtools]#cdruby-2.3.0

[root@swagruby-2.3.0]# ./configure

[root @ swag ruby-2。3 .0]#制作制作安装

[root@swagruby-2.3.0]#ruby-v

ruby 2。3 .0 P0(2015-12-25修订版53290)[x86 _ 64-Linux]

[root@swag~]#whereisgem

gem:/usr/local/bin/gem

[root @ swag ~]#/usr/local/bin/geminstallfpm

[root@swag~]#fpm-v

1.9.3

#添加阿里云的下载仓库,默认的源为外国源,访问下载速度比较慢,在添加之前先移除原生的红宝石仓库

[root@swag~]#gemsources

***CURRENTSOURCES***

https://rubygems.org/

[root @ swag ~]# gemsources-removehttps://rubygems.org/

https://rubygems.org/removedfromsources

#添加阿里仓库

[root @ swag ~]# gemsources-a http://mirrors。阿里云。com/rubygems/

http://mirrors.aliyun.com/rubygems/addedtosources

[root@swag~]#gemsources

* * *电流源* * * http://镜子。见MUHAMMAD ALI

yun.com/rubygems/

fpm常用参数
-s:指定源类型
-t:指定目标类型,即想要制作为啥包
-n:指定包的名字
-v:指定包的版本号
-C:指定打包的相对路径
-d:指定依赖于哪些包
-f:第二次打包时目录下如果有同名安装包存在,则覆盖它
-p:输出的安装包的目录,不想放在当前目录下就需要指定
--post-install:软件包安装完成之后所要运行的脚本;同--offer-install
--pre-install:软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall:软件包卸载完成之后所要运行的脚本;同--offer-remove
--pre-uninstall:软件包卸载完成之前所要运行的脚本;同—before-remove

fpm支持的源类型包
dir:将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm:对rpm进行转换
gem:对rubygem包进行转换
python:将Python模块打包成相应的类型

fpm支持的目标类型包
rpm:转换为rpm包
deb:转换为deb包
solaris:转换为solaris包
puppet:转换为puppet包

4 将Nginx打包

[root@swagtools]#wgethttps://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@swagtools]#tar-xfruby-2.3.0.tar.gz
[root@swagtools]#cdruby-2.3.0
[root@swagruby-2.3.0]#./configure
[root@swagruby-2.3.0]#make&&makeinstall
[root@swagruby-2.3.0]#ruby-v
ruby2.3.0p0(2015-12-25revision53290)[x86_64-linux]
[root@swag~]#whereisgem
gem:/usr/local/bin/gem
[root@swag~]#/usr/local/bin/geminstallfpm
[root@swag~]#fpm-v
1.9.3
#添加阿里云的Rubygems仓库,默认的源为外国源,访问下载速度比较慢,在添加之前先移除原生的Ruby仓库
[root@swag~]#gemsources
***CURRENTSOURCES***
https://rubygems.org/
[root@swag~]#gemsources--removehttps://rubygems.org/
https://rubygems.org/removedfromsources
#添加阿里仓库
[root@swag~]#gemsources-ahttp://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/addedtosources
[root@swag~]#gemsources
***CURRENTSOURCES***
[root@swagtools]#wgethttps://ruby.taobao.org/mirrors/ruby/ruby-2.3.0.tar.gz
[root@swagtools]#tar-xfruby-2.3.0.tar.gz
[root@swagtools]#cdruby-2.3.0
[root@swagruby-2.3.0]#./configure
[root@swagruby-2.3.0]#make&&makeinstall
[root@swagruby-2.3.0]#ruby-v
ruby2.3.0p0(2015-12-25revision53290)[x86_64-linux]
[root@swag~]#whereisgem
gem:/usr/local/bin/gem
[root@swag~]#/usr/local/bin/geminstallfpm
[root@swag~]#fpm-v
1.9.3
#添加阿里云的Rubygems仓库,默认的源为外国源,访问下载速度比较慢,在添加之前先移除原生的Ruby仓库
[root@swag~]#gemsources
***CURRENTSOURCES***
https://rubygems.org/
[root@swag~]#gemsources--removehttps://rubygems.org/
https://rubygems.org/removedfromsources
#添加阿里仓库
[root@swag~]#gemsources-ahttp://mirrors.aliyun.com/rubygems/
http://mirrors.aliyun.com/rubygems/addedtosources
[root@swag~]#gemsources
***CURRENTSOURCES***

5 其它机器测试

#scp把rpm包传送过去
[root@swag~]#scpnginx-1.6.3-1.x86_64.rpmroot@10.0.0.5:/home/oldboy/tools
#测试
[root@swag3tools]#yumlocalinstallnginx-1.6.3-1.x86_64.rpm-y

6 yum仓库搭建

安装createrepo

[root@swag2~]#yuminstallcreaterepo-y

创建yum仓库目录并初始化repodata索引文件

[root@swag2~]#mkdir-p/application/yum/centos6.9/x86_64/
[root@swag2~]#cd/application/yum/centos6.9/x86_64/#拷贝定制的rpm包到此目录下
[root@swag2x86_64]#createrepo-pdo/application/yum/centos6.9/x86_64//application/yum/centos6.9/x86_64/

提供yum服务

#这里用python来提供web服务,也可用apache或nginx来提供web服务
[root@swag2x86_64]#python-mSimpleHTTPServer80&>/dev/null&#python的httpd模块
[root@swag2x86_64]#lsof-i:80
COMMANDPIDUSERFDTYPEDEVICESIZE/OFFNODENAME
python24680root3uIPv4324930t0TCP*:http(LISTEN)

如果有新的rpm包放入一定要更新

[root@swag2x86_64]#createrepo--update/application/yum/centos6.9/x86_64/

客户端修改yum源

cat>>/etc/yum.repo.d/<<EOF
[only]
name=Server
baseurl=http://10.0.0.7
#baseurl指定yum仓库IP,如果不是80端口需要加端口
enabled=1
gpgcheck=0
EOF
#客户端以安装nginx为例
#清除本地缓存
[root@swag4~]#yumcleanall
#显示本地yum源列表
[root@swag4~]#yum--enablerepo=only--disablerepo=base,extras,updates,epellist
#这里需要注意--enablerepo为local.repo文件中定义的only
#安装nginx为例#
yum--enablerepo=local--disablerepo=base,extras,updates,epelinstallnginx-y

yum的一些用法

# 只下载包不安装包
1、yumdownloader pcre-devel openssl-devel
2、yum --downloadonly pcre-devel openssl-devel

#yum本地安装rpm包
yumlocalinstallpcre-developenssl-devel
#yum开启某些个源,关闭某些源安装软件包
yum--enablerepo=local--disablerepo=base,extras,updates,epelinstallpcre-developenssl-devel
#yum安装不做GPG-check
yuminstall--nogpgcheckpcre-developenssl-devel
#查看yum历史记录
yumhistory
#列出启用的软件库
yumrepolist
yumrepolistall#列出所有的软件库,包括禁用的也列出

错误排查

# 若在客户端安装nginx的时候报以下错误是因为缺少依赖包的缘故,把其下载下来并更新yum仓库即可。
yum仓库:createrepo --update /application/yum/centos6.9/x86_64/
客户端:yum clean all

Error: Package: nginx-1.6.3-1.x86_64 (only)
Requires: pcre-devel
Error: Package: nginx-1.6.3-1.x86_64 (only)
Requires: openssl-devel

# 需要注意配置文件书写是不是有误

7 镜像同步公网yum源

上面只是将自己制作的rpm包,放入yum源。但还有一种需求,平时安装软件都是从公网下载的,占用带宽,因此可以直接使用公网yum源的repodata。

上游yum源一定要要支持rsync协议,否则不能使用rsync进行同步。http://mirrors.ustc.edu.cn/status/

#CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
#epel源:rsync://mirrors.ustc.edu.cn/epel/
#同步命令:
#使用rsync同步yum源,为了节省带宽、磁盘和下载时间,这里只同步了CentOS6的rpm包,这样所有的rpm包只占用了21G,全部同步需要300G左右。
#同步base源,小技巧,我们安装系统的光盘镜像含有部分rpm包,大概3G,这些就不用重新下载。
/usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/
/usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/extras/x86_64//data/yum_data/centos/6/extras/x86_64/
/usr/bin/rsync-avrsync://mirrors.ustc.edu.cn/centos/6/updates/x86_64//data/yum_data/centos/6/updates/x86_64/
#epel源
/usr/bin/rsync-av--exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64//data/yum_data/epel/6/x86_64/
#使用内网yum源方法
#可以自建一个内网dns,如果没有,可使用hosts解析。
echo'192.168.0.200mirrors.aliyun.com'>>/etc/hosts
#结果展示
[root@swag5data]#du-shyum_data
21Gyum_data
[root@swag5data]#tree-L3yum_data/
yum_data/
├──centos
│├──6
││├──extras
││├──os
││└──updates
│└──RPM-GPG-KEY-CentOS-6
├──epel
│└──6
│└──x86_64

以上是“Centos定制rpm包、搭建yum仓库的案例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!


上一篇 下一篇
最新文章

如何提高云服务器的安全系数

香港独立IP空间有什么优势

香港空间影响百度收录吗

为啥要租用美国VPS

VPS的缺点有哪些

香港vps作用在哪里

VPS的优点有哪些

外贸网站为啥选择美国vps

VPS能建多少个网站

VPS要如何选择位置

相关文章

5G和SDWAN会不会冲突:采取5G+SDWAN有甚么作用?

香港服务器租用市场探索:哪里的服务更优良?

云主机过期后怎么恢复

香港服务器连接端口:实现高速稳定的网络连接

台湾不限内容服务器有没有?

使用美国服务器建站受限于哪些方面

构建高性能服务器软件利用的数据紧缩技术

斯洛文尼亚服务器租用收费价格都与哪些方面有关?

英国服务器租用收费价格都与哪些方面有关?

SD-WAN相比传统网络好处有哪些特性

X

截屏,微信识别二维码

微信号:muhuanidc

(点击微信号复制,添加好友)

打开微信

微信号已复制,请打开微信添加咨询详情!