问题标签 [checkinstall]

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 投票
2 回答
9685 浏览

python - 创建 Python RPM

我一直在阅读有关为 Python 2.6.4 创建 RPM 的信息。在此页面中: http: //docs.python.org/distutils/builtdist.html它说您可以使用python setup.py bdist_rpm. 我的问题是:

  • 您是否必须在 Python 安装目录中键入此命令?
  • 此命令是否将您已安装的所有模块打包到 RPM 中?
  • 这是执行此操作的正确命令吗?
  • 还有其他建议可以使这更容易吗?

好的,我使用 checkinstall 解决了这个问题。

checkinstallhttp://www.asic-linux.com.mx/~izto/checkinstall/下载。

然后我安装了该软件包,但必须输入/usr/local/sbin/checkinstall我的 PATH 才能使其工作。然后我输入了下一个命令来启动我的 RPM 目录。

然后我cd进入 Python 模块并输入以下命令:

该命令将命令替换checkinstall为您通过 setup.py 而不是普通的 make 安装 python 库的命令。

然后我经历了这个checkinstall过程。完成的 RPM 被放入/usr/src/redhat/RPMS/i386/.

注意:这是针对 LINUX 红帽的。

0 投票
1 回答
1261 浏览

checkinstall - 使用 checkinstall 制作 .deb 包装时出现以下错误

我正在使用 checkinstall 在我的 ubuntu 机器中准备 debian 包。我做了以下程序来准备它

最后我得到了关注。

0 投票
3 回答
5086 浏览

linux - 为什么 mkdir -p 在 checkinstall 调用的脚本中不能正常工作?

我正在尝试编译Quarter并使用checkinstall打包它。

如果我执行标准的 ./configure && make && sudo make install,一切都会好起来的。

但是当我使用 checkinstall 时,它在一个mkdir -p应该可以正常工作的情况下失败了。它失败的方式就像-p没有给出选项一样。这是我正在使用的 checkinstall 命令行:

这是失败:

这是脚本的相关部分:

我不明白为什么exec会这样——这不能保证脚本的其余部分(在 之后esac)永远不会执行吗?(如果if测试通过,那么脚本假定mkdir -p工作正常,所以一旦它真正mkdir -p运行它就可以退出;否则脚本的其余部分实现正确的mkdir -p行为。) 我也不明白为什么它"$*"在 echo 和"$@"下一个中使用行,但这似乎并不重要——它们都是同一件事,因为这个脚本只用一个参数调用。(汤姆在评论中解释道。)

如果我在两者之间添加两行,然后echoexec会像这样工作 - 更好,但仍然令人困惑:mkdir -p -- "$@"echo "Now doing the exec mkdir..."

现在,两次执行 mkdir 行使其工作的事实告诉我这不是权限问题(此外,这会生成与 mkdir 不同的诊断,并且它正在运行sudo,并且它实际上/var/tmp/...不是在真正的/usr/local/.... 我认为发生的事情是第一个 mkdir 调用(我添加的那个)实际上只是创建Quarter目录并退出,然后当第二个 mkdir 运行时,它能够创建devices子目录,因为 Quarter 目录已经存在。但是为什么 mkdir 会那样工作???

我的解决方法是以某种方式修补该 mkinstalldirs 脚本,但我真的很好奇为什么这会破坏!

这是在 Win7 上的 VirtualBox 中运行的 Ubuntu 10.10 来宾,检查安装版本 1.6.2 通过 apt-get 安装。


编辑: 我做了一些测试,看看在这个环境中什么有效,什么失败......

奇怪的是,它-p适用于相对路径名,但不适用于绝对路径名。或者,正确的区别可能是-p在“chroot”树之外工作(如果它甚至真的使用 chroot)但不在其中。

我还验证了尽管失败,但它能够创建第一个目录级别。

还是个谜。

0 投票
1 回答
2103 浏览

ruby - Checkinstall 无法制作 Ruby 1.9.2 包

Checkinstall 无法创建 Ruby 包并出现以下错误。

问题的原因是什么?我该如何解决?

谢谢。

Debian GNU/Linux 6.0.1;

红宝石 1.9.2;

检查安装 1.6.2。

0 投票
3 回答
5418 浏览

makefile - checkinstall 创建无用的deb?

我有一个非常简单的命令行程序,它实际上由一个 python 脚本和一些辅助 shell 脚本组成。我想了解如何打包这个程序,虽然它是微不足道的。

根据我收集到的信息,我选择了配置/制作/安装路线。由于我没有任何要配置或制作的东西,我简单地创建了一个 Makefile,只有一个安装部分:

此时,我的程序使用 sudo make install 安装并运行良好。

然后,我尝试使用checkinstall创建一个 deb 文件,如下所示:

它似乎通过了安装部分,因为它报告它成功,但随后失败:

该程序已安装,但据我所知,这个新制作的 .deb 文件什么也没做。dpkg -L my-program 只产生

并手动删除它并从 deb 文件安装似乎没有做任何事情 - 它实际上并没有将任何文件放在任何地方。

那么,(1)我的方法有什么问题吗?(2) 如何解决 checkinstall 问题?

非常感谢您的回答,即使我擅长代码,但我对打包/分发一无所知。

0 投票
1 回答
1967 浏览

python - 如果安装了任意程序,如何从 python 中检查

我想我正在寻找更接近这个问题

我正在运行一个需要安装程序和服务的 python 脚本(在 Windows 机器上)。由于我无法控制我的脚本将在哪些机器上运行,我需要从我的脚本中检查程序和服务是否安装在机器上。

我该怎么做呢?

编辑:我不想检查是否安装了 python 模块。我知道我可以很容易地通过尝试导入它来做到这一点。我正在尝试检查计算机上是否安装了程序(例如 Mozilla Firefox)

0 投票
5 回答
1676 浏览

linux - 我怎样才能沙箱文件系统活动,特别是写入?

Gentoo 在 portage 中有一个特性,可以防止和记录构建和打包目录之外的写入。

Checkinstall能够监控写入,并在完成后打包所有生成的文件。

Autotools 有一个DESTDIR宏,可以让您通常将大部分文件系统活动定向到备用位置。

  • 我自己如何使用 Gentoo 沙盒方法的安全性来做到这一点?
  • 我可以使用 SELinux、rlimit 或其他一些资源限制 API 吗?
  • C、Python 有哪些 API 可用?

更新0

  • 使用的机制不需要 root 权限或任何涉及/持久的系统修改。这排除了创建用户和使用chroot().
  • 请链接到您提到的 API 的文档,由于某种原因,它们非常难以找到。

更新1

  • 这是为了防止意外。我不担心恶意代码,只担心写得不好的品种。
0 投票
0 回答
1241 浏览

package - 创建源 Debian 软件包的最简单方法是什么?

假设你有 hello.c

和 Makefile

获取二进制包的最快和最简单的方法似乎是使用 checkinstall:

如何做类似的事情,但对于源包(将其放入某个源存储库或在其上使用“dpkg-buildpackage”)?

官方文本相当长:orig.tar.gz、changelog、控制文件……有没有类似 checkinstall 的东西,但对于源包?如果它也自动(至少部分地)计算出依赖关系,那么额外的好处应该是。

0 投票
1 回答
939 浏览

makefile - 试图覆盖 `/var/backups/infodir.bak',它也在包 x 中

在编译软件时,我总是用. ./configure&& make&&checkinstall -D make install来构建软件。

现在我在使用 checkinstall 时遇到了这个问题,我得到了错误

“试图覆盖 `/var/backups/infodir.bak',它也在包 libtasn1-3.2 中”。

我还使用&& &&创建了libtasn1-3.2./configuremakecheckinstall -D make install

我试图删除文件/var/backups/infodir.bak,但我仍然得到错误。有谁知道我该如何解决这个问题?

0 投票
4 回答
7991 浏览

bash - 如何使用 checkinstall 管理多个包依赖项?

我有一个我已经使用checkinstall了一段时间的包,我想自动化它(通过命令行传递值,而不是输入选择,粘贴值等等......)

我不确定这是否是 checkinstall 错误,但如何通过命令行--requires选项包含多个包。--requires="libvte9 (>= 0.28.2)"如果我包含一个包的最低版本(例如),或者一次包含多个包(例如--requires "libvte9, libc6") ,这似乎很糟糕

有没有人在多个包的命令行参数方面取得了更好的成功?我做错了什么,或者这是一个错误。

注意:如果我运行脚本,并选择 requires 选项 (10),然后将我的整行粘贴到多个包和最低版本(例如libvte9 (>= 0.28.2), libc6 (>= 2.13),它工作正常,它似乎只是在命令行上出现问题。这也是使用该-D选项构建一个 debian 包。