ファイルの改竄チェック

ファイルの改竄チェックに使用するGPGキーをインポートする。

[root@localhost ~]# wget http://www.t.ring.gr.jp/archives/linux/fedora/linux/core/3/i386/os/RPM-GPG-KEY-fedora @

--15:32:59-- http://www.t.ring.gr.jp/archives/linux/fedora/linux/core/3/i386/os/RPM-GPG-KEY-fedora
=> `RPM-GPG-KEY-fedora'
www.t.ring.gr.jp をDNSに問いあわせています... 202.224.39.15
www.t.ring.gr.jp[202.224.39.15]:80 に接続しています... 接続しました。
HTTP による接続要求を送信しました、応答を待っています... 200 OK
長さ: 1,519 [text/plain]

100%[====================================>] 1,519 --.--K/s

15:33:00 (113.25 KB/s) - `RPM-GPG-KEY-fedora' saved [1,519/1,519]

[root@localhost ~]# rpm --import RPM-GPG-KEY-fedora A

[root@localhost ~]# rm -f RPM-GPG-KEY-fedora B


@GPGキーのダウンロード
AダウンロードしたGPGキーのインポート
Bダウンロードしたファイルの削除



yumのインストール

FC3ではデフォルトでインストールされています。



yumの設定

そのままでも使えますが、込み合ってダウンロードできないという事をなるべく避けるため別のミラーサイト(複数)へと変更します。

[root@localhost ~]# vi /etc/yum.repos.d/local-base @
http://ftp.kddilabs.jp/Linux/packages/fedora/core/$releasever/$basearch/os/
ftp://ftp.iij.ad.jp/pub/linux/fedora/core/$releasever/$basearch/os/

[root@localhost ~]# vi /etc/yum.repos.d/local-updates A
http://ftp.kddilabs.jp/Linux/packages/fedora/core/updates/$releasever/$basearch/
ftp://ftp.iij.ad.jp/pub/linux/fedora/core/updates/$releasever/$basearch/

[root@localhost ~]# vi /etc/yum.repos.d/fedora.repo B
[base]
name=Fedora Core $releasever - $basearch - Base
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/$releasever/$basearch/os/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-$releasever

mirrorlist=file:///etc/yum.repos.d/local-base C
enabled=1
gpgcheck=1

[root@localhost ~]# vi /etc/yum.repos.d/fedora-updates.repo D
[updates-released]
name=Fedora Core $releasever - $basearch - Released Updates
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/updates/$releasever/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/updates-released-fc$releasever

mirrorlist=file:///etc/yum.repos.d/local-updates E
enabled=1
gpgcheck=1


@ミラーサイト設定ファイル作成(base版)
Aミラーサイト設定ファイル作成(updates版)
Bリポジトリ設定ファイル(base版)編集
Cミラーサイト設定ファイル(base版)を指定
Dリポジトリ設定ファイル(updates版)編集
Eミラーサイト設定ファイル(updates版)を指定



◇RPMパッケージ自動アップデート

[root@localhost ~]# /etc/init.d/yum start @
夜間 yum 更新の有効化中 [ OK ]

[root@localhost ~]# chkconfig yum on A

[root@localhost ~]# chkconfig --list yum B
yum 0:off 1:off 2:on 3:on 4:on 5:on 6:off C


@ 自動アップデートスクリプト起動
A 自動アップデートスクリプト自動起動設定
B 自動アップデートスクリプト自動起動設定確認
C ランレベル2〜5のon確認



◇その他のアップデートツールの削除

FC3ではyumの他にup2dateというアップデートツールが導入されているが、yumを利用するため不要なのでアンインストールする。

[root@localhost ~]# yum -y remove up2date @
Setting up Remove Process
Resolving Dependencies
(省略)

Removed: up2date.i386 0:4.3.47-5
Complete!


@ up2dateアンインストール



yumの利用方法

◇yumコマンド

check-update アップデート可能なパッケージの一覧を表示
clean ダウンロードしたパッケージと古いヘッダを削除する。clean allと同じ
clean oldheaders 古いヘッダを削除
clean packages ダウンロードしたパッケージを削除
info 利用可能なパッケージの情報を表示
info パッケージ名 指定したパッケージの情報を表示
install パッケージ名 指定したパッケージをインストール
list 利用可能なパッケージの一覧を表示
list installed インストール済みのパッケージ一覧を表示
list updates アップデート可能なパッケージの一覧を表示
provides パッケージ名 パッケージに含まれるファイルの一覧を表示
remove パッケージ名 指定したパッケージをアンインストールする。指定したパッケージと依存関係があるパッケージは、削除するかどうか確認を求める
search キーワード キーワードでパッケージを検索する。検索の対象は、RPMファイルのName、Packager、Dummary、Descriptionの各フィールド
update アップデート可能な全パッケージをアップデート
update パッケージ名 指定したパッケージをアップデート
-y 確認にすべて「yes」と答える

※yumは、RPMパッケージのダウンロード先サーバーを自動的に選択するが、ダウンロードが遅い場合は、「CTRL+C」で実行中のダウンロードを中断して自動的にその他のダウンロード先サーバーに切替えてダウンロードを継続することができる。



◇RPMパッケージインストール

[root@localhost ~]# rpm -q httpd @
パッケージ httpd はインストールされていません

[root@localhost ~]# yum -y install httpd A
Setting up Install Process
Setting up Repo: base
(省略)
Installed: httpd.i386 0:2.0.52-3.1 B
Dependency Installed: apr.i386 0:0.9.4-23 apr-util.i386 0:0.9.4-17 httpd-suexec.i386 0:2.0.52-3.1 C
Complete! D

[root@localhost ~]# rpm -q httpd @
httpd-2.0.52-3.1


@ パッケージのインストールチェック
A パッケージのインストール
B インストールされたパッケージ
C インストールされた依存するパッケージ
D インストールの完了



◇RPMパッケージアンインストール

[root@localhost ~]# rpm -q httpd @
httpd-2.0.52-3.1

[root@localhost ~]# yum -y remove httpd A
Setting up Remove Process
Resolving Dependencies
(省略)
Removed: httpd.i386 0:2.0.52-3.1 B
Dependency Removed: httpd-suexec.i386 0:2.0.52-3.1 C
Complete!

[root@localhost ~]# rpm -q httpd @
パッケージ httpd はインストールされていません

@ パッケージのインストールチェック
A パッケージのアンインストール
B アンインストールされたパッケージ
C アンインストールされた依存するパッケージ



◇RPMパッケージアップデート

[root@localhost ~]# yum check-update @
Setting up Repo: base
(省略)

A
httpd.i386 2.0.52-3.1 updates-released
httpd-suexec.i386 2.0.52-3.1 updates-released

[root@localhost ~]# rpm -q httpd B
httpd-2.0.52-3

[root@localhost ~]# yum -y update httpd C
Setting up Update Process
Setting up Repo: base
(省略)
Updated: httpd.i386 0:2.0.52-3.1 D
Dependency Updated: httpd-suexec.i386 0:2.0.52-3.1 E
Complete!

[root@localhost ~]# rpm -q httpdA
httpd-2.0.52-3.1


@ アップデート可能なパッケージ検索
A インストール済でアップデート可能なRPMパッケージ
B パッケージのバージョンチェック
C パッケージのアップデート
D アップデートされたパッケージ
E アップデートされた依存するパッケージ



◇RPMパッケージ一括アップデート

一括アップデートを行うとLinux本体であるKernelも含む。

[root@localhost ~]# yum -y update @
Setting up Update Process
Setting up Repo: base
(省略)

Installed: kernel.i686 0:2.6.9-1.678_FC3 A
Updated: bash.i386 0:3.0-18 cvs.i386 0:1.11.17-4 gdb.i386 0:6.1post-1.20040607.43 hotplug.i386 3:2004_04_01-8 initscripts.i386 0:7.93.5-1 ipsec-tools.i386 0:0.3.3-2 iptables.i386 0:1.2.11-3.1.FC3 jwhois.i386 0:3.2.2-6.FC3.1 libselinux.i386 0:1.19.1-3 libselinux-devel.i386 0:1.19.1-3 libxml2.i386 0:2.6.16-3 libxml2-devel.i386 0:2.6.16-3 libxml2-python.i386 0:2.6.16-3 policycoreutils.i386 0:1.18.1-2 shadow-utils.i386 2:4.0.3-40 slang.i386 0:1.4.9-7 slang-devel.i386 0:1.4.9-7 udev.i386 0:039-10.FC3.1 wireless-tools.i386 1:27-0.pre25.3 words.noarch 0:3.0-2 zip.i386 0:2.3-26.3 B
Complete!


@ アップデート可能なパッケージの一括アップデート
A インストールされたパッケージ(kernel)
B アップデートされたパッケージ



◇RPMパッケージグループインストール

[root@localhost ~]# yum grouplist @
Setting up Group Process
Setting up Repo: base
repomd.xml 100% |=========================| 1.1 kB 00:00
Setting up Repo: updates-released
repomd.xml 100% |=========================| 951 B 00:00
Installed Groups: A
Administration Tools
Authoring and Publishing
Compatibility Arch Support
DNS Name Server
(省略)
Available Groups: B
Compatibility Arch Development Support
Development Tools
Legacy Software Development
Done

[root@localhost ~]# yum -y groupinstall "Web Server" C
Setting up Group Process
Setting up Repo: base
(省略)

Installed: crypto-utils.i386 0:2.1-4 distcache.i386 0:1.4.5-6 httpd.i386 0:2.0.52-3.1 httpd-manual.i386 0:2.0.52-3.1
mod_perl.i386 0:1.99_16-3 mod_python.i386 0:3.1.3-5 mod_ssl.i386 1:2.0.52-3.1 nss_db.i386 0:2.2-29 php.i386 0:4.3.9-3 php-ldap.i386 0:4.3.9-3 redhat-lsb.i386 0:1.3-4 squid.i386 7:2.5.STABLE6-3 stunnel.i386 0:4.05-3 system-config-network-tui.noarch 0:1.3.22-1 tux.i386 0:3.2.18-2 up2date.i386 0:4.3.47-5 webalizer.i386 0:2.01_10-25 D
Dependency Installed: gd.i386 0:2.0.28-1.30.1 httpd-suexec.i386 0:2.0.52-3.1 newt-perl.i386 0:1.08-7 php-pear.i386 0:4.3.9-3 E
Complete!


@ パッケージグループ検索
A インストールされているグループ
B インストール可能なグループ
C パッケージグループのインストール
D インストールされたパッケージ
E インストールされた依存するパッケージ



◇RPMパッケージグループアンインストール

[root@localhost ~]# yum -y groupremove "Web Server" @
Setting up Group Process
Setting up Repo: base
(省略)

Removed: crypto-utils.i386 0:2.1-4 distcache.i386 0:1.4.5-6 httpd.i386 0:2.0.52-3.1 httpd-manual.i386 0:2.0.52-3.1 httpd-suexec.i386 0:2.0.52-3.1 mod_perl.i386 0:1.99_16-3 mod_python.i386 0:3.1.3-5 mod_ssl.i386 1:2.0.52-3.1 php.i386 0:4.3.9-3 php-ldap.i386 0:4.3.9-3 squid.i386 7:2.5.STABLE6-3 tux.i386 0:3.2.18-2 webalizer.i386 0:2.01_10-25 A
Dependency Removed: php-pear.i386 0:4.3.9-3 B
Complete!

@ パッケージグループのアンインストール
A アンインストールされたパッケージ
B アンインストールされた依存するパッケージ



◇RPMパッケージグループアップデート

[root@localhost ~]# yum -y groupupdate "Web Server" @
Setting up Group Process
Setting up Repo: base
(省略)

Installed: crypto-utils.i386 0:2.1-4 distcache.i386 0:1.4.5-6 httpd-manual.i386 0:2.0.52-3.1 mod_perl.i386 0:1.99_16-3 mod_python.i386 0:3.1.3-5 mod_ssl.i386 1:2.0.52-3.1 php.i386 0:4.3.9-3 php-ldap.i386 0:4.3.9-3 squid.i386 7:2.5.STABLE6-3 tux.i386 0:3.2.18-2 webalizer.i386 0:2.01_10-25
Dependency Installed: php-pear.i386 0:4.3.9-3
Updated: httpd.i386 0:2.0.52-3.1 A
Dependency Updated: httpd-suexec.i386 0:2.0.52-3.1 B
Complete!


@ パッケージグループのアップデート
A アップデートされたパッケージ
B アップデートされた依存するパッケージ



◇RPMパッケージ検索

[root@localhost ~]# yum search postfix @
Searching Packages:
Setting up Repo: base
(省略)

A
postfix.i386 2:2.1.5-2.2 base
Matched from:
postfix
Postfix Mail Transport Agent
Postfix is a Mail Transport Agent (MTA), supporting LDAP, SMTP AUTH (SASL),
TLS
http://www.postfix.org

A
spamassassin.i386 3.0.0-3 base
Matched from:
SpamAssassin provides you with a way to reduce if not completely eliminate
Unsolicited Commercial Email (SPAM) from your incoming email. It can
be invoked by a MDA such as sendmail or postfix, or can be called from
a procmail script, .forward file, etc. It uses a genetic-algorithm
evolved scoring system to identify messages which look spammy, then
adds headers to the message so they can be filtered by the user's mail
reading software. This distribution includes the spamd/spamc components
which create a server that considerably speeds processing of mail.

To enable spamassassin, if you are receiving mail locally, simply add
this line to your ~/.procmailrc:
INCLUDERC=/etc/mail/spamassassin/spamassassin-default.rc

To filter spam for all users, add that line to /etc/procmailrc
(creating if necessary).


A
postfix-pflogsumm.i386 2:2.1.5-2.2 base
Matched from:
postfix-pflogsumm
A Log Summarizer/Analyzer for the Postfix MTA
Pflogsumm is a log analyzer/summarizer for the Postfix MTA. It is
designed to provide an over-view of Postfix activity. Pflogsumm
generates summaries and, in some cases, detailed reports of mail
server traffic volumes, rejected and bounced email, and server
warnings, errors and panics.
http://www.postfix.org


@ postfix関連パッケージ検索
A 検出されたパッケージの詳細



◇サインされていないdevelopmentパッケージをyumでインストールする方法
(注:未確認情報)

「gpgcheck=0」エントリをfedora-devel.repoに追加します。


[root@localhost ~]# vi /etc/yum.repos.d/fedora-devel.repo

[development]
name=Fedora Core $releasever - Development Tree
#baseurl=http://download.fedora.redhat.com/pub/fedora/linux/core/development/$basearch/
mirrorlist=http://fedora.redhat.com/download/mirrors/fedora-core-rawhide
enabled=0
gpgcheck=0


必要なパッケージを以下の方法でインストールしてください


[root@localhost ~]# yum --enablerepo=development install mysql-server


以上でGPGキーによってサインされていないdevelopmentパッケージをインストールすることが可能になります。