tech.guitarrapc.cóm

Technical updates

Windows AzureのOpenLogic CentOS 6.3 で GNOME (X Window)を使うまでセットアップをしてみる part2

part2です。前回は、AzureにCentOSでイメージを作りSSHで接続出来るところの確認まですすめました。

今回は、yumでシステム状態の更新とRemiというリポジトリを追加します。

  • Open Logic CentOS 6.3のインスタンス作成と接続
  • yum更新とRemi Repositoruの導入
  • ssh公開鍵暗号での接続に切り替え
  • zshのインストール
  • gccなどDevelopment Toolsをインストール
  • GNOMEの導入
  • VNCの導入

yum更新とRemi Repositoruの導入

yum updateとは、WindowsでいうWindows Updateのようなものです。 システム状態や、yumでインストールしたパッケージの更新します。

root化はしないように

rootにしていい事ありません。

多少面倒くさくても、ユーザー権限でコマンド実行して必要に応じてsudoすべきだと菅家ているので、su -はしません。Permission Denyされたらsudoしましょう。

以下のコマンドでは、sudoしないとPermissionはじかれた箇所はsudoを頭につけています。同じ理由でまたyumの対話プロンプトで自動承認(y)はしないようにしています。

システム全体のyum更新をする

至って簡単です。

yum update

yumはインストールを伴うため、root権限が必要なのでsudoしてください。

sudo yum update

これで、最新の状態になります。

yumの自動更新

管理を楽にするため、yumの自動更新ツールであるyum-cron入れます。

sudo yum install yum-cron

インストール後は、自動更新期間を設定します。(単位:秒) /etcのファイルをvimで編集しますのでsudoを付けてください。

sudo vim /etc/sysconfig/yum-cron

以下の設定で行きましょう。

♯--------------------------------以下を記入
SERVICE_WAIT_TIME=86400
♯--------------------------------以上まで

続いて、設定した内容で、daemon化とrun level設定をします。

sudo chkconfig yum-cron on

以下のコマンドで2~5がonになっていれば、再起動後も自動実行されます。

chkconfig | grep yum-cron
[azureuser@cherishacquire]~% chkconfig | grep yum-cron
yum-cron        0:off   1:off   2:on    3:on    4:on    5:on    6:off

最後に、deamonを開始します。

sudo service yum-cron start
[azureuser@cherishacquire]~% sudo service yum-cron start
[sudo]password for azureuser:
Enabling nightly yum update:                              [ OK ]

remiリポジトリの導入

LAMP環境などで、デフォルトリポジトリに含まれないものも強力にサポートしているRemiを入れます。 AWSの場合、自身のリポジトリが強力なので不要なのですが……しょうがない。 あ、いらない人はスキップして下さい。

yum-prioritiesでリポジトリ優先順位をつける

yum-prioritiesを使って参照するリポジトリに優先順位をつけます。

導入は簡単です。

sudo yum install yum-priorities

まずは、標準リポジトリに優先順位づけします。 CentOS-Base.repoを開いて、ベースの設定から行います。

Baseとupdateはpriority=1をセクション末尾に追加 他はpriority=2をセクション末尾に追加

sudo vim /etc/yum.repos.d/CentOS-Base.repo

設定後はこんな感じです。

[openlogic]
name=CentOS-$releasever - openlogic packages for $basearch
baseurl=http://olcentgbl.trafficmanager.net/openlogic/$releasever/openlogic/$basearch/
enabled=1
gpgcheck=0

[base]
name=CentOS-$releasever - Base
baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/os/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#released updates
[updates]
name=CentOS-$releasever - Updates
baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/updates/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=1

#additional packages that may be useful
[extras]
name=CentOS-$releasever - Extras
baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/extras/$basearch/
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=2

#additional packages that extend functionality of existing packages
[centosplus]
name=CentOS-$releasever - Plus
baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/centosplus/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=2

#contrib - packages by Centos Users
[contrib]
name=CentOS-$releasever - Contrib
baseurl=http://olcentgbl.trafficmanager.net/centos/$releasever/contrib/$basearch/
gpgcheck=1
enabled=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
priority=2

Remiのインストール

まずは、epelをRPMでインストールします。 最新ファイルの状態は、ここで確認してください。 http://ftp-srv2.kddilabs.jp/Linux/packages/fedora/epel/6/

sudo rpm -Uvh http://ftp-srv2.kddilabs.jp/Linux/packages/fedora/epel/6/x86_64/epel-release-6-8.noarch.rpm

次にremiをRPMでインストールします。 最新ファイルの状態は、ここで確認してください。

http://rpms.famillecollet.com/enterprise/

sudo rpm -Uvh http://rpms.famillecollet.com/enterprise/remi-release-6.rpm

最後にrmpforgeをRPMでインストールします。 最新ファイルの状態は、ここで確認してください。

http://pkgs.repoforge.org/rpmforge-release/

sudo rpm -Uvh http://pkgs.repoforge.org/rpmforge-release/rpmforge-release-0.5.3-1.el6.rf.x86_64.rpm

これで、リポジトリはインストールされました。 簡単ですね。

yum.repo.dの確認

リポジトリ状態を確認します。

ls -l /etc/yum.repos.d/

サンプルです。

[azureuser@cherishacquire ~]$ ls -l /etc/yum.repos.d/
total 44
-rw-r--r--. 1 root root 1359 May  3 18:58 CentOS-Base.repo
-rw-r--r--. 1 root root  637 Jun 26  2012 CentOS-Debuginfo.repo
-rw-r--r--. 1 root root  626 Jun 26  2012 CentOS-Media.repo
-rw-r--r--. 1 root root 2593 Jun 26  2012 CentOS-Vault.repo
-rw-r--r--. 1 root root  957 Nov  5 03:52 epel.repo
-rw-r--r--. 1 root root 1056 Nov  5 03:52 epel-testing.repo
-rw-r--r--. 1 root root  739 Mar 20 14:24 mirrors-rpmforge
-rw-r--r--. 1 root root  717 Mar 20 14:24 mirrors-rpmforge-extras
-rw-r--r--. 1 root root  728 Mar 20 14:24 mirrors-rpmforge-testing
-rw-r--r--. 1 root root 1020 Feb 12 18:50 remi.repo
-rw-r--r--. 1 root root 1128 Mar 20 14:24 rpmforge.repo

remiリポジトリの有効化

デフォルトは無効になっているので有効化します。またBaseと並んで優先的に選択されるよう優先度をつけます。以下のコマンドで、ファイルを開きます。

sudo vim /etc/yum.repos.d/remi.repo

変更内容は、remiのenabled=0をenabled=1priority=1も追記 変更後はこのようになります。

enabled=1
priority=1

サンプルです。

[remi]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/remi/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/remi/mirror
enabled=1
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi
priority=1

[remi-test]
name=Les RPM de remi en test pour Enterprise Linux 6 - $basearch
#baseurl=http://rpms.famillecollet.com/enterprise/6/test/$basearch/
mirrorlist=http://rpms.famillecollet.com/enterprise/6/test/mirror
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-debuginfo]
name=Les RPM de remi pour Enterprise Linux 6 - $basearch - debuginfo
baseurl=http://rpms.famillecollet.com/enterprise/6/debug-remi/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

[remi-test-debuginfo]
name=Les RPM de remi en test pour Enterprise Linux 6 - $basearch - debuginfo
baseurl=http://rpms.famillecollet.com/enterprise/6/debug-test/$basearch/
enabled=0
gpgcheck=1
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi

yumでrepo追加されたか確認し更新

簡単です。

yum repolist

remiを使ったyumの例

Repositryを明示します。

sudo yum --enablerepo=remi install パッケージ名

以上で、remiの導入は完了です。

cronでremiでいれたパッケージを定期アップデート

シェルを作ってcronで定期アップデートしましょう。

shの作成

vimでファイルを作成し、書きます。

sudo vim /root/update.sh

記述内容です。

♯--------------------------------以下を記入
#!/bin/bash
date;
yum --enablerepo=remi -y update パッケージ名
♯--------------------------------以上まで

次に実行権限を付与します。

sudo chmod +x /root/update.sh

最後に、crontabで定期実行させます。

crontabを開いて設定すれば完了です。

crontab -e

記述内容は、毎朝6時に実行結果は/root/result.txtに出力としました。

♯--------------------------------以下を記入
00 6 * * * sh /root/update.sh > /root/result.txt
♯--------------------------------以上まで

まとめ

以上で、リポジトリの準備が完了しました。次回は、ssh接続を公開鍵認証に切り替えます。