タグ「Debian」が付けられているもの
2009年12月 2日
ProFTPD 日本語ファイル名対応
Debian lennyにして暫くたつが、FTPサービスのことを忘れていたのでメモ。
FTPは2バイト文字を扱うように元々考えられていないらしく、今まではproftpdのソースにこちらのパッチを当てて使っていたのでした。
> ProFTPD - iconv() 文字コード変換パッチ
サーバ移行でlennyにした際、何も考えずにaptから入れたら当然のようにトラブル。。。仕方ないのでパッチを当てることに。面倒をなくすためにソースをコンパイルするのではなくdebパッケージで、と思ったら上述のパッチは1.3.0対応。
が、1.3.1のパッチを公開されてる方がいました。
> ProFTPD 1.3.1 iconv 文字コード変換パッチ
これでできます。
# mkdir /usr/local/src/proftpd
# cd /usr/local/src/proftpd
# apt-get build-dep proftpd
# apt-get source proftpd
# cd proftpd-dfsg-1.3.1
# wget <公開されてる1.3.1のパッチ>
# bzip2 -d <パッチを展開>
# patch -p1 < <パッチファイル>
# vi debian/rule
で、configureに渡すオプションを変更
> -with-modules=mod_codeconv を追加して -enable-nls は削除
さっさとビルドしてインストール
# dpkg-buildpackage -uc -b
# cd ../
# dpkg -i proftpd-basic_1.3.1-17lenny4_i386.deb
その他のモジュールのパッケージもビルドされてるので必要ならばインストール。
そしてpinなどでパッケージをupgradeされないようにしておく、かな。
2009年11月21日
サーバ移行メモ
これで通算...わからないけど4,5回目くらいのサーバのハードウェア移行をやった。
久々にこのブログに結果とか困ったことをメモしておく。
仕事では2つ以上のことを同時にやるな、が合言葉だけど毎度ながらハードの移行と一緒にOSのアップデート(Debian etch -> lenny)もやった。だって面倒だから。
片方ずつやった方が面倒少ないかもしれないけど
なので、原因が良くわからないまま過ぎ去ったものもあり。
・iSCSI
ストレージにiSCISをはじめて使ったのだけど、移行時に新旧両サーバからマウントしてたら、片方からwriteできなくなってしまった。原因とかは未確認。
・postfix
旧環境はchrootしてなかったのを、Debian標準らしくchroot環境にした。認証にmysqlを、SMTP-Authにcourier-authdaemonを使ってるせいで、これらのsocketが見えなくなったのでchrootをやめたのだけど、どうにか解決。
mysqlはproxymapを使って proxy:mysql: /......
courieはファイル本体を/var/spool/postfix/var/run以下に、もとの場所にシンボリックリンクを置いて解決
・Movabletype
この前のエントリで書いたとおり、perlのバージョンが上がったせいでMTも仕方なくバージョンアップ
・mailman
etchまではソースからコンパイルして使ってたのを、Debian標準パッケージに。データの移行はrsyncで済ませたけど、旧環境はuid=mailman,gid=mailmanだったせいで、↓こんなエラーが
Nov 20 23:09:25 kinopio mail-wrapper: Group mismatch error. Mailman expected the mail wrapper script to be executed as group "daemon", but the system's mail server executed the mail script as group "mailman". Try tweaking the mail server to run the script as group "daemon", or re-run configure, providing the command line option `--with-mail-gid=mailman'.
chownしたはずなのに、と思ってfind で uid/gid=mailmanなファイルを探したら、全てシンボリックリンクだった。chown -hで解決
・BIND9
旧環境の設定をコピーしたら新環境では意図したとおりに動かなかったorz
ので旧サーバをまだ廃止できない。
今回は今ままでに比べると事故少なめ、と思われる。
あとはBINDを直せば、月々の電気代も1,000円くらいは安くなるし、騒音の一部ともオサラバです。
2009年11月19日
テスト
サーバ移行により
Debian etch -> lenny
Apache/2.2.3 -> Apache/2.2.9
perl5.8.8 -> 5.10.0
になったのだけど、perlが罠だった。
MovableType(MT)4.0はperl5.10.0では動かないらしく、perlを元に戻すか簡単なスクリプトの修正で...と思ったができず。同じようなエラーがMT4.0 -> 4.1 で直ったというブログを見つけたので、意を決して4.x系最新の4.26にアップデートしたところ...無事成功。
Debian側の依存関係のせいでいくつかのモジュールを入れなおしたけど特に問題ない、と思われる
(この記事が表示されてれば)
2008年6月14日
Disklessマシン
NFS rootを利用してDisklessなDebianを、デスクトップマシンとして利用したいとなんとなく思いついた。
使うマシンは埃をかぶって眠っていた我が家の最小自作マシン(M/B VIA EPIA-5000)
内蔵していたHDDとケースFANも外して完全に駆動部品無しの無音マシン~
できればVGAカードも乗せたい(意味は無い)
用途は不明。Linuxルータにできるけど、それには大きすぎる。
で、いろんなサイトに出てる情報を掻き集め、試行錯誤しつつ完成。
主に参考にさせていただいたのは diskless Fun's Wiki
そのメモ↓
■必要なもの
・DHCPサーバ
・TFTPサーバ
・NFSサーバ
ウチではDHCPとNFSサーバが別なので、TFTPサーバをNFSサーバと一緒にした
全部Debianなので、説明もDebian用
▼DHCPサーバの設定
以下を /etc/dhcp3/dhcpd.conf に追加
host hogehoge{
hardware ethernet 00:0C:29:xx:xx:xx; #DisklessマシンのMACアドレス
fixed-address 192.168.xxx.xxx;
option host-name "hogehoge";
next-server 192.168.xxx.yyy; #NFS(TFTP)サーバのIPアドレス
filename "pxelinux.0";
option root-path"/tftpboot/xxxxxxxx"; #NFS rootのパス
}
▼NFSサーバの設定
tftpdのルートとNFS root用のディレクトリは別にしたかったのだけど、PXEブート後にkenelイメージへのパスが渡せなくて挫折(ショボ
で、以下のように作成
mkdir /tftpboot
mkdir /tftpboot/hogehoge #NFS root用
で、hogehoge以下に既存Debianマシンからシステムディレクトリを全て持ってきます。
debootstrap でも作れるらしいが、自分の環境ではうまく行かなかったのでまた挫折
(/lib とかが空)
ただ、現行マシンは色々と入れて大きくなったので、Vmwareに新規に最小インストールした(汗
そこから /bin /boot /dev /etc /home /lib /opt /sbin /usr /var あたりを /tftpboot/hogehoge/. にコピー
そして
chroot /tftpboot/hogehoge # vi /etc/initramfs-tools/initramfs.confBOOT=nfs #ここだけ変更 local -> nfs
# update-initramfs -u
# vi /etc/fstab#
192.168.xxx.yyy:/tftpboot/hogehoge / nfs defaults 0 0
proc /proc proc defaults 0 0# vi /etc/network/interfaces
(eth0関連を全てコメントアウト)
# exit
これでOK
▼TFTPサーバの設定
まずはインストール
# apt-get install tftpd-hpa
daemonで動かすのも無駄なのでinet経由。/etc/inetd.confを編集してinetd再起動
tftp dgram udp wait root /usr/sbin/in.tftpd /usr/sbin/in.tftpd -s /tftpboot
#↑の最後のパスはtftpdのroot
そして設定を編集
# mkdir /tftpboot/pxelinux.cfg # vi /tftpboot/pxelinux.cfg/defaultDEFAULT linux
LABEL Debian etch
KERNEL hogehoge/vmlinuz
APPEND initrd=hogehoge/initrd.img root=/dev/nfs NFSOPTS="-o nolock,udp,retrans=10,wsize=8192,rsize=8192" nfsroot=192.168.127.132:/tftpboot/hogehoge ethernet=eth0 ip=dhcp
/tftpboot/hogehoge/以下が↑のパスに合致するか一応確認。APPNDは一行で
NFSOPTSはNFSのオプション。UDPを指定しなかったらブート時にNFSサーバーの応答がなくなってしまったのでつけてみたら解消したので一応こうした。
でもこれはVmware上のゲストをNFS root化してテストしただけで、リアルマシンではまだ試してません。
↑のkernelは余計なモジュールが多いので、メモリ節約のためにもmakeし直した方がいいかも
それでなくてもこの設定には無駄とかいっぱいありそう...
#次はNFSサーバにもなってるマシンのRAID5化