解决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
...

这是由于安装包中的预安装和后安装脚本出现错误导致的。

解决方法

  1. 检查安装包是否正确: 确保您使用的安装包是完整且正确的。可以尝试重新下载安装包并再次安装。

  2. 检查文件权限: 确保您对安装目录 (/ugreen/@appstore) 具有适当的写入权限。您可以使用以下命令检查和更改文件权限:

    ls -ld /ugreen/@appstore
    sudo chmod +w /ugreen/@appstore
    
  3. 查看预安装和后安装脚本: 您可以使用以下命令查看安装包中的预安装和后安装脚本:

    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',并根据需要进行修改。

  4. 手动安装: 如果以上方法都无效,您可以尝试手动安装软件包。

    • 首先解压安装包:

      dpkg-deb -x com.ugreen.docker.deb /tmp/package
      
    • 将文件手动复制到指定目录:

      sudo cp -r /tmp/package/* /ugreen/@appstore
      
    • 使用dpkg命令手动安装软件包:

      sudo dpkg --configure -a
      

      这将尝试重新配置所有已安装的软件包,包括您刚刚手动复制的软件包。

注意: 这些解决方法可能需要管理员权限来执行。如果问题仍然存在,请考虑联系软件包的开发者或供应商以获取更多支持。

解决dpkg安装.deb包时预安装和后安装脚本错误

原文地址: http://www.cveoy.top/t/topic/ef4A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录