环境内核信息:
[root@zabbix-01 ~]# uname -a
Linux lodboyedu-01 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux

搭建YUM仓库

创建yum仓库目录

mkdir -p /application/yum/centos6./x86_64/
cd /application/yum/centos6./x86_64/
rz # 可以将已经定制好的rpm包上传到此目录,此目录下面还可以包括文件夹

安装createrepo软件

createrepo是linux下的创建仓库的软件包。create是创建的意思,repo是repository的缩写,是仓库的意思。
yum -y install createrepo

初始化repodata索引文件

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

提供yum服务

# 可以用Apache或nginx提供web服务,但用Python的http模块更简单,适用于内网环境
cd /application/yum/centos6./x86_64/
python -m SimpleHTTPServer &>/dev/null &
通过浏览器输入本机IP,能够出现yum仓库中的rpm信息就好。

我这里使用的nginx

nginx配置文件
server {
listen ;
server_name 10.0.0.61;
location / {
root /application/yum/centos6./x86_64;
index index.html index.htm;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
}
error_page /50x.html;
location = /50x.html {
root html;
}
}

如果觉得自己的yum仓库中的软件太少,可以下载添加

# 只下载软件不安装
yumdownloader pcre-devel openssl-devel
# 每加入一个rpm包就要更新一下。
createrepo --update /application/yum/centos6.9/x86_64/
# cat /etc/yum.conf
keepcache=1 ---- 保存下载的包
# 安装包存储目录
cachedir=/var/cache/yum/$basearch/$releasever
# /var/cache/yum/x86_64//base/packages

客户端配置

# cd /etc/yum.repos.d
[root@zxpo yum.repos.d]# vi shizhi.repo
[shizhi]
name=Server
baseurl=http://10.0.0.66
enable=
gpgcheck=
[root@zxpo ~]# yum --enablerepo=shizhi --disablerepo=base,extras,updates,epel list
# 指定使用shizhi库
上面是临时使用内网yum源,想永久并简单使用yum -y install lrzsz命令,就需要修改配置文件将默认的repo文件关闭。
[root@zxpo ~]# cd /etc/yum.repos.d/
[root@zxpo yum.repos.d]# vim CentOS-Base.repo
# 在每一个启动的源加上
# enabled= #改为1就启用,没有此参数也是启用。
[base]
…………
enabled=
[updates]
…………
enabled=
[extras]
…………
enabled=
# 还有其他开启的仓库就使用这个办法关闭。

RPM软件包定制

支持的源类型包

dir           将目录打包成所需要的类型,可以用于源码编译安装的软件包
rpm         对rpm进行转换
gem        对rubygem包进行转换
python    将python模块打包成相应的类型

支持的目标类型包
rpm         转换为rpm包
deb         转换为deb包
solaris     转换为solaris包
puppet    转换为puppet模块

FPM安装

第一步、安转依赖

yum -y install ruby rubygems ruby-devel

第二步、更改仓库

更改ruby仓

gem source --add http://mirrors.aliyun.com/rubygems/  --remove http://rubygems.org/

查看当前仓库源

gem sources list

第三步、安装fpm 和json

gem install json -v 1.8.
gem install fpm -v 1.3.

FRM参数

详细使用见fpm –help
-s    指定源类型
-t    指定目标类型,即想要制作为什么包
-n    指定包的名字
-v    指定包的版本号
-C    指定打包的相对路径 Change directory to here before searching forfiles
-d    指定依赖于哪些包
-f    第二次打包时目录下如果有同名安装包存在,则覆盖它
-p    输出的安装包的目录,不想放在当前目录下就需要指定
--post-install    软件包安装完成之后所要运行的脚本;同--after-install
--pre-install    软件包安装完成之前所要运行的脚本;同--before-install
--post-uninstall   软件包卸载完成之后所要运行的脚本;同--after-remove
--pre-uninstall    软件包卸载完成之前所要运行的脚本;同--before-remove

Nginx打包语句参考

第一步:创建脚本:

[root@yum scripts]# vim nginx_rpm.sh # 这是安装完rpm包要执行的脚本
#!/bin/bash
useradd www -M -s /sbin/nologin -u
ln -s /application/nginx-1.10./ /application/nginx

第二步:制作fpm包

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

第三步:当前路径查看fpm包(ls)

PHP打包语句参考

第一步:创建脚本:

vim /server/scripts/php_rpm.sh
#!/bin/bash
ln -s /application/php-5.5./ /application/php

第二步:制作fpm包

fpm -s dir -t rpm -n php -v 5.5 -d 'zlib-devel,libxml2-devel,libjpeg-devel,libmcrypt-devel,libjpeg-turbo-devel,freetype-devel,libpng-devel,gd-devel,libcurl-devel,libxslt-devel,mhash,mcrypt' --post-install /server/scripts/php_rpm.sh -f /usr/local/libiconv/ /application/php-5.5./ 

第三步:当前路径查看fpm包(ls)

本地yum仓库搭建及rpm软件包定制的更多相关文章

  1. Firewalld共享上网及本地yum仓库搭建

    1.firewalld共享上网 1.服务端操作(有外网的服务器) 1.开启防火墙并加入开机自启动 [root@zeq ~]# systemctl start firewalld [root@zeq ~ ...

  2. 定制化rpm包及本地yum仓库搭建

    为方便本地yum的管理,一般都是在公司局域网内搭建本地yum仓库,实现公司内部快速安装常用软件. 步骤如下: 1.搭建要实现本地yum管理的软件,测试该软件搭建成功与否: 2.定制rpm包及其相关依赖 ...

  3. linux运维、架构之路-rpm定制、本地yum仓库搭建

    一.定制rpm包 1.环境 [root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 ~]# uname - ...

  4. 本地YUM仓库搭建实战

    YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软 ...

  5. 本地yum仓库搭建,使用163yum源

    如果内部网络没有连接Internet就在本地配置yum仓库 将操作系统镜像上传到服务器中,进行挂载 mount –o loop rhel-server-6.7-x86_64-dvd.iso /mnt ...

  6. linux之yum源的RPM软件包管理

    1.yum源的配置文件 路径:vim /etc/yum.repos.d/CnetOS-Base.repo 文件格式: 2.yum查询 yum list 查询所有可用软件包 yum search 包名 ...

  7. 自动化利器-YUM仓库搭建实战

    本地YUM仓库搭建实战 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的reposito ...

  8. Linux服务器redhat配置本地yum源

    前面给大家介绍了很多在Linux安装软件的知识,这些软件往往依赖了很多第三方的工具或者软件,如果在Linux服务器有外网的情况,咱们可以通过yum install这样的命令直接去安装这些相关的工具或者 ...

  9. RHEL7 本地yum源配置

    配置yum 源 1.挂载DVD光盘到/mnt   因为配置时候路径名里面不能有空格,否则不能识别  [root@ mnt]# mount /dev/cdrom /mnt 2.在目录/etc/yum.r ...

随机推荐

  1. Pick apples(大范围贪心,小范围完全背包)

    Pick apples Time Limit: 1000MS Memory Limit: 165536KB Submit Statistic Discuss Problem Description O ...

  2. Android 开发笔记___textvieww__跑马灯效果

    <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...

  3. C# orderby子句

    注意:对联接运算的结果进行排序. 请注意,排序在联接之后执行. 虽然可以在联接之前将 orderby 子句用于一个或多个源序列,不过通常不建议这样做. 某些 LINQ 提供程序可能不会在联接之后保留该 ...

  4. centos命令自动补全增强

    CentOS默认没有像Ubuntu系统一样命令参数补全功能,例如yum install无法补全.通过安装bash-completion安装命令参数补全增强. CentOS6 默认情况下,CentOS6 ...

  5. ②bootstrap栅栏使用基础案例

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

  6. Problem F: 合唱比赛开始了!

    Problem F: 合唱比赛开始了! Time Limit: 1 Sec  Memory Limit: 128 MBSubmit: 440  Solved: 201[Submit][Status][ ...

  7. 微信小程序语音识别服务搭建全过程解析(https api开放,支持新接口mp3录音、老接口silk录音)

    silk v3(或新录音接口mp3)录音转olami语音识别和语义处理的api服务(ubuntu16.04服务器上实现) 重要的写在前面 重要事项一: 所有相关更新,我优先更新到我个人博客中,其它地方 ...

  8. 最小k个数

    题目 输入n个整数,找出其中最小的K个数.例如输入4,5,1,6,2,7,3,8这8个数字,则最小的4个数字是1,2,3,4,. 思考 方法0: 直接排序然后返回前k个,最好的时间复杂度为 O(nlo ...

  9. threejs 组成的3d管道,寻最短路径问题

    threejs 里面的3d管道的每个节点ID是唯一的,且对应x,y,z坐标.那么当需要从A点到B点的时候,可能出现有多条路径可走,此时便需要求出最短行走路径,因此用到一个寻路径算法.我们将问题简化如下 ...

  10. Three.js 保存camera(视角)设置到数据库,包括场景的缩放、旋转、移动等

    最近在做的项目中遇到需要保存当前的3d管道视角设置的问题,用户希望在对3d场景内的管道进行了缩放.旋转.移动之后可以将场景当前的视角状态保存在数据库中,并在下次加载时读取. 经过不断的尝试和研究,在同 ...