问题标签 [dpkg]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
ubuntu - 将 Ubuntu 迁移到另一个平台时如何保留已安装的应用程序?
我正在考虑从旧的 AMD64 迁移到新的 32 位英特尔双核。安装不是问题,但我可以转移所有已安装的应用程序吗?到目前为止,除了迁移到类似平台和文件系统的位置外,我还没有在 Google 上找到任何东西。我不会更改文件系统,但平台会有所不同。Gentoo 中的“世界”文件的行中有什么东西吗?
ubuntu - debian/rules makefile 中的变量
我必须将一个 RPM(为 Fedora 制作)作为 deb 包移植到 Ubuntu。
在 RPM .spec 文件中,我使用了几个变量 ( $RPM_BUILD_ROOT, %{_libdir}, %{name}, %{version}
) 来创建符号链接:
(禁止使用相对符号链接(请不要问为什么)——这就是ln
命令看起来很奇怪的原因。)
debian/rules
那么, makefile中这些变量的等价物是什么?
提前致谢。
debian - package.init 未安装
我project.init
在 debian 目录中有一个文件(以及rules
,control
等),dh_installinit
我的文件中有一个rules
文件(在binary-arch
规则中)。
完成dpkg-buildpackage
后,初始化脚本已复制到debian/project/etc/init.d/project
,并创建了各种前/后脚本。
但是,当我实际安装 .deb (带有dpkg -i
)时,init.d 脚本没有安装,所以我一定错过了这个过程的一部分。“新维护者指南”在 init.d 细节上的内容非常少(它基本上说不要使用它们,因为它们太高级了)。
dh_installinit 命令的详细输出是:
linux - Debian 软件包创建错误
我正在尝试构建一个 Debian 软件包,但我遇到了这个奇怪的伪目录问题。我跑:
我之前已经构建了二进制文件,但是我的系统上肯定发生了一些变化。现在 dh_md5sums 出错并返回:
的确,include
是一个目录。因此,我在 dh_md5sums 中添加了一些调试语句,以找出为什么include
会被散列,尽管应该过滤掉目录的行。添加:
表明,include
当 dh_md5sums 运行时,它确实不是一个目录:
那么,我可以删除它吗?我补充说:
并得到:
也许它......变成了一个目录?我ls -l
在下面添加了另一个rm
并得到:
当脚本运行完毕后,我可以这样做:
...这很奇怪,因为它include
变成了一个目录并且所有权发生了变化(x
是我的用户名)。 include
甚至包含它应该包含的所有头文件。
有谁知道发生了什么?
php - dpkg 错误退出状态 2
尝试在 Ubuntu 9.10 上从源代码构建 php 以启用 GD2,但是当我运行 dpkg-buildpackage 时,它只是退出给我这个错误:
QUILT_PATCHES=debian/patches 被子 --quiltrc /dev/null pop -a -R || 测试$?= 2
补丁 suhosin.patch 没有完全删除(刷新它或使用 -f 强制执行)make: *** [unpatch] Error 1
dpkg-buildpackage: error: fakeroot debian/rules clean 给出错误退出状态 2
我已经用谷歌搜索了,但我真的找不到是什么原因造成的,我应该怎么做......
有任何想法吗?
debian - debian 软件包在 preinst 中创建所需的目录
我有以下debian结构:
- debian/usr/共享/测试
- debian/usr/share/test/test
- debian/usr/share/test/test/a
- debian/usr/share/test/test/b
在使用 dpkg-deb --build 构建软件包并使用 dpkg -i 安装它之后,如果文件夹不存在,它似乎不会自动创建文件夹 test。我需要在 preinst 脚本中手动创建它们吗?
更新:问题是因为 preinst 有一个错误,所以解包没有机会发生。
洛朗
licensing - deb 包的许可信息
我正在尝试获取已卸载的 deb 包的许可证信息。
dpkg --info <package-name>.deb
不提供该信息。
ubuntu 中是否有任何命令可以提供此信息?
(在 rpm 世界中 rpm -qpi 提供该信息)
linux - 在 .deb 文件中包含许可协议
如何在 .deb 文件中包含许可协议交互?Linux 对点击式许可证的支持问题只询问是否可能,而不是如何。另外,我不确定deb包的许可证信息是否真的可以使用......
我知道可以将文本作为包描述的一部分包含在内,但我更希望它类似于 Windows MSI 安装程序。
请注意,我不想在应用程序第一次运行时弹出许可证。
我正在使用 dpkg-deb 在 Ubuntu 8.10 上生成 .deb 文件。
linux - 如何列出重新创建一组已安装软件包所需的最小 Debian 软件包集?
有没有办法让 dpkg、apt-get 或 aptitude 生成需要安装在第二台机器上的软件包列表,以复制第一台机器上安装的软件包?
即如果我安装了一个普通的 Ubuntu 服务器,在安装时选择了 sshd 选项,然后安装了 build-essential 我希望输出看起来像:
据我所知,所有可用的打包工具都会在一个盒子上生成一个详细的包列表。我对 openssh libs、ld、gcc 以及 sshd 和 build-essential 引入的所有其他软件包不感兴趣,因为它们将在我安装 sshd 和 build-essential 时安装。
我只想查看需要安装的软件包列表,以便在另一台机器上重新创建我当前的软件包集。
这可能吗?
debian - 已安装的 Debian 软件包列表 - 但有所不同
我有一个旧的 Debian 盒子,我在很长一段时间内大量使用它,它不再干净地启动,所以我拿出一张新的 Ubuntu Live CD 给它第二次生命的机会。我备份了所有文件,但现在我想查看我安装了哪些软件包。问题: dpkg 维护者似乎只希望一个人从所讨论的操作系统中执行此操作,而不是寄生的 Live CD。最终的结果是完全没有谷歌的结果如何做到这一点。
我将尝试在给定 --list 选项的情况下找出 dpkg 读取的文件,然后移植正确的文件,但我希望有一个比我计划做的更好的选择。
有任何想法吗?