环境内核信息:
[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. Thinkphp5 常量设置问题

    楼主是之前使用了thinkphp3.2快两年了,很早就听说过thinkphp的版本已经到达5了. 不过鉴于早期的版本尚未完善,并没有立即开始学习.最近做一个项目,尝试一下新的知识. 但是在使用的时候, ...

  2. Python pip 下载速度慢? Windows 设置 国内源,用 阿里云 国内镜像 加速

    pip 提供了对 Python 包的查找.下载.安装.卸载的功能,是非常方便的 Python 包管理工具.但是,令人苦恼的是 pip 在国内的下载速度非常慢,速度常常只有每秒几十 K,甚至才几 K,小 ...

  3. MySQL服务相关

    1.管理员身份运行cmd方法: 在C:\Windows\System32\cmd.exe右键以管理员身份运行 2.查看MySQL服务选项(路径:任务管理器-服务tab-选中任一服务点击打开服务-进入服 ...

  4. maven构建SSM--pox.mxl

    最近在做项目,把maven构建SSM的pom.xml文件内容小结一下: 在console中输入如下内容,使用maven创建java web项目: mvn archetype:generate -Dgr ...

  5. 一:MySQL数据库的性能的影响分析及其优化

    MySQL数据库的性能的影响分析及其优化 MySQL数据库的性能的影响 一. 服务器的硬件的限制 二. 服务器所使用的操作系统 三. 服务器的所配置的参数设置不同 四. 数据库存储引擎的选择 五. 数 ...

  6. Jdbc访问数据库篇

    一万年太久,只争朝夕 What JDBC 上部 JDBC(Java DataBase Connectivity)Java 数据库连接,主要提供编写 Java 数据库应用程序的 API 支持 java. ...

  7. 主机和VMware中的Linux如实现共享文件夹

    当我在网上查了几小时的挂载文件夹方法后发现,VMware中的Linux的挂载和双系统的挂载不同 最终目的就是在/mnt目录下有个hgfs的文件夹 效果图: 首先打开VMware中的Linux系统 具体 ...

  8. asp.net web api 文件上传

    1正确的做法 public class AvaterController : BaseApiController { [HttpPost] public async Task<IHttpActi ...

  9. 深度学习之tensorflow (一)

    一.TensorFlow简介 1.TensorFlow定义: tensor  :张量,N维数组 Flow   :  流,基于数据流图的计算 TensorFlow : 张量从图像的一端流动到另一端的计算 ...

  10. ecshop添加菜单以及权限分配

    增加菜单并添加权限: admin/includes/inc_menu.php 添加 $modules['**_name1']['name2'] = 'your href' admin/includes ...