在升级时,我尝试添加一个已经存在的包,但由于一些错误,创建了一个部分包 -partial-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
我检查了源代码。某些 coe 将文件添加到某些数据结构中(最有可能的是,它正在找出要删除的文件),但它未能这样做,因为该文件已不存在。
我如何摆脱这个部分包?
答案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>
目录。