隨筆 - 175  文章 - 202  trackbacks - 0
          <2012年11月>
          28293031123
          45678910
          11121314151617
          18192021222324
          2526272829301
          2345678

          第一個Blog,記錄哈哈的生活

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Java links

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主要完成了下面4個工作

          1. 創建一個本地的目錄結構,以存放 rpm 包
          2. 啟動一個 apache,使這些文件能夠遠程訪問
          3. 寫一個 spec,并且用 rpmbuild 做成一個安裝包,用來在機器上安裝新的 repository 位置
          4. 使用 yum downloadonly plugin 將需要的 rpm 包放到本地目錄下,然后使用 createrepo 命令創建 metadata

          本來是希望能有一個類似于 nexus 這樣的 proxy host server 將遠程的 package cache 下來,找來找去,也找到了一個 nexus yum plugin,但這個 plugin 只支持手工的 deploy rpm package 到 nexus 上面,不能做 proxy 方式的。

          寫寫步驟和遇到的問題吧。

          準備工作

          • 安裝 createrepo, yum install createrepo
          • 安裝 yum download only plugin, yum -y install yum-downloadonly
          • 安裝 rpmbuild, yum -y install rpm-build
          • 確認已經安裝了 apache nginx 之類的 http server

          服務器步驟

          • 首先是創建目錄結構,比如 mkdir -p /data/yum/centos/6/x86_64
          • 先增加 chef 的源,rpm -Uvh http://rbel.frameos.org/rbel6
          • 然后是通過 yum -y install rubygem-chef-server –downloadonly –downloaddir=/data/yum/centos/6/x86_64
          • 這時,已經可以去掉 chef 的公共源了,rpm -e rbel6-release
          • 創建本地庫的 metadata,createrepo /data/yum/centos/6/x86_64,還有一些參數可用,比如 -p, pretty xml, -d create sqlite database files
          • 配置 apache,修改 /etc/httpd/conf/httpd.conf,修改 DocumentRoot 和 Directory 位置,改為 /data,并啟動 httpd -k start,也可以使用 chkconfig –level 3 https on,每次開機啟動

          客戶端步驟

          • 首先要制作安裝 repository 位置的 rpm 包
          • 創建文件 haha.repo,放到 /root/rpmbuild/SOURCES 目錄下,這個是將來 copy 到客戶端的 /etc/yum.repos.d/ 目錄下的配置文件,內容為
            [haha]
                name=haha
                baseurl=http://192.168.157.131/yum/centos/$releasever/$basearch/
                enabled=1
                gpgcheck=0
          • 再創建文件 build spec 文件,放到 /root/rpmbuild/SOURCES 目錄下,是為了創建 rpm 包用的,haha.spec
            Summary:       haha
                Name:          haha
                Version:       0.1
                Release:       1
                Source0:       haha
                Group:         Applications/Internet
                License:       GPLv2+
                URL:           http://192.168.157.131/yum/
                #BuildRoot:     %{_tmppath}/%{name}-%{version}-root
                BuildArch:     noarch
            %description The haha yum repo #%prep #%setup -q %install mkdir -p $RPM_BUILD_ROOT/etc/yum.repos.d install -m 0644 -p %{SOURCE0} $RPM_BUILD_ROOT/etc/yum.repos.d
            %clean rm -rf ${RPM_BUILD_ROOT} %files /etc/yum.repos.d/haha.repo
          • 使用 rpmbuild -ba haha.spec,做出一個 rpm 包,位置在 /root/rpmbuild/RPMS/noarch 下面
          • 制作一次 rpm 后,就可以一直使用了,rpm -ivh xxx.rpm 就可以了

          參考了
          1. 自建yum源與制作RPM安裝包yum源
          2. yum只下載rpm包不自動安裝方法
          3. Installing Chef Server 0.10 in RHEL 6

          posted on 2012-11-07 21:39 哈哈的日子 閱讀(318) 評論(0)  編輯  收藏

          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 桂林市| 寻甸| 古田县| 岚皋县| 乌兰察布市| 黄陵县| 泾源县| 米泉市| 稻城县| 乐清市| 榆中县| 山东省| 绥滨县| 常德市| 宣化县| 罗江县| 香格里拉县| 靖边县| 常熟市| 邹城市| 平远县| 玛曲县| 桃园县| 阿城市| 通榆县| 辽中县| 惠安县| 晋江市| 澎湖县| 德钦县| 象州县| 江阴市| 富川| 海晏县| 宜州市| 库伦旗| 云龙县| 东海县| 蒙山县| 新竹市| 绵竹市|