I Love FX
    キャッシング
    --------(--)

    スポンサーサイト

    上記の広告は1ヶ月以上更新のないブログに表示されています。
    新しい記事を書く事で広告が消せます。
    2010-09-29(Wed)

    自宅サーバ(マイクロソフトOS:XAMPP その3)

    Perlへのパスの変更
    XAMPP "D:\" へインストールした時のperlへのパスは、"D:\xampp\perl\bin\perl.exe" となります。
    従って、新しくPerlスクリプトを自作する場合は、実行ファイルの先頭に以下を記述すればOKです。(具体的には、"D:\xampp\htdocs\ xampp" 以下にある拡張子 ".pl" のファイルを参照)

    #!"D:\xampp\perl\bin\perl.exe"

    しかし人様が作ったperlスクリプトを頂戴して使いたい等々、既存のperlスクリプトを利用したい場合のperlのパスは殆どが "/usr/bin/perl" となっています。

    そこで、perlスクリプトに"/usr/bin/perl"と記述されていても、今回インストールしたxamppで動作する仕掛けが欲しくなります。そのような仕掛けが”リンク”と称されるものです。(Windowsのショートカットのようなもの)

    リンクには、幾つかの種類があって最も使いやすいのがシンボルリンクです。
    シンボリックリンクとは、あるファイルやディレクトリに別の名前を与え、ユーザやアプリケーションがその名前をファイル本体と同様に扱えるようにする仕組み(IT用語辞典 e-Wortd)です。

    マイクロソフトOSでは、Windows Vista、Windows Server 2008以降で標準でサポートされましたが、WindowsXpやWindows Server 2003ではサポートされていません。

    シンボリックリンクと類似の機能に、ハードリンクとジャンクションが有り、それぞれの欠点を下記に示します。(機能詳細は省略)

    ハードリンク
    ・Windows2000以降のOSでサポート
    ・作成できるのはファイルのみ
    ・リンクにエラーがあるとWindows自体が起動できなくなる場合がある。

    ジャンクション
    ・作成できるのはボリュームあるいはディレクトリのみ。
    ・ジャンクション下のファイルの削除に失敗することがある。

    上記の詳細は下記の記事等を参考にしてください。
    ジャンクション機能を使ってフォルダをマウントする(@IT)

    なおネットで検索すると、シンボリックリンクとジャンクションを混同している記事が多数あり注意が必要です。

    OSのバージョンやマウント方法に相違によるリンク方法
    OS
    ファイルへのハードリンク
    フォルダへのリンク
    ボリュームへのリンク
    シンボリックリンク
    Windows 2000
    linkd
    ディスク管理ツール
    Windows XP
    fsutil
    linkd
    ディスク管理ツール/mountvol
    linkd
    Windows Server 2003
    Windows Vista /7
    fsutil / mklink
    mklink
    ディスク管理ツール/mountvol
    mklink
    Windows Server 2008

    OSバージョンとさまざまなリンク機能
    Windows OSで利用可能なリンクは「ジャンクション機能(リパース・ポイント)」を使って実現されている(NTFS上にのみ作成可能)。その利用形態に応じてコマンドが分かれているが、Vistaのシンボリック・リンクが一番有用性が高いといえる。シンボリック・リンクでは、ディスクだけでなく、リモートの共有フォルダへもリンクを張ることができるからだ。なお「―」はその機能が利用できない(もしくはそのためのツールが利用できない)ことを表す。
     注1)「ディスク管理ツール」は、[コンピュータの管理]にあるGUIの[ディスクの管理ツール]のこと。それ以外の英字はコマンド・プロンプト上で利用するコマンド名。fsutil、mountvol、mklinkは各OSの標準コマンド、 linkdはリソースキット・ツールのコマンド。
     注2)「ファイルへのハードリンク」は同一のファイルを指す別名リンク(同一ボリューム上に限る)、「フォルダへのリンク」は任意のフォルダ(リモートは不可)へのジャンクション、「ボリュームへのリンク」は任意のボリュームへのジャンクション、シンボリック・リンクは任意のファイル/フォルダ(リモートも可)へのリンクのことをそれぞれ表す。
    (出典:ジャンクション機能を使ってフォルダをマウントする(@IT))

    上記から、Windows Vista / Windows Server 2008 以降ではシンボリックリンク、Windows Xp / Windows Server 2003ではジャンクションを使うことに成ります。

    上記のいづれのツールも、コマンドプロンプト(DOS窓)で使用するコマンドですので、タイプミスをするのでGUIでやりたいという横着者も多いと思います。
    そのような横着者のあなたに贈るツールを紹介致します。

    Link Shell Extension
    ホームページ:http://schinagl.priv.at/nt/hardlinkshellext/hardlinkshellext.html

    ダウンロードファイルおよび入手先:
    以下のファイルが必要です。
    Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86) ”vcredist_x86.exe”
    Link Shell Extension (898kb) “lnhdr-1.52-x86-ja.msi”


    インストール
    ・最初に、”vcredist_x86.exe”(Microsoft Visual C++ 2005 SP1 再頒布可能パッケージ (x86)) をクリックしインストールします。
    ・次に、“lnhdr-1.52-x86-ja.msi”(Link Shell Extension) をインストールします。(全て[次へ」ボタンをクリックしインストールを進めます。)

    目的:
    "D:\xampp\perl\bin\perl.exe" を "/usr/bin/perl" として動作させたい ==>  "D:\xampp\perl" を "D:\usr" としてリンク

    使用方法

    (1) リンク元となるフォルダあるいはファイルの選択
    ・エクスプローラで、リンク元となるフォルダである"D:\xampp\perl" を選択し右ボタン・クリックします。
    ・サイドメニューが現れるので、その中の”リンク元として選択(L)”をクリックします。

    junction作成1

    (2) シンボリックリンク( Windows Vista / Server2008 / 7 )あるいは、ジャンクション( Windows Xp / Server2003 )の作成。

    ・エクスプローラで、“D:\” を選択し右ボタン・クリックします。
    サイドメニューが現れるので、その中の”リンクを作成”を選択しマウスを右横方向に移動すると更にサイドメニューが現れます。
    その中の"シンボリックリンク"あるいは"ジャンクション"を選択し左ボタン・クリックします。

    junction作成
    (3) リンクフォルダ名の変更

    上記の操作により、D:\下に、”perl”と言う名称のジャンクションが出来ています。
    このフォルダを選択し、フォルダの名称を”usr”に変更します。

    juctionの作成3

    junctionの作成4
    ========================================

    [参考]

    コマンドを使ってシンボリックリンクあるいはジャンクションを作成する方法。

    1) Windows Vista、Windows Server 2008以降

    標準装備のコマンドを使って、シンボリックリンクを作成します。

    [コマンドの使い方]
    コマンド・プロンプト(DOS窓)を開いて、以下を実行します。

    MKLINK /D D:\usr D:\xampp\perl


    [ 参考 ]
    引数なしで、"mklink"を実行するとヘルプが表示されます。

    D:\> mklink 
                                           
                                                   
    MKLINK [[/D] | [/H] | [/J]] リンクターゲット                   
                                                    
      /D          ディレクトリのシンボリックリンクを作成します。既定では、
                   ファイルのシンボリック リンクが作成されます。         
      /H          シンボリックリンクではなく、ハード リンクを作成します。  
      /J          ディレクトリジャンクションを作成します。            
      リンク     新しいシンボリック リンク名を指定します。           
      ターゲット  新しいリンクが参照するパス (相対または絶対)
                  を指定します。(補足:実フォルダのフルパスです)

    【mklikコマンドを使用条件】
    ・新しく作成されるフォルダ(第1引数のフォルダ名)は、空のフォルダか、もしくは存在していないフォルダである必要があります。
    ・このコマンドを実行するためには、管理者権限が必要です。


    2) Windows Xp、Windows Server 2003
    標準ではハードリンクしかサポートしておらず、オプションのツールをインストールすることにより、ジャンクションが利用できます。

    2-1) "Windows Server 2003 Resource Kit Tools" の導入
    このツールは、"Windows Xp"でも利用可能です。
    ジャンクションを作成するには、"linkd" というツールを使います。

    [コマンドの使い方]
    コマンド・プロンプト(DOS窓)を開いて、以下を実行します。

    作成:
     linkd D:\usr D:\xampp\perl

    削除:

     linkd D:\usr /D

    [ 参考 ]
    引数なしで、"linkd"を実行するとヘルプが表示されます。

    linkd
    【linkdコマンドを使用条件】
    ・マウントするフォルダが存在していない場合は自動的に作成される。
    ・フォルダの内容が空でない場合はエラーとなる。
    ・フォルダ名はASCII文字のみで、漢字やひらがな等が含まれているとエラーとなる。


    2-2) Windows Sysinternals (注)の "junction” の導入
    ・上記をダウンロードします。
    ・ダウンロードした”Junction.zip”を展開し、"junction.exe" を、c:\windows\system32 にコピーあるいは移動します。

    "junction" を使いたいだけなのに、"Windows Server 2003 Resource Kit Tools" の使いもしない多数のツールをインストールしたくない場合には、お薦めです。

    [ コマンドの使い方 ]
    コマンド・プロンプト(DOS窓)を開いて、以下を実行します。

    作成:
     junction D:\usr D:\xampp\perl

    削除:

     junction d D:\usr

    [ 参考 ]
    コマンドプロンプト(DOS窓)から、引数なしで、"junction"を実行するとヘルプが表示されます。

    junction
    (注)Windows Sysinternalsとは何者かよく知らなかったのですが、現在はマイクロソフトに買収されており(マイクロソフトが優秀なソフトハウスを買収し、自 社の取 り込むことは良く聞きますが、同社もそのような例のようです)、そのツールも安全性が高いと考えます。

    以下に、サイト情報および 関連記事を 紹介します。関心が有る人は覗いてみてください。junction以外の興味深いツールを提供しているようです。

    Windows Sysinternals

    Windows 管理者必携、Sysinternalsでシステムを把握する (@IT)

    ↓の評価ボタンを押してランキングをチェック!
    素晴らしい すごい とても良い 良い
    スポンサーサイト
    最新記事
    カテゴリ
    応援クリック
    お役に立てました? クリックしてね。
    人気ブログランキングへ にほんブログ村 IT技術ブログ Webサイト構築へ
    にほんブログ村

    FC2Blog Ranking

    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。
    お知らせ
    0円/100円 PCはいかが?



    サイドビジネスはいかが?

    太り気味なあなたに!

    検索フォーム
    RSSリンクの表示
    リンク
    FC2サービス
    ログ ホームページ
    お勧めお小遣い稼ぎサイト
    マクロミルへ登録
    5百-千円/月稼げます。
    討論会参加で3万円も

    ここから申し込むと
    250p貰えます
    無料ゲームで稼げる&高還元率ポイントサイト│ドル箱
    Pt獲得チャンス多い

    Pt獲得チャンス多い
    MicroAd
    上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。