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