Citrix ICA Client(Receiver)13 .deb
软件包存在一些已知问题。如何更改包装?我需要删除一些依赖项并更改安装脚本。
Citrix ICA Client(Receiver)13 .deb
软件包存在一些已知问题。如何更改包装?我需要删除一些依赖项并更改安装脚本。
Answers:
我自己回答这个问题,因为其他人可能会发现这些信息很有用。此问答的灵感来自于另一个问题:如何在Debian 64位Linux上安装Citrix ICA Client(Receiver)13?
.deb
文件复制到该目录。.deb
文件:ar vx archive.deb
debian-binary
: 不要碰control.tar.gz
:用于安装和卸载的配置和脚本
data.tar.gz
:要安装的文件
两个*.tar.gz
文件可能有不同的扩展名,具体取决于使用的压缩格式 该.deb
格式支持一些不同的。这两个*.tar.gz
文件都是tarbombs,所以所有文件都会爆炸到同一个路径。最好创建一个临时目录,复制,然后提取。
文件control.tar.gz
有两个适合黑客攻击的文件:
control
:包含包依赖项列表。您可以添加/删除依赖项。postinst
:包含安装后脚本。您可以添加/删除命令。将*.tar.gz
文件重新创建为:tar -czvf control.tar.gz *
或(data.tar.gz
)
最后,创建一个新的存档。订单在这里非常重要:ar rv my_new_package.deb debian-binary control.tar.gz data.tar.gz
您可以使用以下命令尝试新包:
apt-get remove $package_name
$package_name
包裹的名称在哪里,例如,icaclient
dpkg --install my_new_package.deb
参考:http://tldp.org/HOWTO/html_single/Debian-Binary-Package-Building-HOWTO/
ar
格式。如果你以这种方式手动打包deb,dpkg
通常会很好用它,但其他一些重要的工具,如apt-ftparchive
不会。如果可以的话,你最好打开包装dpkg-deb -R mypkg.deb tempdir
并重新包装dpkg-deb -b tempdir
。