yum仓库,RPM打包

rpm命令:

  -qa  查看软件包是否被安装

  -ivh 安装rpm包

  -e 卸载包

  -qpl 查看rpm包中有什么东西

  -qi 查看软件的详细安装信息:安装路径

 

安装fpm

#FPM是Ruby模块
yum -y install ruby rubygems ruby-devel
#添加淘宝的Ruby仓库
gem sources -a http://ruby.taobao.org/
#移除原生的Ruby仓库
gem sources -r http://rubygems.org/

#查看fpm的源  确保只有一个淘宝的源

gem sources -l

#安装fpm
gem install fpm

 

fpm打包命令

详细使用见fpm --help

常用参数:

  -s  指定源类型

  -t 指定目标类型

  -n 指定包的名字

  -v 指定包的版本号

  -C 指定打包的相对路径

  -d 指定依赖于那些包

  -f 第二次打包时目录下如果有相同的安装包存在,则覆盖它

  -p 输出的安装的目录,不想放在当前目录下就需要指定它

  --post-install 软件包安装完成之后所要运行的脚本;同--after-install

  --pre-install  软件包安装完成之前所要运行的脚本;同--before-install

  --post-uninstall  软件包卸载完成之后所要运行的脚本;同--after-remove

  --pre-uninstall  软件包安装完成之前所要运行的脚本;同--before-remove

注意

如果是内网yum源安装的话,如果包A和B有依赖关系就需要将A和B都放在内网yum源,在打包的时候使用-d参数指定依赖关系。

 

制作一个nginx 的rpm包:

 

fpm和tar类似,只不过fpm制作的rpm包能够被yum识别。

 

使用fpm制作rpm的前提:

1.这个包已经被安装好了,通常是对编译安装的软件进行打包

2.已经知道这个包的依赖包,在打包的时候使用-d 参数指定

 

nginx已事先被编译安装在/application/nginx1.6.2目录下了。

打包的命令:   fpm -s dir -t rpm -n nginx -v 1.6.2 -d 'openssl-devel,pcre-devel' -f --post-install /server/scripts/nginx_rpm.sh /application/nginx1.6.2/

注意“--post-install /server/scripts/nginx_rpm.sh”中指定的脚本也会被打进包中。

查看这个脚本的内容:

#!/bin/sh


/usr/sbin/useradd nginx -M -s /sbin/nologin      //创建nginx用户

 

#########################################我是分割线###################################

yum命令

  yum install <package-name>

  yum install <package-name> -y

  不记得软件包的确切名字,可以使用search函数搜索

  yum search <package-name>

  查找某个文件属于哪个软件包

  yum provides /etc/my.cnf

  列出所有的可用群组

  yum grouplist

  安装群组软件包

  yum groupinstall

  列出启用的软件

  yum repolist

  列出所有的软件库

  yum repolist all 包括禁用的也列出

  清楚yum缓存内容

  yum clean

  查看yum历史记录

  yum history

  

创建yum仓库

  yum install yum-utils 

下载一个RPM包:

   yumdownloader <package-name> 

开启缓存功能:

vim /etc/yum.conf

  keepcache=1

默认rpm包的存放路径:/var/cache/yum/x86_64/7/base/packages/

 

yum install createrepo -y                      

createrepo -pdo /var/www/html/CentOS-7.1-x86_64/ /var/www/html/CentOS-7.1-x86_64/   为目标目录中的rpm包创建xml文件

 

createrepo --update /server/CentOS_7.2_x86_64/   新增或者移除rpm包之后更新仓库

 

客户端

[root@mysql yum.repos.d]# pwd
/etc/yum.repos.d
[root@mysql yum.repos.d]# vim chenyao.repo

[chenyao]
name=Server
baseurl=http://192.168.220.165/CentOS-7.1-x86_64
enable=1
gpgcheck=0

 

 

yum --enablerepo=chenyao --disablerepo=base,extras,updates list

 

你可能感兴趣的:(yum仓库,RPM打包)