本地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./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软件包定制的更多相关文章
- Firewalld共享上网及本地yum仓库搭建
1.firewalld共享上网 1.服务端操作(有外网的服务器) 1.开启防火墙并加入开机自启动 [root@zeq ~]# systemctl start firewalld [root@zeq ~ ...
- 定制化rpm包及本地yum仓库搭建
为方便本地yum的管理,一般都是在公司局域网内搭建本地yum仓库,实现公司内部快速安装常用软件. 步骤如下: 1.搭建要实现本地yum管理的软件,测试该软件搭建成功与否: 2.定制rpm包及其相关依赖 ...
- linux运维、架构之路-rpm定制、本地yum仓库搭建
一.定制rpm包 1.环境 [root@m01 ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [root@m01 ~]# uname - ...
- 本地YUM仓库搭建实战
YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的repository(软件仓库),这个软 ...
- 本地yum仓库搭建,使用163yum源
如果内部网络没有连接Internet就在本地配置yum仓库 将操作系统镜像上传到服务器中,进行挂载 mount –o loop rhel-server-6.7-x86_64-dvd.iso /mnt ...
- linux之yum源的RPM软件包管理
1.yum源的配置文件 路径:vim /etc/yum.repos.d/CnetOS-Base.repo 文件格式: 2.yum查询 yum list 查询所有可用软件包 yum search 包名 ...
- 自动化利器-YUM仓库搭建实战
本地YUM仓库搭建实战 YUM主要用于自动安装.升级rpm软件包,它能自动查找并解决rpm包之间的依赖关系.要成功的使用YUM工具安装更新软件或系统,就需要有一个包含各种rpm软件包的reposito ...
- Linux服务器redhat配置本地yum源
前面给大家介绍了很多在Linux安装软件的知识,这些软件往往依赖了很多第三方的工具或者软件,如果在Linux服务器有外网的情况,咱们可以通过yum install这样的命令直接去安装这些相关的工具或者 ...
- RHEL7 本地yum源配置
配置yum 源 1.挂载DVD光盘到/mnt 因为配置时候路径名里面不能有空格,否则不能识别 [root@ mnt]# mount /dev/cdrom /mnt 2.在目录/etc/yum.r ...
随机推荐
- EduSoho程序上线实录
1.1 修改配置文件 [root@web01 nginx]# cat /application/nginx/conf/extra/edusoho.conf server { listen 80; se ...
- JDBC(MySQL)一周学习总结(二)
上一篇文章我们总结了获取数据库连接以及操作数据表的一些知识点,本篇将继续上次的文章给大家分享! 1. 上一篇文章我们可以对数据表进行增删改查的操作了,对与一些小项目的部分功能我们也足以胜任.但现在有一 ...
- Unity 游戏框架搭建 (七) 减少加班利器-QApp类
本来这周想介绍一些框架中自认为比较好用的小工具的,但是发现很多小工具都依赖一个类----App. App类的职责: 1.接收Unity的生命周期事件. 2.做为游戏的入口. 3.一些框架级别的组件初始 ...
- 【吐槽】关于256个 class可以覆盖一个id的问题
还是说今天下午面试的事情,被面试官问了 40多分钟的问题,我觉得丫 一定是从哪个网站down了几份面试题,自个儿整合了一下,然后挨个问,刚开始感觉哟,不错哦,面试官懂的蛮多的. 然后问到某个问题之后, ...
- css-子div设置margin-top影响父div
父元素的第一个子元素的上边距margin-top如果碰不到有效的border或者padding.就会不断一层一层的找自己父元素,祖先元素,所有需要在父元素设置border,或者padding
- layui + jfinal 实现上传下载
1.需要把jfinal的环境配置好 2.导入相关的库文件 layui的库文件 就是这两个文件需要导入到自己的页面 注意:jfinal总会把路径拦截,所以需要静态文件处理.本人不太懂.就网上找了下,说w ...
- 讨论.NET Core 配置对GC 工作模式与内存的影响
引出问题: Asp.net core应用在 Kubernetes上内存使用率过高问题分析 https://mp.weixin.qq.com/s/PqhUzvFpzopU7rVRgdy7eg 这篇文章中 ...
- 利用java的net包来实在数据采集的功能
最近有好多朋友问我,数据抓取用java怎么做,就是每天把新浪的内地新闻频道的新闻前20条,抓到自己的网站或系统里,今天我统一在这里提供一个简单的例子,由于在这个过程中还需要解析html字符串,所以,我 ...
- VIM于换行EOL的思考
\n LF 0A 将当前光标切换到下一行(不一定行首)\r CR OD 将当前光标置于行首 在windows与unix系统中,unix将\n代表换行并置于行首,而windows保持原意.即unix:\ ...
- java SE 基础概念梳理(一)
(一)First 摘要:Java概述.Java开发环境搭建.程序开发流程 Java概述 Java的应用 开发QQ.迅雷程序(桌面应用软件)开发淘宝.京东(互联网应用软件) Java的擅长 互联网: ...