いますぐ実践! Linuxシステム管理

[バックナンバーのトップへ] [Linux システム管理のトップへ]


いますぐ実践! Linux システム管理 / Vol.129 / 読者数:1269名

こんばんは、うすだです。

先日、探しものをしていたら、偶然、「OS 占い」というものを見つけてしまいました。

OS占い
http://u-maker.com/58237.html

読んで字の如く、自分の性格や運勢を OS に見立てて占ってくれます。
世の中、いろんな占いがはびこっていますが、ついにここまで来たのか、 という感じがいたしますですね。(遠い目)

なにはともあれ、とっても気になりますので、早速やってみました。
で、気になる結果は…

  うすださんは MS-DOS です!

…え、えむえす…どす…!?

よめは BeOS、子どもは UNIX だったのに…。
新年早々、出鼻を挫かれたような気がします。

というわけで、みなさんも、是非、お試しください。
(MS-DOS よりもショックな(?) OS が出たかたは、是非ご連絡を!!)

…途中フリーズするかもしれませんが、今回もはりきってまいりますよ。

今回のお題 - Linux お試し環境を作る<番外編> 〜 Cygwin

先々週・先週と、Windows 上での Linux お試し環境構築方法について、 ご紹介しました。

Vol.127 - Linux お試し環境を作る 〜 VMware Player 編
http://www.usupi.org/sysad/127.html
Vol.128 - Linux お試し環境を作る 〜 Virtual PC 編
http://www.usupi.org/sysad/128.html

今週からは、まったく別のネタにしようと思いましたが、ひとつ、 ご紹介すべきものを忘れていました。

VMware にしろ、Virtual PC にしろ、仮想環境上で Linux お試し環境を作成するには、 OS をまるっとインストールする必要があります。
しかし、まだ Linux に慣れていない初心者なかたにとっては、 Linux のコマンドが気軽に使える程度でいいと思うのが、 正直なところではないでしょうか。

Linux 上で動作するコマンドだけが、Windows 上でも同じように動作してくれれば、 普段 Windows を使っているひとでも、気軽に試せますよね。

というわけで今週は、そんなお手軽な Cygwin というものをインストールして、 それなりに使う方法を、ご紹介したいと思います。


Cygwin は、Windows 上で動作する、Linux ライクな環境です。
やや具体的には、Linux で使用されている GNU などのツールを、 Windows 上で動作するようにしたものです。

Cygwin Information and Installation
http://www.cygwin.com/

仮想環境上で動作する Linux のように、 環境がすべてそろっているわけではありませんが、 仮想環境を動かすわけではありませんので、メモリもディスクも、 それほど必要とはしません。
(わたしが普段使っている VMware 上の Windows 2000 では、 メモリ 96MB で Cygwin が動作しています。)

ですので、とりあえず Linux のコマンドに慣れたいというかたにとっては、 気軽に試せる逸品だと言えます。

また、Linux 使いなかたにとっては、 Windows を Linux 的に使うために必要不可欠なもの、とも言えます。
(わたしにとっては、これがないと Windows を使う気になれんっ! ていうくらい、重要なものです。)


それではまず、Cygwin をインストールしてみましょう。
はじめに、以下の URL を参照して、setup.exe をダウンロードします。

http://www.cygwin.com/setup.exe

そして、その setup.exe を実行すると、ネットワーク・インストールが始まります。 以下、簡単に手順を示します。

  1. Cygwin Net Release Setup Programでは、 次へ を押しましょう。
  2. Choose A Download Sourceでは、 Install from Internetを選択してください。 (setup.exe しかありませんので、ネット経由でパッケージをダウンロードし、 インストールを行います。)
  3. Select Root Install Directoryでは、 Cygwin をインストールする先のパスを指定します。 ここがルート・ディレクトリになります。
    デフォルトは C:\cygwin です。(以降はこれを前提としています。)
    User と Default Text File Type は、 RECOMMENDED とあるデフォルトのままが無難だと思います。
  4. Select Local Package Directoryでは、 ダウンロードしたパッケージの置き場所を指定します。指定したパスに、 http%3a%2f%2f... と URL そのまま的なフォルダが作成されます。
  5. Select Your Internet Connectionでは、 インターネットに接続する方法の指定を行います。 直接つながる場合は Direct Connectionを、 プロキシ経由の場合はそのホストとポートを指定します。
    よくわからないかたは、Use IE5 Settings を選択してください。IE と同じ設定でつないでくれます。
  6. Choose A Download Siteでは、 入手先を選択します。
  7. Select Packagesでは、 インストールするパッケージを選択します。
    あとから追加インストールできますので、デフォルトのままでいいように思いますが、 これは要るなというものがあれば、指定しましょう。
  8. パッケージのダウンロードとインストールが始まります。
    ご使用の環境にもよりますが、やや気長に待ちましょう。
  9. Create Iconsでは、 デスクトップとスタートメニューにアイコンを作成するかどうか聞かれます。 お好みでチェックしたりしてください。

以上で、インストールが終了します。


インストールが終わりましたので、早速使ってみましょう。

デスクトップなどにアイコンがある場合はそれを、 スタートメニューからたどる場合は プログラム -> Cygwin -> Cygwin Bash Shell を実行してください。

…はい、Windows 上で、普通に bash が起動しました。
そこではもちろん、ls や df などのコマンドが、がっちり動作します。
この中で使っている分には、Linux とほとんど変わりません。

  $ ls
  bin/  doc/  tmp/  usu@  work/
  $ df
  Filesystem        1K-blocks      Used Available Use% Mounted on
  C:\cygwin\bin      44732960  17606012  27126948  40% /usr/bin
  C:\cygwin\lib      44732960  17606012  27126948  40% /usr/lib
  C:\cygwin          44732960  17606012  27126948  40% /
  c:                 44732960  17606012  27126948  40% /cygdrive/c

ちなみに、ユーザ usu のホームディレクトリは、Cygwin では /home/usu ですが、 実際のパスは C:\cygwin\home\usu です。

 

とりあえずこれで、Cygwin が使えるようになりました。
ですが、せっかくですので、コマンドプロンプトなどからでもコマンドが使えるよう、 Cygwin にパスを通してみましょう。

コントロールパネルのシステムを開いて (マイコンピュータのプロパティなどでも同様です)、詳細設定タブを選択し、 環境変数を押します。
すると、ユーザとシステムの環境変数一覧が表示されます。
システム環境変数に Path がありますので、これを選択して、 編集ボタンを押しましょう。
そして、変数値に、たとえば以下を追加してください。

  c:\cygwin\bin;c:\cygwin\usr\bin;c:\cygwin\usr\sbin

これで、コマンドプロンプトなどから、Cygwin のコマンドが使えるようになります。

  C:\cygwin> ls
  Cygwin.bat  bin       dev  home  opt   sbin  usr
  Cygwin.ico  cygdrive  etc  lib   proc  tmp   var

Windows マシンをみんなで使用している場合は、 ユーザ環境変数に Path を新たに設定したほうが、 みんなへの影響がなくてよいかもしれません。


ところで、Cygwin の世界では(といいますか Cygwin のコマンドから見た場合)、 C:\cygwin がルートディレクトリになりますが、他を参照する際には、 どうすればよいのでしょうか。

実は、Cygwin の中では、Windows のドライブが、/cygdrive の下に配置されています。 ですので、C:\Documents and Settings を参照したいときには、 以下のように実行すればよいことになります。

  $ ls /cygdrive/c/Documents\ and\ Settings
  Administrator  All Users  Default User  usu

とっさに思い出せない貴兄のために、cygpath コマンドがあります。
デフォルトで、Windows のパスを Cygwin のパスに変換してくれます。
たとえば、C:\Program Files は、以下のようにして変換できます。

  $ cygpath C:\\Program\ Files
  /cygdrive/c/Program Files

逆に、Cygwin のパスを Windows のパスに変換するには、-w オプションを用います。

  $ cygpath -w /home/usu
  C:\cygwin\home\usu

これは、bash から Windows のコマンドを実行するときに、便利です。
たとえば、~/test.txt をメモ帳で編集するには、以下のようにします。

  $ notepad `cygpath ~/test.txt`

Cygwin のコマンドは、Windows のパスをわかってくれますので、 あまり気にする必要はありませんが…。
(ただし、ファイル名などの補完まではしてくれません。)

  $ cat C:\\cygwin\\etc\\hosts
  ...内容は省略...

Cygwin は、擬似的な Linux 環境ですが、擬似的とはいえ、なんと、 sshd などのデーモンを起動することも、できてしまいます。
Windows 上で sshd を動かすニーズがあるかどうかわかりませんが、 遠隔操作できて便利だと思いますので、ご紹介させていただきます。

おっとその前に、当然ですが、sshd が必要です。
入れた覚えがなければ、再度 setup.exe を起動して、パッケージの選択のところで、 Net -> openssh にチェックを入れてください。

openssh をインストールしたら、以下のように、ssh-host-config を実行します。 (-y オプションは、全部に「はい」と答えるための呪文です。)

  $ ssh-host-config -y

これで、鍵の生成などの初期化を行い、サービスの登録まで行われます。
そうしたら、cygrunsrv コマンドで sshd を起動します。

  $ cygrunsrv -S sshd

以上で、別のマシンから Windows マシンに、 SSH で遠隔ログインできるようになります。 (安全のため、パスワードは必ず設定しましょう。)

ちなみに、サービス一覧を見ますと、CYGWIN sshd というものがちゃんとできています。 スタートアップが「自動」になっていますので、 Windows の起動時に sshd が動いてくれます。素晴らしいですね…。


以上、Cygwin の使用方法を、さらりとご紹介しました。

あと、Cygwin の対抗馬として、 マイクロソフトの SFU(Windows Services for UNIX)というものがあります。 こちらも無償で利用できます。
ただ、もとが SystemV 系のようでして、オプションなどに癖があったりするのが、 やや難点かもしれません。

まあ、なにはともあれ、知識として知っているだけでは、 知っていることになりませんので、是非、いろいろと試してみてください。
(Cygwin なら X Window System も動作しますよ!)

宿題の答え

前回の宿題は、

  復元ディスクを有効にして、取り返しのつかないことをしましょう。

でした。

まずは、電源OFF の状態から、起動します。
そして、取り返しのつかないことをしてみます。
たとえば、どきどきしながら、以下のようなことをしてみましょう。

  # rm /etc/passwd /etc/shadow

とかですね。BSD 系なら、たとえば、以下のようにしてみましょう。

  # rm /etc/passwd /etc/pwd.db /etc/master.passwd /etc/spwd.db

すかっとした! …かどうかはともかく、ここで 閉じる を行います。
もちろん、ここでは電源を切り、変更を削除する を選択してください。
そして、再度起動しますと…なにごともなかったように、 電源OFF の状態に舞い戻って起動します。

しかし、気をつけなければならないのは、前回閉じたときに、 状態を保存している場合です。
電源OFF の状態から起動していたのであれば、電源OFFの前の状態に戻るだけですので、 支障はありません。
しかし、前回、状態を保存して終了している場合、電源を切り変更を削除しますと、 ディスクの内容は前回終了時の状態に戻りますが、 バーチャルマシンそのものは電源OFF の状態になってしまいます。
(普通の PC で、起動中に電源ボタンを押すようなものです。)

実際、DragonflyBSD では、以下のメッセージが出力されました。

  Mounting root from ufs:/dev/ad0s1a
  WARNING:  was not properly dismounted

これは、ディスクしか復元してくれないからで、 メモリやレジスタの内容も復元してくれれば、変更を削除し、 前の状態に戻る というオプションも可能なのではないか、という気がいたします。

まあ、最近のファイルシステムであれば、 たいていジャーナリング機能を持っていますので、 バーチャルディスクが壊れることはないと思います。
ただ、状態を保存する直前に行った変更が反映されていない、 という悲劇が起こりえないとも限りません。

というわけで、変更を破棄するかもしれないときは、一度電源OFFの状態から起動して、 ヤバいことを行うようにすべきだと思います。

ちなみに、VMware Workstation 等のスナップショット機能は、 スナップショットを録った(起動最中の)瞬間に戻れるようです。
(古い製品版しか持っていませんので、未確認です…すみません。)

今回の宿題

今回の宿題は、

  Cygwin で xinetd を起動してみましょう。

です。

sshd だけでなくいろいろ動くと便利ですよね、ということで、 xinetd もインストールして、動かしてみてください。
やや一筋縄で動いてくれませんので、試行錯誤が必要かもしれません。

あとがき

今日は、家族そろって、映画「アース」を観てきました。

映画「アース」
http://www.loveearth.com/jp/earthfilm
http://earth.gyao.jp/

地球上のさまざま生物が、苛酷な環境下で棲息する姿を、 最新の撮影技術を駆使してとらえたドキュメンタリー映画です。
これが本当に地球上の映像なのかと疑いたくなるくらい、美しくかつ残酷な映像を、 これでもかというほどたくさん観せられます。
いい意味で、脳ミソがお腹いっぱいになる映画です。

観ていて衝撃的だったのは、地球上のほとんどの生物が、その時の一瞬の判断で、 自分の生死が決まってしまうという事実でした。
一瞬の迷いが死につながるなんて、おそろしくてちょっと想像できないのですが、 ほとんどの生物が、そのような環境下で必死に生きているということを、 淡々と観せつけられました。

最近、テンションがあがらず、だらだらと過ごしてしまいがちでしたが、 瞬間を濃ゆく生きている生き物たちのことを思って、 時間を大切に使おうと思いました。(すごい結論だ…)

また、地球温暖化問題そのものが、 金銭的あるいは政治的なプロパガンダであるという見方もありますが、 そういうことを抜きにしても、地球環境のことを真剣に考える必要があるということを、 再認識しました。

ホッキョクグマが絶滅の危機にある、ということを知っていても、 実際に死んでいくところを映像で観せられますと、このままじゃいけないんだ、 という気にさせられます。

個人でできることは小さいかもしれませんが、少しでも、今よりよくなることを、 できる限り行っていこうと思います。

そういえば、家族連れが多かったのにもかかわらず、上映中は、 驚くほど静かだったのが、印象的でした。
ですので、最近映画を観ていないという貴兄は、観るといいかもですよ。

 

今回も、ここまで読んでいただき、ありがとうございました。
では、次回は 2月3日 頃に、お会いしましょう!

 

「いますぐ実践! Linux システム管理」の解除は、以下からできます。
http://www.usupi.org/sysad/ (まぐまぐ ID:149633)

バックナンバーは、こちらにほぼ全部そろっています。
http://www.usupi.org/sysad/backno.html

「栗日記」− 今年は、なにかこうずがーんとやりたいです。
http://www.usupi.org/kuri/ (まぐまぐ ID:126454)
http://usupi.seesaa.net/ (栗日記ブログ)


[バックナンバーのトップへ] [Linux システム管理のトップへ]

トップ

バックナンバー
    [日付順] [目的別]

プロフィール

▼ リンク

独学Linux
Linuxデスクトップ環境に関する情報が満載です。 メルマガもありますよ。
Server World
CentOS 6をサーバとしたときの設定例が、これでもかというくらいたくさん載っています。 CentOS以外のディストリビューション(Fedora, Ubuntu)も充実しています。
LINUXで自宅サーバーを構築・導入(Fedora9)
Fedora9のインストールの仕方から管理方法まで、詳しく載っています。 SearchManには情報がもりだくさんです。
マロンくん.NET
〜サーバ管理者への道〜
Linuxをサーバとして使用するための、いろいろな設定方法が載っています。 マロンくんもかわいいです。 なんといっても、マロンくんという名前がいいですね!!
日経Linux
今や数少なくなってしまったLinuxの雑誌。ニュースやガイドもあります。
Linux Square − @IT
@ITが提供する、Linux の情報が満載。 載っていない設定方法はないんじゃないでしょうか。
gihyo.jp…技術評論社
Linuxに限らず様々な技術情報が満載のサイト。 SoftwareDesign誌も、 ソフトウェア技術者は必見です。
SourceForge.JP Magazine
Linux に限らず、オープンソース関連の記事が網羅されています。
ITmediaエンタープライズ:Linux Tips 一覧
Tips というより FAQ 集でしょうか。わからないことがあれば覗きましょう。
IBM developerWorks : Linux
開発者向けですが、勉強になりますよ。
Yahoo!ニュース - Linux
Yahoo!のLinuxに関するニュース一覧です。
栗日記
システム管理とかと全然関係ありませんが、毎日栗の絵を描いています。
システム管理につかれちゃったとき、癒されたいときに、ご覧ください。:-)
WEB RANKING - PC関連
ランキングに参加してみました。押してやってください。

▼ 作ってみました

Add to Google

▼ せんでん




▼ 最近読んだ本

▼ 気に入ってる本