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=1
へpriority=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接続を公開鍵認証に切り替えます。