Debianで使う


概要

5年以上もの間、24時間365日動き続けていたHDDがついに壊れたので、 HDD交換のついでに ssdlinux から Debian に変えて運用してみる。

基本的なインストール方法は、ぷらっとホームのサポートページの「Debian/GNU Linux」でHDDイメージの配布と手順の説明がある

問題点

  1. ledの点滅が止まった
    • "/dev/OBS266 LED" というデバイスは見つかるが、/usr/sbin/runled が参照しているのは /dev/segled なので起動できないようだ。debian 用の runled が別に存在するのか、udev上のシンボリックリンクのような方法で解決すればよいのか分からない。
    • /etc/udev/links.conf に何か書けばよいのだろうか
    • links.confに "L segled 'OBS266 LED'" という行を書いて再起動したら、立ち上がらなくなったので焦った。INITボタンを押しながら立ち上げて、手動でmountして元に戻した。
  2. VNC4ServerとXfceを使って軽量化したデスクトップを目指してみたが、それでも重過ぎて実用に耐えない
  3. /etc/inetd.confに何もエントリーが無いので、シリアルポートの立ち上げ時のコンソールに警告が出ると同時に文字色が黄色になったまま login プロンプトになる
  4. ntpサーバーと同期を取る前に mount されるようで、最近チェックされたのが古すぎるとなって e2fsck が実行されてしまう。
  5. sambaがssdlinuxの時と挙動が異なる
    • ネットワークドライブの割り当てができない → [解決済み] Windows側でワーククループの一覧で共有名を探すときに guest のようなアカウントで接続されてしまい、ドライブ割り当てでパスワードを指定してもはじかれていたようだ。ドライブ共有を一旦解除してから割り当てたらうまくいった
    • EUCでアーカイブしていたバックアップを戻すと、日本語ファイル名が文字化けを起こす
    • EUCで書かれたファイル名を ls で表示するときは、ls --show-control-chars とする必要がある。alias jls='ls --show-control-chars' とでも ~/.bash_aliases に書いておくことにする
    • 文字化けの問題は samba 2.2→3.x での設定ファイル smb.conf の記述の違いによるもののようだ
      client code page = 932
      coding system = EUC
      となっていたのを
      dos charset = CP932
      unix charset = eucJP-ms
      display charset = CP932
      としたら日本語ファイル名が化けなくなった
    • Samba 2 日本語版の日本語ファイル名の Samba 3 への移行方法』に紹介されている方法でファイル名をUTF-8に変換すべきかもしれない、と思ったが『samba経由の日本語ファイル名をUTF-8化 - エンジニアパパの雑記帖』等を見ると、結構ハマる可能性があるのでこのままでもいいような気もしてきた。
  6. kernelでfuseが有効になっていないので、sshfs等が使えない
  7. baffaloのNASとのファイルのやりとりにftp clientを使う必要があるが、apt-get install ftp で入れたものは、途中経過等を一切表示しないシンプルなもの。ncftpを入れてみたが、こちらはコマンドライン版にしては高機能。fedora等で使われているftp clientはどれなのか不明だ。inetutils-ftp というパッケージを入れてみたが、途中経過は表示されなかった。
  8. localeが無いと警告が多くなってきたので、aptitude install locales ; dpkg-reconfigure locales で en_US.UTF-8 と ja_JP.UFT-8 と ja_JP.EUC を加えた。CPUパワーが足りないのかlocaledefの処理に20分程度かかった。デフォルトは en_US.UTF-8にしておくことにする。

多段接続

sshを多段しないと到達できないホストと rsync や scp 等でファイルをやり取りする必要があるときは、以下のようにすればよい。

たとえば、foo.example2.jp に接続したいが、bar.example1.jp を経由しなければ到達できない場合、~/.ssh/config に以下を加える。

Host foo.example2.jp
 ProxyCommand /usr/bin/connect-proxy -S localhost:8090 %h %p

connect-proxy コマンドが無いときは apt-get install connect-proxy する。

自サーバーを bar.example1.jp への SOCKS サーバーにする

ssh -N -f -D8090 bar.example1.jp

この後、ssh foo.example2.jp とすれば、bar.example1.jp を経由していることを意識する必要がなくなる。rsync や scp で直接ファイルをやり取りすることも可能。

ログアウトするときは、先に SOCKS サーバーを止めないとログアウトできなくなるので注意。

IPv6

Debianに変えた理由のひとつにIPv6で使ってみたい、というのがある。 西日本のフレッツ網内でしか通用しないが、会社と自宅のサーバーを相互に アクセスするためには、ルーターにアドレス・フィルタを設定するだけなので、 手軽に使える。*1

OpenBlockS266にpostfixを設定して動かしてみると、IPv6のsmtpポートでも接続を 受け付けていることが判明。会社の同じ Debian etchのサーバーはIPv6でsmtpの 待ちうけができないので、postfixのバージョンによってできないのだと思っていたが、 そうではないようだ。設定ファイルに大きな違いはなさそうなので不思議だ。

ホスト名をIPv6アドレスに変換する適当な方法が無いので、hostsに書き加えるという原始的な方法でごまかしている。私しか使わない接続なのでそれでもなんとかなる。ウイルス・チェッカによってはhostsを書き換えるとアラーとが出るので注意。

コンパイル環境

/etc/apt/source.list を

deb http://ftp.jp.debian.org/debian/ etch main contrib non-free
deb-src http://ftp.jp.debian.org/debian/ etch main contrib non-free
deb http://security.debian.org/ etch/updates main contrib non-free
deb-src http://security.debian.org/ etch/updates main contrib non-free

というようにして、aptitude update した後、

apt-get build-dep hello

とすれば、hello worldをセルフ・コンパイルするためのコンパイラやらライブラリを一発でインストールしてくれる。


*1 拠点同士のIPv6通信はサポート対象外だと思われる

トップ   一覧 検索 最終更新   ヘルプ   最終更新のRSS