情報システム管理 情報システム管理
8 . アプリケーションのインス トール
水野嘉明
本日の内容 本日の内容
1 .
ソースとパッケージの比較
2 .ソースによるインストール
3 .パッケージ
2
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
UNIX
で利用できるソフトウェアの 配布方法には、 ソース と パッケー ジ という2種類の形式がある
管理者は、それぞれの特徴を知 りどちらを利用すべきかを判断し なければならない
3
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
ソースコードによる配布
自分でコンパイルしてインストール する
パッケージ
コンパイル済みの実行形式ファイル
(バイナリファイル)と関連ファイ ル類が、まとめて配布される
4
ソースによる配布のメリット
ハードウェアや環境の違いに対応
UNIX
の種類や
CPUアーキテク チャにより、バイナリは異なる
カスタマイズが可能
最新の機能が利用できる
オープンソースだから可能
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
5
ソースによる配布のデメリット
面倒な手順が必要
時間と手間がかかる
不具合に対処するには、ある程 度の知識・経験が必要
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
6
パッケージの普及
UNIX / Linux
の普及にしたがい、
実行ファイルが配布されてきた
実行ファイルだけでは、不便
インストールの履歴
相互の依存関係 などの情報が必要
パッケージ
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
7
インストール時の問題点
依存関係
「あるパッケージを動作させるには、
別のパッケージが必要」 という関係
インストール時期・バージョンに より、相互の依存関係に矛盾が出 ることがある
「パッケージ A は B に依存、 C は古 いバージョンの B' に依存」 など
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
8
お勧めは パッケージ
ソースによりインストールするのは
、
どうしても最新のソフトウェアが 必要な場合
特殊なシステムにあわせてカスタ マイズする必要がある場合
1 1 . . ソースとパッケージの比較 ソースとパッケージの比較
9
2 2 . . ソースによるインストール ソースによるインストール
通常は、次のようなステップとなる
1 .ソースファイルの入手
2 .
ファイルの展開 (
tar)
3 .ファイルの内容のチェック
4 . configureの実行
5 . make
の実行
6 . make install
の実行
例 外 も あ る
10
1 .
ソースファイルの入手
ソースファイルは、様々な方法 で配布されている
FTP
サイト/
Webサイト
DVD/CD-ROM
など
それらのメディアから、自分の システムにコピーする
2 2 . . ソースによるインストール ソースによるインストール
11
2 .
ファイルの展開
(多くの場合) ソースは、
tarとい うコマンドで 1 つにまとめら
れ、
gzipまたは
bzip2というコマ ンドで圧縮されている
これを適当なディレクトリに展開する
2 2 . . ソースによるインストール ソースによるインストール
12
2 2 . . ソースによるインストール ソースによるインストール
tar
: tape archiver複数のファイル、ディレクトリ を、一つのファイルにまとめる
gzip
:
GNU zipファイルを圧縮する
(複数ファイルを一つにまとめ る機能はない)
13
tar コマンドによる展開
$ tar zxf foo.tar.gz$ tar jxf foo.tar.bz2
tar
は
gzip等を サポートして
いる
2 2 . . ソースによるインストール ソースによるインストール
14
3
.ファイルの内容のチェック
いろいろなファイルが含まれて いるので、内容をチェックする
特に、
INSTALLや
READMEというファイルには、コンパイ ルやインストール方法、注意点 などが書かれている
2 2 . . ソースによるインストール ソースによるインストール
15
ソースのアーカイブに含まれる 主なファイル
AUTHORS ソフトウェア作成者に関する情報 COPYING 配布に関する情報
COPYRIGHT 著作権に関する情報 ChangeLog 変更履歴
INSTALL インストール方法に関する情報 LICENSE 使用ライセンスに関する情報 NEWS 変更点などに関する情報
README インストールや使用法に関する情報
2 2 . . ソースによるインストール ソースによるインストール
16
4
. configureの実行
各々のシステムに合わせて、
ソースを変更する必要がある
手作業では大変
configure
というシェルスクリ プトにより、自動生成
2 2 . . ソースによるインストール ソースによるインストール
17
configure
スクリプトを実行すると
システム毎の違い等を検出
必要なファイル(
Makefileな ど)を自動的に作成
カスタマイズの指定も可
2 2 . . ソースによるインストール ソースによるインストール
18
configure
の例
$ ./configure
$ ./configure --prefix=/usr
インストール先を
/usrに 変更している例
2 2 . . ソースによるインストール ソースによるインストール
19
5 . make
の実行
コンパイル作業は、
makeコマン ドにより行う
多数のソースファイルをコンパイ ルし、ライブラリとリンクする
$ make
2 2 . . ソースによるインストール ソースによるインストール
20
作業内容は、
Makefileという ファイルに書かれている
Makefile
は (多くの場
合)
configureにより作成される
2 2 . . ソースによるインストール ソースによるインストール
21
Makefile の例
2 2 . . ソースによるインストール ソースによるインストール
22
6 . make install
の実行
コンパイルされたファイルを、ファ イルシステムにインストールする
root
権限が必要
2 2 . . ソースによるインストール ソースによるインストール
23
3 3 . . パッケージ パッケージ
Unix
のパッケージには、以下のよ うなものがある
Debian
系 :
debRedHat
系 :
rpmBSD
:
ports / PackagesSolaris : pkg
24
パッケージの操作
パッケージ操作用のコマンドに て、インストール、アップデー ト、削除等を行う
パッケージの種類により、操作 用コマンドは異なる
3 3 . . パッケージ パッケージ
25
基本的な操作コマンド
パッケー ジ コマンド
deb dpkg
コマンド
rpm rpm
コマンド
Packages pkg_add / pkg_delete
な ど
pkg pkgadd / pkgrm
など
3 3 . . パッケージ パッケージ
26
基本的なコマンドだけでは使いにくい
目的とするパッケージの検索
依存関係の検索
アップデート情報の検索
パッケージ管理コマンド
rpm yum deb apt
3 3 . . パッケージ パッケージ
27
公開鍵方式による署名
パッケージには、
PGP、
GPG等の公開鍵方式による署名がさ れていることがある
= 正当性の証明のため
公開鍵を取り込むことにより、
正当性が確認できる
3 3 . . パッケージ パッケージ
28
3 3 . . 1 1 rpm rpm コマンド コマンド
パッケージのインストール
$ rpm -i foo-1.0.0-1.i386.rpm
参考: パッケージ命名規則
ソフト名
-バージョン
.CPU種 別
.rpm29
パッケージのアップデート
$ rpm -U foo-1.0.0-1.i386.rpm $ rpm -F foo-1.0.0-1.i386.rpm
古いパッケージがインストールさ れていない場合、
-Uならばインス トールされる。
-Fならば、何も しない。
3 3 . . 1 1 rpm rpm コマンド コマンド
30
パッケージの削除
(アンインストール)$ rpm -e foo
パッケージの確認
$ rpm -q foo$ rpm -qa
インストールされている 全パッケージを表示
3 3 . . 1 1 rpm rpm コマンド コマンド
31
3 3 . . 1 1 rpm rpm コマンド コマンド
パッケージ リストの表示例
32
3 3 . . 2 2 yum yum コマンド コマンド
パッケージのリストを保持
システムにインストールされて いるパッケージのリスト
リポジトリ (パッケージをま とめて保管している場所)上の 最新版のパッケージのリスト
これらに基づきパッケージを管理
依存関係も自動的に解決
33
パッケージのインストール
$ yum install foo• rpm
と違い、パッケージの名前
だけを指定すればよい
•
他のパッケージが必要な場合(
依存関係がある場合)、そのパ ッケージも自動的にインストー ルされる
3 3 . . 2 2 yum yum コマンド コマンド
34
アップデート
$ yum update [foo]
•
現在インストールされているパ ッケージの新しいバージョンが リポジトリにあれば、アップデ ートする
•
パッケージを指定しない場合は
、全てのパッケージが対象
3 3 . . 2 2 yum yum コマンド コマンド
35
パッケージの削除
$ yum remove foo
パッケージの検索
$ yum search keyword
•
パッケージ名または説明文に
「
keyword」を含むパッケージ
を探す
3 3 . . 2 2 yum yum コマンド コマンド
36
リポジトリ上のパッケージ一覧
$ yum list
パッケージの詳細情報表示
$ yum info foo3 3 . . 2 2 yum yum コマンド コマンド
37
3 3 . . 2 2 yum yum コマンド コマンド
詳細情報表示例
38
3 3 . . 3 3 dpkg dpkg コマンド コマンド
パッケージのインストール
$ dpkg -i foo_1.0.0-1_i386.deb
パッケージの削除
$ dpkg -r foo
パッケージ情報の閲覧
$ dpkg -l
[foo]39
パッケージの詳細情報
$ dpkg -s foo
パッケージのファイル一覧
$ dpkg -L foo3 3 . . 3 3 dpkg dpkg コマンド コマンド
40
3 3 . . 4 4 apt apt コマンド コマンド
rpm
に対する
yumと同様、
dpkg(
debパッケージ)に対し て、
aptコマンドがある
rpm ⇔ yum dpkg ⇔ apt
考え方は、
yumとほぼ同じ
41
パッケージの一覧表を更新
$ apt-get update$ apt-get install foo
パッケージのインストール
3 3 . . 4 4 apt apt コマンド コマンド
42
$ apt-get upgrade
全パッケージを最新版に更新
パッケージの検索
$ apt-cache search keyword
パッケージの詳細情報の表示
$ apt-cache show foo3 3 . . 4 4 apt apt コマンド コマンド
パッケージの削除
$ apt-get remove foo
43
3 3 . . 5 5 BSD BSD の場合 の場合
BSD の packages/ports
は、
Linuxとは考え方がかなり違う
コマンド
pkg_add 、 pkg_delete
などがある
(rpm、
dpkgコマンドに相当)
sysinstall
メニュー方式
依存関係のあるパッケージを自動的
に入れてはくれない
44 sysinstall
の画面例
3 3 . . 5 5 BSD BSD の場合 の場合
45
ports
ソースコードの取得、コンパイ ル、インストールを行う
依存関係のあるパッケージも、
インストールしてくれる
3 3 . . 5 5 BSD BSD の場合 の場合
46
カテゴリ別にディレクトリがあり、そ の下に各アプリケーションのディレク トリがある
例)
/usr/ports/japanese/less
そのディレクトリにて、下記を行なう
make configure
make
make install
3 3 . . 5 5 BSD BSD の場合 の場合
47
3 . 6 リポジトリ
リポジトリ
(repository)とは
「貯蔵庫」の意
一般には、設計情報やプログラム などを保管しておくデータベースの こと
ここでは、パッケージをまとめて 保管している
Webサイト を指す
48
3 . 6 リポジトリ
リポジトリの追加
システムインストール時に、オフィ シャルサイトが登録されている
リポジトリを追加したいことがある
混雑したサイトを避ける
オフィシャルにはないパッケージ
異なるバージョンのパッケージ
49
3 . 6 リポジトリ
リポジトリの追加
(apt)
リポジトリのアドレスは
/etc/apt/sources.listに記述されている
ここに、追加するリポジトリの アドレスを追記する
50
3 . 6 リポジトリ
リポジトリの追加
(yum)/etc/yum.repos.d/???.repo
(???
は、ディストリビューション
毎に異なる)
/etc/yum.repos.d/fedora.repo
/etc/yum.repos.d/CentOS- Base.repo
など
51
3 . 6 リポジトリ
リポジトリを追加・変更した場合
リポジトリの公開鍵を取得しな ければならないことがある
リポジトリの
Webサイトに説 明があるはず
52
3 3 . . 7 7 GUI GUI ツール ツール
rpm
、
yum(
dpkg、
apt) などは
、コマンドラインベースのコマンド
(
CUI) GUI
ベースのツールが、それぞれ用意 されている
53
例1 (
KNOPPIX)
3 3 . . 7 7 GUI GUI ツール ツール
54
例2 (
Fedora)
3 3 . . 7 7 GUI GUI ツール ツール
55
3 3 . . 8 その他 8 その他
セキュリティ上のアップデートは、
忘れずに行なわなければならない
アップデートにより、不具合が 発生することもある
テストしてからアップデート
56
3 3 . . 8 その他 8 その他
KNOPPIX
では
書き換えのできない
CD-ROMへ のリンクが、多数張られている
インストールに失敗しやすい
57
【課題6】
FTP
サーバ
vsftpdをインストールせよ
FTP (File Transfer Protocol)
とは
ファイルを転送するための通信プロト コル
サーバで
FTPサーバを動かすと、他 のマシンからファイル転送を行うこと ができる
58
【課題6】
インストール方法
インストールは、
rootで行う
apt-get
コマンドの前には
LC_ALL=Cをつける (日本語をうまく処理できない場 合があるため、環境変数を一時的 に変更する)
59
【課題6】
リポジトリ登録ファイル
/etc/apt/sources.list
を、
Webサイ トにある
sources.listで置き換える
( KNOPPIX
が古いため、アップデ
ートするものが多すぎてエラーとな るのを防ぐ)
60
【課題6】
プロキシを設定
/etc/apt/apt.conf
に、次の行を 追加する
Acquire::http::Proxy
"http://kawagate2.toyo.ac.jp:8080/";
注
1: 実際は、
1行で書く
注
2: 自宅等では、不要
61【課題6】
パッケージ一覧を更新
注:いくつかエラーが出るが無視
次に、パッケージをインストール
注:「
Install these packages withoutverification ?
」の問には 「
y」
62# LC_ALL=C apt-get update
# LC_ALL=C apt-get install vsftpd
【課題6】
vsftpd
の設定ファイルは、
/etc/vsftpd.conf
ローカルユーザの書き込みを可 に
63
local_enable=YES write_enable=YES
コメントアウトしてある行を有
効にする (先頭の
#を取り
除く)
【課題6】
書き換え後、忘れず
reloadすること
設定できる項目は、他にも多数ある
anonymous (
匿名
) FTPは、不要 ならば止めた方がよい
他にどのような設定項目があるか ファイル中のコメントや
manペー ジを読んでおくとよい
64
【課題6】
デーモンの起動は、インストール時に 自動的に設定される
invoke-rc.d
の必要はない
(インストールにより、起動している
)
デフォルトの設定を変更する場合は
update-rc.dを 用いる
(本課題では、そのままでよい)
65
【課題6】
Windows
から
FTPによりログインせよ
IP
アドレスは、
ifconfigにより調べる
Windows
の コマンドプロンプト
( CMD.EXE
)を起動し、
FTPコマン ドを実行する
66
> ftp 192.168.11.7
【課題6】
自分名のユーザでログインした後
、“
ls -l”コマンドを実行せよ
以上の操作を行った画面をキャプ
チャし、
Word画面に貼り付
け、
report6.docxとせよ
report6.docx
を、
manabaのレポ ート
6として提出せよ
67
【課題6】
こんな画面になるはず
68
次回の予定 次回の予定
DNS
サーバ
1 .
ドメイン名
2 . DNS
サーバの役割と仕組み
3 . DNS
サーバの設定
69