解决dpkg安装.deb包时预安装和后安装脚本错误
解决dpkg安装.deb包时'admindir must be inside instdir'错误及脚本错误
在使用 dpkg --instdir=/ugreen/@appstore -i com.ugreen.docker.deb 命令安装.deb包时,你可能会遇到类似以下的错误信息:
dpkg (subprocess): admindir must be inside instdir for dpkg to work properly
dpkg: warning: old com.ugreen.docker package pre-removal script subprocess returned error exit status 2
...
这是由于安装包中的预安装和后安装脚本出现错误导致的。
解决方法
-
检查安装包是否正确: 确保您使用的安装包是完整且正确的。可以尝试重新下载安装包并再次安装。
-
检查文件权限: 确保您对安装目录 (
/ugreen/@appstore) 具有适当的写入权限。您可以使用以下命令检查和更改文件权限:ls -ld /ugreen/@appstore sudo chmod +w /ugreen/@appstore -
查看预安装和后安装脚本: 您可以使用以下命令查看安装包中的预安装和后安装脚本:
dpkg-deb -x com.ugreen.docker.deb /tmp/package ls /tmp/package/DEBIAN cat /tmp/package/DEBIAN/preinst cat /tmp/package/DEBIAN/postinst这将解压安装包并显示预安装和后安装脚本的内容。您可以检查脚本是否存在错误,例如'admindir must be inside instdir',并根据需要进行修改。
-
手动安装: 如果以上方法都无效,您可以尝试手动安装软件包。
-
首先解压安装包:
dpkg-deb -x com.ugreen.docker.deb /tmp/package -
将文件手动复制到指定目录:
sudo cp -r /tmp/package/* /ugreen/@appstore -
使用dpkg命令手动安装软件包:
sudo dpkg --configure -a这将尝试重新配置所有已安装的软件包,包括您刚刚手动复制的软件包。
-
注意: 这些解决方法可能需要管理员权限来执行。如果问题仍然存在,请考虑联系软件包的开发者或供应商以获取更多支持。
原文地址: http://www.cveoy.top/t/topic/ef4A 著作权归作者所有。请勿转载和采集!