ネットワーク - リンクチェック - LinkChecker

 クラウディア
1. 能書き
2. ports
3. コンフィグレーションファイルの記述

1. 能書き

 しばらく Windows 版をクライアントで使用していましたが、結構時間がかかります。  調べたら、ports に存在しているので、自前で動作させるようにしました。

2. ports


プロンプト略
cd /usr/ports/www/linkchecker
make
make install
 ここからいささかややこしいのですが。  linkchecker を実行するときに python のバージョン 2.2.0 以上が必要になります。  2017年4月24日現在の ports 上では、python のバージョンは 2.7.13_3 なのですが・・・。  linkchecker は、2.7.13_3 を 2.2.0 以上と認識してくれません。  さらに 2.10 以上も 2.2.0 以上と認識してくれません。  複雑でかつおバカな事情なのですが、それはさておいて、バージョン 2.2.9 の python がどうしても必要になりますので、以下の手順でインストールします。  まずは python 専用のインストーラをインストールします。

プロンプト略
cd /usr/ports/devel/py-pip
make
make install
 インストール後にコマンドプロンプトより以下のコマンドで python 2.9 をインストールします。

> pip install requests==2.9

		以下は実際にインストールしたときに表示されたものです

Collecting requests==2.9
  Using cached requests-2.9.0-py2.py3-none-any.whl
Installing collected packages: requests
  Found existing installation: requests 2.11.1
    Uninstalling requests-2.11.1:
      Successfully uninstalled requests-2.11.1
Successfully installed requests-2.9.0
 これで準備完了となります。

3. コンフィグレーションファイルの記述

 コマンドのオプションで細かく設定することも可能なのですが、いちいち打つのは非常に面倒です。  コンフィグレーションファイルは、使用するユーザの

~/.linkchecker/linkcheckerrc
 になります。  以下、変種する箇所を書いていきます。

#fileoutput = text, html, gml, sql
 の箇所の先頭の # を削除して有効化し、出力形式を決めます。  出力形式は、上記掲載のように4つの中から選べます。(わたしは gml という形式をよう知らんのですが・・・)  例えば、html 形式で出力したいならば

fileoutput = html
 以下、html 形式で出力する体で書いていきますが・・・。  [html] タグの

#filename=linkchecker-out.html
 の箇所を有効化して、出力したいディレクトリ名、ファイル名を記述します。  同様に [html] タグの

#parts=all
 の箇所を有効化します。  これは、コンテンツタイプとして何を調べるのかというものらしく、all にしておけば、とりあえず、どんなコンテンツタイプのものでも調べてくれるようです。 [checking] タグで

#threads=100

#recursionlevel=1
 を有効化して、適切な値を設定します。  「threads」は、実行時に動作するスレッド数です。  何度か動かして top コマンドで CPU やメモリの使用率をモニタして、適切な値にチューニングします。  「recursionlevel」は、指定した URL を再帰的に調べていくときのネストの深さを指定します。  ここは、そのサイトの階層の深さに合わせて設定します。
earthcar(アースカー)