【aptitude purge apache】Debianにて、Apache2を削除する【無意味】

環境:Debian

Webサーバーにするつもりはないので、勢いでインストールしてしまったApache2を消そうと思い、

[root] aptitude purge apache2
とするも、なんと /etc/init.d/apache status などとすると普通に残っているし、アクセスまで出来てしまう。どうなってん。

と思っていたら、こういうことらしい↓

Removing Apache from Debian 5
http://serverfault.com/questions/183779/removing-apache-from-debian-5

Try apt-get remove apache2-utils.

In Debian 5, Apache is split into multiple packages:

apache2
apache2-mpm-prefork (or apache2-mpm-worker or apache2-mpm-event)
apache2.2-common
apache2-utils

There are interdependencies: (1) depends on (2), which depends on (3), which depends on (4). Therefore, removing (4) causes all of them to be removed. (The apache2 package doesn’t contain much in itself; it just exists so that you can do apt-get install apache2 to conveniently install all of those packages.)


というわけで、↓としたらきちんと消えました。苦労させられるぜー。というよりCentOSとDebianの療法を扱うのは、割と混乱するので止めたい。

[root] aptitude purge apache2-utils

【形態素解析】MeCabをCentOSにインストール【辞書追加】

MeCabが必要な感じなのでインストールして動かしてみました。形態素解析ツールは他にもいろいろとあるようですが、開発が盛んな感じなのはやはりMeCabなのでしょう。というわけでMeCabを選択。OSはCentOSです。

mkdir mecab_example
↑ MeCab用の、作業用ディレクトリを作成

wget http://mecab.googlecode.com/files/mecab-0.994.tar.gz
↑ MeCab 最新版(2012年9月28日20:50:43(JST)の時点で)をダウンロード。

tar xzvf mecab-0.994.tar.gz 
↑ 解凍する

cd mecab-0.994
↑ 移動する

./configure
↑ configure する。libiconv が必要と言われるかも知れません。そのときは、それをインストールします。

make
↑ make する

make install
↑ make install する。ターミナルでmecabコマンドを有効にするため

cd ..
↑ 先ほど作ったmecab_exampleに戻る

wget http://jaist.dl.sourceforge.jp/naist-jdic/53500/mecab-naist-jdic-0.6.3b-20111013.tar.gz
↑ 辞書をインストール。辞書はいろいろとあるみたいですがとりあえずnaist-jdicを。とは言え1年近く前の辞書なんですか…。

tar xzvf mecab-naist-jdic-0.6.3b-20111013.tar.gz 
↑ 解凍。

cd mecab-naist-jdic-0.6.3b-20111013
↑ 移動。

./configure --with-charset=utf8
↑ utf-8でconfigure

ldconfig
↑ 先にインストールしたmecabの共有ライブラリが参照されていない場合があるのでldconfigします。

make
↑ makeします。

make install
↑ make install します。

nano /usr/local/etc/mecabrc
↑辞書の場所をMeCabに教える必要がありますので、MeCabの設定ファイルを開きます。

mecabrc↓
;
; Configuration file of MeCab
;
; $Id: mecabrc.in,v 1.3 2006/05/29 15:36:08 taku-ku Exp $;
;
;dicdir =  /usr/local/lib/mecab/dic/ipadic
;デフォルトでは、↑のように書いていますが、↓のように書き換えます。

dicdir = /usr/local/lib/mecab/dic/naist-jdic

; userdic = /home/foo/bar/user.dic

; output-format-type = wakati
; input-buffer-size = 8192

; node-format = %m\n
; bos-format = %S\n
; eos-format = EOS\n

さて、これで終わりです。実験してみましょう。↓。
echo 吾輩は猫である。名前はまだ無い。 | mecab
吾輩	名詞,代名詞,一般,*,*,*,吾輩,ワガハイ,ワガハイ,,
は	助詞,係助詞,*,*,*,*,は,ハ,ワ,,
猫	名詞,一般,*,*,*,*,猫,ネコ,ネコ,,
で	助動詞,*,*,*,特殊・ダ,連用形,だ,デ,デ,,
ある	助動詞,*,*,*,五段・ラ行アル,基本形,ある,アル,アル,,
。	記号,句点,*,*,*,*,。,。,。,,
名前	名詞,一般,*,*,*,*,名前,ナマエ,ナマエ,,
は	助詞,係助詞,*,*,*,*,は,ハ,ワ,,
まだ	副詞,助詞類接続,*,*,*,*,まだ,マダ,マダ,,
無い	形容詞,自立,*,*,形容詞・アウオ段,基本形,無い,ナイ,ナイ,ない/無い,
。	記号,句点,*,*,*,*,。,。,。,,
EOS

↑これはすごい。かなりの解析度ですね。

ToDo:
自分で辞書を追加する。名詞だけでも追加できると良い感じ…!

【argv】Cでの引数の取得方法【argc】

たいへん基礎的なことですが、私はすぐに忘れてしまうので自分のために記録。

sample.c というファイルを作って編集してみます。↓として、

nano sample.c

sample.c (↓からコピペすると変な文字が入りますので、直接手で打ってください)
#include<stdio.h>

int main(int argc, char *argv[])
{	
	int i;
	for(i = 0; i < argc; i++)
	{
		printf("arg[%3d] = %s\n", i, argv[i]);
	}

	return 0;
}

コンパイルします↓ -o というのは、sample.cから作られる実行ファイルに名前を付けるオプションです。↓の操作では、sampleという名前の実行ファイルが生成されます。
gcc -o sample sample.c
# clang -o sample sample.c
# ↑個人的には gcc より clang が好き…。

↓のように実行してみます。引数付きで実行してます。
./sample ほげ ぴよ ふが

arg[  0] = ./sample
arg[  1] = ほげ
arg[  2] = ぴよ
arg[  3] = ふが
↑のように、引数をきちんと取得して表示することが出来ました。(ターミナルの文字コード(echo $LANG でチェックできます)によっては、日本語が表示できないかもです。./sample hoge piyo fuga と打つといいかもしれません)

CentOSに外部パッケージを追加【epel】

———-追記ここから———-
http://dl.fedoraproject.org/pub/epel/6/x86_64/repoview/epel-release.html

↑こちらで最新のepelを調べることが出来ます。下の方のpackagesってのを見れば良い。
———-追記ここまで———-

———-追記ここから———-
CentOS5版も追加しました。
なんとデフォルトではgitがなかったので…。
———-追記ここまで———-

CentOS 6.3 minimalを使っているが、yum install clang としても、ないよ!と怒られた。外部パッケージにはclangがあるらしいので外部パッケージを追加することにする。

外部パッケージを入れるといろいろと依存関係やらなにやらが乱れるかもとのこと。

uname -a
↑自分のバージョンを調べてみる。↓これが出力。
Linux localhost.localdomain 2.6.32-279.5.2.el6.i686 #1 SMP Thu Aug 23 22:16:48 UTC 2012 i686 i686 i386 GNU/Linux
↑i386 と書いているので32bit版と判断できる。64bitだと、x86_64になっているはず。

wget http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-7.noarch.rpm
↑ epel という外部パッケージを wget してくる。ちなみに、最新版は自分で調べてくるしかなさそう。epel-release-6-7.noarch.rpm って名前ではなく、epel-release-6-latest.noarch.rpmって名前なら楽なのに…。

wget http://download.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-7.noarch.rpm
↑ x86_64の人はこちら。2012年10月12日の時点で最新。

# CentOS5 の人はこちら↓。2012年10月21日日曜日時点で最新です。
wget http://ftp-srv2.kddilabs.jp/Linux/distributions/fedora/epel/5/x86_64/epel-release-5-4.noarch.rpm

rpm -ivh epel-release-6-7.noarch.rpm 
↑ インストール

# ↓ CentOS 5の人はこちら
rpm -ivh epel-release-5-4.noarch.rpm

yum -y install clang
↑ clang をインストールしますよ…。

終わり。