Comment supprimer un package partiel dans OpenBSD

Lors de la mise à niveau, j'ai essayé d'append un package qui était déjà là et à cause d'une erreur, un package partiel a été créé – partial-gnutls.

Lorsque j'essaie de supprimer ce package partiel, j'obtiens ces erreurs:

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 

J'ai vérifié le code source. C'est un certain coe qui ajoute un file dans une structure de données (très probablement, c'est find les files à supprimer) et il ne le fait pas parce que le file n'est plus là.

Comment puis-je me débarrasser de ce package partiel?

Vous pouvez essayer de créer un file vide pour chacun des files listés, par exemple:

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

etc. Une fois que les files sont là, utilisez pkg_delete -qq pour supprimer sans comparer les sums de contrôle enregistrées.

Si cela ne fonctionne pas, /var/db/pkg/<pkg-name>/+CONTENTS répertorie le contenu du package et les locations où les files ont été installés, pourrait aussi utiliser ces informations pour supprimer les files manuellement, puis supprimer le offending /var/db/pkg/<pkg-name> directory /var/db/pkg/<pkg-name> .