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. Ajax 入门之 GET 与 POST 的不同 (2)

    在之前的随笔中,本着怀旧的态度总结了一篇 兼容不同浏览器 建立XHR对象的方法: 在建立好XHR对象之后,客户端需要做的就是,将数据以某种方式传递到服务器,以获得相应的响应,在这里,  Ajax技术总 ...

  2. bootstrap 响应式工具

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  3. shiyandaima

    //jidaxiangronglei #include<iostream> #include<iostream> #include<iomanip> #includ ...

  4. Mac入门推荐(写给Mac小白)

    本人第一次接触Mac是在2016年10月中旬,那时由于对苹果系统的不熟悉,导致自己一开始的时候用的很不习惯,甚至还想换回Windows系统.总所周知,苹果系统的软件比较少,在此我向大家推荐一些个人觉得 ...

  5. 从HTML5规范弄清i、em、b、strong元素的区别

    为了语义化,HTML5增加了不少新标签.其中i.em和b.strong这两组标签是最容易弄混的,不好好去探究一下,还真说不清.这个也是前端面试中经常会问的问题.今天从源头上,也就是从HTML5的文档( ...

  6. 【转】Hibernate和IBatis对比

    原文地址:http://blog.csdn.net/ya2dan/article/details/7396598 项目也做过几个, 使用IBatis就做一个项目, 基本上都是使用Hibernate, ...

  7. 【数据标识】iOS App下载渠道的统计需求

    需求概述 我们现在有一个需求,某一个活动需要拉新所谓的拉新一般是推App下载,这个用户通过这个活动下载了App后,我们需要做到[在数据库中记录这个用户下载这个App是通过那个二维码渠道的,从效果上说, ...

  8. Lucas,.net Web框架

    #LucasLucasLucasWeb框架是基于新的魔法糖思想创建的框架.本框架有两大特点.1.所有框架里最简单易学易配置的.2.所有框架里效率最快的.1.UrlRouter没有使用IOC注入及反射, ...

  9. 每天一个Linux命令(17)--whereis命令

    whereis 命令只能用于程序名的搜索,而且只搜索二进制文件(参数-b).man说明文件(参数-m)和源代码文件(参数-s).如果省略参数,则返所有信息. 和find相比,whereis查找的速度非 ...

  10. Git commit message和工作流规范

    目的 统一团队Git commit日志标准,便于后续代码review,版本发布以及日志自动化生成等等. 统一团队的Git工作流,包括分支使用.tag规范.issue等 Git commit日志参考案例 ...