隨筆 - 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 哈哈的日子 閱讀(320) 評論(0)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 广灵县| 安溪县| 鸡东县| 酉阳| 黑山县| 灵璧县| 宜兰县| 光山县| 叶城县| 高青县| 墨江| 磐安县| 日喀则市| 唐山市| 穆棱市| 新昌县| 石楼县| 句容市| 长汀县| 辉南县| 彰武县| 洪洞县| 沧州市| 尉犁县| 易门县| 瑞金市| 河间市| 余庆县| 廉江市| 莒南县| 柯坪县| 宜宾市| 潞城市| 凯里市| 涟水县| 冷水江市| 平泉县| 青州市| 色达县| 清苑县| 盖州市|