问题标签 [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.

0 投票
1 回答
936 浏览

python - 在 debian/control 中定义分组条件依赖的任何方法?

我正在 debianizing 一个 Python 包,它有一些奇怪的依赖关系。它要么:

  • 取决于python2.7
  • 取决于python2.6和(我在 PyPI 上python-ordereddict的自建包)ordereddict

例如,在我的setup.py我有:

我在 Debian 打包文档中没有找到关于这个问题的任何内容。出乎意料的是,我尝试过写作

但是,毫不奇怪,这是一个不起作用的错误语法:

我正在使用 dh_python2 并${python:Depends}提供了非常不合理的列表,例如

有了这样的依赖列表,它就需要python-ordereddictfor python2.7,那是不存在的。显然我不能python2.7-minimalProvides: python-ordereddict(就像它完成了python-argparse)。

请对如何正确打包此类库有任何建议吗?

0 投票
1 回答
1702 浏览

bash - 执行 postinst bash 脚本时 deb 包失败

我为 nagios 自定义插件和配置制作了一个 bash 脚本,为了简单起见,我使用 equivs

这是我的控制文件。

在 Files: section 中,我告诉文件将自己复制到正确的路径。

在 postinst 部分,它是一个用于安装后的 bash 脚本

这里的问题,当我将它编译为 deb 包时,我得到“子进程安装后安装脚本返回错误退出状态 1”

然后我添加了 set -x 进行调试。问题是用于配置 tcp-ip 插件,有些机器有不止一个以太网卡。所以我需要选择一个 ip 以 10.* 开头的机器。 192.*

在第二部分中,有一行 INET=ifconfig $Interface | grep -o -e "inet addr:[^ ]*" | grep -o -e "[^:]*$" 当以太网设备没有 ip 时,grep 返回 null 并且 INET 变量变为 null ,这就是为什么进程退出状态为 1. 在该行之后,当我输入“$?” , 它说 1

所以这里的问题是,当我运行 dpkg -i 来安装该软件包时,bash 脚本在看到 INET 变为空后退出。

任何帮助,将不胜感激。我对这个 bash 事情很陌生。

0 投票
1 回答
2318 浏览

puppet - 让 puppet 从特定存储库安装包

有没有办法告诉 puppet 从特定存储库安装包?我想在 puppet 中执行类似 'aptitude -t testing install vim' 的操作。

我想这样做的原因是我想从 debian 'testing' 存储库安装特定的包,但默认情况下只使用'stable'。

目前,我将“测试”存储库的优先级固定为 -10,因此如果没有我明确告诉它这样做,apt 不会从它安装软件包:

我在基于 debian 的系统上使用 puppet 2.6.2。

0 投票
1 回答
1403 浏览

ubuntu - 将安装脚本从 Redhat 更改为 Ubuntu

已为带有 RPM 的 Redhat 编写了安装脚本(用于Microsoft® SQL Server® ODBC Driver 1.0 for Linux )

它使用此代码检查是否安装了某些软件包

我通过知道/相信库已安装并简单地删除测试来克服这个问题,但我现在想整理一下。

  1. 如何在 Ubuntu 上找到要查找的库。是否有 Redhat -> Ubuntu 的命令或翻译网页
  2. 用 dpkg -s 替换 rpm -q -a 是否正确?
0 投票
2 回答
874 浏览

python - 构建 Python 项目的 .deb 失败 - dpkg-buildpackage 正在尝试将文件作为目录删除?

这是我第二次尝试创建 deb 文件 - 第一次是我使用 FPM 的 C 项目 - 这工作得很好,尽管是一个不可接受的包 - 它工作正常。然而,这是一个 Python 项目 (GNS3),我更愿意正确地完成它,因为如果我要这样做 - 它也可能是正确的。话虽如此,现在我会接受一个有效的 .deb 文件。

问题:我一直在将 GNS3 修改为一个项目,我需要做的最后一步是将它重新打包成一个 .deb 文件。我知道这是可以做到的,因为它在 Ubuntu 存储库中,但我的研究让我了解到 Debian 的一个叫 Erik Wenzel 的人构建了 deb 并且他不再可用 - 而 GNS3 的开发人员显然专注于 Windows并且没有当前的知识来打包它(“据称”-我最近问过他们但还没有收到回复-如果我这样做了,我会将他们提供的任何信息添加到这个问题中)。

我尝试了各种不同的方法来获取 debian 软件包,但我尝试的最后一种方法似乎最有希望。我用过(来自:https ://pypi.python.org/pypi/stdeb ):

这给了我压缩包,然后尝试:

这没有用。此输出失败(从末尾截断):

错误是正确的(?!) - 这两个文件不是目录 - 它们是文本文件 - 它们似乎没有任何不寻常的特征:

看来 STDEB 正在正确地发挥其作用——但我不能肯定地说。它可能正在做一些导致 dpkg-buildpackage 失败的事情。我希望有人会看到这个然后说,“当然那是行不通的——你需要做 x 和 y,然后它就会建立起来”。或者至少是“试试这个和这个”。

如果我能做到这一点,那么我也可以将知识贡献回 GNS3 项目,这将是很棒的。

任何帮助表示赞赏。

干杯

史蒂夫

0 投票
3 回答
438 浏览

linux - 如果 dpkg 或 apt-get 将删除 Ubuntu 上的程序怎么办?

问题是我安装了一个.deb文件,当我尝试用 删除它时dpkg -r ...dpkg声称已将其删除。不过,我可以输入“已删除”命令,它仍然有效。

我需要把它取下来,因为我意识到我需要的是一个包含它的更大的程序。当我尝试make在较大的程序上运行时,它会尝试将较小的程序与不同的选项一起使用(较大的程序似乎假设较小的程序的更新版本)。

无论如何,我无法摆脱它只是很奇怪。我已经重新安装并尝试使用清除选项,尝试apt-get clean,尝试重新启动机器等。

任何想法,将不胜感激。谢谢!

0 投票
1 回答
9126 浏览

triggers - dpkg:如何使用触发器?

我已经编写了一个小型 CDN 服务器,如果新的东西(pool-content-packages)安装到池中,它将重建他的池注册表。

相反,每个 pool-content-package 都调用 cdn-server 的 init.d,我想使用触发器。在安装完所有软件包后,它只会在安装运行结束时重新启动服务器一次。

我该怎么做才能在我的包中使用触发器并支持 debhelper?

0 投票
1 回答
616 浏览

python - 将 python 模块安装到 python-version 中性位置

我已经构建了一个包含 python 模块的 debian 包。问题是

显示所有文件都将安装在

这意味着安装我的 deb 包的最终用户将需要使用与我完全相同的 python 版本——但我知道我的模块在以后的版本中也可以正常工作。

在我的 Makefile 中,我有以下目标:

setup.py 在哪里

有什么方法可以编辑 setup.py 文件或 Makefile,以便将生成的模块安装在 python-version 中性目录而不是 /usr/lib/python2.6 中?

谢谢,

亚历克斯

0 投票
3 回答
5052 浏览

macos - MacPorts 安装 dpkg 错误

更新:

sudo port selfupdate没有返回任何错误。这是输出:

但是,当我运行时sudo port upgrade outdated,出现以下错误:

运行sudo port upgrade gettext返回以下错误:

原始问题:

我目前正在尝试dpkg在我的 Mac OS 10.7.5 上安装,所以我可以运行 theos sudo make package(它告诉我我不能这样做,因为dkpg没有安装)。

我按照这里的说明进行操作,但是在运行时遇到了问题sudo port install dpkg。这是错误:

这是的内容main.log

谁能帮我dpkg安装?我完全不知道问题是什么。

0 投票
1 回答
632 浏览

c - 手动 g++ 安装:无尽的依赖

我正在尝试根据需要安装 g++ 以编译和安装 Broadcom 无线和有线网络驱动程序。这意味着,无法使用 apt-get 或 aptitude 命令。因此,我从另一台已经连接互联网的计算机上下载了 g++-4.2-multilib_4.2.4-1ubuntu3_amd64.deb 等软件包。

在安装过程中,它给出:

但这里的技巧问题是……每当我安装一个依赖项时,就会出现十几个其他依赖项。看起来永远不会结束。有什么建议可以控制这种依赖关系吗?我已经烧了两天了……而且看起来还没有好转。

欢迎所有意见和建议,并高度赞赏!