I join to @Starcrasher , you should remove the affected file from /boot/system/packages/
ls -l /boot/system/packages/mpfr-4.2.0-3-x86_64.hpkg
rm -rf /boot/system/packages/mpfr-4.2.0-3-x86_64.hpkg
The transaction directories contains downloaded multiple packages / from they would have been installed at the same time !..
In such cases pointless and useless to remove /boot/system/packages/administrative/transaction-1 directory.
As you could experience it was the container directory of installed packages for you , which were already downloaded previously -
Then - in that time - meanwhile downloading and later installing had executed, some shit has happened, so the installation got interrupted.
Some packages installed/activated, … but some just downloaded into this transactional directory.
Of course if you experience such issue that reported by /boot/system/var/log/syslog and suggest some filesystem error or you get info about file corruption (e.g. due to interrupted package download), then it is true - you should delete the affected trransaction directory to make pkgman download affected packages again.
After that a pkgman refresh and pkgman full-sync recommended.
You can use the following command line to filter out for lines containing error -
first syslog.old and after syslog letting 3 empty lines between them …
finally execute a filesystem check on your Haiku filesystem
grep -E -i error /boot/system/var/log/syslog.old | grep -E -v -i deferred; echo; echo; echo;grep -E -i error /boot/system/var/log/syslog | grep -E -v -i deferred; echo; echo; echo;checkfs -c /boot
checkfs -c /boot – only checks your Haiku installation BFS filesystem
checkfs /boot – this way not just checks the affected BFS filesystem, but attempt to correct it.
In both cases you get a report too about progress and results.
Here you are an automated way of repairing the Haiku’s BFS - a shell script :
~> ls -l ./bfs_clean_boot.sh
-rwxr-xr-x 1 user root 803 márc. 8 2024 ./bfs_clean_boot.sh
~> cat ./bfs_clean_boot.sh
#!/bin/bash
## Check health of installed Haiku operating systems BFS filesystem [ /boot ]
##
echo -e "\n Executing - checkfs -c /boot - to find possible/real BFS filesystem erros of installed Haiku operating system ... \n"
checkfs -c /boot
## Fix possible and/or above reported real findings of installed Haiku operating systems BFS filesystem [ /boot ]
##
echo -e "\n Executing - checkfs /boot - to attempt to fix (possible or existing) filesystem errors ... \n"
checkfs /boot
## After fix resulted/reported, re-check status of installed Haiku operating systems BFS filesystem [ /boot ]
##
echo -e "\n Re-executing - checkfs -c /boot - to validate fix attempt result(s) \n"
checkfs -c /boot
echo -e "\n \n BFS filesystem check / possible fix / re-check -- DONE. Bye-bye !.. \n"
~>
You can also execute update from shell script - if you want :
~> ls -l ./chk_pkgs.sh
-rwxr-xr-x 1 user root 64 ápr. 11 15:44 ./chk_pkgs.sh
~> cat ./chk_pkgs.sh
#!/bin/bash
pkgman refresh && pkgman update && pkgman full-sync
~>