Q. Kerberos (ケルベロス) をアンインストールするにはどうしたらいいですか。 A. 2 つの方法があります。 A1. /stand/sysinstall を使って bin をインストールし直す。 FreeBSD FAQ「Q: Kerberos をアンインストールするにはどうすればいいの?」 <URL:http://www.jp.FreeBSD.org/www.FreeBSD.org/doc/ja_JP.eucJP/books/faq/admin.html> に書かれている方法で、これが一番簡単です。ただし、これをやると、/etc のファイルなども最初の状態に戻ってしまう恐れがありますし、DES をインス トールしていた場合はそれもいくつかのファイルが元に戻ってしまいます。 A2. Kerberos によって置き換えられてしまったファイルを、bin, proflibs 配布ファイルから復元する。 例えば次のようにするといいでしょう。なお、$CDROM は FreeBSD の配布ディ レクトリを指定しておきます。 1) ルートディレクトリに移動します。 # cd / 2) Kerberos の配布ファイルに含まれるファイルのリストを作ります。 [3.5-RELEASE まで] # cat $CDROM/des/krb.?? | tar ztf - | sort > /tmp/ttt [4.0-RELEASE から] # cat $CDROM/crypto/krb4.?? | tar ztf - > /tmp/ttt1 # cat $CDROM/crypto/krb5.?? | tar ztf - >> /tmp/ttt1 # sort /tmp/ttt1 | uniq > /tmp/ttt 3) 元のファイルを配布ファイルから展開します。 # chflags noschg `cat /tmp/ttt` # cat $CDROM/bin/bin.?? | tar --unlink -zxvpf - `cat /tmp/ttt` > /tmp/yyy # cat $CDROM/proflibs/proflibs.?? | tar --unlink -zxvpf - `cat /tmp/ttt` >> /tmp/yyy # cat $CDROM/manpages/manpages.?? | tar --unlink -zxvpf - `cat /tmp/ttt` >> /tmp/yyy [4.0-RELEASE から追加] # cat $CDROM/crypto/crypto.?? | tar --unlink -zxvpf - `cat /tmp/ttt` >> /tmp/yyy 4) 残ったゴミを片付けますが、念のためどのファイルが削除 されるか確認してください。 # comm -3 /tmp/ttt /tmp/yyy1 5) 確認できたら、削除します。 # rm -f `comm -3 /tmp/ttt /tmp/yyy1` おまけとして、上記の作業を自動化するスクリプトを添付します。使用に 際しては自己責任でお願いします。 なお、この作業は /etc や /bin などを直接いじる作業になりますので、 本質的に危険です。tar の仕様変更により、実際に被害が出た例もあり ます [FreeBSD-users-jp 74025] (以下のスクリプトでは修正済みです)。 ----ここから---- #!/bin/sh # Example: # # cd / # # sh ./uninstall_kerberos /proj/ftp/FreeBSD/4.2-RELEASE # Please use *at your own risk* CDROM=/cdrom [ "$1" != "" ] && CDROM=$1 KRB=/tmp/krb.list KRB1=/tmp/krb1.list ORG=/tmp/org.list ORG1=/tmp/org1.list DEL=/tmp/del.list CRYPTO= echo 'Make a list of kerberos binaries.' if [ -d $CDROM/crypto ]; then CRYPTO=crypto cat $CDROM/crypto/krb4.?? | tar ztf - > $KRB cat $CDROM/crypto/krb5.?? | tar ztf - >> $KRB elif [ -d $CDROM/des ]; then cat $CDROM/des/krb.?? | tar ztf - > $KRB else echo "$CDROM: No such kerberos distribution files." 1>&2 exit 1 fi sort $KRB | uniq > $KRB1 echo -n 'Restore files from distribution files:' rm -f $ORG chflags noschg `cat $KRB1` for i in bin proflibs manpages $CRYPTO do echo -n " $i" cat $CDROM/$i/$i.?? | tar --unlink -zxvpf - `cat $KRB1` >> $ORG 2> /dev/null done echo "." echo 'Cleanup all garbage.' sort $ORG | uniq | sed '/\/$/d' > $ORG1 comm -3 $KRB1 $ORG1 > $DEL less $DEL read -p "Would you like to delete these files now? y or n [n]" YES_NO case "${YES_NO}" in y) rm -f `cat $DEL` rm -f $DEL ;; *) echo "Make sure to run rm -f `cat $DEL` yourself" ;; esac : ----ここまで----
グループ名: des