2015年8月18日火曜日

[Linux] Oracle Linux の yum repositoryを設定する(Ansible)


なのまるです。
最近よく、Oracle Linuxのyum repositoryを使う機会が多くなったので。メモです。

何度も調べるのめんどーなんだもんw

もくじ



方法

前提条件で今回はRedHat Linux 6系(CentOS,Scientific Linux)に適用なものです。
  • Oracle Linuxの公開リポジトリ情報から、repoファイルをダウンロード
  • GPGのキーをインポート
  • (おまけ)Ansibleで使えるようにしてみた

Oracle Linuxの公開リポジトリ情報から、repoファイルをダウンロード

yumのrepoファイルをダウンロードします。
cd /etc/yum.repos.d
sudo wget http://public-yum.oracle.com/public-yum-ol6.repo
デフォルトでは、無効としておきます。
Change enabled=1 to enabled=0


GPGのキーをインポート

次に、rpmの署名検証に使うGPGキーをダウンロード
wget http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
sudo rpm --import RPM-GPG-KEY-oracle-ol6

(おまけ)Ansibleで使えるようにしてみた

こちらの一連の流れをAnsibleで使えるようにしてみました。

僕は、roleに入れるのが好きなので、Playbookのroleに入れることを想定しています。
  • main.yml
---
- name: get_url OracleLinux 6 repo
  get_url: url={{item}} dest=/etc/yum.repos.d
  with_items:
    - http://public-yum.oracle.com/public-yum-ol6.repo
  when: ansible_distribution_major_version|int == 6
  tags: oraclelinux
 
- name: get_url OracleLinux 6 gpg
  get_url: url={{item}} dest=/etc/pki/rpm-gpg/RPM-GPG-KEY-oracle
  with_items:
    - http://public-yum.oracle.com/RPM-GPG-KEY-oracle-ol6
  when: ansible_distribution_major_version|int == 6
  tags: oraclelinux
 
- name: disable OracleLinux 6 repo
  replace: >
    dest=/etc/yum.repos.d/public-yum-ol6.repo
    regexp='^enabled=1'
    replace='enabled=0'
  tags: oraclelinux

まとめ

  • 毎回、検索が面倒なのでまとめました!
  • Oracle Linuxはすでにサポートが終わっている、RHEL4系のメンテナンスもしているから結構便利(自己責任)
  • Ansibleはvarsを使ってOSバージョンごとにURLの切り替えできるようにしたいっすw

Zenback