用RPM&YUM进行基础软件管理@NinGoohttp://NinGoo.net2011.5.25
简化自动安装过程标准化解决RPM依赖集中的软件库,版本控制简化分发部署。。。WHY:为什么用RPM/YUM
源代码编译安装二进制执行文件可执行脚本Shell命令文本配置文件。。。WHAT:什么适合打成RPM包
HOW: 打包工具rpmbuild1. 构建二进制rpm包rpmbuild –bb x.spec2. 构建源码rpm包rpmbuild –bsx.spec3. 同时构建二进制和源rpm包rpmbuild –bax.spec4.从源码包构建二进制包rpmbuild –rebuild x.src.rpm
打包工作路径Default:/usr/src/redhatBUILD:            解包编译BUILDROOT: 安装RPMS:            目标rpm包SOURCES:     源tar.gz包SPECS:           spec文件SRPMS:          目标src.rpm包限制: 此路径下需要root用户执行打包
自定义打包工作路径vi ~/.rpmmacros%_topdir /home/ningoo/rpm%_prefix /u01/mysqlmkdir /home/ningoo/rpmcd /home/ningoo/rpmmkdir RPMS SRPMS SOURCES BUILD BUILDROOT SPECS
SPEC的精髓:宏默    认:/usr/lib/rpm/macros or /etc/rpm/macros自定义:~/.rpmmacros查看所有宏rpmbuild  --showrc
常见宏%_topdir工作根目录%_tmpdir工作临时目录%_prefix  前导目录%optflags编译优化参数%prep      准备阶段    %setup 解压.tar.gz包%build      编译阶段configure/make%install    安装阶段make install%clean     清楚临时文件%files       打包阶段,列举所有需要打进RPM的文件%pre        安装RPM前执行的动作%post      安装RPM后执行的动作%preun卸载RPM前执行的动作%postun卸载RPM后执行的动作
SPEC文件第一部分:包的详细信息描述Name: helloworldSummary: Hello World!Version: 0.1Release: 1License: GPLURL: http://www.ningoo.net/ Group: applications/systemBuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root Source: %{name}-%{version}.tar.gzPrefix: %{_prefix}Requires: libaio-develPackager: NinGooAutoreq: no%description: xxx
SPEC文件第一部分:包的详细信息描述$ rpm -qpi myddl-0.1-1.i386.rpm Name        : myddl                        Relocations: /u01/mysqlVersion     : 0.1                               Vendor: (none)Release     : 1                             Build Date: 2011年05月21日 星期六 01时01分07秒Install Date: (not installed)               Build Host: ningGroup       : applications/system           Source RPM: myddl-0.1-1.src.rpmSize        : 92615                            License: GPLSignature   : (none)Packager    : NinGooURL         : http://www.ningoo.net/Summary     : xxxDescription : xxx
SPEC文件第二部分:打包过程控制%prep 准备阶段解压SOURCES下的.tar.gz包%setup -q如果源.tar.gz包没有目录,则需要创建目录%setup -q -c -n %{name}-%{version}
编写SPEC文件第二部分:打包过程控制%build 编译阶段%configure宏或者自己./configure –prefix=%{_prefix}编译make -j `cat /proc/cpuinfo | grep processor | wc -l`
编写SPEC文件第二部分:打包过程控制%install 安装阶段%make_install宏或者自己make DESTDIR=$RPM_BUILD_ROOT installormake prefix=$RPM_BUILD_ROOT installorinstall -D xxx ${RPM_BUILD_ROOT}/%{_prefix}/
编写SPEC文件第二部分:打包过程控制%files RPM文件生成设置文件默认权限和属主%defattr(755,mysql,dba)%attr(755,mysql,dba) %{_prefix}/bin/*%doc %attr(644,mysql,dba) %{_prefix}/docs/*%config %attr(644,mysql,dba) %{_prefix}/conf/*
编写SPEC文件第三部分:安装卸载控制部分%pre 安装前执行%post 安装结束执行%preun卸载前执行%postun卸载后执行
MySQL5.1打包演示…
MySQL5.5打包演示…
RPM包安装卸载安装(只有relocatable的可以使用prefix执行另外的安装目录)rpm -i -prefix mysql-5.1.48.1.x86_64.rpm卸载rpm -e mysql升级rpm –Uvh mysql-5.1.49.1.x86_64.rpm
YUM(YellowDog Updater, Modified)配置文件/etc/yum//etc/yum.conf/etc/yum.repos.d
YUM(YellowDog Updater, Modified)安装/更新/卸载yum install mysqlyum update mysqlyum remove mysql
YUM(YellowDog Updater, Modified)上传RPM到YUM仓库上传工具sudo yum install yumtools -b current*-b 分支,包括stable, current, test配置yum…上传yum-upload --osver=5 --arch=x86_64 --group=dba mysql-5.1.48-1.x86_64.rpm -b test
参考Maximum RPM
RPM包rpmbuild SPEC文件深度说明追求简单,做到极致The EndThanks~~

More Related Content

PPT
Cassandra运维之道(office2003)
PPTX
Cassandra运维之道
PPTX
5, system admin
DOC
Mysql proxy+mysql-mmm
DOC
Nagios的安装部署和与cacti的整合(linuxtone)
PPT
Mysql展示功能与源码对应
PDF
Infiniflash benchmark
PDF
九州通 Tsm重新配置文档(2008 11 10)
Cassandra运维之道(office2003)
Cassandra运维之道
5, system admin
Mysql proxy+mysql-mmm
Nagios的安装部署和与cacti的整合(linuxtone)
Mysql展示功能与源码对应
Infiniflash benchmark
九州通 Tsm重新配置文档(2008 11 10)

What's hot (18)

PDF
Linux chapt3
PDF
Linux基础
PDF
Bypat博客出品-利用cent os快速构建自己的发行版
ODP
The New Process No. 1 of Linux -- SystemD
PDF
Debian Policy - 5.6.12 Version
PPT
Cfengine培训文档 刘天斯
PDF
Golang advance
PDF
Golang 高性能实战
PDF
Linux network monitoring hands-on pratice
PDF
开源Pass平台flynn功能简介
PDF
Mysql fast share
DOC
Linux必学的60个命令
PPTX
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
DOC
X64服务器 lamp服务器部署标准 new
XLS
Puppet安装总结
PPT
Effective linux.3.(diagnosis)
PDF
基于MHA的MySQL高可用方案
PPT
Hadoop平台搭建
Linux chapt3
Linux基础
Bypat博客出品-利用cent os快速构建自己的发行版
The New Process No. 1 of Linux -- SystemD
Debian Policy - 5.6.12 Version
Cfengine培训文档 刘天斯
Golang advance
Golang 高性能实战
Linux network monitoring hands-on pratice
开源Pass平台flynn功能简介
Mysql fast share
Linux必学的60个命令
《保哥線上講堂》打造一個具有 Linux 溫度的 Windows 命令提示字元工具
X64服务器 lamp服务器部署标准 new
Puppet安装总结
Effective linux.3.(diagnosis)
基于MHA的MySQL高可用方案
Hadoop平台搭建
Ad

Viewers also liked (20)

TXT
dell服务器raid冷迁移方法
PPTX
数据库系统设计漫谈
PDF
Oracle my sql-or-nosql
PPTX
Hbase运维碎碎念
PDF
垂直互联网站点的技术改造
PPT
低成本和高性能MySQL云架构探索
PPTX
Cpu高效编程技术
PPTX
Erlang分布式系统的的领域语言
DOCX
Hp dl380 g7测试结果报告 - 20100823
DOC
MySQL 6.0 下的cluster + replicate - 20080220
PDF
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
DOCX
Handler socket测试报告 - 20110422
DOC
ibbackup vs mysqldump对比测试 - 20080718
DOCX
Tpcc mysql使用手册 - 20120329
DOCX
Xtrabackup工具使用简介 - 20110427
DOCX
InnoDB引擎数据表压缩特性测试 - 20120329
PDF
服务器基准测试-叶金荣@CYOU-20121130
TXT
mysql cluster测试记录 - 20120905
PPTX
Cgroup lxc在17173 iaas应用池中应用
PDF
MySQL运维那些事
dell服务器raid冷迁移方法
数据库系统设计漫谈
Oracle my sql-or-nosql
Hbase运维碎碎念
垂直互联网站点的技术改造
低成本和高性能MySQL云架构探索
Cpu高效编程技术
Erlang分布式系统的的领域语言
Hp dl380 g7测试结果报告 - 20100823
MySQL 6.0 下的cluster + replicate - 20080220
PC服务器阵列卡管理简易手册 叶金荣@CYOU-20121223
Handler socket测试报告 - 20110422
ibbackup vs mysqldump对比测试 - 20080718
Tpcc mysql使用手册 - 20120329
Xtrabackup工具使用简介 - 20110427
InnoDB引擎数据表压缩特性测试 - 20120329
服务器基准测试-叶金荣@CYOU-20121130
mysql cluster测试记录 - 20120905
Cgroup lxc在17173 iaas应用池中应用
MySQL运维那些事
Ad

Similar to 使用Rpm&yum进行基础软件管理 (20)

DOC
Kick start无人值守批量安装linux
DOC
Android系统移植技术详解
ODP
GNU Autoconf / Automake #1
PDF
Ruby on Rails 開發環境建置 for Mac
PDF
Ruby on Rails 開發環境建置 for Ubuntu
PPT
OSGi Small Lab
DOC
尚观Linux研究室 linux驱动程序全解析
DOC
Centos下安装apache + subversion
KEY
LinuxGuide4F2E
KEY
Linuxguide4f2e
PPTX
Ian 20150515 grunt
DOC
Oraliux+mysql5单机多实例安装文档
ODP
GNU Build System
PDF
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
PDF
Build Your Own Android Toolchain from scratch
PDF
Apache安装配置mod security
PDF
Bitbucket pipeline CI
DOC
康盛创想项目部Linux 服务器部署标准(最新版)
PPTX
Gentoo linux
PPT
使用Nginx轻松实现开源负载均衡
Kick start无人值守批量安装linux
Android系统移植技术详解
GNU Autoconf / Automake #1
Ruby on Rails 開發環境建置 for Mac
Ruby on Rails 開發環境建置 for Ubuntu
OSGi Small Lab
尚观Linux研究室 linux驱动程序全解析
Centos下安装apache + subversion
LinuxGuide4F2E
Linuxguide4f2e
Ian 20150515 grunt
Oraliux+mysql5单机多实例安装文档
GNU Build System
使用 Load Balancer 與 Redis 部署 LAMP Server 高併發架構 - Global Azure Taiwan 20200425 ...
Build Your Own Android Toolchain from scratch
Apache安装配置mod security
Bitbucket pipeline CI
康盛创想项目部Linux 服务器部署标准(最新版)
Gentoo linux
使用Nginx轻松实现开源负载均衡

使用Rpm&yum进行基础软件管理