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

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

          常用鏈接

          留言簿(16)

          隨筆分類

          隨筆檔案

          文章分類

          文章檔案

          收藏夾

          Java links

          搜索

          •  

          最新評論

          閱讀排行榜

          評論排行榜

          主要完成了下面4個工作

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

          服務器步驟

          • 首先是創(chuàng)建目錄結構,比如 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
          • 創(chuàng)建本地庫的 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 包
          • 創(chuàng)建文件 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
          • 再創(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,做出一個 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)  編輯  收藏

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


          網站導航:
           
          主站蜘蛛池模板: 华蓥市| 张家界市| 绥阳县| 泗阳县| 曲阜市| 庐江县| 洛隆县| 原阳县| 绥滨县| 蓬溪县| 文化| 布拖县| 浑源县| 阳信县| 那曲县| 宁城县| 宣城市| 临朐县| 莱州市| 宁海县| 明光市| 辽阳县| 闽侯县| 哈尔滨市| 新化县| 浙江省| 翼城县| 凉山| 盐池县| 手游| 云浮市| 淮南市| 子长县| 咸丰县| 闽清县| 遂宁市| 乌兰县| 鄱阳县| 桐梓县| 方山县| 大安市|