建立自已的YUM源服务器,并rpmbuild自已的rpm包

来源:互联网 发布:js改变style display 编辑:程序博客网 时间:2024/05/19 03:44

创建自已的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:golangVersion:1.8.1Release:1%{?dist}Summary:golangBinnary#Group: systemLicense:GPLDistribution:Red Hat Linux#URL:http://golang.org#Source0:go1.8.1.linux-amd64.tar.gzRequires:glibcAutoreq:0%define userpath /usr/local%descriptiongolang 1.8.1#%prep#tar -xzvf ${RPM_SOURCE_DIR}/go1.8.1.linux-amd64.tar.gz%installinstall -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%cleanrm -fr $RPM_BUILD_ROOT/*rm -fr $RPM_BUILD_DIR/*%files%defattr(-,root,root,-)%doc%{userpath}/go%changelog


0 0