FreeBSD再インストール

  • 直接的におかしくなったのはperlの整合性だけなんですが、前回の再インストール以来、portsを使って適当にインストールし続けてきたので、だいぶ気持ち悪いことになっているのも事実なのです。
  • apachemysqlを設定し直したいという思いもあるし、そこまでやるならシステム毎入れ直しても同じかなと思った次第。
  • kERNCONFをいじってだいぶすっきりしたとはいえ、これだけでは部分最適化に他ならないので、一からやり直します。
  • 本当はwikiにメモしたいのですが、サーバのインストール中は使えないので、hatenaに途中経過をメモすることにしよう。幸いpukiwikiの文法とよく似ているし。

バックアップ

  • tar zcvで下記を固める
    • /var/log
    • /usr/local/etc
    • /etc
    • /usr/local/share/snmp
    • /usr/src/sys/i386/conf/KERNCONF
    • /home/自分
  • おっと、PostgreSQLのテーブルをダンプするのを忘れていた。
    • pg_dumpall > db.out.20050729
  • その間に、どこからともなく落としてきたFreeBSD4.11のISOイメージをCDRに焼かねば。

方針

これを機にちゃんとやりたいこと

  • logのローテート
  • ディレクトリの整理
  • ちゃんとしたバックアップ
  • cactiによる監視の一元管理
  • 使わないソフトを動かさない
    • qpopperなんて、一年以上一度も使ってねーし..orz

再インストール開始

  • PCMCIA接続のCDROMでブート。注意点は、PCMCIAデバイスをインストールメディアに選択しない。ネットワークインストールするんだから関係ない。しかも、IRQ設定が分からない。orz
  • Kern-Developerを選択
  • partition設定
/dev/ad0s1a on / (ufs, local, soft-updates)
/dev/ad0s1f on /tmp (ufs, local, soft-updates)
/dev/ad0s1g on /usr (ufs, local, soft-updates)
/dev/ad0s1e on /var (ufs, local, soft-updates)
procfs on /proc (procfs, local)
  • cvsup実施
  • その間にtoorを有効にする
vipw
/usr/local/bin/zsh
passwd -l toor
  • ついでに、/etc/make.confに書き込む
CPUTYPE=i686
  • make kernelとmake worldとmake install実行。きっと一晩がかり。
  • 困った。
    • バックアップファイルを展開すれば全て解決と思っていたら、単体で3.2GBある所為なのか、tarで展開しようとするとエラーになる..orz
    • アーカイブが壊れているわけではないので、まずはWindows側で展開してみる。
    • Dailyでfetchmailでバックアップしていたメールの中に、ウイルスが沢山混ざっていることが分かった。たまにはこちらにもVirus Checkかけないとだめだなあ。
    • 珍しくemacs+mewを入れた(使ってない)時の残骸が各所に散らばってしまったようだ。こういうのも含めて大掃除しよう。
  • portsでsamba3をインストール
    • デフォルトのままだが、LDAPは使わないことが明白なので、ここだけ削除。
    • 意外とコンパイルに時間かかった。
    • /usr/local/etc/smbd.conf
      • hosts allow
      • workgroup
    • /etc/inetd.conf
      • smbdを有効に(コメントはずす)
      • nmbcを有効に(コメントはずす)
    • ユーザ登録
      • smbpasswd -a 自分
  • バックアップファイル
    • ファイルの何処かが破損しているようで、FreeBSD上のtarでは解凍できない。
    • Windows側で解凍できた部分をsamba経由でコピー中。
      • permissionの付け替えが面倒
      • 役に立たないバックアップスキームの見直し必須
      • よく分からないファイルは根こそぎ削除
  • perl5.8
  • /usr/ports/japanese
  • /usr/ports/net-mgmt
    • net-snmp
      • /usr/local/share/snmp/snmpd.conf communityを変更
    • mrtg
  • /usr/ports/net
  • やばい、連続稼働でサーバマシンの背面の樹脂パーツが溶け出してる..orz 果たして、この夏を乗り切れるのだろうか?
  • さて、perl moduleを除いてportsで入れる物は一通り終わりかな..
  • 後は、ApachePostgreSQLMySQLを手作業でインストール。
  • PostgreSQLのインストールをメモした紙はApacheが動かないとみれないので、この順番で。
  • Apache2.0.54
    • Barkley DB 4.2.52
      • Subversionの依存関係により
      • /usr/ports/db42
      • http://svn.haxx.se/users/archive-2004-11/1446.shtml なんて話もあるので、最新版である4.3ではなく、4.2の方をインストール。
      • しかし、dbという名前でportsに登録されているとは思わなかった。
      • しかも、BarkleyDBじゃなくてBarkley DBで探さないとgoogleでもまともなソースにたどり着かないし。orz