完全“手动”安装 .deb

完全“手动”安装 .deb

因此,我最近从在线拍卖网站以相当合理的价格购买了一部全新的诺基亚 N900 手机。 N900是一款Linux手机,它已经问世很久了,但现在才刚刚在我的预算之内。

过去的一天我一直在努力解决这个问题。它的版本apt特别令人沮丧。

我现在的重点是,我无法dpkg正确配置软件包,因为诺基亚的一些人决定手机不应该有任何/usr/share/doc.显然。这个特定包的要求--configure将文件放入/usr/share/doc然后“优化”,这是我不太理解的诺基亚Linux术语,但似乎主要与将其视为/opt/maemo根目录有关涉及某些类型的文件。

不用说,这个文档不能被“优化”......我真的不在乎为什么,我只是想能够:

  • 自己解压.deb文件。
  • dpkg查看告诉放置物品的位置的脚本。
  • 修改脚本和/或在我自己周围移动这些文件。
  • 做任何其他必要的事情,以便将正确的文件放在正确的位置,
  • 通知软件包列表该软件包已“安装”。
  • 继续我的生活,.deb比现在了解更多。

答案1

您可以.deb手动修改该文件,然后像原始文件一样安装它。

你可以看看官方参考

我过去某个时刻所做的步骤可以总结为:

  1. 创建工作目录:

    mkdir work
    cd work
    
  2. 确保.deb该目录中有该文件的副本。

  3. 解压.deb文件:

    ar x $DEB_FILE
    
  4. .deb从此处删除文件:

    rm $DEB_FILE
    
  5. 解压数据文件:

    mkdir data
    cd data
    tar zxf ../data.tar.gz
    cd ..
    
  6. 解压控制文件:

    mkdir control
    cd control
    tar zxf ../control.tar.gz
    cd ..
    
  7. 做任何你必须做的改变,例如,修改控制目录中的至少一个文件:

    • 控制/预安装
    • 控制/后置
    • 控制/预防
    • 控制/后处理
  8. 更新到control/md5sums您修改的文件的 md5 校验和。

  9. 再次压缩.deb文件:

    cd control
    tar zcf control.tar.gz *
    mv control.tar.gz ..
    cd ..
    rm -rf control
    
    cd data
    tar zcf data.tar.gz *
    mv data.tar.gz ..
    cd ..        
    rm -rf data
    
    ar r $DEB_FILE debian-binary control.tar.gz data.tar.gz
    

答案2

您可以在 /var/lib/dpkg/info 中找到 postinst 脚本。修复脚本,使其不会失败,并dpkg再次配置包。无需费心手动拆包。

答案3

你可以使用像这样的工具德布2targz解压缩.deb文件并手动将文件移动到正确的位置。

相关内容