linux yum仓库制作,yum仓库搭建 yum搭建之RPM包制作 rpm制作

原文:https://blog.csdn.net/weixin_39845406/article/details/116921015
常见的软件安装方式有以下几种

1.yum安装,可自动解决依赖,但不能自定义软件安装位置

2.编译安装,可指定安装路径,指定装模块,但编译参数冗长,且耗时较长,不能解决依赖问题。

3.rpm安装,安装速度较速,但不能自动解决依赖,尤其是遇到需要的依赖包较多时,特别费时。

本文主要介绍利用fpm工具制作个性化的rpm包,后期可放到yum仓库中,直接用yum安装。

【fpm介绍】

作者把这个fpm称作Effing Package Management,翻译过来就是该死的包管理器,粗暴一点就是去他妈的包管理器。Ubuntu及CentOS的包管理及安装方式完全不同,要想同时掌握这两种平台下的软件包安装方法是很困难的,为了不再遭受这痛苦,fpm便应运而生了。fpm是由jordansissel于2011年开发的一套打包工具,可快速度地将你安装好的程序目录或包打包为rpm及deb等结尾软件包。与传统的打包工具(rpmbuild、dh_make)相比,制作起来更加简单、方便、快捷。

【fpm安装】

1.安装ruby及gcc

yum install ruby-devel gcc

2.安装fpm

gem install fpm

3.fpm打包

语法格式

fpm -s -t [options]

其中源类型主要有:dir、gem、rpm、Python等,目标类型主要有rpm,deb,puppet,solaris等。

-s指定输入的包类型

-t指定输出包的类型

-n, --name指定输出的包名

-v, --version指定版本号,默认为1.0

-d, --depends指定依赖包,可重复多次出现,通常以"-d ‘name’ or -d ‘name > version’"的形式展现。

-f, --force强制输出,会覆盖掉旧包

-p, --package OUTPUT 指定输出目录

【打包实例】

定制cron初始化rpm包

$fpm -s dir -t rpm -a noarch -p /root/ -n cron-init-script -v 1.0 /var/spool/cron/

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=>"/root/cron-init-script-1.0-1.noarch.rpm"}

$ll /root/cron-init-script-1.0-1.noarch.rpm

-rw-r–r-- 1 root root 1693 Nov 2 22:24 /root/cron-init-script-1.0-1.noarch.rpm

在客户端yum安装cron-init-script

4d9d6810dab1740de24c240711612a5a.png

【升级RPM包】

1.编辑cron任务

$crontab -l

*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

*/10 * * * * /usr/sbin/ntpdate 1.pool.ntp.org >/dev/null 2>&1

2.重新生成包

3f298e2cfe1d3818f35cd77d0908cdb7.png

3.传到yum仓库

$cp cron-init-script-1.1-1.noarch.rpm /application/yum/centos6.6/x86_64/

4.更新yum仓库索引

$createrepo --update /application/yum/centos6.6/x86_64/

Spawning worker 0 with 1 pkgs

Workers Finished

Gathering worker results

Saving Primary metadata

Saving file lists metadata

Saving other metadata

Generating sqlite DBs

Sqlite DBs complete

5.客户端清空yum缓存

yum clean all

Loaded plugins: fastestmirror, security

Cleaning repos: oldboy

Cleaning up Everything

Cleaning up list of fastest mirrors

6.查找cron包

yum list |grep cron-init

cron-init-script.noarch 1.0-1 @oldboy #前面的@表示已经安装过,保留下来的信息

cron-init-script.noarch 1.1-1 oldboy

7.更新cron包

crontab -l

*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

yum update cron-init-script

Is this ok [y/N]: y

Running Transaction

Updating : cron-init-script-1.1-1.noarch 1/2

Cleanup : cron-init-script-1.0-1.noarch 2/2

Verifying : cron-init-script-1.1-1.noarch 1/2

Verifying : cron-init-script-1.0-1.noarch 2/2

Updated:

cron-init-script.noarch 0:1.1-1

Complete!

crontab -l

*/5 * * * * /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

*/10 * * * * /usr/sbin/ntpdate 1.pool.ntp.org >/dev/null 2>&1

cron任务已更新。

下面关于RPM包制作相关的内容你可能也喜欢:
相关资源:centos7 本地yum源配置
1.查看系统本身存在的版本
rpm -qa | grep yum
2.卸载centos7上存在的yum安装源包
rpm -e 源包 --nodeps
3.下载yum源包(http://mirrors.163.com/centos/7/os/x86_64/Packages/)
yum-metadata-parser-1.1.4-10.el7.x86_64
PackageKit-yum-1.0.7-6.el7.centos.x86_64
yum-utils-1.1.31-40.el7.noarch
下方两个一起装
yum-plugin-fastestmirror-1.1.31-40.el7.noarch yum-langpacks-0.4.2-7.el7.noarch

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值