インストールしてみようLinux ~VineLinuxなお友達への補足編~ [インストールしてみようLinux]
さて、ここまでの「インストールしてみようLinux」は、主にCentOS5.2なお友達を主な対象にしてきたが、このblogのポリシーとしてはVineLinuxなお友達へのフォローも可能な限りしたいと思っているので、ここでは、公約通りVineLinuxなお友達への補足を書いておきたい。
とはいえ、スクリーンショットを用意するのは面倒くさいので要点だけ。(笑)
●インストールしてみようLinux インストール後にすること
「その3:SELINUXを停止する」の作業を行う必要はない。/etc/sysconfig/selinuxというファイルがそもそも存在しないのである。(手でインストールしたとか無ければね…)
その代わり、お好みに応じてsshdの設定を変更したくなるかもしれない。
というのも、CentOS(やRedHat Linux等)を標準的にインストールすると、sshdの設定がrootアカウントでリモートログインを許可する設定になっているが、VineLinuxではこれを禁止している。セキュリティ的にはじつに正しい判断ではある。が、職場や学校で使うサーバならいざ知らず、家庭内でちょろちょろ使いたいという場合にはちょっと鬱陶しいのもまた事実。そこで、rootでのリモートログインを許可したい人は、/etc/ssh/sshd_configというファイルの中身を変更する。
標準の状態では…
と、「PermitRootLogin」が「no」になっていて、「yes」の行がコメントアウトされた状態になっている。この2行を変更し、「no」の行をコメントアウトして、「yes」の行のコメント記号を削除すればよい。
こういう状態にするのである。
変更したら、service sshd restartを実行し、設定を反映させよう。
「その4:パッケージやライブラリをアップデートする」は、用いるコマンドが異なる。CentOSではyumコマンドであったが、VineLinuxではapt-getコマンドになる。
まず、apt-get updateを実行する。だいたい以下のような実行結果になるだろう。
で、これが終わったら、apt-get dist-upgradeを実行する。
「続行しますか?」との質問に「y」と答えると…
このように、パッケージ類が新しい物に更新される。おそらくほとんどの場合は「kernel-ナントカカントカ」が更新されるはずなので、サーバをリブートしておく。
●インストールしてみようLinux インストール後にすること 時刻合わせ編
ここでも、yumコマンドが活躍しているが、VineLinuxなお友達の場合はapt-getコマンドを用いる。なお、yum searchを実行している場面では、apt-cache searchというコマンドになる。
例えば、yum search ntp というコマンドをCentOSで実行している部分、これと同じ事をVineLinuxなお友達が実行するとしたら、apt-cache search ntpということになる。
そして、yum installに相当するのが、apt-get installである。上記の検索結果を踏まえて実際にntpのパッケージをインストールしようという場合は、apt-get install ntpというコマンドを実行することになる。
●インストールしてみようLinux ~いよいよファイルサーバを作る編~
このアーティクルについても、yumコマンドをapt-getコマンド・apt-cacheコマンドに置き換える必要がある。
さて。sambaの設定ファイルについてであるけども、VineLinuxでは標準状態の文字コードが古式ゆかしいeucJPに設定されているので注意が必要。また、大変困ったことに、/etc/sysconfig/i18nの設定を変更しても、apt-cacheコマンドの実行結果がeucJPで出力されるのである。よって、i18nをいじくってUTF-8にしてもあまり愉快なことにならないかもしれない。
そこで、samba側の設定ファイルに文字コード変換に関する設定を追加しなくてはならない。
具体的には、「[global]」ブロックに、以下の2行を追加記述する。
WindowsなPCの文字コードは「CP932」ですよ、Linux側の文字コードは「EUCJP-MS」ですよ。
という指定。場所は「[global]」ブロック内ならまあどこでも構わない。(2行離ればなれでも大丈夫だが、離ればなれにする意味はないだろう…)
とはいえ、スクリーンショットを用意するのは面倒くさいので要点だけ。(笑)
●インストールしてみようLinux インストール後にすること
「その3:SELINUXを停止する」の作業を行う必要はない。/etc/sysconfig/selinuxというファイルがそもそも存在しないのである。(手でインストールしたとか無ければね…)
その代わり、お好みに応じてsshdの設定を変更したくなるかもしれない。
というのも、CentOS(やRedHat Linux等)を標準的にインストールすると、sshdの設定がrootアカウントでリモートログインを許可する設定になっているが、VineLinuxではこれを禁止している。セキュリティ的にはじつに正しい判断ではある。が、職場や学校で使うサーバならいざ知らず、家庭内でちょろちょろ使いたいという場合にはちょっと鬱陶しいのもまた事実。そこで、rootでのリモートログインを許可したい人は、/etc/ssh/sshd_configというファイルの中身を変更する。
標準の状態では…
#PermitRootLogin yes PermitRootLogin no
と、「PermitRootLogin」が「no」になっていて、「yes」の行がコメントアウトされた状態になっている。この2行を変更し、「no」の行をコメントアウトして、「yes」の行のコメント記号を削除すればよい。
PermitRootLogin yes #PermitRootLogin no
こういう状態にするのである。
変更したら、service sshd restartを実行し、設定を反映させよう。
「その4:パッケージやライブラリをアップデートする」は、用いるコマンドが異なる。CentOSではyumコマンドであったが、VineLinuxではapt-getコマンドになる。
まず、apt-get updateを実行する。だいたい以下のような実行結果になるだろう。
[root@k1 root]# apt-get update 取得:1 http://updates.vinelinux.org 4.2/i386 release [2262B] 2262B を 0s 秒で取得しました (4285B/s) ヒット http://updates.vinelinux.org 4.2/i386/main pkglist 取得:1 http://updates.vinelinux.org 4.2/i386/main release [158B] 取得:2 http://updates.vinelinux.org 4.2/i386/plus pkglist [511kB] 取得:3 http://updates.vinelinux.org 4.2/i386/plus release [166B] 取得:4 http://updates.vinelinux.org 4.2/i386/updates pkglist [200kB] 取得:5 http://updates.vinelinux.org 4.2/i386/updates release [171B] 取得:6 http://updates.vinelinux.org 4.2/i386/nonfree pkglist [23.0kB] 取得:7 http://updates.vinelinux.org 4.2/i386/nonfree release [169B] 取得:8 http://updates.vinelinux.org 4.2/i386/main srclist [119kB] 取得:9 http://updates.vinelinux.org 4.2/i386/plus srclist [221kB] 取得:10 http://updates.vinelinux.org 4.2/i386/updates srclist [45.6kB] 取得:11 http://updates.vinelinux.org 4.2/i386/nonfree srclist [21.6kB] 1141kB を 3s 秒で取得しました (314kB/s) パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了
で、これが終わったら、apt-get dist-upgradeを実行する。
[root@k1 root]# apt-get dist-upgrade パッケージリストを読みこんでいます... 完了 依存情報ツリーを作成しています... 完了 アップグレードパッケージを検出しています... 完了 以下のパッケージがアップグレードされます: bind-libs bind-utils dbus dbus-glib kernel-doc ntp openssl openssl-devel 以下のパッケージが新たにインストールされます: kernel#2.6.16-76.40vl4 kernel-devel#2.6.16-76.40vl4 kernel-module-ipw3945#1.2.0_2.6.16_76.40vl4-0vl1.2 kernel-module-madwifi#0.9.3.3_2.6.16_76.40vl4-0vl0.42.1 kernel-module-ndiswrapper#1.27_2.6.16_76.40vl4-0vl2 kernel-module-zd1211#2.22.0.0_2.6.16_76.40vl4-2vl4 アップグレード: 8 個, 新規インストール: 6 個, 削除: 0 個, 保留: 0 個 29.6MB のアーカイブを取得する必要があります。 展開後に 62.1MB のディスク容量が追加消費されます。 続行しますか? [Y/n]
「続行しますか?」との質問に「y」と答えると…
[root@k1 root]# apt-get dist-upgrade (途中省略) 続行しますか? [Y/n]y 取得:1 http://updates.vinelinux.org 4.2/i386/updates openssl-devel 0.9.7l-2.42vl4 [1704kB] 取得:2 http://updates.vinelinux.org 4.2/i386/updates openssl 0.9.7l-2.42vl4 [1195kB] 取得:3 http://updates.vinelinux.org 4.2/i386/updates bind-utils 9.3.6P1-1vl4 [163kB] 取得:4 http://updates.vinelinux.org 4.2/i386/updates bind-libs 9.3.6P1-1vl4 [678kB] 取得:5 http://updates.vinelinux.org 4.2/i386/updates kernel-devel#2.6.16-76.40vl4 2.6.16-76.40vl4 [4517kB] 取得:6 http://updates.vinelinux.org 4.2/i386/updates kernel-doc 2.6.16-76.40vl4 [2809kB] 取得:7 http://updates.vinelinux.org 4.2/i386/updates dbus-glib 0.62-1.4vl4 [110kB] 取得:8 http://updates.vinelinux.org 4.2/i386/updates dbus 0.62-1.4vl4 [640kB] 取得:9 http://updates.vinelinux.org 4.2/i386/updates kernel#2.6.16-76.40vl4 2.6.16-76.40vl4 [15.8MB] 取得:10 http://updates.vinelinux.org 4.2/i386/updates kernel-module-ipw3945#1.2.0_2.6.16_76.40vl4-0vl1.2 1.2.0_2.6.16_76.40vl4-0vl1.2 [271kB] 取得:11 http://updates.vinelinux.org 4.2/i386/updates kernel-module-madwifi#0.9.3.3_2.6.16_76.40vl4-0vl0.42.1 0.9.3.3_2.6.16_76.40vl4-0vl0.42.1 [258kB] 取得:12 http://updates.vinelinux.org 4.2/i386/updates kernel-module-ndiswrapper#1.27_2.6.16_76.40vl4-0vl2 1.27_2.6.16_76.40vl4-0vl2 [82.9kB] 取得:13 http://updates.vinelinux.org 4.2/i386/updates kernel-module-zd1211#2.22.0.0_2.6.16_76.40vl4-2vl4 2.22.0.0_2.6.16_76.40vl4-2vl4 [219kB] 取得:14 http://updates.vinelinux.org 4.2/i386/updates ntp 4.2.0-8vl4 [1145kB] 29.6MB を 7s 秒で取得しました (4035kB/s) 変更を適用しています... 準備中... ########################################### [100%] 1:kernel-devel ########################################### [ 7%] 2:kernel ########################################### [ 14%] 3:kernel-module-ipw3945 ########################################### [ 21%] 4:kernel-module-madwifi ########################################### [ 29%] 5:kernel-module-ndiswrapp########################################### [ 36%] 6:kernel-module-zd1211 ########################################### [ 43%] 7:openssl-devel ########################################### [ 50%] 8:openssl ########################################### [ 57%] 9:bind-utils ########################################### [ 64%] 10:bind-libs ########################################### [ 71%] 11:kernel-doc ########################################### [ 79%] 12:dbus-glib ########################################### [ 86%] 13:dbus ########################################### [ 93%] 14:ntp ########################################### [100%] 完了 [root@k1 root]#
このように、パッケージ類が新しい物に更新される。おそらくほとんどの場合は「kernel-ナントカカントカ」が更新されるはずなので、サーバをリブートしておく。
●インストールしてみようLinux インストール後にすること 時刻合わせ編
ここでも、yumコマンドが活躍しているが、VineLinuxなお友達の場合はapt-getコマンドを用いる。なお、yum searchを実行している場面では、apt-cache searchというコマンドになる。
例えば、yum search ntp というコマンドをCentOSで実行している部分、これと同じ事をVineLinuxなお友達が実行するとしたら、apt-cache search ntpということになる。
[root@k1 root]# apt-cache search ntp chkfontpath - X フォントサーバのフォントパスを編集するインタフェース gnome-vfs2 - GNOME 仮想ファイルシステムライブラリ perl - Perl プログラミング 言語 perl-URI - URI module for perl perl-libwww-perl - libwww-perl module for perl wl - (X)Emacs 用IMAP に対応したメール/ニュースリーダ adjtimex - カーネル時刻変数を調整する為のユーティリティ cleanfeed - Usenet ニュースサーバ用 spam フィルタ cyrus-imapd - IMAP と POP3, NNTP, SIEVE サービスを提供する高パフォーマンスのメールサーバ cyrus-imapd-nntp - Cyrus IMAP server NNTP system files. evolution-data-server - Evolution バックエンドデータサーバ gnome-vfs - The GNOME virtual file-system libraries kdeaccessibility - tools for handicapped people to use the GUI kdebase - K Desktop Environment - core files kdelibs - K デスクトップ環境 - ライブラリ kdevelop - Integrated Development Environment for C++/C mozilla-mail - Mozilla ベースのメールシステム nagios-plugins - Host/service/network monitoring program plugins for Nagios wine - Unix で 16/32/64ビットWindoowsプログラムを実行させます firefox - Firefox コミュニティエディション ntp - Synchronizes system time using the Network Time Protocol (NTP).
そして、yum installに相当するのが、apt-get installである。上記の検索結果を踏まえて実際にntpのパッケージをインストールしようという場合は、apt-get install ntpというコマンドを実行することになる。
●インストールしてみようLinux ~いよいよファイルサーバを作る編~
このアーティクルについても、yumコマンドをapt-getコマンド・apt-cacheコマンドに置き換える必要がある。
さて。sambaの設定ファイルについてであるけども、VineLinuxでは標準状態の文字コードが古式ゆかしいeucJPに設定されているので注意が必要。また、大変困ったことに、/etc/sysconfig/i18nの設定を変更しても、apt-cacheコマンドの実行結果がeucJPで出力されるのである。よって、i18nをいじくってUTF-8にしてもあまり愉快なことにならないかもしれない。
そこで、samba側の設定ファイルに文字コード変換に関する設定を追加しなくてはならない。
具体的には、「[global]」ブロックに、以下の2行を追加記述する。
dos charset = CP932 unix charset = EUCJP-MS
WindowsなPCの文字コードは「CP932」ですよ、Linux側の文字コードは「EUCJP-MS」ですよ。
という指定。場所は「[global]」ブロック内ならまあどこでも構わない。(2行離ればなれでも大丈夫だが、離ればなれにする意味はないだろう…)
インストールしてみようLinux ~いよいよファイルサーバを作る編~ [インストールしてみようLinux]
ここまでで、Linuxのインストールと時刻同期については完了している。まあ、ここから先はぶっちゃけLinuxというよりもその上で動作するアプリケーションのセットアップの話になってくるので、「インストールしてみようLinux」というタイトルが正しいかどうかと聞かれると、非常にアレなんだけども。。。。。
まあ、Linuxを入れるだけ入れてそこで終了というのも、ありがたみもよく分からない状態で終了してしまうということのような気がするので、あくまでもオマケということで、ファイルサーバを作るところまで解説したいと思う。
今時の既製品のNASにはいろいろと目を見張るものがあって、容量がデカくて安くて手間いらずというだけでなく、NASを2個用意したら自動的にデータをバックアップしてくれるような製品があったり、2個のNASを1個の大きなNASに見せたりするような製品があったかと思うと、DLNA対応なテレビやガジェットで音楽や動画を再生できる環境をPC無しに実現してくれたりするのである。ちょっと古めのプリンターをネットワークプリンターとして面倒みてくれるような物もある。
ま、ぶっちゃけ、そうした製品は組み込み用Linuxが使われているので、今ここで作成しようとしている「ファイルサーバ」でも同じ事が出来るんだけどもね。
そんな訳で、説明を開始する。
なお、想定している環境は、Linuxをファイルサーバ(ファイル置き場)にして、クライアントにはWindowsなPCを想定している。また、一般家庭での使用を想定しているので「ワークグループ」での使用を前提とする。(ドメインに参加しているPCからでもアクセスは可能だが、説明は省略している)
まず、LinuxサーバとWindowsなPCクライアントとの間でファイルを共有する方法だが、PC側からLinuxのサーバが「ネットワーク上の共有フォルダ」に見えるようにするのが簡単で使い勝手の良い方法となるだろう。ただ、Linux側はWindows側に対して「ネットワーク上の共有フォルダ」を提供する機構を標準で持っていないので、別途ソフトを用意する必要が出てくる。
このために使われるのが、有名なsambaである。(「サンバ」と読む)公式サイトには詳細な説明がずらずらと書かれているが、「特にアクセス制限はしない」「プリンタ共有はしない」のであれば、特に難しいことはなくて、ラクチンポンなセットアップが可能なのである。
そんな訳で、さっそくsambaをセットアップする。
yumコマンドからインストールが可能。まずは、yum searchでパッケージを探してみよう。
検索結果がズラズラと出てくるが、今回インストールしたいのは、「samba.x86_64 : The Samba SMB server.」である。(32ビット環境では「samba.i386」になる)
よって、yum install samba.x86_64とすることでインストール完了である。
ずらずらーっと処理過程が表示され、インストールが行われる。
インストールが済んだら、Linuxサーバ側をWindowsなPCからネットワークフォルダとしてアクセスが出来るように設定を行う。
設定を行う項目としてはおおまかに以下の通りとなる。
必須項目:
①ワークグループ名
②NET-BIOS名(WindowsなPCから見たサーバの名前)
③共有フォルダの共有名
④実際にファイルを保存する場所
お好みに応じて:
⑤サーバのコメント
⑥共有フォルダのコメント
というところだろうか。
これらの情報は、sambaの挙動を制御する設定ファイル、/etc/samba/smb.confに書き込むこととなる。
それでは、サンプルケース(ぶっちゃけ、我が家のファイルサーバの設定)を見てみよう。
必須項目:
①ワークグループ名 : ASGARDHR
②NET-BIOS名(WindowsなPCから見たサーバの名前) : Chihiro
③共有フォルダの共有名 : sound
④実際にファイルを保存する場所 : /mnt/private_storage/share_sound
お好みに応じて:
⑤サーバのコメント : MyStorage Server
⑥共有フォルダのコメント : Sound Files
こんな感じで設定することにする。
すると…
このように書けば終了。
軽く解説しておく。
まず、「[global]」と書かれた行から、サーバ全体の設定が記述されている。ワークグループや、BET-BIOS名、セキュリティ設定等が指定されている。
そして、「[sound]」と書かれた行から、個々の共有フォルダの設定が記述される。このとき、角カッコの中に記述された名称が、WindowsなPCから見たときのフォルダの名前になる。ちなみに、上記のように指定した場合にこの共有フォルダをWindowsなPCから指定する場合のUNC名は、
¥¥chihiro¥sound
と、いうことになる。(表示の都合上、円マークを全角で記述しているが、実際に指定する場合は半角文字の円マークを用いる必要があるのは言うまでもない)
さて。google等でsambaについての設定情報を検索すると、「code page」とかその辺の文字コードに関する設定をするページにたどり着くかもしれないが、今ここで例示している設定にはそれらの記述は全くない。が、これでも全く問題無くアクセスすることができるのである。Linuxサーバ側の文字コードがUTF-8のままになっていれば、文字コードの設定は省略可能なのである。よって、まるっと省略しているので、ここには記述していない。
WindowsなPCで日本語(全角文字)を含むファイルを置いた場合に本当に大丈夫なのか気になるところだろう。実際Windowsでファイルを置いて、Linuxのターミナルから同じフォルダを見ると…
と、このようにきちんと日本語で表示されている。化けたりしない。
なお、文字コードを古式ゆかしいeucJP等に変更している場合は、sabma.confの中に文字コード変換に関する指定が必須となるので要注意。まあ、今回のLinuxセットアップでは文字コードの変更を行っていないのでUTF-8のままである。
では、設定ファイルの記述が出来たところで、sambaを実際に起動して確認してみよう。
sambaの起動は他のデーモンプロセスと同様に「service」コマンドで起動可能。service smb startで起動する。起動すると、「nmbd」と「smbd」の2種類のプロセスが数個起動する。これはクライアントからのアクセス数によって増えたり減ったりする。多分、2~4個ずつかな。
WindowsなPCでDOSプロンプトを開いてnet viewコマンド等で確認しておこう。(まあ、「マイ ネットワーク」からクリックしていっても良いが。)
ファイルを実際にコピーしたりして動作を確認する。問題無いようなら、サーバを再起動したとき等にsambaが起動するように、chkconfig smb onを実行しておく。
これでファイルサーバ化が完了である。
まあ、Linuxを入れるだけ入れてそこで終了というのも、ありがたみもよく分からない状態で終了してしまうということのような気がするので、あくまでもオマケということで、ファイルサーバを作るところまで解説したいと思う。
今時の既製品のNASにはいろいろと目を見張るものがあって、容量がデカくて安くて手間いらずというだけでなく、NASを2個用意したら自動的にデータをバックアップしてくれるような製品があったり、2個のNASを1個の大きなNASに見せたりするような製品があったかと思うと、DLNA対応なテレビやガジェットで音楽や動画を再生できる環境をPC無しに実現してくれたりするのである。ちょっと古めのプリンターをネットワークプリンターとして面倒みてくれるような物もある。
ま、ぶっちゃけ、そうした製品は組み込み用Linuxが使われているので、今ここで作成しようとしている「ファイルサーバ」でも同じ事が出来るんだけどもね。
そんな訳で、説明を開始する。
なお、想定している環境は、Linuxをファイルサーバ(ファイル置き場)にして、クライアントにはWindowsなPCを想定している。また、一般家庭での使用を想定しているので「ワークグループ」での使用を前提とする。(ドメインに参加しているPCからでもアクセスは可能だが、説明は省略している)
まず、LinuxサーバとWindowsなPCクライアントとの間でファイルを共有する方法だが、PC側からLinuxのサーバが「ネットワーク上の共有フォルダ」に見えるようにするのが簡単で使い勝手の良い方法となるだろう。ただ、Linux側はWindows側に対して「ネットワーク上の共有フォルダ」を提供する機構を標準で持っていないので、別途ソフトを用意する必要が出てくる。
このために使われるのが、有名なsambaである。(「サンバ」と読む)公式サイトには詳細な説明がずらずらと書かれているが、「特にアクセス制限はしない」「プリンタ共有はしない」のであれば、特に難しいことはなくて、ラクチンポンなセットアップが可能なのである。
そんな訳で、さっそくsambaをセットアップする。
yumコマンドからインストールが可能。まずは、yum searchでパッケージを探してみよう。
[root@test-server1 ~]# yum search samba (途中省略) system-config-samba.noarch : Samba server configuration tool samba-client.x86_64 : Samba (SMB) client programs. samba-common.x86_64 : Files used by both Samba servers and clients. sblim-cmpi-samba.i386 : SBLIM WBEM-SMT Samba sblim-cmpi-samba-test.x86_64 : SBLIM WBEM-SMT Samba - Testcase Files samba-client.x86_64 : Samba (SMB) client programs. sblim-tools-libra-devel.x86_64 : SBLIM Common Resource Access Library for WBEM-SMT tasks Header Development Files sblim-cmpi-dns.i386 : SBLIM WBEM-SMT Dns samba-swat.x86_64 : The Samba SMB server configuration program. sblim-cmpi-samba-devel.i386 : SBLIM WBEM-SMT Samba - Header Development Files samba.x86_64 : The Samba SMB server. amanda.i386 : A network-capable tape backup solution. sblim-tools-libra.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks samba.x86_64 : The Samba SMB server. sblim-tools-libra-devel.i386 : SBLIM Common Resource Access Library for WBEM-SMT tasks Header Development Files samba-common.i386 : Files used by both Samba servers and clients. samba-common.x86_64 : Files used by both Samba servers and clients. samba-swat.x86_64 : The Samba SMB server configuration program. sblim-tools-libra.x86_64 : SBLIM Common Resource Access Library for WBEM-SMT tasks samba-common.i386 : Files used by both Samba servers and clients. sblim-cmpi-samba-devel.x86_64 : SBLIM WBEM-SMT Samba - Header Development Files amanda.x86_64 : A network-capable tape backup solution. sblim-cmpi-dns.x86_64 : SBLIM WBEM-SMT Dns sblim-cmpi-samba.x86_64 : SBLIM WBEM-SMT Samba
検索結果がズラズラと出てくるが、今回インストールしたいのは、「samba.x86_64 : The Samba SMB server.」である。(32ビット環境では「samba.i386」になる)
よって、yum install samba.x86_64とすることでインストール完了である。
[root@test-server1 ~]# yum install samba.x86_64 (途中省略) Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package samba.x86_64 0:3.0.28-1.el5_2.1 set to be updated --> Processing Dependency: samba-common = 3.0.28-1.el5_2.1 for package: samba --> Running transaction check ---> Package samba-common.x86_64 0:3.0.28-1.el5_2.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: samba x86_64 3.0.28-1.el5_2.1 updates 16 M Installing for dependencies: samba-common x86_64 3.0.28-1.el5_2.1 updates 8.8 M Transaction Summary ============================================================================= Install 2 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 25 M Is this ok [y/N]: y
ずらずらーっと処理過程が表示され、インストールが行われる。
インストールが済んだら、Linuxサーバ側をWindowsなPCからネットワークフォルダとしてアクセスが出来るように設定を行う。
設定を行う項目としてはおおまかに以下の通りとなる。
必須項目:
①ワークグループ名
②NET-BIOS名(WindowsなPCから見たサーバの名前)
③共有フォルダの共有名
④実際にファイルを保存する場所
お好みに応じて:
⑤サーバのコメント
⑥共有フォルダのコメント
というところだろうか。
これらの情報は、sambaの挙動を制御する設定ファイル、/etc/samba/smb.confに書き込むこととなる。
それでは、サンプルケース(ぶっちゃけ、我が家のファイルサーバの設定)を見てみよう。
必須項目:
①ワークグループ名 : ASGARDHR
②NET-BIOS名(WindowsなPCから見たサーバの名前) : Chihiro
③共有フォルダの共有名 : sound
④実際にファイルを保存する場所 : /mnt/private_storage/share_sound
お好みに応じて:
⑤サーバのコメント : MyStorage Server
⑥共有フォルダのコメント : Sound Files
こんな感じで設定することにする。
すると…
[global] workgroup = ASGARDHR server string = MyStorage Server netbios name = Chihiro security = share load printers = no printable = no syslog = 0 [sound] comment = Sound Files path = /mnt/private_storage/share_sound writable = yes guest ok = yes force create mode = 0666 force directory mode = 0777 |
このように書けば終了。
軽く解説しておく。
まず、「[global]」と書かれた行から、サーバ全体の設定が記述されている。ワークグループや、BET-BIOS名、セキュリティ設定等が指定されている。
そして、「[sound]」と書かれた行から、個々の共有フォルダの設定が記述される。このとき、角カッコの中に記述された名称が、WindowsなPCから見たときのフォルダの名前になる。ちなみに、上記のように指定した場合にこの共有フォルダをWindowsなPCから指定する場合のUNC名は、
¥¥chihiro¥sound
と、いうことになる。(表示の都合上、円マークを全角で記述しているが、実際に指定する場合は半角文字の円マークを用いる必要があるのは言うまでもない)
さて。google等でsambaについての設定情報を検索すると、「code page」とかその辺の文字コードに関する設定をするページにたどり着くかもしれないが、今ここで例示している設定にはそれらの記述は全くない。が、これでも全く問題無くアクセスすることができるのである。Linuxサーバ側の文字コードがUTF-8のままになっていれば、文字コードの設定は省略可能なのである。よって、まるっと省略しているので、ここには記述していない。
WindowsなPCで日本語(全角文字)を含むファイルを置いた場合に本当に大丈夫なのか気になるところだろう。実際Windowsでファイルを置いて、Linuxのターミナルから同じフォルダを見ると…
[root@chihiro ハヤテのごとく!]# ls -la 合計 31764 drwxrwxrwx 2 nobody nobody 4096 1月 13 21:36 . drwxrwxrwx 6 nobody nobody 4096 1月 13 21:47 .. -rwxrw-rw- 1 nobody nobody 6399478 1月 13 21:29 01-ハヤテのごとく!.mp3 -rwxrw-rw- 1 nobody nobody 9852030 1月 13 21:30 02-泣きたかったんだ.mp3 -rwxrw-rw- 1 nobody nobody 6400748 1月 13 21:31 03-ハヤテのごとく! _instrumental_.mp3 -rwxrw-rw- 1 nobody nobody 9798129 1月 13 21:32 04-泣きたかったんだ _instrumental_.mp3
と、このようにきちんと日本語で表示されている。化けたりしない。
なお、文字コードを古式ゆかしいeucJP等に変更している場合は、sabma.confの中に文字コード変換に関する指定が必須となるので要注意。まあ、今回のLinuxセットアップでは文字コードの変更を行っていないのでUTF-8のままである。
では、設定ファイルの記述が出来たところで、sambaを実際に起動して確認してみよう。
sambaの起動は他のデーモンプロセスと同様に「service」コマンドで起動可能。service smb startで起動する。起動すると、「nmbd」と「smbd」の2種類のプロセスが数個起動する。これはクライアントからのアクセス数によって増えたり減ったりする。多分、2~4個ずつかな。
WindowsなPCでDOSプロンプトを開いてnet viewコマンド等で確認しておこう。(まあ、「マイ ネットワーク」からクリックしていっても良いが。)
Microsoft Windows XP [Version 5.1.2600] (C) Copyright 1985-2001 Microsoft Corp. C:\Documents and Settings\hogehoge>net view \\chihiro \\chihiro の共有リソース MyStorage Server 共有名 タイプ 使用 コメント ------------------------------------------------------------------------------- sound Disk Sound/Music MP3 files コマンドは正常に終了しました。 C:\Documents and Settings\hogehogei>
ファイルを実際にコピーしたりして動作を確認する。問題無いようなら、サーバを再起動したとき等にsambaが起動するように、chkconfig smb onを実行しておく。
これでファイルサーバ化が完了である。
インストールしてみようLinux インストール後にすること 時刻合わせ編 [インストールしてみようLinux]
今度は、サーバの時刻合わせを行う。時刻合わせに使うツールは「ntpd」というデーモンを使うこととする。
ntpdについても、そこらじゅうに解説サイトがあるので、詳しいことはそちらを参照してもらうこととして、
サーバの時刻だけあわせられれば良い
ということで最もラクチンポンに設定できれば良いということで解説する。
rpmパッケージがインストールされているかどうか調べると…
ということでインストールされていないので、インストールするところから始まる。
インストールにはyumコマンドを使う。
ついでなので、ここでyumコマンドについて簡単に解説しておこう。
man yum を見てくれたまえ。
…。
冗談冗談。
yumコマンドとは、rpmパッケージファイルを自動的に「リポジトリサーバ」からダウンロードして自動的にインストールしたりするコマンドである。rpmコマンドを使えばいいじゃん!という指摘もありそうだけども、yumコマンドはダウンロードしてインストールするだけでなく、rpmパッケージファイルの依存関係をチェックして、依存しているファイルが存在する場合はそれらについても自動的にインストールなりアップデートなりを行ってくれるというもの。
ソースのtarファイルを探してダウンロードして解凍・展開してconfigureして○○が無い!と怒られてそのソースのtarファイルを探してダウンロードして解凍・展開してconfigureしてmakeしてmake installして、それから基のソースに戻ってconfigureしなおしたら今度は××が無い!と怒られてそのファイルの… なんてことをやってたオールドタイプな人からすると、なんというゆとり教育!と思わないでもないのだが…。(笑)
話がそれた。
で、yumコマンドのよくある使い方としては、
yum install パッケージ名
だろうか。例えば、今ここでインストールしようとしているntpdをインストールするとしたら
yum install ntp.i386
という具合。なお、複数のパッケージを一斉にインストールしたい場合には、パッケージ名を空白で区切って並べて記述してやればOK。
また、インストールしたいパッケージの名前が分からないとか、そもそもパッケージがあるのかどうか調べたいという場合に使う場合には…
yum search キーワード
こうすると、そのキーワードにまつわるパッケージの一覧が表示される。
たとえば、「ntp」で調べてみると…
yum search ntp
[root@test-server ~]# yum search ntp
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* updates: www.ftp.ne.jp
* addons: www.ftp.ne.jp
* extras: www.ftp.ne.jp
adjtimex.i386 : A utility for adjusting kernel time variables.
ntp.i386 : Synchronizes system time using the Network Time Protocol (NTP).
chkfontpath.i386 : Simple interface for editing the font path for the X font server.
rdate.i386 : ネットワーク上の他のマシンから日付/時刻を取得するためのツール
xfce4-fsguard-plugin.i386 : Filesystem-Guard plugin for the Xfce panel
chkfontpath.i386 : X フォントサーバーのフォントパスを編集するためのシンプルなインターフェイス。
inn.i386 : The InterNetNews (INN) system, an Usenet news server.
cyrus-imapd.i386 : A high-performance mail server with IMAP, POP3, NNTP and SIEVE support
system-config-date.noarch : A graphical interface for modifying system date and time
こんな具合。
また、前アーティクルで使ったけども、パッケージをアップデートする方法として
yum update
というコマンドをすでに使っている。
なお、これは差し支えない範囲でこまめに実行しておくと吉かと思われる。
それでは、ntpdをインストールする。
こんな具合。
これでインストール作業は完了。
ntp-4.2.2p1-8.el5.centos.1というパッケージがインストールされていることが判る。
続いて設定を行う。
ntpdは、時刻のズレを自動的に修正してくれるものの、あまりにも大きくズレすぎている場合等はあえて修正をしないように振る舞うので、ntpdを開始する前に一旦時刻を手動操作で合わせておく必要がある。
dateコマンドで時刻を合わせる古式ゆかしい方法もアリだけども、今せっかくntpパッケージをインストールしたので、ntpdateコマンドを使う。このコマンドも、ntpdと同様にネットワーク上(インターネット上)に存在するntpサーバと時刻を同期するが、コマンドを実行した瞬間に1回だけ時刻を合わせる動作を行うという点で動作が異なる。つまり、これからやろうとしている「一旦時刻を手動操作で合わせておく」という方法にはもってこいなのである。
コマンドの書式は
ntpdate サーバ名またはIPアドレス
これだけ。サーバ名またIPアドレスとしては、ネット上で公開されているntpサーバを指定する。一般的には、「契約しているISPのntpサーバ」を使うのがスジとされている。おそらくISPのユーザーサポートに関するページを参照するとntpサーバの名前かIPアドレスが記載されているのでこれを用いるとよい。(契約していない他のISPのntpサーバや、大学等のntpサーバは使用しないこと。)ISPがntpサーバを持っていない場合・公開していない場合には、一般からのアクセスを許容しているntpサーバを利用することになる。有名なところとしては
インターネットマルチフィード株式会社 (Webサイト http://www.jst.mfeed.ad.jp/ )
Ring Server Project (Webサイト http://www.ring.gr.jp/ring/ntp.html.ja )
独立行政法人 情報通信研究機構 (Webサイト http://www.nict.jp/ )
というところか。
ntpdateコマンドで、インターネットマルチフィード株式会社のntpサーバを使用する場合は
ntpdate ntp.jst.mfeed.ad.jp
ということになる。これを実行すると…
といった具合にその場で時刻が補正される。
これで下準備が完了したので、ntpdを使った自動時刻補正を行う。
実は、CentOSでntp.i386をyumでインストールすると、ntpdの動作に必要になる/etc/ntp.confという設定ファイルや、/etc/ntp/ディレクトリ配下の必要なファイルが自動的に用意されるので…
service ntpd start
これだけでntpdが動作してしまうのであった。なお、ntpdを自動起動するためには、
chkconfig ntpd on
も必要。
なお、ntpdの時刻合わせ状況を確認するには、ntpqコマンドを用いる。
各行に同期対象としているntpサーバが表示されているが、先頭に「*」が表示されているサーバと同期していることになっている。
これで、このサーバは時刻がズレたりすることはそうそう無いはず。
まとめると…
32ビット版のCentOSを使っている人は
yum install ntp.i386
ntpdate ntp.jst.mfeed.ad.jp
service ntpd start
chkconfig ntpd on
以上の4コマンドで完了。64ビット版のCentOSの人は最初のコマンドが
yum install ntp.x86_64
となる。
ntpdについても、そこらじゅうに解説サイトがあるので、詳しいことはそちらを参照してもらうこととして、
サーバの時刻だけあわせられれば良い
ということで最もラクチンポンに設定できれば良いということで解説する。
rpmパッケージがインストールされているかどうか調べると…
[root@test-server ~]# rpm -qa | fgrep ntp chkfontpath-1.10.1-1.1
ということでインストールされていないので、インストールするところから始まる。
インストールにはyumコマンドを使う。
ついでなので、ここでyumコマンドについて簡単に解説しておこう。
man yum を見てくれたまえ。
…。
冗談冗談。
yumコマンドとは、rpmパッケージファイルを自動的に「リポジトリサーバ」からダウンロードして自動的にインストールしたりするコマンドである。rpmコマンドを使えばいいじゃん!という指摘もありそうだけども、yumコマンドはダウンロードしてインストールするだけでなく、rpmパッケージファイルの依存関係をチェックして、依存しているファイルが存在する場合はそれらについても自動的にインストールなりアップデートなりを行ってくれるというもの。
ソースのtarファイルを探してダウンロードして解凍・展開してconfigureして○○が無い!と怒られてそのソースのtarファイルを探してダウンロードして解凍・展開してconfigureしてmakeしてmake installして、それから基のソースに戻ってconfigureしなおしたら今度は××が無い!と怒られてそのファイルの… なんてことをやってたオールドタイプな人からすると、なんというゆとり教育!と思わないでもないのだが…。(笑)
話がそれた。
で、yumコマンドのよくある使い方としては、
yum install パッケージ名
だろうか。例えば、今ここでインストールしようとしているntpdをインストールするとしたら
yum install ntp.i386
という具合。なお、複数のパッケージを一斉にインストールしたい場合には、パッケージ名を空白で区切って並べて記述してやればOK。
また、インストールしたいパッケージの名前が分からないとか、そもそもパッケージがあるのかどうか調べたいという場合に使う場合には…
yum search キーワード
こうすると、そのキーワードにまつわるパッケージの一覧が表示される。
たとえば、「ntp」で調べてみると…
yum search ntp
[root@test-server ~]# yum search ntp
Loading "fastestmirror" plugin
Loading mirror speeds from cached hostfile
* base: www.ftp.ne.jp
* updates: www.ftp.ne.jp
* addons: www.ftp.ne.jp
* extras: www.ftp.ne.jp
adjtimex.i386 : A utility for adjusting kernel time variables.
ntp.i386 : Synchronizes system time using the Network Time Protocol (NTP).
chkfontpath.i386 : Simple interface for editing the font path for the X font server.
rdate.i386 : ネットワーク上の他のマシンから日付/時刻を取得するためのツール
xfce4-fsguard-plugin.i386 : Filesystem-Guard plugin for the Xfce panel
chkfontpath.i386 : X フォントサーバーのフォントパスを編集するためのシンプルなインターフェイス。
inn.i386 : The InterNetNews (INN) system, an Usenet news server.
cyrus-imapd.i386 : A high-performance mail server with IMAP, POP3, NNTP and SIEVE support
system-config-date.noarch : A graphical interface for modifying system date and time
こんな具合。
また、前アーティクルで使ったけども、パッケージをアップデートする方法として
yum update
というコマンドをすでに使っている。
なお、これは差し支えない範囲でこまめに実行しておくと吉かと思われる。
それでは、ntpdをインストールする。
[root@test-server ~]# yum install ntp.i386 Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * updates: www.ftp.ne.jp * addons: www.ftp.ne.jp * extras: www.ftp.ne.jp base 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 951 B 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Setting up Install Process Parsing package install arguments Resolving Dependencies --> Running transaction check ---> Package ntp.i386 0:4.2.2p1-8.el5.centos.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: ntp i386 4.2.2p1-8.el5.centos.1 base 1.3 M Transaction Summary ============================================================================= Install 1 Package(s) Update 0 Package(s) Remove 0 Package(s) Total download size: 1.3 M Is this ok [y/N]: y Downloading Packages: (1/1): ntp-4.2.2p1-8.el5. 100% |=========================| 1.3 MB 00:00 Running rpm_check_debug Running Transaction Test Finished Transaction Test Transaction Test Succeeded Running Transaction Installing: ntp ######################### [1/1] Installed: ntp.i386 0:4.2.2p1-8.el5.centos.1 Complete!
こんな具合。
これでインストール作業は完了。
[root@test-server ~]# rpm -qa | fgrep ntp ntp-4.2.2p1-8.el5.centos.1 chkfontpath-1.10.1-1.1
ntp-4.2.2p1-8.el5.centos.1というパッケージがインストールされていることが判る。
続いて設定を行う。
ntpdは、時刻のズレを自動的に修正してくれるものの、あまりにも大きくズレすぎている場合等はあえて修正をしないように振る舞うので、ntpdを開始する前に一旦時刻を手動操作で合わせておく必要がある。
dateコマンドで時刻を合わせる古式ゆかしい方法もアリだけども、今せっかくntpパッケージをインストールしたので、ntpdateコマンドを使う。このコマンドも、ntpdと同様にネットワーク上(インターネット上)に存在するntpサーバと時刻を同期するが、コマンドを実行した瞬間に1回だけ時刻を合わせる動作を行うという点で動作が異なる。つまり、これからやろうとしている「一旦時刻を手動操作で合わせておく」という方法にはもってこいなのである。
コマンドの書式は
ntpdate サーバ名またはIPアドレス
これだけ。サーバ名またIPアドレスとしては、ネット上で公開されているntpサーバを指定する。一般的には、「契約しているISPのntpサーバ」を使うのがスジとされている。おそらくISPのユーザーサポートに関するページを参照するとntpサーバの名前かIPアドレスが記載されているのでこれを用いるとよい。(契約していない他のISPのntpサーバや、大学等のntpサーバは使用しないこと。)ISPがntpサーバを持っていない場合・公開していない場合には、一般からのアクセスを許容しているntpサーバを利用することになる。有名なところとしては
インターネットマルチフィード株式会社 (Webサイト http://www.jst.mfeed.ad.jp/ )
Ring Server Project (Webサイト http://www.ring.gr.jp/ring/ntp.html.ja )
独立行政法人 情報通信研究機構 (Webサイト http://www.nict.jp/ )
というところか。
ntpdateコマンドで、インターネットマルチフィード株式会社のntpサーバを使用する場合は
ntpdate ntp.jst.mfeed.ad.jp
ということになる。これを実行すると…
[root@test-server ~]# ntpdate ntp.jst.mfeed.ad.jp 25 Feb 09:59:38 ntpdate[2901]: step time server 210.173.160.87 offset -586.509176 sec
といった具合にその場で時刻が補正される。
これで下準備が完了したので、ntpdを使った自動時刻補正を行う。
実は、CentOSでntp.i386をyumでインストールすると、ntpdの動作に必要になる/etc/ntp.confという設定ファイルや、/etc/ntp/ディレクトリ配下の必要なファイルが自動的に用意されるので…
service ntpd start
これだけでntpdが動作してしまうのであった。なお、ntpdを自動起動するためには、
chkconfig ntpd on
も必要。
なお、ntpdの時刻合わせ状況を確認するには、ntpqコマンドを用いる。
[root@test-server ~]# ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *doga.jp 133.243.238.244 2 u 21 64 377 14.071 -57.187 3.051 +ntp.kiba.net 195.40.182.216 2 u 55 64 377 14.837 -59.198 3.539 +suisho.attritio 133.100.9.2 2 u 27 64 377 4.792 -57.817 3.934 LOCAL(0) .LOCL. 10 l 57 64 377 0.000 0.000 0.001
各行に同期対象としているntpサーバが表示されているが、先頭に「*」が表示されているサーバと同期していることになっている。
これで、このサーバは時刻がズレたりすることはそうそう無いはず。
まとめると…
32ビット版のCentOSを使っている人は
yum install ntp.i386
ntpdate ntp.jst.mfeed.ad.jp
service ntpd start
chkconfig ntpd on
以上の4コマンドで完了。64ビット版のCentOSの人は最初のコマンドが
yum install ntp.x86_64
となる。
インストールしてみようLinux インストール後にすること [インストールしてみようLinux]
インストーラが終了し、Rebootをぽちっと押したらいよいよLinuxが起動してくる。
しばらく待つと黒い画面に大量のメッセージがどばーっと流れるが、ここはまだあまり気にしなくても良い。
さらに待つと、最初に以下のような画面が表示されることだろう。
サーバの初期設定が行える画面が表示される。ここで実施しても構わないのだが、「Exit」をハイライト状態にしてEnterキーを押してしまう。
すると画面が真っ黒に戻ってさらにすこし待つと、「ログインプロンプト」が表示されるだろう。
ログインアカウントとパスワードを入力すると、コンソールにログインできる。ログインアカウントには「root」を、パスワードにはLinuxインストール時に指定したパスワードを入力する。
パスワードが正しく入力されたら、コマンドプロンプトが表示されてコマンドの入力が受け付けられる状態となる。
さて。インストール直後にやるべきことがいくつかある。
その1:IPv6を無効にする
その2:不必要なサービス・デーモンプロセスを停止する
その3:SELINUXを停止する
その4:パッケージやライブラリをアップデートする
この他には、お好みに応じて「文字コードの変更」とか「ユーザーアカウントの作成」とかを行うことになる。
その1:IPv6を無効にする
Linuxをインストールした際に、「Enable IPv6 support」を無効にしていたはずなのに、残念ながら実際にはIPv6が有効になっている状態でインストールが完了してくる。IPv6が有効のままだと、
① IPv6でアドレス解決を試みる
↓失敗する
② IPv4でアドレス解決を試みる
という手順を毎回踏むことになって鬱陶しいので、どうせ使わないのであればIPv6をはなっからアテにしないようにしておくと精神衛生上も望ましい。
方法としては /etc/modprobe.conf に以下のような内容を追記すると解決する。
なお、他のサイトや書籍などによっては、
このように記述する方法を紹介しているものもあるが、こちらの方法でも構わない模様。(結果オーライ)
当blogにもこの件については記載しているので、こちらも参照してほしい。
その2:不必要なサービス・デーモンプロセスを停止する
この部分は結構好みとか使用方法とかによって大きく別れてしまう部分でもあるので、「これで全て解決!」という物が無いのだけども、まず一致しているものとしては、「標準の状態では余計なサービス・デーモンまで起動しているから、整理しなければ!」ということ。
chkconfig --list | fgrep "3:on"とでも実行してもらえば判るが、ど~でもいいものまでがっつり起動する設定になっているのである。
サービス・デーモンを停止(あるいは起動)するように設定変更をする方法としては2つ(+邪道な方法1つ)がある。
① chkconfigコマンドを使用する方法
② ntsysvコマンドを使用する方法
chkconfigを使用する場合は、「chkconfig サービス・デーモン名 on」で起動するようになるし、「chkconfig サービス・デーモン名 off」で起動しないようになる。例えば、bluetoothデーモンを使用しないから自動的に起動しないように変更したいという場合は、「chkconfig bluetooth off」とすればよいことになる。
ntsysvコマンドを使用すると、Linuxのテキストモードインストーラのように、カーソルをスペースキーを使ってサービス・デーモンを選択したりチェックしたり解除したりすることができる。
で、「ひとまず最小限必要なサービス・デーモンだけ起動する」という場合、以下のコマンドをまるっとコピペしてくれれば良いと思う。
このコマンドを実行すると、「crond」(クーロンデーモン)、「network」(ネットワークサービス)、「sshd」(セキュアシェルデーモン)、「syslog」(シスログデーモン)、「atd」(ジョブ実行デーモン)だけが起動するようになる。
この他には、お好みに応じてntpdを起動するとかなんとかして欲しい。
ちなみに、chkconfigコマンドもntsysvコマンドも「サーバ起動時に自動的に起動するか/しないか」を設定するのみなので、『すでに起動しているサービス・デーモンを停止させたい』とか『まだ起動していないサービス・デーモンを起動させたい』という用途では使用されないので要注意。(のちほどサーバをリブートするので、今はコレだけやっておけば十分)
その3:SELINUXを停止する
SELINUXという、Linuxに組み込まれているセキュリティ機構を停止させてしまうことにする。これには議論もあるところだとは思うが、ほとんどの場合邪魔くさいだけでそれほど役に立たないとか、ソフトによってはSELINUXのせいでまともに動かなかったりするケースもあるという理由でこれを無効化している人も多いのではなかろうか。
まあ、自宅内サーバで使用するのであればSELINUXは話をややこしくするだけの存在でしかないので、遠慮無く停止させることにする。
方法は、 /etc/sysconfig/selinux というファイルを編集し、起動時にSELINUXが起動しない(組み込まれない)ようにする。
標準の状態では…
と、記載されているはず。このファイル内の「SELINUX=enforcing」の部分を変更し、「SELINUX=disabled」とする。
その4:パッケージやライブラリをアップデートする
そして、最後にこの作業。パッケージやライブラリを最新の物にアップデートする。この処理を行うと、ほとんどの場合カーネルのバージョンが上がるはずなので、終了後にはサーバを再起動するべきだろう。
コマンドは「yum update」だ。これを実行すると世界各地に立っているリポジトリサーバから最新版のパッケージをダウンロードして自動的にインストールしてくれる。
なお、ダウンロードが完了して実際にパッケージのインストールを行う前に、「インストールしてもいいですか?」みたいなことを質問されるので、そこで「y」を入力することになる。なお、「yum -y update」とした場合はダウンロードからインストールまで一気に実行される(質問にはすべて「y」と答えたことになる)。
↑この質問に「y」と答えればダウンロードとインストールが開始される。
なお、たまにエラーが表示されることもあるが、その場合は自動的に他のリポジトリサーバへ接続しなおしてアップデートを継続してくれるので、目くじらをたてる必要はない。
と、ここまで完了すれば基本的な設定は完了したことになる。
サーバを再起動してくれたまえ。 shutdown -r now とか reboot とかで再起動だ!
なお、必要に応じて…
・文字コードの変更(eucJPにするとか)
・ユーザーアカウントの作成
・ntpの設定
・セキュリティの設定
・OSのランレベルを変更
とかそういった作業が必要になるかもしれない。その辺はお好みに応じて実行してくれたまえ。
しばらく待つと黒い画面に大量のメッセージがどばーっと流れるが、ここはまだあまり気にしなくても良い。
さらに待つと、最初に以下のような画面が表示されることだろう。
サーバの初期設定が行える画面が表示される。ここで実施しても構わないのだが、「Exit」をハイライト状態にしてEnterキーを押してしまう。
すると画面が真っ黒に戻ってさらにすこし待つと、「ログインプロンプト」が表示されるだろう。
ログインアカウントとパスワードを入力すると、コンソールにログインできる。ログインアカウントには「root」を、パスワードにはLinuxインストール時に指定したパスワードを入力する。
パスワードが正しく入力されたら、コマンドプロンプトが表示されてコマンドの入力が受け付けられる状態となる。
さて。インストール直後にやるべきことがいくつかある。
その1:IPv6を無効にする
その2:不必要なサービス・デーモンプロセスを停止する
その3:SELINUXを停止する
その4:パッケージやライブラリをアップデートする
この他には、お好みに応じて「文字コードの変更」とか「ユーザーアカウントの作成」とかを行うことになる。
その1:IPv6を無効にする
Linuxをインストールした際に、「Enable IPv6 support」を無効にしていたはずなのに、残念ながら実際にはIPv6が有効になっている状態でインストールが完了してくる。IPv6が有効のままだと、
① IPv6でアドレス解決を試みる
↓失敗する
② IPv4でアドレス解決を試みる
という手順を毎回踏むことになって鬱陶しいので、どうせ使わないのであればIPv6をはなっからアテにしないようにしておくと精神衛生上も望ましい。
方法としては /etc/modprobe.conf に以下のような内容を追記すると解決する。
install ipv6 /sbin/modprobe -n -i ipv6
なお、他のサイトや書籍などによっては、
alias ipv6 off alias net-pf-10 off
このように記述する方法を紹介しているものもあるが、こちらの方法でも構わない模様。(結果オーライ)
当blogにもこの件については記載しているので、こちらも参照してほしい。
その2:不必要なサービス・デーモンプロセスを停止する
この部分は結構好みとか使用方法とかによって大きく別れてしまう部分でもあるので、「これで全て解決!」という物が無いのだけども、まず一致しているものとしては、「標準の状態では余計なサービス・デーモンまで起動しているから、整理しなければ!」ということ。
chkconfig --list | fgrep "3:on"とでも実行してもらえば判るが、ど~でもいいものまでがっつり起動する設定になっているのである。
サービス・デーモンを停止(あるいは起動)するように設定変更をする方法としては2つ(+邪道な方法1つ)がある。
① chkconfigコマンドを使用する方法
② ntsysvコマンドを使用する方法
chkconfigを使用する場合は、「chkconfig サービス・デーモン名 on」で起動するようになるし、「chkconfig サービス・デーモン名 off」で起動しないようになる。例えば、bluetoothデーモンを使用しないから自動的に起動しないように変更したいという場合は、「chkconfig bluetooth off」とすればよいことになる。
ntsysvコマンドを使用すると、Linuxのテキストモードインストーラのように、カーソルをスペースキーを使ってサービス・デーモンを選択したりチェックしたり解除したりすることができる。
で、「ひとまず最小限必要なサービス・デーモンだけ起動する」という場合、以下のコマンドをまるっとコピペしてくれれば良いと思う。
for I in `chkconfig --list | awk '/3:on/{print $1}'`;do chkconfig $I off;done chkconfig crond on chkconfig network on chkconfig sshd on chkconfig syslog on chkconfig atd on
このコマンドを実行すると、「crond」(クーロンデーモン)、「network」(ネットワークサービス)、「sshd」(セキュアシェルデーモン)、「syslog」(シスログデーモン)、「atd」(ジョブ実行デーモン)だけが起動するようになる。
この他には、お好みに応じてntpdを起動するとかなんとかして欲しい。
ちなみに、chkconfigコマンドもntsysvコマンドも「サーバ起動時に自動的に起動するか/しないか」を設定するのみなので、『すでに起動しているサービス・デーモンを停止させたい』とか『まだ起動していないサービス・デーモンを起動させたい』という用途では使用されないので要注意。(のちほどサーバをリブートするので、今はコレだけやっておけば十分)
その3:SELINUXを停止する
SELINUXという、Linuxに組み込まれているセキュリティ機構を停止させてしまうことにする。これには議論もあるところだとは思うが、ほとんどの場合邪魔くさいだけでそれほど役に立たないとか、ソフトによってはSELINUXのせいでまともに動かなかったりするケースもあるという理由でこれを無効化している人も多いのではなかろうか。
まあ、自宅内サーバで使用するのであればSELINUXは話をややこしくするだけの存在でしかないので、遠慮無く停止させることにする。
方法は、 /etc/sysconfig/selinux というファイルを編集し、起動時にSELINUXが起動しない(組み込まれない)ようにする。
標準の状態では…
# This file controls the state of SELinux on the system. # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. # permissive - SELinux prints warnings instead of enforcing. # disabled - SELinux is fully disabled. SELINUX=enforcing # SELINUXTYPE= type of policy in use. Possible values are: # targeted - Only targeted network daemons are protected. # strict - Full SELinux protection. SELINUXTYPE=targeted # SETLOCALDEFS= Check local definition changes SETLOCALDEFS=0
と、記載されているはず。このファイル内の「SELINUX=enforcing」の部分を変更し、「SELINUX=disabled」とする。
その4:パッケージやライブラリをアップデートする
そして、最後にこの作業。パッケージやライブラリを最新の物にアップデートする。この処理を行うと、ほとんどの場合カーネルのバージョンが上がるはずなので、終了後にはサーバを再起動するべきだろう。
コマンドは「yum update」だ。これを実行すると世界各地に立っているリポジトリサーバから最新版のパッケージをダウンロードして自動的にインストールしてくれる。
なお、ダウンロードが完了して実際にパッケージのインストールを行う前に、「インストールしてもいいですか?」みたいなことを質問されるので、そこで「y」を入力することになる。なお、「yum -y update」とした場合はダウンロードからインストールまで一気に実行される(質問にはすべて「y」と答えたことになる)。
# yum update Loading "fastestmirror" plugin Loading mirror speeds from cached hostfile * base: www.ftp.ne.jp * updates: www.ftp.ne.jp * addons: www.ftp.ne.jp * extras: www.ftp.ne.jp base 100% |=========================| 1.1 kB 00:00 updates 100% |=========================| 951 B 00:00 addons 100% |=========================| 951 B 00:00 extras 100% |=========================| 1.1 kB 00:00 Setting up Update Process Resolving Dependencies --> Running transaction check ---> Package xulrunner-devel.x86_64 0:1.9.0.6-1.el5 set to be updated ---> Package glibc-headers.x86_64 0:2.5-24.el5_2.2 set to be updated ---> Package xulrunner.i386 0:1.9.0.6-1.el5 set to be updated ---> Package avahi-glib.i386 0:0.6.16-1.el5_2.1 set to be updated ---> Package avahi-glib.x86_64 0:0.6.16-1.el5_2.1 set to be updated ---> Package openssl.i686 0:0.9.8b-10.el5_2.1 set to be updated ---> Package kernel-devel.x86_64 0:2.6.18-92.1.22.el5 set to be installed ---> Package avahi.i386 0:0.6.16-1.el5_2.1 set to be updated ---> Package cups-libs.i386 1:1.2.4-11.18.el5_2.3 set to be updated ---> Package cups-libs.x86_64 1:1.2.4-11.18.el5_2.3 set to be updated ---> Package nss-devel.x86_64 0:3.12.2.0-4.el5.centos set to be updated ---> Package xulrunner-devel.i386 0:1.9.0.6-1.el5 set to be updated ---> Package krb5-devel.i386 0:1.6.1-25.el5_2.2 set to be updated ---> Package nspr.i386 0:4.7.3-2.el5 set to be updated ---> Package cups.x86_64 1:1.2.4-11.18.el5_2.3 set to be updated ---> Package krb5-workstation.x86_64 0:1.6.1-25.el5_2.2 set to be updated ---> Package avahi.x86_64 0:0.6.16-1.el5_2.1 set to be updated ---> Package krb5-libs.x86_64 0:1.6.1-25.el5_2.2 set to be updated ---> Package nss.x86_64 0:3.12.2.0-4.el5.centos set to be updated ---> Package dbus-devel.x86_64 0:1.0.0-7.el5_2.1 set to be updated ---> Package glibc.x86_64 0:2.5-24.el5_2.2 set to be updated ---> Package nspr.x86_64 0:4.7.3-2.el5 set to be updated ---> Package kernel.x86_64 0:2.6.18-92.1.22.el5 set to be installed ---> Package nspr-devel.x86_64 0:4.7.3-2.el5 set to be updated ---> Package glibc.i686 0:2.5-24.el5_2.2 set to be updated ---> Package krb5-libs.i386 0:1.6.1-25.el5_2.2 set to be updated ---> Package openssl.x86_64 0:0.9.8b-10.el5_2.1 set to be updated ---> Package krb5-devel.x86_64 0:1.6.1-25.el5_2.2 set to be updated ---> Package nscd.x86_64 0:2.5-24.el5_2.2 set to be updated ---> Package nss-tools.x86_64 0:3.12.2.0-4.el5.centos set to be updated ---> Package dbus.i386 0:1.0.0-7.el5_2.1 set to be updated ---> Package bind-libs.x86_64 30:9.3.4-6.0.3.P1.el5_2 set to be updated ---> Package xulrunner.x86_64 0:1.9.0.6-1.el5 set to be updated ---> Package glibc-devel.x86_64 0:2.5-24.el5_2.2 set to be updated ---> Package kernel-headers.x86_64 0:2.6.18-92.1.22.el5 set to be updated ---> Package bind-utils.x86_64 30:9.3.4-6.0.3.P1.el5_2 set to be updated ---> Package glibc-devel.i386 0:2.5-24.el5_2.2 set to be updated ---> Package bind.x86_64 30:9.3.4-6.0.3.P1.el5_2 set to be updated ---> Package openssl-devel.x86_64 0:0.9.8b-10.el5_2.1 set to be updated ---> Package dbus-devel.i386 0:1.0.0-7.el5_2.1 set to be updated ---> Package nss.i386 0:3.12.2.0-4.el5.centos set to be updated ---> Package glibc-common.x86_64 0:2.5-24.el5_2.2 set to be updated ---> Package dbus.x86_64 0:1.0.0-7.el5_2.1 set to be updated ---> Package openssl-devel.i386 0:0.9.8b-10.el5_2.1 set to be updated --> Finished Dependency Resolution Dependencies Resolved ============================================================================= Package Arch Version Repository Size ============================================================================= Installing: kernel x86_64 2.6.18-92.1.22.el5 updates 16 M kernel-devel x86_64 2.6.18-92.1.22.el5 updates 5.0 M Updating: avahi i386 0.6.16-1.el5_2.1 updates 250 k avahi x86_64 0.6.16-1.el5_2.1 updates 255 k avahi-glib i386 0.6.16-1.el5_2.1 updates 14 k avahi-glib x86_64 0.6.16-1.el5_2.1 updates 14 k bind x86_64 30:9.3.4-6.0.3.P1.el5_2 updates 965 k bind-libs x86_64 30:9.3.4-6.0.3.P1.el5_2 updates 874 k bind-utils x86_64 30:9.3.4-6.0.3.P1.el5_2 updates 171 k cups x86_64 1:1.2.4-11.18.el5_2.3 updates 2.7 M cups-libs i386 1:1.2.4-11.18.el5_2.3 updates 182 k cups-libs x86_64 1:1.2.4-11.18.el5_2.3 updates 177 k dbus i386 1.0.0-7.el5_2.1 updates 469 k dbus x86_64 1.0.0-7.el5_2.1 updates 465 k dbus-devel x86_64 1.0.0-7.el5_2.1 updates 37 k dbus-devel i386 1.0.0-7.el5_2.1 updates 37 k glibc x86_64 2.5-24.el5_2.2 updates 4.7 M glibc i686 2.5-24.el5_2.2 updates 5.2 M glibc-common x86_64 2.5-24.el5_2.2 updates 16 M glibc-devel x86_64 2.5-24.el5_2.2 updates 2.4 M glibc-devel i386 2.5-24.el5_2.2 updates 2.0 M glibc-headers x86_64 2.5-24.el5_2.2 updates 601 k kernel-headers x86_64 2.6.18-92.1.22.el5 updates 889 k krb5-devel i386 1.6.1-25.el5_2.2 updates 1.9 M krb5-devel x86_64 1.6.1-25.el5_2.2 updates 1.9 M krb5-libs x86_64 1.6.1-25.el5_2.2 updates 666 k krb5-libs i386 1.6.1-25.el5_2.2 updates 658 k krb5-workstation x86_64 1.6.1-25.el5_2.2 updates 901 k nscd x86_64 2.5-24.el5_2.2 updates 160 k nspr i386 4.7.3-2.el5 updates 119 k nspr x86_64 4.7.3-2.el5 updates 117 k nspr-devel x86_64 4.7.3-2.el5 updates 115 k nss x86_64 3.12.2.0-4.el5.centos updates 1.1 M nss i386 3.12.2.0-4.el5.centos updates 1.1 M nss-devel x86_64 3.12.2.0-4.el5.centos updates 232 k nss-tools x86_64 3.12.2.0-4.el5.centos updates 1.3 M openssl i686 0.9.8b-10.el5_2.1 updates 1.4 M openssl x86_64 0.9.8b-10.el5_2.1 updates 1.4 M openssl-devel x86_64 0.9.8b-10.el5_2.1 updates 1.8 M openssl-devel i386 0.9.8b-10.el5_2.1 updates 1.8 M xulrunner i386 1.9.0.6-1.el5 updates 9.9 M xulrunner x86_64 1.9.0.6-1.el5 updates 10 M xulrunner-devel x86_64 1.9.0.6-1.el5 updates 3.6 M xulrunner-devel i386 1.9.0.6-1.el5 updates 3.6 M Transaction Summary ============================================================================= Install 2 Package(s) Update 42 Package(s) Remove 0 Package(s) Total download size: 104 M Is this ok [y/N]:
↑この質問に「y」と答えればダウンロードとインストールが開始される。
なお、たまにエラーが表示されることもあるが、その場合は自動的に他のリポジトリサーバへ接続しなおしてアップデートを継続してくれるので、目くじらをたてる必要はない。
と、ここまで完了すれば基本的な設定は完了したことになる。
サーバを再起動してくれたまえ。 shutdown -r now とか reboot とかで再起動だ!
なお、必要に応じて…
・文字コードの変更(eucJPにするとか)
・ユーザーアカウントの作成
・ntpの設定
・セキュリティの設定
・OSのランレベルを変更
とかそういった作業が必要になるかもしれない。その辺はお好みに応じて実行してくれたまえ。
インストールしてみようLinux インストールの実際編 ~それではインストール~ [インストールしてみようLinux]
それでは、インストールメディアを作成してインストーラを起動するところから解説する。
前アーティクルの手順:1と手順:2は省略…ということで。
CDから起動して少しすると、まずはこんな画面が表示される。
ここで単にEnterキーだけを押すとGUIベースのインストーラが起動し、アレなOSに慣れ親しんだ人でもラクラクインストールできる…のだが、そもそもサーバの管理者たるものGUI無しでは何も出来ませんなどとゆーゆとり教育の産物みたいな弱音は許されないのである。(笑)そこで、ここではlinux textとタイプしてテキストモードでのインストールを決行するのである!!以降、ここでは全てテキストモードでのインストール画面を使用している。GUIでないと何も出来ません…などとゆー人は他をあたってくれたまえ!
で、テキストモードでのインストーラが起動すると…
CD(DVD)のメディアをチェックするかどうか聞かれる。「SKIP」で構わない。
ちなみに、テキストモードではTABキーを押すと、白いハイライト部分が移動する。まあ、この辺はアレなOSをキーボードで操作したときと同じなので。
メディアのチェックを省略すると、
CentOSへようこそ! という画面になる。ここは単にEnterキーだけ押す。
手順3-1:インストール言語とキーボードの設定
さて。ここからがインストール作業の本番である。
まずは言語の選択から。
日本人なので、「Japanese」を選択する。カーソルキーの「↓」を押して「Japanese」を選択し、Enterキーを押す。
なお、残念なことにテキストモードのインストーラは日本語表示に対応していないため、このまま英語でのインストール作業が続いてしまう。VineLinuxだと最初から日本語なんだよねえ。
がっかりしたところでEnterを押し、キーボードの選択にうつる。
一般的な日本語キーボードを使用しているならば、おそらくすでに正確にキーボードが選択されていると思う。ほとんどの場合はこのままEnterで良いはず。英語キーボードを愛用しているとか、日本語キーボードでもちょっと特殊な物を使用しているとかの場合だと正しく選択されていないかもしれないので、その場合は最もソレっぽいキーボードを選択してEnterを押してくれたまえ。
手順3-2:ハードディスクのパーティショニング設定
お次はハードディスクのパーティショニングの設定になる。
古式ゆかしいUNIXならば、「ブートパーティション(スライス)がどうのこうの…」「ルートボリューム(スライス)がどうのこうの…」「/usr領域がどうのこうの…」「/varがどうしたこうした…」「スワップ領域が…」「/homeが…」とディスクのパーティショニングをやったものだが、今時のLinuxはそんなことあまりやらない。(もちろんやっても構わないし、やった方が良いこともある)
ましてや、ここを見ている諸君なら正しいパーティショニングなんてできないだろうしそもそもそこまで必要とされないだろうと思うので、インストーラに全てお任せしてしまったところでそれほど不都合は感じないだろう。
よって、ここではインストーラに設定を丸投げしてしまうことにする。(笑)
新しいハードディスクだったり、特殊なフォーマットをしていた場合だったりすると、上記のような表示がでる。(出ないこともある)ディスクのパーティションテーブルが読めなかったので新しく作っちゃうけどいいっすか~?と聞いているので、ここでは思い切り元気よく「Yes」を選択する。
続けて、インストールする場所を聞かれる。画面には2つの質問が表示されているので、注意しなければならない。「Remove all partitions on selected drives and create default layout.」とは、既存のパーティションを全部削除してから、標準的なレイアウトを作成しますよということ。他のOSをインストールしていたディスクを流用する場合等に選択することになるだろう。
「Remove linux partitions on selected drive and create default layout.」は、すでに存在するLinuxのパーティションのみを削除してから標準的なレイアウトを作成しますよということ。Linuxのセットアップをやり直す場合に有効だろう。
「Use free space on selected drives and create default layout.」は、ディスクの空きスペース(パーティションが作成されていない領域)にLinuxのパーティションを作成してそこにインストールしますよということを言っている。他のOSをのデュアルブート環境を作成したい場合に使用することになるだろう。ただ、サーバとして使用することを考えると、コレを選択することはそうそう発生しないんじゃないかと思われるが。
その下、「Which drive(s) do you want to use for this installation?」という表示の下にはインストーラによって検出されたハードディスクが表示される。複数存在する場合は複数表示されるだろう。ディスクの前にアスタリスク「*」が表示されているディスクがインストーラによって操作される対象となるので、他のOSと同居しているような場合は注意を要する。
個人的には、全てのパーティションを削除してインストールすることをお勧めしたい。PCを流用します…という場合には必然的にそういう選択をしなければならなくなるが。
パーティションを削除するけどいいですか? と質問される。「Yes」を選んでEnter。
なお、誤操作防止のため、何もしないで「Enter」だけ押すと「No」を選択してしまうので、必ずハイライトを「Yes」に移動すること。
パーティションを確認・変更しますか? と質問される。向上心たっぷりな人は「Yes」を選んで標準の状態を見てみると良いだろう。ここでは丸投げ作戦を採用しているので「No」を選んでさくっと次にいってしまう。
手順3-3:ネットワークデバイスの設定
続いて、ネットワークインタフェースの設定にうつる。
インストーラによって検出されたネットワークインタフェースが1個だった場合には、上記のような表示になる。ここで「Yes」を選択すると、ネットワークインタフェースの設定を行うことが出来る。
しかし、今時のマザーボードだとオンボードNICが2個くらい当たり前のように付いていることも珍しくない。その場合は上記のような画面でなく、識別されたNICが複数リスト形式で表示され、それぞれ選択して設定するような画面になる。(スクリーンショットは用意出来なかったので、実物を見てびっくりしてくれたまえ)ただ、基本は一緒なので、個々のインタフェースに必要な設定を行うことになるだろう。
ネットワークインタフェースの名称(メーカー名や機種・チップ名)とMACアドレスが表示される。その下に最初の設定項目が表示される。
「Activate on boot」とは、起動時に有効とするということ。まあ、NICが1個しかないマシンならここを当然のようにチェックしておくことになるだろう。複数のNICを持っている場合は使わないNICのチェックを外し、使うNICのチェックを有効にする…ということ。
「Enable IPv4 support」とは、IPv4を使用する場合にチェックする項目。まあ、大多数のケースではここにチェックを付けておくことになるだろう。
一方、「Enable IPv6 support」とは、IPv6を使用する場合にチェックする項目。IPv6を活用しているようなとんがった人はそもそもこんなところを見ないだろうと思われるので、ここはクリアしておく。(笑)
続いてIPアドレスの設定。サーバのIPアドレスをDHCPから取得するという場合は「Dynamic IP configuration (DHCP)」を選択する。が、サーバのアドレスをDHCPに任せないだろ普通!という実に正しい感覚を持っている人は、「Manual address configuretion」を選択する。すると、その下にある「IP Address」と「Prefix (Netmask)」という項目が入力可能な状態になるので、ここにそのサーバに割り当てるIPアドレスとネットマスク値を入力する。
全てのネットワークインタフェースの設定が完了したら、その他のネットワーク環境設定を行う。デフォルトゲートウェイアドレスと、DNSのアドレスを入力する。
一般的な家庭で使用するようなブロードバンドルータのアドレスを調べておき、デフォルトゲートウェイとプライマリのDNSアドレスの入力項目に入力すればよいだけであろう。なお、そうでない特殊な設定が必要となることもあるかもしれないが、そういう特殊なことをやっている人はこんなページ見ないだろうから以下略
ネットワークの設定の最後はサーバに名前を付けてやる。ここは何でも構わない。お好みでどうぞ。
手順3-5:時刻(時計)の設定
タイムゾーンの設定である。
日本国内で使用する場合は「Asia/Tokyo」を選択する。
ちなみに、私は「System clock uses UTC」はチェックしない状態で使用しているけども、確たる根拠があるわけでもない。気分の問題…かねえ。(チェックしたままだとBIOSの画面で表示される時間がUTCになる。)
手順3-6:rootのパスワード設定
管理者のパスワードをここで設定する。2回入力することになるので間違えないように。
手順3-7:インストールパッケージの設定(必要なら細かく設定)
よくあるサーバの用途に応じて、インストールされるパッケージ類が自動的に調節される便利な機能を使うことも出来る。が、余計な物もドバドバ入ってくるので注意が必要。なお、今回は一旦最小限度のインストールを行ってから必要に応じて後から追加することにしているので、リストボックス内に表示されるインストールモデルについては全てチェックを外し、その下にある「Customize software selection」のチェックを付けた状態にして次に進む。
すると、インストールするパッケージをもうちょっとだけ細かく選択できるようになるので、「Base」だけを選択した状態にする。(他のチェックは全て外す)
パッケージの選択が済んだら、あとは実際にインストール作業が進む。DVDでイメージを作成していると最後まで一気にコピーが進むが、CDでインストール媒体を作成した場合は途中でメディアの交換作業が発生する。
最後までインストールが完了したら、「Reboot」を押してこのアーティクルは終了となる。
前アーティクルの手順:1と手順:2は省略…ということで。
CDから起動して少しすると、まずはこんな画面が表示される。
ここで単にEnterキーだけを押すとGUIベースのインストーラが起動し、アレなOSに慣れ親しんだ人でもラクラクインストールできる…のだが、そもそもサーバの管理者たるものGUI無しでは何も出来ませんなどとゆーゆとり教育の産物みたいな弱音は許されないのである。(笑)そこで、ここではlinux textとタイプしてテキストモードでのインストールを決行するのである!!以降、ここでは全てテキストモードでのインストール画面を使用している。GUIでないと何も出来ません…などとゆー人は他をあたってくれたまえ!
で、テキストモードでのインストーラが起動すると…
CD(DVD)のメディアをチェックするかどうか聞かれる。「SKIP」で構わない。
ちなみに、テキストモードではTABキーを押すと、白いハイライト部分が移動する。まあ、この辺はアレなOSをキーボードで操作したときと同じなので。
メディアのチェックを省略すると、
CentOSへようこそ! という画面になる。ここは単にEnterキーだけ押す。
手順3-1:インストール言語とキーボードの設定
さて。ここからがインストール作業の本番である。
まずは言語の選択から。
日本人なので、「Japanese」を選択する。カーソルキーの「↓」を押して「Japanese」を選択し、Enterキーを押す。
なお、残念なことにテキストモードのインストーラは日本語表示に対応していないため、このまま英語でのインストール作業が続いてしまう。VineLinuxだと最初から日本語なんだよねえ。
がっかりしたところでEnterを押し、キーボードの選択にうつる。
一般的な日本語キーボードを使用しているならば、おそらくすでに正確にキーボードが選択されていると思う。ほとんどの場合はこのままEnterで良いはず。英語キーボードを愛用しているとか、日本語キーボードでもちょっと特殊な物を使用しているとかの場合だと正しく選択されていないかもしれないので、その場合は最もソレっぽいキーボードを選択してEnterを押してくれたまえ。
手順3-2:ハードディスクのパーティショニング設定
お次はハードディスクのパーティショニングの設定になる。
古式ゆかしいUNIXならば、「ブートパーティション(スライス)がどうのこうの…」「ルートボリューム(スライス)がどうのこうの…」「/usr領域がどうのこうの…」「/varがどうしたこうした…」「スワップ領域が…」「/homeが…」とディスクのパーティショニングをやったものだが、今時のLinuxはそんなことあまりやらない。(もちろんやっても構わないし、やった方が良いこともある)
ましてや、ここを見ている諸君なら正しいパーティショニングなんてできないだろうしそもそもそこまで必要とされないだろうと思うので、インストーラに全てお任せしてしまったところでそれほど不都合は感じないだろう。
よって、ここではインストーラに設定を丸投げしてしまうことにする。(笑)
新しいハードディスクだったり、特殊なフォーマットをしていた場合だったりすると、上記のような表示がでる。(出ないこともある)ディスクのパーティションテーブルが読めなかったので新しく作っちゃうけどいいっすか~?と聞いているので、ここでは思い切り元気よく「Yes」を選択する。
続けて、インストールする場所を聞かれる。画面には2つの質問が表示されているので、注意しなければならない。「Remove all partitions on selected drives and create default layout.」とは、既存のパーティションを全部削除してから、標準的なレイアウトを作成しますよということ。他のOSをインストールしていたディスクを流用する場合等に選択することになるだろう。
「Remove linux partitions on selected drive and create default layout.」は、すでに存在するLinuxのパーティションのみを削除してから標準的なレイアウトを作成しますよということ。Linuxのセットアップをやり直す場合に有効だろう。
「Use free space on selected drives and create default layout.」は、ディスクの空きスペース(パーティションが作成されていない領域)にLinuxのパーティションを作成してそこにインストールしますよということを言っている。他のOSをのデュアルブート環境を作成したい場合に使用することになるだろう。ただ、サーバとして使用することを考えると、コレを選択することはそうそう発生しないんじゃないかと思われるが。
その下、「Which drive(s) do you want to use for this installation?」という表示の下にはインストーラによって検出されたハードディスクが表示される。複数存在する場合は複数表示されるだろう。ディスクの前にアスタリスク「*」が表示されているディスクがインストーラによって操作される対象となるので、他のOSと同居しているような場合は注意を要する。
個人的には、全てのパーティションを削除してインストールすることをお勧めしたい。PCを流用します…という場合には必然的にそういう選択をしなければならなくなるが。
パーティションを削除するけどいいですか? と質問される。「Yes」を選んでEnter。
なお、誤操作防止のため、何もしないで「Enter」だけ押すと「No」を選択してしまうので、必ずハイライトを「Yes」に移動すること。
パーティションを確認・変更しますか? と質問される。向上心たっぷりな人は「Yes」を選んで標準の状態を見てみると良いだろう。ここでは丸投げ作戦を採用しているので「No」を選んでさくっと次にいってしまう。
手順3-3:ネットワークデバイスの設定
続いて、ネットワークインタフェースの設定にうつる。
インストーラによって検出されたネットワークインタフェースが1個だった場合には、上記のような表示になる。ここで「Yes」を選択すると、ネットワークインタフェースの設定を行うことが出来る。
しかし、今時のマザーボードだとオンボードNICが2個くらい当たり前のように付いていることも珍しくない。その場合は上記のような画面でなく、識別されたNICが複数リスト形式で表示され、それぞれ選択して設定するような画面になる。(スクリーンショットは用意出来なかったので、実物を見てびっくりしてくれたまえ)ただ、基本は一緒なので、個々のインタフェースに必要な設定を行うことになるだろう。
ネットワークインタフェースの名称(メーカー名や機種・チップ名)とMACアドレスが表示される。その下に最初の設定項目が表示される。
「Activate on boot」とは、起動時に有効とするということ。まあ、NICが1個しかないマシンならここを当然のようにチェックしておくことになるだろう。複数のNICを持っている場合は使わないNICのチェックを外し、使うNICのチェックを有効にする…ということ。
「Enable IPv4 support」とは、IPv4を使用する場合にチェックする項目。まあ、大多数のケースではここにチェックを付けておくことになるだろう。
一方、「Enable IPv6 support」とは、IPv6を使用する場合にチェックする項目。IPv6を活用しているようなとんがった人はそもそもこんなところを見ないだろうと思われるので、ここはクリアしておく。(笑)
続いてIPアドレスの設定。サーバのIPアドレスをDHCPから取得するという場合は「Dynamic IP configuration (DHCP)」を選択する。が、サーバのアドレスをDHCPに任せないだろ普通!という実に正しい感覚を持っている人は、「Manual address configuretion」を選択する。すると、その下にある「IP Address」と「Prefix (Netmask)」という項目が入力可能な状態になるので、ここにそのサーバに割り当てるIPアドレスとネットマスク値を入力する。
全てのネットワークインタフェースの設定が完了したら、その他のネットワーク環境設定を行う。デフォルトゲートウェイアドレスと、DNSのアドレスを入力する。
一般的な家庭で使用するようなブロードバンドルータのアドレスを調べておき、デフォルトゲートウェイとプライマリのDNSアドレスの入力項目に入力すればよいだけであろう。なお、そうでない特殊な設定が必要となることもあるかもしれないが、そういう特殊なことをやっている人はこんなページ見ないだろうから以下略
ネットワークの設定の最後はサーバに名前を付けてやる。ここは何でも構わない。お好みでどうぞ。
手順3-5:時刻(時計)の設定
タイムゾーンの設定である。
日本国内で使用する場合は「Asia/Tokyo」を選択する。
ちなみに、私は「System clock uses UTC」はチェックしない状態で使用しているけども、確たる根拠があるわけでもない。気分の問題…かねえ。(チェックしたままだとBIOSの画面で表示される時間がUTCになる。)
手順3-6:rootのパスワード設定
管理者のパスワードをここで設定する。2回入力することになるので間違えないように。
手順3-7:インストールパッケージの設定(必要なら細かく設定)
よくあるサーバの用途に応じて、インストールされるパッケージ類が自動的に調節される便利な機能を使うことも出来る。が、余計な物もドバドバ入ってくるので注意が必要。なお、今回は一旦最小限度のインストールを行ってから必要に応じて後から追加することにしているので、リストボックス内に表示されるインストールモデルについては全てチェックを外し、その下にある「Customize software selection」のチェックを付けた状態にして次に進む。
すると、インストールするパッケージをもうちょっとだけ細かく選択できるようになるので、「Base」だけを選択した状態にする。(他のチェックは全て外す)
パッケージの選択が済んだら、あとは実際にインストール作業が進む。DVDでイメージを作成していると最後まで一気にコピーが進むが、CDでインストール媒体を作成した場合は途中でメディアの交換作業が発生する。
最後までインストールが完了したら、「Reboot」を押してこのアーティクルは終了となる。
インストールしてみようLinux インストールの実際編 ~インストールの流れを確認しておく~ [インストールしてみようLinux]
それでは、実際にLinuxをインストールしてみることにする。
まず、手順を確認する。
手順1:インストールメディアを作成する
→インストールするマシンが64ビットOSに対応していれば、x86_64版を、そうでないならi386版を用意する。まあ、64ビットOSに対応しているマシンにi386版をインストールしてはいけないという訳でもないので、その辺はお好みに応じて。
※LinuxはアレなOSと違い、32ビット版と64ビット版とであからさまなまでにパフォーマンスが違ってくることも。特に、負荷が高くなってからの「がんばり具合」は64ビット版の環境の方が素晴らしいものがある。ただ、インストールするアプリケーションやライブラリによっては64ビット版では動作しなかったり不安定だったり、またはインストールが鬼のように面倒くさくなるケースも散見されるので、最初は32ビット版をセットアップして慣れてからの方が良いかもしれない。
手順2:インストールCDからマシンを起動する
→この手順のため、CDからマシンをブートできるマザーでないと一気に敷居が高くなってしまう。
手順3:実際のLinuxインストールを実施する
手順3-1:インストール言語とキーボードの選択
手順3-2:ハードディスクのパーティショニング設定
手順3-3:ネットワークデバイスの設定
手順3-4:ネットワーク環境の設定
手順3-5:時刻(時計)の設定
手順3-6:rootのパスワード設定
手順3-7:インストールパッケージの設定(必要なら細かく設定)
→詳細手順は次のアーティクルに譲る
手順4:インストールが完了したら、マシンをリブートしてインストールされたLinuxでマシンを起動する
手順5:必要ならサーバOSの設定を変更する
手順6:Linuxのインストール後にアップデートされたモジュール・ライブラリ等が多数あるのでアップデートする
手順7:サーバをリブートして完了
まず、手順を確認する。
手順1:インストールメディアを作成する
→インストールするマシンが64ビットOSに対応していれば、x86_64版を、そうでないならi386版を用意する。まあ、64ビットOSに対応しているマシンにi386版をインストールしてはいけないという訳でもないので、その辺はお好みに応じて。
※LinuxはアレなOSと違い、32ビット版と64ビット版とであからさまなまでにパフォーマンスが違ってくることも。特に、負荷が高くなってからの「がんばり具合」は64ビット版の環境の方が素晴らしいものがある。ただ、インストールするアプリケーションやライブラリによっては64ビット版では動作しなかったり不安定だったり、またはインストールが鬼のように面倒くさくなるケースも散見されるので、最初は32ビット版をセットアップして慣れてからの方が良いかもしれない。
手順2:インストールCDからマシンを起動する
→この手順のため、CDからマシンをブートできるマザーでないと一気に敷居が高くなってしまう。
手順3:実際のLinuxインストールを実施する
手順3-1:インストール言語とキーボードの選択
手順3-2:ハードディスクのパーティショニング設定
手順3-3:ネットワークデバイスの設定
手順3-4:ネットワーク環境の設定
手順3-5:時刻(時計)の設定
手順3-6:rootのパスワード設定
手順3-7:インストールパッケージの設定(必要なら細かく設定)
→詳細手順は次のアーティクルに譲る
手順4:インストールが完了したら、マシンをリブートしてインストールされたLinuxでマシンを起動する
手順5:必要ならサーバOSの設定を変更する
手順6:Linuxのインストール後にアップデートされたモジュール・ライブラリ等が多数あるのでアップデートする
手順7:サーバをリブートして完了
インストールしてみようLinux:準備編 [インストールしてみようLinux]
Linuxを自宅サーバにしようという試み・記事はそこらじゅうで紹介されているので、なにもここに書かなくても…という気がしないでもないけども、ちょっとリクエストされたので一応ここにも書いてしまおうかと思う。
まずはLinuxをインストールしてみるにあたっての準備から。
そもそも、自宅にサーバを置くとして、それは何に使うつもりなのか考えておいた方がよいと思う。理由は色々あると思うけども、最もポピュラーな理由として考えられるのは「ファイルサーバ」としての役割だろうか。それなら「NASでも買ってくればいいじゃん」の一言で粉砕されてしまいそうだが(笑)、既製品を買って使うのと異なって「理屈が理解できる」とか「自分で作った喜びがある」とかそんな風にポジティブに考えるように心がけよう。(笑)
また、「会社(学校)にサーバがあるので、その練習用にしたい」という向きもあるかもしれない。VitualPCを使えばいくら危険な操作をしても何度でも簡単にやり直しがきくから、練習用ということで自宅内にサーバを立てたいということもあるかもしれない。
ある程度熟練者になってくると、自宅にサーバを立てて外部に公開するとか、外部から自宅内のネットワークに接続するためのゲートウェイにしたいとか、そういう向きも出てくるかもしれない。が、そもそもこんな場末のblogでそこまでフォローしきれないので、そういう用向きの人はgoogle先生にでも聞いて自分で調べて苦労してくれたまえ。(笑)
というわけで、とにかくLinuxをインストールしてみるのである。
まず、用意する物があるので列挙しておく
①サーバになるPC … コレが無いとはじまらない。MicrosoftのサイトからVirtual PCをダウンロードしてきて普段使用しているPCにインストールしても良い。ハードウェアを用意する場合は、ある程度「枯れた」PCの方が良い。最先端すぎるとドライバとか対応していない恐れがあるのだ。とはいえ、あまりにも古すぎるPCも考え物だ。今更i486DXとかそんな骨董品のようなPCを持ち出されても、使い物にならなくて悲しい。なお、言うまでもないがキーボードとかディスプレイとかもセットで必要なので念のため。
②インストールメディア … OSをインストールするためのメディアである。LinuxディストリビューターのサイトからDVDやCDのイメージファイルをダウンロードしてきて自分で焼いてしまうのが一番簡単だが、回線が細くてダウンロードがしんどいとか、DVDやCDを焼く環境が無いとかいう場合は最寄りのPCショップに出かけて市販されているLinuxインストールメディアを購入するか、書店でLinux関係の書籍を購入して付録に付いているDVDやCDを使うことになるだろう。なお、Linux関係の書籍に付録のDVDやCDは、常に「自分が使いたいディストリビューションが手にはいるとは限らない」点に注意が必要。なお、このblogではCentOSについて解説する。適宜VineLinuxについても補足を加えることにする。
③自宅内ネットワークに関する情報 … Linuxを「クライアント」として使うならば、多くのブロードバンドルータが提供しているdhcpを使って動的にIPアドレスを払い出してもらうのが簡単だが、「サーバ」として使う場合はこれでは少々都合が悪いことがある。「サーバ」として使うならば、IPアドレスを固定しておいた方が後々面倒が無くて良いので、ネットワークに関する情報を準備しておかなければならない。必要になる情報は以下の通り。
③-1:サーバが使うIPアドレス
③-2:自宅内ネットワークのネットマスク値
③-3:デフォルトゲートウェイアドレス
③-4:DNSサーバのアドレス
まさかと思うが、これからLinuxでサーバを立てようと思っている人が「IPアドレス?なにそれ、美味しいの?」という事もないだろうからあえて説明はしない。(笑)ただ、1点だけ注意しておくと、ブロードバンドルータがdhcpサーバとなって払い出すIPアドレスと、サーバが使用するIPアドレスと衝突しないようにしておくべきだ。可能なら、ブロードバンドルータが払い出すIPアドレス帯を調べておき、そのIPアドレス帯に含まれないアドレスをサーバに割り当てるようにする。ブロードバンドルータによってはdhcpサーバとして払い出すIPアドレス帯を指定出来る物があるので、これを確認してIPアドレス帯を狭めておくとかいう対応が必要になるかもしれない。詳しくはブロードバンドルータのマニュアルなどを確認のこと。(まあ、よほどアレなルータで無い限り、IPアドレスを払い出す際にアドレスが衝突しないようにチェックしているはずなんだが…)
デフォルトゲートウェイアドレスと、DNSサーバのアドレスについては、おそらくブロードバンドルータのLAN側(自宅内ネットワーク側)のアドレスを割り当てるケースが大半だろうが、トリッキーな設定をしている人は自己責任でそのへんちゃんと何とかするように。(笑)
④時間と根気 … 重要である。(笑)
次回、さっそくCentOSをインストールするのである。なお、最もシンプルな構成を作ってからカスタマイズしていく方法を採るので、若干面倒くさいことになっている場面もあると思うが、何事も勉強だと思って覚悟しておくと良いかもしれない。(笑)
まずはLinuxをインストールしてみるにあたっての準備から。
そもそも、自宅にサーバを置くとして、それは何に使うつもりなのか考えておいた方がよいと思う。理由は色々あると思うけども、最もポピュラーな理由として考えられるのは「ファイルサーバ」としての役割だろうか。それなら「NASでも買ってくればいいじゃん」の一言で粉砕されてしまいそうだが(笑)、既製品を買って使うのと異なって「理屈が理解できる」とか「自分で作った喜びがある」とかそんな風にポジティブに考えるように心がけよう。(笑)
また、「会社(学校)にサーバがあるので、その練習用にしたい」という向きもあるかもしれない。VitualPCを使えばいくら危険な操作をしても何度でも簡単にやり直しがきくから、練習用ということで自宅内にサーバを立てたいということもあるかもしれない。
ある程度熟練者になってくると、自宅にサーバを立てて外部に公開するとか、外部から自宅内のネットワークに接続するためのゲートウェイにしたいとか、そういう向きも出てくるかもしれない。が、そもそもこんな場末のblogでそこまでフォローしきれないので、そういう用向きの人はgoogle先生にでも聞いて自分で調べて苦労してくれたまえ。(笑)
というわけで、とにかくLinuxをインストールしてみるのである。
まず、用意する物があるので列挙しておく
①サーバになるPC … コレが無いとはじまらない。MicrosoftのサイトからVirtual PCをダウンロードしてきて普段使用しているPCにインストールしても良い。ハードウェアを用意する場合は、ある程度「枯れた」PCの方が良い。最先端すぎるとドライバとか対応していない恐れがあるのだ。とはいえ、あまりにも古すぎるPCも考え物だ。今更i486DXとかそんな骨董品のようなPCを持ち出されても、使い物にならなくて悲しい。なお、言うまでもないがキーボードとかディスプレイとかもセットで必要なので念のため。
②インストールメディア … OSをインストールするためのメディアである。LinuxディストリビューターのサイトからDVDやCDのイメージファイルをダウンロードしてきて自分で焼いてしまうのが一番簡単だが、回線が細くてダウンロードがしんどいとか、DVDやCDを焼く環境が無いとかいう場合は最寄りのPCショップに出かけて市販されているLinuxインストールメディアを購入するか、書店でLinux関係の書籍を購入して付録に付いているDVDやCDを使うことになるだろう。なお、Linux関係の書籍に付録のDVDやCDは、常に「自分が使いたいディストリビューションが手にはいるとは限らない」点に注意が必要。なお、このblogではCentOSについて解説する。適宜VineLinuxについても補足を加えることにする。
③自宅内ネットワークに関する情報 … Linuxを「クライアント」として使うならば、多くのブロードバンドルータが提供しているdhcpを使って動的にIPアドレスを払い出してもらうのが簡単だが、「サーバ」として使う場合はこれでは少々都合が悪いことがある。「サーバ」として使うならば、IPアドレスを固定しておいた方が後々面倒が無くて良いので、ネットワークに関する情報を準備しておかなければならない。必要になる情報は以下の通り。
③-1:サーバが使うIPアドレス
③-2:自宅内ネットワークのネットマスク値
③-3:デフォルトゲートウェイアドレス
③-4:DNSサーバのアドレス
まさかと思うが、これからLinuxでサーバを立てようと思っている人が「IPアドレス?なにそれ、美味しいの?」という事もないだろうからあえて説明はしない。(笑)ただ、1点だけ注意しておくと、ブロードバンドルータがdhcpサーバとなって払い出すIPアドレスと、サーバが使用するIPアドレスと衝突しないようにしておくべきだ。可能なら、ブロードバンドルータが払い出すIPアドレス帯を調べておき、そのIPアドレス帯に含まれないアドレスをサーバに割り当てるようにする。ブロードバンドルータによってはdhcpサーバとして払い出すIPアドレス帯を指定出来る物があるので、これを確認してIPアドレス帯を狭めておくとかいう対応が必要になるかもしれない。詳しくはブロードバンドルータのマニュアルなどを確認のこと。(まあ、よほどアレなルータで無い限り、IPアドレスを払い出す際にアドレスが衝突しないようにチェックしているはずなんだが…)
デフォルトゲートウェイアドレスと、DNSサーバのアドレスについては、おそらくブロードバンドルータのLAN側(自宅内ネットワーク側)のアドレスを割り当てるケースが大半だろうが、トリッキーな設定をしている人は自己責任でそのへんちゃんと何とかするように。(笑)
④時間と根気 … 重要である。(笑)
次回、さっそくCentOSをインストールするのである。なお、最もシンプルな構成を作ってからカスタマイズしていく方法を採るので、若干面倒くさいことになっている場面もあると思うが、何事も勉強だと思って覚悟しておくと良いかもしれない。(笑)