Archive for 1月, 2010

mysql: mysql5.1.41をソースからインストール

mysqlをソースからインストールする。
pluginは全部有効にする。

cd /usr/local/src
wget http://dev.mysql.com/get/Downloads/MySQL-5.1/mysql-5.1.41.tar.gz/from/http://ftp.iij.ad.jp/pub/db/mysql/
tar zxfv mysql-5.1.41.tar.gz
cd mysql-5.1.41
./configure --prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--with-plugins=max \
--enable-local-infile
make
make install
以上でインストールは完了。
※この段階でエラーが出る場合は後述のエラーがでるときを参照

次に初期設定をおこなう。
ソースの雛形からmy.cnf を作成する。
cp support-files/my-medium.cnf /etc/my.cnf
作成したmy.cnf に文字コードの設定を追加する。
mysqld、mysqldump、mysql セクションにそれぞれ以下の設定を追加する。
[mysqld]
default-character-set=utf8
skip-character-set-client-handshake
character-set-server = utf8
collation-server = utf8_general_ci
init-connect = SET NAMES utf8
[mysqldump]
default-character-set = utf8
[mysql]
default-character-set = utf8
mysqlを起動する前に、mysql 用のユーザを追加する。
groupadd mysql
useradd -g mysql mysql
mysql のインストールフォルダのオーナーをmysql ユーザに変更する。
chown -R mysql:mysql /usr/local/mysql

次に、データベースを初期化を行う。
cd /usr/local/mysql
bin/mysql_install_db --user=mysql


MySQL サーバーを起動する。
./bin/mysqld_safe --user=mysql &

※mysql起動後はrootユーザログインできるようになる。
初期状態ではrootにパスワードが設定されていないので、必ずrootユーザのパスワードを設定すること。


mysqlのconfigure,makeでエラーがでるとき

もし./configureでこんなエラーがでたら
checking for termcap functions library... configure: error: No curses/termcap library found

ncurses-develというものをインストールすればconfigureできるようになる。
yum install ncurses-devel

もしmakeでこんなエラーがでたら
../depcomp: line 571: exec: g++: not found
make[1]: *** [my_new.o] エラー 127
make[1]: ディレクトリ `/usr/local/src/mysql-5.1.41/mysys' から出ます™
make:

gcc-c++をインストールする。
yum install gcc-c++

このままmakeすると、以下のようなエラーになるので、
licit-templates -fno-exceptions -fno-rtti -c -o my_new.o my_new.cc
../include/my_global.h:1099: error: redeclaration of C++ built-in type '˜bool'

make cleanしてconfigureからやりなおすこと。
make clean
./configure --prefix=/usr/local/mysql \
--with-charset=utf8 \
--with-extra-charsets=all \
--with-mysqld-user=mysql \
--with-plugins=max \
--enable-local-infile

make

make install

Linux:webdavを利用する

Ubuntuで使えるwevdavクライアントを探してもみつからない。
Linuxでwebdavに接続するにはmountコマンドを使うらしい。

マウント先のディレクトリを作成後、mount -t davfsでマウントする。
mountコマンドは大抵が実行することになっていると思う。
ユーザIDとグループIDを省略するとマウントを実行したユーザになるので
mount実行ユーザ以外でwebdavを利用したい場合はuid,gidを指定する。

sudo mkdir /media/webdav.hoge.com
sudo mount -t davfs webdavのURL /media/webdav.hoge.com -o uid=ユーザID,gid=グループID

webdavを利用したいユーザが複数要る場合はgroupで指定する。
sudo mount -t davfs webdavのURL /media/webdav.hoge.com -o uid=nobody,gid=グループID
Linux:グループの追加と設定

webdav接続先のパスワードを保存したい場合は/etc/davfs2/secretsを編集する
sudo vi /etc/davfs2/secrets
/etc/davfs2/secretsの一番最後に以下の形式でパスワードを書いて保存する。
/etc/davfs2/secrets
webdavのURL ユーザ名 パスワード

Linux:ファイルシステムのマウント

システムで利用するファイルシステムのエントリを変更するには/etc/fstabを編集する。

sudo vi /etc/fstab
/etc/fstab
# <file system> <mount point> <type> <options> <dump> <pass>
proc        /proc       proc  defaults  0    0

※<dump>はdumpによるバックアップの対象となるか。(0は対象外)
※<pass>はfsckの対象となるか。(0は対象外)
/etc/fstabに記述したエントリはオプションnomoutが記述されていない限り、mount -a実行時(システム起動時含む)に全てマウントされる。

Ubuntu:vim-gnomeをインストールする

Ubuntuに初期インストールされているvimはフルーヴァージョンでは無いので以下のような問題がある。
・矢印キーの動きが変(UとかDが改行とともに入力される)
・syntax on などのコマンドが使えない
これらはvim-fullをインストールすれば直るらしい。


けれどもUbuntuのレポジトリにvim-fullという候補は無い。
vim-gnomeというパッケージを使うとのこと。

sudo apt-get install vim-gnome

Linux:グループの追加と設定

Linuxにグループを追加するにはgroupaddコマンドを使う。

groupadd グループ名
グループに所属するユーザを変更したい場合は/etc/groupを編集する。
sudo vi /etc/group
/etc/group
fsmount:x:1001:hoge , foo , bar
/etc/groupの書式は
グループ名:グループパスワード:グループID:メンバーリスト(ユーザID,区切り)
になっている。

Linux:コマンドプロンプトの書式を変更する

Ubuntuデフォルトのプロンプトはカレントディレクトリが深い階層になったとき、プロンプト表示でかなりの幅を取ってしまい見難いのでプロンプトの書式を変更した。

プロンプトの書式はPS1というシェル変数に設定する。
PS1とはPrompt Stringの1番目ということらしい。

.bashrcに以下のように記述する。

.bashrc
PS1=”[\u@\[\033[32m\]\h\[\033[0m\] \W]\$”

最後の\Wがポイントで、これはカレントディレクトリ名を表す。
ここか\wになっているとフルパスで表示されてプロンプトが長くなってしまう。

.bashrcを書き換えたら、
source .bashrc