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

          第一個(gè)Blog,記錄哈哈的生活

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Java links

          搜索

          •  

          最新評(píng)論

          閱讀排行榜

          評(píng)論排行榜

          主要完成了下面4個(gè)工作

          1. 創(chuàng)建一個(gè)本地的目錄結(jié)構(gòu),以存放 rpm 包
          2. 啟動(dòng)一個(gè) apache,使這些文件能夠遠(yuǎn)程訪問(wèn)
          3. 寫一個(gè) spec,并且用 rpmbuild 做成一個(gè)安裝包,用來(lái)在機(jī)器上安裝新的 repository 位置
          4. 使用 yum downloadonly plugin 將需要的 rpm 包放到本地目錄下,然后使用 createrepo 命令創(chuàng)建 metadata

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

          寫寫步驟和遇到的問(wèn)題吧。

          準(zhǔn)備工作

          • 安裝 createrepo, yum install createrepo
          • 安裝 yum download only plugin, yum -y install yum-downloadonly
          • 安裝 rpmbuild, yum -y install rpm-build
          • 確認(rèn)已經(jīng)安裝了 apache nginx 之類的 http server

          服務(wù)器步驟

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

          客戶端步驟

          • 首先要制作安裝 repository 位置的 rpm 包
          • 創(chuàng)建文件 haha.repo,放到 /root/rpmbuild/SOURCES 目錄下,這個(gè)是將來(lái) copy 到客戶端的 /etc/yum.repos.d/ 目錄下的配置文件,內(nèi)容為
            [haha]
                name=haha
                baseurl=http://192.168.157.131/yum/centos/$releasever/$basearch/
                enabled=1
                gpgcheck=0
          • 再創(chuàng)建文件 build spec 文件,放到 /root/rpmbuild/SOURCES 目錄下,是為了創(chuàng)建 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,做出一個(gè) rpm 包,位置在 /root/rpmbuild/RPMS/noarch 下面
          • 制作一次 rpm 后,就可以一直使用了,rpm -ivh xxx.rpm 就可以了

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

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

          只有注冊(cè)用戶登錄后才能發(fā)表評(píng)論。


          網(wǎng)站導(dǎo)航:
           
          主站蜘蛛池模板: 宁武县| 台安县| 阜宁县| 枣阳市| 永修县| 达日县| 综艺| 姜堰市| 平舆县| 汉源县| 阳西县| 鄯善县| 凯里市| 基隆市| 庆阳市| 宜兰市| 德江县| 湘潭县| 中江县| 大邑县| 射阳县| 台东县| 阳东县| 辉南县| 丽江市| 正阳县| 鄂托克前旗| 衡东县| 天镇县| 滨州市| 九龙坡区| 虹口区| 昌宁县| 乌拉特后旗| 柞水县| 萝北县| 峨眉山市| 潞西市| 水富县| 永宁县| 杂多县|