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. String,StringBuffer,StringBuilder个人认为较重要的区别

        今天在整理不可变对象知识点时,突然看到了String,StringBuffer,StringBuilder三者的区别,这里就挑一些我认为比较重要的点记录一下,方便日后查看.     Strin ...

  2. j2se 总结

    j2se在学习第二遍的时候,感觉还是比较亲切的.

  3. 【读书笔记】-- JavaScript模块

    在JavaScript编程中我们用的很多的一个场景就是写模块.可以看成一个简单的封装或者是一个类库的开始,有哪些形式呢,先来一个简单的模块. 简单模块 var foo = (function() { ...

  4. [Netty] - Netty IN ACTION(导言)

    最近没什么事儿做,刚好看到有需要网络编程的知识,java中有NIO和IO两种不同的方式,但是NIO的编写比较麻烦,刚好找到一个成熟的网络框架Netty.接下来的一个月就准备将Netty IN ACTI ...

  5. php编译安装

    php编译安装含mcrypt扩展 开始前准备 1.php源码下载 这里用的是php5.6.22版本 wget -c http://cn2.php.net/get/php-5.6.22.tar.gz/f ...

  6. 细谈sass和less中的变量及其作用域

    博客原文地址:Claiyre的个人博客 https://claiyre.github.io/ 博客园地址:http://www.cnblogs.com/nuannuan7362/ 如需转载,请在文章开 ...

  7. 封装OkHttp,通过Callback改造Callback实现

    1:实现Callback回调接口import android.os.Handler;import android.os.Looper;import android.os.Message;import ...

  8. 从零开始--Spring项目整合(2)整合SpringMVC

    1.pom.xml 定义版本 <properties> <spring.version>4.2.7.RELEASE</spring.version> <jac ...

  9. Ceph osd启动报错osd init failed (36) File name too long

    在Ceph的osd节点上,启动osd进程失败,查看其日志/var/log/ceph/ceph-osd.{osd-index}.log日志,报错如下: 2017-02-14 16:26:13.55853 ...

  10. C/C++ char数组存储字符串内存地址

    问题描述: #include <stdio.h> int main(void) { //program 6.3 Arrays of strings ][]; ;i<;++i){ ;j ...