OpenBSDから一部のパッケージを削除する方法

OpenBSDから一部のパッケージを削除する方法

アップグレード中に既存のパッケージを追加しようとしましたが、一部のエラーにより部分パッケージ - 部分 gnutls が生成されました。

パッケージのこの部分を削除しようとすると、次のエラーが発生します。

File /usr/local/share/locale/cs/LC_MESSAGES/pkg.qX9SMkCPZb does not exist                                                            
File /usr/local/share/locale/de/LC_MESSAGES/pkg.Dfpr8PbT3X does not exist                                                            
File /usr/local/share/locale/en@boldquot/LC_MESSAGES/pkg.wIH7fQJbhK does not exist                                                   
File /usr/local/share/locale/en@quot/LC_MESSAGES/pkg.c8llMmPSGl does not exist                                                       
Read failed: Input/output error at /usr/libdata/perl5/OpenBSD/md5.pm line 59          

ソースコードを確認してみました。一部の同僚は、一部のデータ構造にファイルを追加しますが(ほとんど削除するファイルを特定しています)、ファイルが存在しないため追加できません。

この部分パッケージをどのように削除しますか?

ベストアンサー1

リストされたファイルごとに空のファイルを作成できます。たとえば、次のようになります。

touch /usr/local/share/locale/cs/LC_MESSAGES/pkg.qX9SMkCPZb

など。ファイルが存在する場合は、記録されたpkg_delete -qqチェックサムを比較せずに削除できます。

それでも問題が解決しない場合は、/var/db/pkg/<pkg-name>/+CONTENTSパッケージの内容とインストールファイルの場所を一覧表示してその情報を使用してファイルを手動で削除し、/var/db/pkg/<pkg-name>問題のディレクトリを削除することもできます。

おすすめ記事