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= gpgcheck=
yum --enablerepo=chenyao --disablerepo=base,extras,updates list
yum仓库,RPM打包的更多相关文章
- CentOS 6.5本地yum源、局域网离线yum仓库(断网情况下轻松安装各种依赖包)
在工作中, 公司的服务器大部分都禁止连接外网的,初始化系统,测试某些产品时,往往缺一些软件或依赖包,一个个上传到机器,如此浪费时间,浪费金钱,en...yum能够自动查找并解决rpm包之间的依赖关系, ...
- 自动化部署必备技能—部署yum仓库、定制rpm包
部署yum仓库.定制rpm包 目录 第1章 扩展 - yum缓存 1.1 yum缓存使用步骤... 1 1.1.1 导言... 1 1.1.2 修改配置文件... 1 1.1.3 使用缓存... 1 ...
- 搭建yum仓库与定制rpm包
笔者Q:972581034 交流群:605799367.有任何疑问可与笔者或加群交流 当我们自动化部署集群的时候,想要快速的安装所有服务,搭建yum仓库与定制rpm包是我们首先要做的 原创作品,转载请 ...
- 其他综合-搭建本地yum仓库及自制rpm包
搭建本地yum仓库及自制rpm包 实验目的 为方便本地 yum 的管理,建本地 yum 仓库,实现局域网内部快速安装常用软件 实验环境 VMware:12版本 系统版本:CentOS Linux re ...
- Linux系统管理第二次作业 目录和文件管理 rpm安装 创建yum仓库
chapter02 - 03 作业 1.分别用cat \tac\nl三个命令查看文件/etc/ssh/sshd_config文件中的内容,并用自己的话总计出这三个文档操作命令的不同之处? [ ...
- 配置yum仓库和rpm包
作业一: 1) 开启Linux系统前添加一块大小为15G的SCSI硬盘 2) 开启系统,右击桌面,打开终端 3) 为新加的硬盘分区,一个主分区大小为5G,剩余空间给扩展分区,在扩展分区上划分1个逻辑分 ...
- linux入门系列6--软件管理之rpm和yum仓库
前面系列文章中,我们对vi编辑器和46个基本命令进行了介绍,本文将演示在centos7下使用RPM和YUM安装和管理软件. 一.RPM软件包管理器 1.1 RPM背景介绍 RPM(RedHat P ...
- Linux centosVMware yum更换国内仓库源、yum下载rpm包、源码包安装
一.yum更换国内仓库源 cd /etc/yum.repos.d/ rm -f dvd.repo wget http://mirrors.163.com/.help/CentOS7-Base-163. ...
- yum仓库的定制
矮哥linux运维群: 93324526 笔者QQ:578843228 一.简介 软件包的分类.源码包脚本安装二进制包(rpm包.系统默认包) 源码包: C语言的源代码优点:开源,如果有能力,可以修改 ...
随机推荐
- Sublime Text3常用插件以及安装方法(实用)
Package Control组件在线安装 按Ctrl+`调出console(注:避免热键冲突) 粘贴以下代码到命令行并回车: import urllib.request,os; pf = 'Pack ...
- Linux实战教学笔记12:linux三剑客之sed命令精讲
第十二节 linux三剑客之sed命令精讲 标签(空格分隔): Linux实战教学笔记-陈思齐 ---更多资料点我查看 1,前言 我们都知道,在Linux中一切皆文件,比如配置文件,日志文件,启动文件 ...
- 都能读懂的css3 3D变形效果
css3 3D变形效果 CSS3 transform3D变形 transform的含义是:改变,使-变形:转换 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换 ...
- c++编程思想(二)--对象的创建和使用
1.解释器:将源码转换为动作(机器语言),并立即执行 编译器:编译器也会将源码转换为机器语言,但是中间会经过好多步骤,分段编译 ,然后链接,可以实现将代码模块化 2.c++不鼓励多使用预处理命令 3. ...
- TCP协议详解
TCP协议详解 一.TCP协议 1.TCP 通过以下方式提供可靠性: · ◆ 应用程序分割为TCP认为最合适发送的数据块.由TCP传递给IP的信息单位叫做报文段. · ◆ 当TCP发出一个报文段后 ...
- [编织消息框架][设计协议]bit基础
理论部分 1字节等于8比特,也就是8个二进数,如下面公式 1Byte = 8bits = 0111 1111 1Short = 2Btye 1Int = 4Byte 那学这些有什么用呢? 可以用来做数 ...
- 游戏UI框架设计(三) : 窗体的层级管理
游戏UI框架设计(三) ---窗体的层级管理 UI框架中UI窗体的"层级管理",最核心的问题是如何进行窗体的显示管理.窗体(预设)的显示我们前面定义了三种类型: 普通.隐藏其他.反 ...
- 轻松理解python中的闭包和装饰器 (下)
在 上篇 我们讲了python将函数做为返回值和闭包的概念,下面我们继续讲解函数做参数和装饰器,这个功能相当方便实用,可以极大地简化代码,就让我们go on吧! 能接受函数做参数的函数我们称之为高阶函 ...
- WPF - 监听判断键盘组合键的按下
对于键盘事件PreviewKeyDown.PreviewKeyUp.KeyDown.KeyUp,在其中检查当次事件是哪个按键触发的很简单,只需要判断KeyEventArgs类型的事件参数e的Key属性 ...
- MySQL优化-一 、缓存优化
body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10 ...