rpm包定制+yum仓库搭建

1、实验环境

[[email protected] ~]# cat /etc/redhat-release

CentOS release 6.9 (Final)

[[email protected] ~]# uname -r

2.6.32-696.el6.x86_64

[[email protected] ~]# uname -m

x86_6

[[email protected] ~]# hostname -I

10.0.0.61 172.16.1.61

2、实验中所涉及到的目录

mkdir -p /server/scripts   ####创建脚本的存放目录

mkdir -p /home/oldboy/tools  #####创建软件包的存放目录

mkdir -p /application/yum/centos6.9/x86_64/  ####创建yum仓库目录

3、开启yum安装的缓存

sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf

grep 'keepcache=1' /etc/yum.conf

find /var/cache/ -type f -name "*.rpm"

find /var/cache/ -type f -name "*.rpm"|xargs rm -f   ####清空之前的缓存

4、安装fpm

yum install ruby rubygems ruby-devel -y  ###安装FPM模块

gem sources -a http://mirrors.aliyun.com/rubygems/   ###添加国内的ruby仓库

gem sources --remove http://rubygems.org/    ###移除原生的ruby仓库

gem install fpm -v 1.3.3   ###安装指定的fpm

#####################安装过程中出现下面错误的解决方案#####################

+++++++错误信息+++++++++

[[email protected] ~]# gem install fpm -v 1.3.3

ERROR:  Error installing fpm:

json requires Ruby version >= 1.9.

+++++++解决方案+++++++++

curl -L get.rvm.io|bash -s stable

source /etc/profile.d/rvm.sh     #####然后根据结尾的提示执行

rvm -v

rvm list known   ####列出ruby的版本

rvm install 2.3.0   #####以更新2.3.0为例

ruby -v   ####查看ruby的版本

gem install fpm -v 1.3.3   ####再次执行此条命令即可安装成功

5、FPM实战安装Nginx

####安装nginx

useradd www -s /sbin/nologin -M   ####创建nginx进程用户

yum install openssl-devel pcre-devel -y

cd /home/oldboy/tools

wget -q http://nginx.org/download/nginx-1.6.3.tar.gz

tar xf nginx-1.6.3.tar.gz

cd nginx-1.6.3

./configure \

--user=www \ ==>进程用户权限

--group=www \ ==>进程用户组权限

--prefix=/application/nginx-1.6.3 \  ==>设置安装路径

--with-http_ssl_module \  ==>激活状态信息

--with-http_stub_status_module   ==>激活ssl功能

make

make install

ln -s /application/nginx-1.6.3/ /application/nginx

####创建脚本文件

cd /server/scripts

cat nginx_rpm.sh

#!/bin/bash

useradd www -s /sbin/nologin -M

ln -s /application/nginx-1.6.3/ /application/nginx

####fpm打包

fpm -s dir -t rpm -n nginx -v 1.6.3 -d 'pcre-devel,openssl-devel' --post-install /server/scripts/nginx_rpm.sh -f /application/nginx-1.6.3/

####yum仓库的搭建

####将其移动到/server/yum/centos6.9/x86_64/ 目录中

cp nginx-1.6.3-1.x86_64.rpm /application/yum/centos6.9/x86_64/

yum -y install createrepo  ####安装createrepo

find /var/cache/ -type f -name "*rpm"|xargs cp -t /tmp/

cd /tmp/ && tar zcf nginx_yum.tar.gz *.rpm

cp nginx_yum.tar.gz /application/yum/centos6.9/x86_64/

createrepo -pdo /application/yum/centos6.9/x86_64/ /application/yum/centos6.9/x86_64/

python -m SimpleHTTPServer 80 &>/dev/null &   ###提供yum服务仅在内网中测试使用 长久的方法是搭建http或者nginx

createrepo --update /application/yum/centos6.9/x86_64/  ####在加入新rpm包后需要更新

####修改客户端的yum源

mkdir /tmp/yum/

mv /etc/yum.repos.d/* /tmp/yum/

cd  /etc/yum.repos.d/

cat oldboy.repo

[oldboy]

name=Server

baseurl=http://10.0.0.61

enable=1

gpgcheck=0

yum clean all

yum install nginx

FPM实战安装Mysql

####安装mysql

cd /home/oldboy/tools/

rz

tar xf mysql-5.5.49-linux2.6-x86_64.tar.gz

mv mysql-5.5.49-linux2.6-x86_64 /application/mysql-5.5.49

ln -s /application/mysql-5.5.49/ /application/mysql

####建立用户并授权

useradd mysql -s /sbin/nologin -M

chown -R mysql.mysql /application/mysql

####初始化数据库

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data/ --user=mysql

cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --list mysqld

chkconfig --add mysqld

chkconfig --list mysqld

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

/etc/init.d/mysqld start

cp -a  /application/mysql/bin/* /usr/local/sbin/

####创建脚本文件

cd /server/scripts/

cat  mysql_rpm.sh

#!/bin/bash

useradd -s /sbin/nologin -M mysql

ln -s /application/mysql-5.5.49/ /application/mysql

chown -R mysql.mysql /application/mysql-5.5.49/

/application/mysql/scripts/mysql_install_db --basedir=/application/mysql --datadir=/application/mysql/data --user=mysql

/bin/cp /application/mysql/support-files/my-small.cnf /etc/my.cnf

/bin/cp /application/mysql/support-files/mysql.server /etc/init.d/mysqld

chmod +x /etc/init.d/mysqld

chkconfig --add mysqld

chkconfig --list mysqld

sed -i 's#/usr/local/mysql#/application/mysql#g' /application/mysql/bin/mysqld_safe /etc/init.d/mysqld

/etc/init.d/mysqld start

/bin/cp -a /application/mysql/bin/* /usr/local/sbin/

####fpm打包

fpm -s dir -t rpm -n mysql -v 5.5.49 --post-install /server/scripts/mysql_rpm.sh -f /application/mysql-5.5.49

####建立索引文件

cp /server/scripts/mysql-5.5.49-1.x86_64.rpm /application/yum/centos/x86_64/

createrepo --update /application/yum/centos/x86_64/

####修改客户端的yum源

mkdir /tmp/yum/

mv /etc/yum.repos.d/* /tmp/yum/

cd  /etc/yum.repos.d/

cat oldboy.repo

[oldboy]

name=Server

baseurl=http://10.0.0.61

enable=1

gpgcheck=0

yum clean all

yum install mysql

原文地址:http://blog.51cto.com/lzhnb/2101617

时间: 2024-12-13 07:27:32

rpm包定制+yum仓库搭建的相关文章

定制RPM包及yum仓库搭建(以安装nginx为例)

一.前提条件 #下面通过虚拟机准备了一台服务端,一台客户端,基于外网IP测试,以安装nginx为例. #两台机器公共配置 [[email protected] ~]# cat /etc/redhat-release CentOS release 6.7 (Final) [[email protected] ~]# uname -m x86_64 [[email protected] ~]# uname -r 2.6.32-573.el6.x86_64 #服务端配置 [[email protect

一键自动化部署(定制rpm包,yum仓库)

部署--前篇 上午将MySQL多实例部署完成,由于有公司特定一些需求,需要源码安装,现在需要批量部署,如果一台台部署,就太过麻烦,而且浪费时间,这个时候自动化部署 就体现出价值了 我们将MySQL制作定制化rpm包,然后放到我们的yum仓库中,在将yum所有客户端,都指向yum源,之后就是喝喝茶,看看片,轻松批量部署了,废话不多说,开干. 如果MySQL多实例还没配置的,或不了解软件的安装方式 的 请参考:http://qiuyt.blog.51cto.com/1229789/1920686 一

RPM包定制

概述 问题:当领导给你 100 台已经安装好系统的服务器,然后让优化,让你提出一个快速部署方案.解答: 1.tar 打包 先编译安装 打包-->分发-->解包(比如 mysql 打包后直接就可以使用 2.SaltStack,puppet 3.定制 rpm yum 仓库 yum 安装 4.openstack 虚拟机镜像和 docker 容器分发 回顾下安装软件的三种方式:  1.编译安装软件,优点是可以定制化安装目录.按需开启功能等,缺点是需要查找并实验出适合的编译参数,诸如MySQL之类的软件

5周第1次课 安装软件包的三种方法 rpm包介绍 yum工具用法 yum搭建本地仓库

Linux 安装软件的三种方式 rpm 工具:此种安装方式即通过rpm 工具对介质上的rpm 包进行安装. yum 工具:核心依然是rpm,但不同的是它是基于网络的源,并会自动安装依赖组件. 源码包:源代码包,需要相应的编译器进行编译,然后才能安装.三种方式里最难的. 1.rpm 工具 rpm包的来源:光盘或其他地方拷贝本次实验,将Centos7虚拟光盘加载到虚拟机上 1.1 进入系统后执行挂载 [[email protected] ~]# mount /dev/cdrom /mntmount:

Fpm 之 tomcat-7.0.88 rpm 包定制

Fpm 之 tomcat-7.0.88 rpm 包定制 一.tomcat-7.0.88编译包安装 1.编译包下载 [[email protected] software]wget http://mirrors.tuna.tsinghua.edu.cn/apache/tomcat/tomcat-7/v7.0.88/bin/apache-tomcat-7.0.88.tar.gz 2.解压,并重定向到指定的安装存放路路 [[email protected] software]tar -zxvf apa

Fpm 之 Apache2 rpm 包定制

Fpm 之 Apache2 rpm 包定制 一.下载Apache2 的所需的安装编译包 apr包下载:(/app/software) wget http://mirror.bit.edu.cn/apache//apr/apr-1.6.3.tar.gz arp-util包下载:(/app/software) http://mirror.bit.edu.cn/apache//apr/apr-util-1.6.1.tar.gz httpd-2.4.33包下载:(/app/software) wget

二十二、yum更换国内源、yum下载rpm包、yum源码包安装

一.yum更换国内源(更换yum仓库源) 1. # cd /etc/yum.repos.d/          进入到这个目录里边 2. # rm -f dvd.repo                    删除之前创建的这个文件 # cp ../yum.repos.d.bak/* .       复制之前备份的文件回来 # rm -f CentOS-Base.repo        将最核心的这个文件删除,可以ls查看到 3.# wget http://mirrors.163.com/.he

实战定制YUM仓库搭建

1.1 yum仓库介绍 YUM(Yellow dog Updater,Modified)主要的功能是方便添加.删除和更新rpm软件包.可以解决软 件包依存问题,更便于管理大量的系统更新问题.它可以同时配置多个仓库或叫资源库(repository),就 是存放更新和依存的软件包的地方. 1.2 开始搭建yum仓库 1. 安装createrepo软件:      yum -y install createrepo 2. 创建yum仓库目录 mkdir -p /application/yum/cent

将自定义RPM包加入YUM 源

将自定义的rpm包加入私有yum源,步骤如下: 1.查看当前repodata位置 yum源最主要的就是找到repodata目录下的repomd.xml,从此处获得相关的依赖关系 在我的系统中,切换到存放自定义rpm包的目录: [[email protected] ~]# cd /data/yum_repo/evunrpms/ [[email protected] evunrpms]# ll 总用量 4370 drwxr-xr-x 2 root root    1024 7月  29 11:20