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=
gpgcheck=

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

yum仓库,RPM打包的更多相关文章

  1. CentOS 6.5本地yum源、局域网离线yum仓库(断网情况下轻松安装各种依赖包)

    在工作中, 公司的服务器大部分都禁止连接外网的,初始化系统,测试某些产品时,往往缺一些软件或依赖包,一个个上传到机器,如此浪费时间,浪费金钱,en...yum能够自动查找并解决rpm包之间的依赖关系, ...

  2. 自动化部署必备技能—部署yum仓库、定制rpm包

    部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 ...

  3. 搭建yum仓库与定制rpm包

    笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...

  4. 其他综合-搭建本地yum仓库及自制rpm包

    搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...

  5. Linux系统管理第二次作业 目录和文件管理 rpm安装 创建yum仓库

    chapter02 - 03 作业      1.分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处? [ ...

  6. 配置yum仓库和rpm包

    作业一: 1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分 ...

  7. linux入门系列6--软件管理之rpm和yum仓库

    前面系列文章中,我们对vi编辑器和46个基本命令进行了介绍,本文将演示在centos7下使用RPM和YUM安装和管理软件. 一.RPM软件包管理器 1.1 RPM背景介绍 ​ RPM(RedHat P ...

  8. Linux centosVMware yum更换国内仓库源、yum下载rpm包、源码包安装

    一.yum更换国内仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163. ...

  9. yum仓库的定制

    矮哥linux运维群: 93324526 笔者QQ:578843228 一.简介 软件包的分类.源码包脚本安装二进制包(rpm包.系统默认包) 源码包: C语言的源代码优点:开源,如果有能力,可以修改 ...

随机推荐

  1. swift注意

    赋值的时候要想为空 可以用   ? 例如 var age1:Int? // ?表示age1的类型为可选类型,其值可以为空print(age1) 判断一个字符串为空字符串if str_empty.isE ...

  2. Swift 2.2 多态和强制转换

    写在前面: 写点东西,就是想告诉自己,有时间其实你也在前进着,快慢不说,至少没停下吧!该有的都会有的.不瞎BB了,说主题,3.0 的多态和继承. 总觉得继承好像也没什么太多的可说的了,在项目中用到的还 ...

  3. ReentrantLock实现原理

    以下是本篇文章的大纲 1 synchronized和lock 1.1 synchronized的局限性 1.2 Lock简介 2 AQS 3 lock()与unlock()实现原理 3.1 基础知识 ...

  4. View Controller Transition:京东加购物车效果

    冬天已经过去了,阳光越来越暖洋洋的了.还记得上学的时候,老师总说"春天是播种的季节",而我还没在朋友圈许下什么愿望.一年了,不敢想象回首还能看到点什么,所以勇往直前.当被俗世所扰, ...

  5. laravel项目中手机浏览器在线阅读pdf文件-->PDFJS插件

    第一步:下载链接:http://mozilla.github.io/pdf.js/getting_started/#download 第二步:将下载的文件放在项目中. 第三步:在项目中想要预览的地方给 ...

  6. Codeforces Round #372 +#373 部分题解

    用了两场比赛上Div 1感觉自己好腊鸡的说...以下是这两场比赛的部分题解(不得不说有个黄学长来抱大腿还是非常爽的) Round #372 : Div 2 A:Crazy Computer 题意:给定 ...

  7. Kettle 5.0源码编译

    下载源码请参考上一篇博文Kettle4.4.2源码分析 Kettle 5.0以前的库文件通过ant管理,5.0+的库文件通过ant+ivy管理.Eclipse一般都是安装ant插件,不安装ivy插件, ...

  8. Oracle排序分析函数

    在Oracle自拓展SQL功能中,分析函数(Analytical Function)是非常强大的工具. 本篇我们介绍几个Oracle典型的排序分析函数,来帮助我们解决实际问题. 1.从rownum谈起 ...

  9. MySQL · 引擎特性 · InnoDB IO子系统

    前言 InnoDB做为一款成熟的跨平台数据库引擎,其实现了一套高效易用的IO接口,包括同步异步IO,IO合并等.本文简单介绍一下其内部实现,主要的代码集中在os0file.cc这个文件中.本文的分析默 ...

  10. GridView应用随笔

    1. 数据绑定 GridView可以使用数据源控件和设置控件的DataSource属性来绑定数据,这里主要讲设置DataSource属性来绑定. 1.写一个返回值为DataSet或者DataTable ...