zoukankan      html  css  js  c++  java
  • 本地yum仓库搭建及rpm软件包定制

    环境内核信息:
    [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.9/x86_64/
    cd /application/yum/centos6.9/x86_64/
    rz    # 可以将已经定制好的rpm包上传到此目录,此目录下面还可以包括文件夹

    安装createrepo软件

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

    初始化repodata索引文件

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

    提供yum服务

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

    我这里使用的nginx

    nginx配置文件
    server { listen
    80; server_name 10.0.0.61; location / { root /application/yum/centos6.9/x86_64; index index.html index.htm; autoindex on; autoindex_exact_size on; autoindex_localtime on; } error_page 500 502 503 504 /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/6/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=1
    gpgcheck=0
    [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=0 #改为1就启用,没有此参数也是启用。
    [base]
    …………
    enabled=0
    [updates]
    …………
    enabled=0
    [extras]
    …………
    enabled=0
    # 还有其他开启的仓库就使用这个办法关闭。

    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.3
    gem install fpm -v 1.3.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 2222
    ln -s /application/nginx-1.10.2/ /application/nginx

    第二步:制作fpm包

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

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

    PHP打包语句参考

    第一步:创建脚本:

    vim /server/scripts/php_rpm.sh
    #!/bin/bash
    ln -s /application/php-5.5.32/ /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.32/ 

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

  • 相关阅读:
    android自定义View之NotePad出鞘记
    一个电商项目的Web服务化改造
    一个电商项目的Web服务化改造
    POJ 2886 Who Gets the Most Candies?
    POJ 2392 Space Elevator
    POJ 1276 Cash Machine
    POJ 2063 Investment
    CodeForces 159c String Manipulation 1.0
    Gym
    FZU 1921 栀子花开
  • 原文地址:https://www.cnblogs.com/lyq863987322/p/7813290.html
Copyright © 2011-2022 走看看