创建自已的yum源
//使用centos6.5光盘的包列表,建立自已的yum服务器
1.创建服务器rpm包存放目录
#mkdir -p /yum_repo/centos/6/x86_64
//创建索引
#createrepo -v /yum_repo/centos/6/x86_64
//复制光盘的rpm包到服务器目录列表
#cp /media/CentOS_6.5_Final/Packages/* /yum_repo/centos/6/x86_64
//复制rpm索引,省得重建索引了
#cp -rv /media/CentOS_6.5_Final/repodata /yum_repo/centos/6/x86_64/
#更新索引
#createrepo --update -v /yum_repo/centos/6/x86_64
2.把目录挂到nginx上,对外提供yum源
//添加nginx_host配置
server {
listen 8081;
server_name xxx.com;
location / {
root /yum_repo;
autoindex on;
autoindex_exact_size on;
autoindex_localtime on;
#index index.html index.htm;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
3.使用yum源
//备份yum源配置
#mv /etc/yum.repo.d/*.repo /etc/yum.repo.d/bak
#vim /etc/yum.repo.d/xxx.com.repo
内容如下:
[xxx.com]
name=songaimin-jios-org
baseurl=http://xxx.com:8081/centos/$releasever/$basearch/
enabled=1
gpgcheck=0
//使用root帐号
#su root
//添空本地缓存
#yum clean all
//重新yum缓存
#yum makecache
//测试
#yum search pcel
4.使用rpmbuild打包软件,如下以golang-1.8.1为例
//安装rpm相关包开发开具
#yum install rpm* rpm-devel rpmdevtools
//下载golang-1.8.1
#cd ~
#wget https://storage.googleapis.com/golang/go1.8.1.linux-amd64.tar.gz
//编写.spec文件
#rpmdev-newspec -o golang.spec
#vim golang.spec
#cp golang.spec rpmbuild/SPECS/
//创建rpm包项目结构
#rpmdev-setuptree
#cd ~/rpmbuild
#copy go1.8.1.linux-amd64.tar.gz rpmbuild/SOURCE/
//生成rpm包
#cd SPECS
#rpmbuild -bb golang.spec
//复制生成.rpm包,到自已yum服务器目录
#cp RPMS/x86_64/golang-1.8.1-1.el6.x86_64.rpm /yum_repo/centos/6/x86_64
部署成生成的yum包
//生成rpm包
#cd SPECS
#rpmbuild -bb golang.spec
//复制生成.rpm包,到自已yum服务器目录
#cp RPMS/x86_64/golang-1.8.1-1.el6.x86_64.rpm /yum_repo/centos/6/x86_64
//更新yum服务器索引
#createrepo --update -v /yum_repo/centos/6/x86_64
//yum客户端 重新yum makecache 即可
下载其它源的rpm包,加到自已的yum源服务器,以nginx为例
//安装yum downloadonly插件
#yum -y install yum-downloadonly
#yum -y install --downloadonly --downloaddir=/yum_repo/centos/6/x86_64 nginx
//更新服务器索引
#createrepo --update -v /yum_repo/centos/6/x86_64
//下载时注意,如果已经安装过要下载的rpm包,请先行卸载:
#yum remove nginx
vim golang.spec 如下:
Name:golang
Version:1.8.1
Release:1%{?dist}
Summary:golangBinnary
#Group: system
License:GPL
Distribution:Red Hat Linux
#URL:http://golang.org
#Source0:go1.8.1.linux-amd64.tar.gz
Requires:glibc
Autoreq:0
%define userpath /usr/local
%description
golang 1.8.1
#%prep
#tar -xzvf ${RPM_SOURCE_DIR}/go1.8.1.linux-amd64.tar.gz
%install
install -d $RPM_BUILD_ROOT%{userpath}
tar -C $RPM_BUILD_ROOT%{userpath} -xzf ${RPM_SOURCE_DIR}/go1.8.1.linux-amd64.tar.gz
#sudo tar -C /usr/local -xzf ${RPM_SOURCE_DIR}/go1.8.1.linux-amd64.tar.gz
#sudo cp -r ${RPM_SOURCE_DIR}/go /usr/local/
#export PATH=$PATH:/usr/local/go/bin
%clean
rm -fr $RPM_BUILD_ROOT/*
rm -fr $RPM_BUILD_DIR/*
%files
%defattr(-,root,root,-)
%doc
%{userpath}/go
%changelog