定制rpm包及搭建yum仓库
2017-06-21 22:57
330 查看
定制rpm包及搭建yum仓库
FPM的github:https://github.com/jordansissel/fpm
FPM功能简单说就是将一种类型的包转换成另一种类型。
支持的源类型包:
dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm 对rpm进行转换
gem 对rubygem包进行转换
python 将python模块打包成相应的类型
安装ruby模块
[root@web01 ~]# gem sources -ahttp://mirrors.aliyun.com/rubygems/ http://mirrors.aliyun.com/rubygems/ added tosources
添加阿里云的Rubygems仓库,国外资源会影响下载速度
[root@student ~]# gem sources --removehttp://rubygems.org/ http://rubygems.org/ removed from sources
移除原生的ruby仓库
[root@student ~]# gem installfpm
安装fpm
-t #指定目标类型,即想要制作为什么包
-n #指定包的名字
-v #指定包的版本号
-C #指定打包的相对路径 Change directory tohere before searching forfiles
-d #指定依赖于哪些包
-f #第二次打包时目录下如果有同名安装包存在,则覆盖它
-p #输出的安装包的目录,不想放在当前目录下就需要指定
--post-install #软件包安装完成之后所要运行的脚本;同--after-install
--pre-install #软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall #软件包卸载完成之后所要运行的脚本;同--after-remove
--pre-uninstall #软件包卸载完成之前所要运行的脚本;同--before-remove
useradd nginx -M -s /sbin/nologin
tar xf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/application/nginx-1.6.2--user=nginx --group=nginx --with-http_ssl_module--with-http_stub_status_module
make && make install
ln -s /application/nginx-1.6.2/ /application/nginx
[root@oldboy scripts]# vimnginx_rpm.sh
#!/bin/bash
useradd nginx -M -s /sbin/nologin
ln -s /application/nginx-1.6.2//application/nginx
[root@oldboy ~]# fpm -s dir -t rpm-n nginx -v 1.6.2 -d 'pcre-devel,openssl-devel' --post-install/server/scripts/nginx_rpm.sh -f /application/nginx-1.6.2/
no value for epoch is set,defaulting to nil {:level=>:warn}
no value for epoch is set,defaulting to nil {:level=>:warn}
Created package{:path=>"nginx-1.6.2-1.x86_64.rpm"}
[root@oldboy ~]# ll -hnginx-1.6.2-1.x86_64.rpm
-rw-r--r-- 1 root root 6.7MNov 1 10:02 nginx-1.6.2-1.x86_64.rpm
4. 安装rpm包 rpm -ivh nginx-1.6.2-1.x86_64.rpm
yum -y localinstallnginx-1.6.2-1.x86_64.rpm
//可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境, 可以通过浏览器输入本机IP查看。
//修改yum配置文件keepacache=0改为1
[root@B yum.repos.d]#vi oldboy.repo 连接本地yum源
[oldboy]
name=oldboy
baseurl=http://10.0.0.61
enable=1
gpgcheck=0
指定使用oldboy库(临时生效)
# 在每一个启动的源加上
#enabled=0#改为1就启用,没有此参数也是启用。
[base]
enabled=0
…………
[updates]
…………
enabled=0
…………
[extras]
…………
enabled=0
# 还有其他开启的仓库就使用这个办法关闭
CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
163源:http://mirrors.163.com/阿里云源:http://mirrors.aliyun.com/ # 同步base源
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/
# epel源
/usr/bin/rsync -av --exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
第1章 定制rpm包
1.FPM打包工具
FPM的作者是jordansisselFPM的github:https://github.com/jordansissel/fpm
FPM功能简单说就是将一种类型的包转换成另一种类型。
支持的源类型包:
dir 将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm 对rpm进行转换
gem 对rubygem包进行转换
python 将python模块打包成相应的类型
2.fpm安装
[root@student ~]# yum -y install ruby rubygemsruby-devel安装ruby模块
[root@web01 ~]# gem sources -ahttp://mirrors.aliyun.com/rubygems/ http://mirrors.aliyun.com/rubygems/ added tosources
添加阿里云的Rubygems仓库,国外资源会影响下载速度
[root@student ~]# gem sources --removehttp://rubygems.org/ http://rubygems.org/ removed from sources
移除原生的ruby仓库
[root@student ~]# gem installfpm
安装fpm
3.fpm常用参数
-s #指定源类型-t #指定目标类型,即想要制作为什么包
-n #指定包的名字
-v #指定包的版本号
-C #指定打包的相对路径 Change directory tohere before searching forfiles
-d #指定依赖于哪些包
-f #第二次打包时目录下如果有同名安装包存在,则覆盖它
-p #输出的安装包的目录,不想放在当前目录下就需要指定
--post-install #软件包安装完成之后所要运行的脚本;同--after-install
--pre-install #软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall #软件包卸载完成之后所要运行的脚本;同--after-remove
--pre-uninstall #软件包卸载完成之前所要运行的脚本;同--before-remove
4. 安装nginx
yum -y install pcre-devel openssl-develuseradd nginx -M -s /sbin/nologin
tar xf nginx-1.6.2.tar.gz
cd nginx-1.6.2
./configure --prefix=/application/nginx-1.6.2--user=nginx --group=nginx --with-http_ssl_module--with-http_stub_status_module
make && make install
ln -s /application/nginx-1.6.2/ /application/nginx
5.编写脚本
[root@oldboy ~]# cd/server/scripts/[root@oldboy scripts]# vimnginx_rpm.sh
#!/bin/bash
useradd nginx -M -s /sbin/nologin
ln -s /application/nginx-1.6.2//application/nginx
6.打包
[root@web01 application]# yum -yinstall rpm-build[root@oldboy ~]# fpm -s dir -t rpm-n nginx -v 1.6.2 -d 'pcre-devel,openssl-devel' --post-install/server/scripts/nginx_rpm.sh -f /application/nginx-1.6.2/
no value for epoch is set,defaulting to nil {:level=>:warn}
no value for epoch is set,defaulting to nil {:level=>:warn}
Created package{:path=>"nginx-1.6.2-1.x86_64.rpm"}
[root@oldboy ~]# ll -hnginx-1.6.2-1.x86_64.rpm
-rw-r--r-- 1 root root 6.7MNov 1 10:02 nginx-1.6.2-1.x86_64.rpm
4. 安装rpm包 rpm -ivh nginx-1.6.2-1.x86_64.rpm
yum -y localinstallnginx-1.6.2-1.x86_64.rpm
第2章 搭建yum仓库
服务端配置:
1.创建yum仓库目录
mkdir –p /application/yum/centos6/x86_64/2.安装createrepo软件
yum -y install createrepo3.初始化repodata索引文件
createrepo -pdo/application/yum/centos6.6/x86_64/ /application/yum/centos6.6/x86_64/4.进入需要提供仓库的目录
cd /application/yum/centos6/x86_64/5.配置web查看yum
python -m SimpleHTTPServer80 &>/dev/null &//可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境, 可以通过浏览器输入本机IP查看。
6.每加入一个rpm包就要更新一下
createrepo--update /application/yum/centos6/x86_64/7.保存下载过的软件
sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf//修改yum配置文件keepacache=0改为1
8.安装包存储目录
ls /var/cache/yum/x86_64/6/base/packages客户端配置:
1.配置本地yum源文件
[root@B yum.repos.d]#cd /etc/yum.repos.d[root@B yum.repos.d]#vi oldboy.repo 连接本地yum源
[oldboy]
name=oldboy
baseurl=http://10.0.0.61
enable=1
gpgcheck=0
2.指定新增的yum源生效
[root@YUM ~]# yum --enablerepo=oldboy --disablerepo=base,extras,updates,epellist指定使用oldboy库(临时生效)
3.使yum源永久生效
[root@oldboy yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo# 在每一个启动的源加上
#enabled=0#改为1就启用,没有此参数也是启用。
[base]
enabled=0
…………
[updates]
…………
enabled=0
…………
[extras]
…………
enabled=0
# 还有其他开启的仓库就使用这个办法关闭
4.查看现有yum源
[root@web01 ~]# yum repolist5.同步公网yum源
上游yum源必须要支持rsync协议,否则不能使用rsync进行同步。CentOS官方标准源:rsync://mirrors.ustc.edu.cn/centos/
epel源:rsync://mirrors.ustc.edu.cn/epel/
163源:http://mirrors.163.com/阿里云源:http://mirrors.aliyun.com/ # 同步base源
/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/
# epel源
/usr/bin/rsync -av --exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/
相关文章推荐
- 定制rpm包、搭建yum仓库
- 搭建yum仓库与定制rpm包
- 定制RPM包及yum仓库搭建(以安装nginx为例)
- 搭建yum仓库定制rpm包
- 一键搭建yum仓库定制rpm包
- rpm、yum工具、yum搭建本地仓库
- linux学习笔记——yum安装软件、搭建仓库、rpm命令
- 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库
- linux学习第二十一篇:安装软件包的三种方法,rpm,yum工具用法,yum搭建本地仓库
- yum搭建本地仓库以及保留下在的rpm包
- 7.1 安装软件包的三种方法 7.2 rpm包介绍 7.3 rpm工具用法 7.4 yum工具用法 7.5 yum搭建本地仓库
- 安装软件包的三种方法、rpm包介绍、rpm工具用法、yum工具用法、yum搭建本地仓库
- Centos7 mount/ rpm/ yum 软件仓库搭建
- yum搭建本地仓库、更换国内源、下载rpm包
- yum仓库搭建及其rpm包小技巧
- 安装软件包的三种方法、rpm包介绍、rpm、yum工具用法与yum搭建本地仓库
- 安装软件包的三种方法、rpm包介绍及工具用法、yum用法及搭建本地仓库
- 5周第1次课 安装软件包的三种方法 rpm包介绍 yum工具用法 yum搭建本地仓库
- yum搭建本地仓库、更换国内源、下载rpm包
- Linux笔记(rpm工具用法,yum工具用法,搭建yum仓库)