首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何制作/提取/修改包的源代码并进行重新包装?

如何制作/提取/修改包的源代码并进行重新包装?
EN

Ask Ubuntu用户
提问于 2011-09-25 11:47:24
回答 3查看 4.6K关注 0票数 5

我有一个有bug的包,我需要修改它,然后重新打包,所以我就是这样做的。还有其他快速的方法吗?

  1. 仅限列表/查看(驱动程序、文件或应用程序) ar tv桌面视频-8.0.1-amd64.deb rw-r- 0/0 4 9月25 07:35 2011年debian-二进制rw-r-r-0/ 14942208 9月25 07:35 2011年9月25日07:35 control.tar.gz rw-r-0 102 9月25 07:35 2011年data.tar.gz
  2. 提取ar x桌面视频-8.0.1-ar 64.debian control.tar.gz data.tar.gz debian-二进制
  3. 提取tar.gz tar xvfz control.tar.gz tar xvfz data.tar.gz ;;修改我的代码和更新
  4. Repack/重新构建此回mkdir -p debian/DEBIAN;步骤1 cp -R ./DEBIAN-二进制debina/DEBIAN cp -R ./control debian/DEBIAN;步骤2 step ./etc debian/DEBIAN cp -R ./usr debian/DEBIAN
  5. 现在就做.DEB吧;这就是应用之前的框架:构建根@桌面:~/ control.tar.gz下载/测试# ls control.tar.gz data.tar.gz debian debian -二进制等等usr root@桌面:~/下载/测试# dpkg-deb -构建desktopvideo' indebian.deb‘包。

-失败

代码语言:javascript
运行
复制
# dpkg -i DesktopVideo-8.0.1-amd64.deb
dpkg: error processing DesktopVideo-8.0.1-amd64.deb (--install):
 unable to open file '/var/lib/dpkg/tmp.ci//etc': Is a directory
Errors were encountered while processing:
 DesktopVideo-8.0.1-amd64.deb
EN

回答 3

Ask Ubuntu用户

回答已采纳

发布于 2011-09-25 13:32:35

如果您还没有安装构建工具:sudo apt-get install build-essential

您可以使用apt-get source DesktopVideo命令将与该deb关联的源、diffs和所有其他打包文件拉到当前目录中。从那里应用修补程序,在日志文件dch -i中添加一个新条目,然后使用fakeroot和dpkg创建包dpkg-buildpackage -rfakeroot -us -uc

票数 4
EN

Ask Ubuntu用户

发布于 2011-09-25 14:35:29

做你想做的事在技术上是可能的,但你需要比你看起来更谨慎。很难知道你做错了什么,因为你没有复制粘贴你输入的所有内容。我确实发现了一个错误(cp -R ./debian-binary debina/DEBIAN,您显然没有准确地报告所做的事情),还有一个错误(cp -R没有保留所有权和权限,您需要cp -Rpcp -a作为根)。

修改包的最佳方法是获取包源(apt-get source DesktopVideo)。修改源代码,然后向包changelog添加一个条目,更改版本号,使您的版本与正式版本号不同。下面是一个有关步骤的示例 (Debian和Ubuntu在这方面的工作是相同的)。

如果您没有源代码或不想重新编译,可以安装包,然后使用dpkg-divert将by文件(S)移开,并由您自己的版本替换它。dpkg-divert告诉包管理器将来自给定包的文件放在不同的位置。这里's就是一个使用它的例子。

如果您没有这个包的源代码,并且需要在几台机器上部署一个修复程序,您可以安装这个包,然后修改这个buggy文件,然后用dpkg-repack构建一个新的包。与其说这是一种健壮的包管理方法,不如说是一种分离行为;如果可能的话,我建议您修补源代码并部署您的家庭编译包。

票数 2
EN

Ask Ubuntu用户

发布于 2011-09-25 13:32:09

您应该能够使用apt-get -d source packagename检索包源(只有二进制文件)。然后您可以修改它,并使用debuild再次构建它。

票数 1
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/62919

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档