ローカルyumソースの作成

11759 ワード

カスタマイズされたプロジェクトはイントラネット環境に関わるため,提供されるシステム環境では必要な依存パケットが不足しており,rpmパケットをダウンロードしてフィールドサーバの下にパッケージ化する必要があるが,rpmインストールでは各rpmパケットの依存順序を人為的に模索する必要があるため,createrepoツールを用いてrpmパケット間のインデックス順序を確立することが考えられる.
1、yumを使ってパッケージとすべての依存するパッケージをダウンロードする
例:
mkdir /install_rpm/  #    rpm    
yum install --downloaddir=/install_rpm/ --downloadonly perl-DBI #    perl-DBI      
cd /install_rpm/ && ll
total 1324
-rw-r--r--. 1 root root  33172 Jul  4  2014 perl-Compress-Raw-Bzip2-2.061-3.el7.x86_64.rpm
-rw-r--r--. 1 root root  58788 Jul  4  2014 perl-Compress-Raw-Zlib-2.061-4.el7.x86_64.rpm
-rw-r--r--. 1 root root  48296 Jul  4  2014 perl-Data-Dumper-2.145-3.el7.x86_64.rpm
-rw-r--r--. 1 root root 821112 Jul  4  2014 perl-DBI-1.627-4.el7.x86_64.rpm
-rw-r--r--. 1 root root 266004 Jul  4  2014 perl-IO-Compress-2.061-2.el7.noarch.rpm
-rw-r--r--. 1 root root  52064 Jul  4  2014 perl-Net-Daemon-0.48-5.el7.noarch.rpm
-rw-r--r--. 1 root root  36592 Jul  4  2014 perl-PlRPC-0.2020-14.el7.noarch.rpm

2、yum.repoファイルの編集
/etc/yum.repo.d/local.repoファイルを作成し、次の内容を追加します.
vim /etc/yum.repo.d/local.repo
[local]
name=local
baseurl=file:///install_rpm/
enabled=1
gpgcheck=0

元のrepoファイルenabledを0に設定
3、createrepoはyumソース(ソフトウェアウェアハウス)を作成するために使用され、
すなわち、ローカルの特定の位置に格納された多くのrpmパケットにインデックスを確立し、各パケットに必要な依存情報を記述し、メタデータを形成する.
    :createrepo [option] 
      
    -u  --baseurl 
          Base URL   
    -o --outputdir 
                  
    -x --excludes 
                       
    -i --pkglist 
              ,                      ,            ,     、  ,       。
    -n --includepkg
                          ,    URL     。
    -q --quiet
                ,       。
    -g --groupfile 
                    ,    :
    createrepo -g comps.xml /path/to/rpms
          :      rpm         。
    -v --verbose
              。
    -c --cachedir 
              ,                  。 createrepo                       ,  cachedir        。
    --update
                 ,                    ,   update              ,       rpm               。
    -p --pretty
                xml  。
    -d --database
               SQLite         ,   。
createrepo /install_rpm/
yum clean all
yum update
yum makecache

これでローカルyumソースが構築されました.