pkg・ports アップデート関連 - その他一般 - portupgrade 時に clean でエラー
1. 概要 2018年8月1日。 これは ports の種類とか関係ない話ですが・・・。 libXt のポートアップグレード時に発生しました。 > portupgrade -rR libXt ・・・略・・・ rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls/zh_TW.UTF-8: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/pixmaps: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/sgml: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/skel: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/xml: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/tests: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/www: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work: Directory not empty *** Error code 1 Stop. make[1]: stopped in /usr/ports/x11-toolkits/libXt *** Error code 1 Stop. 2. 調査 実際には試行錯誤がもっとあったのですが cd /usr/ports/x11-toolkits/libXt make deinstall clean しても同じように止まる・・・。 結局 > cd /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls/ > ls sv_SE.ISO8859-15 ls: sv_SE.ISO8859-15: 入出力エラーです どうもここのディレクトリの中にあるものがアクセスできなくなっているようなのです。 3. がんばって削除してみる とりあえず「メンテナンス・トラブルシュート - ハードディスク・ファイルトラブル」に掲載してある方法を用いて、削除してみようとします。 ところが・・・。だめ・・・。 これは fsck しかないのかしら・・・。 4. 別の方法で切り抜ける 現在、対象のマシンが手元にないので、再起動して fsck することができないので、応急処置。 上位のディレクトリは生きているので・・・ cd /usr/ports/x11-toolkits/libXt/ mkdir /tmp/trash mv work /tmp/trash/. ls make clean make make install と「work」ディレクトリをディレクトリごと「/tmp」へ持って行って「make」し直して結果としてアップグレードできました。
> portupgrade -rR libXt ・・・略・・・ rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls/zh_TW.UTF-8: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/pixmaps: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/sgml: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/skel: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/xml: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/tests: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local/www: Input/output error rm: /usr/ports/x11-toolkits/libXt/work/stage/usr/local: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage/usr: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work/stage: Directory not empty rm: /usr/ports/x11-toolkits/libXt/work: Directory not empty *** Error code 1 Stop. make[1]: stopped in /usr/ports/x11-toolkits/libXt *** Error code 1 Stop.
cd /usr/ports/x11-toolkits/libXt make deinstall clean
> cd /usr/ports/x11-toolkits/libXt/work/stage/usr/local/share/nls/ > ls sv_SE.ISO8859-15 ls: sv_SE.ISO8859-15: 入出力エラーです
cd /usr/ports/x11-toolkits/libXt/ mkdir /tmp/trash mv work /tmp/trash/. ls make clean make make install