溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

定制rpm包及搭建yum倉庫

發(fā)布時間:2020-06-25 10:13:30 來源:網(wǎng)絡 閱讀:483 作者:Nguyen 欄目:建站服務器

定制rpm包及搭建yum倉庫

 

第1章 定制rpm包

 

1.FPM打包工具

FPM的作者是jordansissel
FPM的github:
https://github.com/jordansissel/fpm
FPM
功能簡單說就是將一種類型的包轉(zhuǎn)換成另一種類型。


支持的源類型包:

dir         將目錄打包成所需要的類型,可以用于源碼編譯安裝的軟件包

rpm         對rpm進行轉(zhuǎn)換

gem         對rubygem包進行轉(zhuǎn)換

python      將python模塊打包成相應的類型

2.fpm安裝

[root@student ~]# yum -y install ruby rubygemsruby-devel        

安裝ruby模塊

[root@web01 ~]# gem sources -ahttp://mirrors.aliyun.com/rubygems/

http://mirrors.aliyun.com/rubygems/ added tosources

添加阿里云的Rubygems倉庫,國外資源會影響下載速度

[root@student ~]# gem sources --removehttp://rubygems.org/  

http://rubygems.org/ removed from sources

移除原生的ruby倉庫

[root@student ~]# gem installfpm        

安裝fpm

 

3.fpm常用參數(shù)

-s  #指定源類型

-t  #指定目標類型,即想要制作為什么包

-n  #指定包的名字

-v  #指定包的版本號

-C  #指定打包的相對路徑  Change directory tohere before searching forfiles

-d  #指定依賴于哪些包

-f  #第二次打包時目錄下如果有同名安裝包存在,則覆蓋它

-p  #輸出的安裝包的目錄,不想放在當前目錄下就需要指定

--post-install #軟件包安裝完成之后所要運行的腳本;同--after-install

--pre-install #軟件包安裝完成之前所要運行的腳本;同--before-install

--post-uninstall #軟件包卸載完成之后所要運行的腳本;同--after-remove

--pre-uninstall #軟件包卸載完成之前所要運行的腳本;同--before-remove

 

 

4. 安裝nginx

yum -y install pcre-devel openssl-devel

useradd nginx -M -s /sbin/nologin

tar xf nginx-1.6.2.tar.gz

cd nginx-1.6.2

 

./configure --prefix=/application/nginx-1.6.2--user=nginx --group=nginx --with-http_ssl_module--with-http_stub_status_module

 

make && make install

ln -s /application/nginx-1.6.2/ /application/nginx

 

5.編寫腳本

[root@oldboy ~]# cd/server/scripts/

[root@oldboy scripts]# vimnginx_rpm.sh 

#!/bin/bash

useradd nginx -M -s /sbin/nologin

ln -s /application/nginx-1.6.2//application/nginx

 

6.打包

[root@web01 application]# yum -yinstall rpm-build

 

[root@oldboy ~]# fpm -s dir -t rpm-n nginx -v 1.6.2 -d 'pcre-devel,openssl-devel' --post-install/server/scripts/nginx_rpm.sh -f /application/nginx-1.6.2/ 

no value for epoch is set,defaulting to nil {:level=>:warn}

no value for epoch is set,defaulting to nil {:level=>:warn}

Created package{:path=>"nginx-1.6.2-1.x86_64.rpm"}

[root@oldboy ~]# ll -hnginx-1.6.2-1.x86_64.rpm

-rw-r--r-- 1 root root 6.7MNov  1 10:02 nginx-1.6.2-1.x86_64.rpm

 

4. 安裝rpm包

 

rpm -ivh nginx-1.6.2-1.x86_64.rpm

 

yum -y localinstallnginx-1.6.2-1.x86_64.rpm

 

 

 

 

第2章 搭建yum倉庫

服務端配置:

1.創(chuàng)建yum倉庫目錄

mkdir –p /application/yum/centos6/x86_64/   

2.安裝createrepo軟件

yum -y install createrepo    

3.初始化repodata索引文件

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

4.進入需要提供倉庫的目錄

cd /application/yum/centos6/x86_64/      

5.配置web查看yum

python -m SimpleHTTPServer80 &>/dev/null &

//可以用Apachenginx提供web服務,但用Pythonhttp模塊更簡單,適用于內(nèi)網(wǎng)環(huán)境, 可以通過瀏覽器輸入本機IP查看。  

6.每加入一個rpm包就要更新一下

createrepo--update /application/yum/centos6/x86_64/    

7.保存下載過的軟件

sed -i 's#keepcache=0#keepcache=1#g' /etc/yum.conf  

                       //修改yum配置文件keepacache=0改為1

8.安裝包存儲目錄

ls /var/cache/yum/x86_64/6/base/packages

 

客戶端配置:

1.配置本地yum源文件

[root@B yum.repos.d]#cd /etc/yum.repos.d

[root@B yum.repos.d]#vi oldboy.repo         連接本地yum

[oldboy]

name=oldboy

baseurl=http://10.0.0.61

enable=1

gpgcheck=0

2.指定新增的yum源生效

[root@YUM ~]# yum --enablerepo=oldboy --disablerepo=base,extras,updates,epellist

 指定使用oldboy(臨時生效)

3.使yum源永久生效

[root@oldboy yum.repos.d]# vim /etc/yum.repos.d/CentOS-Base.repo

# 在每一個啟動的源加上

#enabled=0#改為1就啟用,沒有此參數(shù)也是啟用。

[base]

enabled=0

 …………

[updates]

…………

enabled=0

 …………

[extras]

…………

enabled=0

# 還有其他開啟的倉庫就使用這個辦法關閉

 

4.查看現(xiàn)有yum源

[root@web01 ~]# yum repolist

 

5.同步公網(wǎng)yum源

上游yum源必須要支持rsync協(xié)議,否則不能使用rsync進行同步。

CentOS官方標準源:rsync://mirrors.ustc.edu.cn/centos/

epel源:rsync://mirrors.ustc.edu.cn/epel/

163源:http://mirrors.163.com/

阿里云源:http://mirrors.aliyun.com/

 

 

# 同步base源

/usr/bin/rsync -av rsync://mirrors.ustc.edu.cn/centos/6/os/x86_64//data/yum_data/centos/6/os/x86_64/

 

# epel源

/usr/bin/rsync -av --exclude=debugrsync://mirrors.ustc.edu.cn/epel/6/x86_64/ /data/yum_data/epel/6/x86_64/

 

 

 


向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI