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. 使用python制作ArcGIS插件(1)工具介绍

    使用python制作ArcGIS插件(1)工具介绍 by 李远祥 ArcGIS从10.0开始支持addin(ArcGIS软件中又叫作加载项)的方式进行插件制作.相对于以往9.x系列,addin的无论是 ...

  2. 数据库--iOS

    1.创建表 @"create table if not exists Person(id integer primary key autoincrement,name text,gender ...

  3. 浅谈C#集合【转】

    集合是.NET FCL(Framework Class Library)中很重要的一部分,也是我们开发当中最常用到的功能之一,几乎是无处不在.俗话说知其然,知其所以然,平常看到IEnumerable, ...

  4. 【转】解决UpdatePanel 与 jQuery的冲突

    现在越来越多的朋友喜欢将jQuery和ASP.NET AJAX 一起来用,最近,许多印度人在forum里抱怨说UpdatePanel和jQuery不兼容,许多jQuery效果在UpdatePanel更 ...

  5. sping整合hibernate之二:dao层开发

     在上一篇日志中将hibernate的会话工厂sessionFactory注入到了spring的容器中,但这样还不够,因为hibernate的增删改查是要使用事务机制的, 所以还要在spring中配置 ...

  6. android学习6——canvas的save,restore作用

    先看如下代码 public class SaveRestoreActivity extends Activity { @Override public void onCreate(Bundle sav ...

  7. Sublime Text3安装、注册、插件安装教程

          在前端开发中,有很多软件供我们使用:大名鼎鼎的WebStorm,老而弥坚的Dreamweaver,后起之秀Hbuilder,还有小清新Sublime Text.......等等.作为新手, ...

  8. 用JS常规方法是否离开当前页面

    该方法在 关闭页面时 会提示 <script type="text/javascript"> var DispClose = true; function CloseE ...

  9. ES6-01:常量与变量的声明

    首先,我们声明一个变量: //定义一个变量num,并赋值为10: let num = 10; //进行打印 console.log(num); let与var有所不同: 语法特点1:let变量只能在当 ...

  10. AR入门系列-04-vuforia识别多个图片及同屏展示

    首先,我们需要在官网中识别数据库添加多张图片,并将数据库下载下来覆盖原来的数据库 在 Hierarchy视图中需要多个ImageTarget 将新建的ImageTarget(1) 选择数据库中的识别图 ...