我通过获取源代码安装了一个程序,然后运行 ​​`sudo make install`;如何让 `apt-get` 知道它?

46 package-management apt make

progA通过从源代码构建它来安装程序(例如,调用它),然后最后调用sudo make installsudo ldconfig

但是,似乎apt-get还没有收到备忘录,因为在安装 时progB,这取决于progAapt-get建议我也安装progA. 这是为什么,我能做什么?

A.B*_*.B. 56

TL;DR checkinstall是你的朋友;)

sudo apt-get install checkinstall
Run Code Online (Sandbox Code Playgroud)

在使用sudo make install您的包管理器安装之后,对这个安装完全一无所知。但它知道 Ubuntu 存储库或 PPA 中具有相同名称的包的所有信息。

使用sudo checkinstall代替sudo make install并使用更高版本作为存储库中的版本,以确保您的包管理器接受此版本作为ProgB.


更多信息:

checkinstall真的很漂亮,因为它遵循make install命令会做的事情,以便弄清楚如何构建一个包。

这意味着,如果您使用 安装程序make install,但又想为自己的罪悔改,您所要做的就是sudo checkinstall -D make install,该命令将:

  1. 遵循make install以找出它的作用

  2. copy-cat make install,除了 *.deb 包形式

  3. 从包安装(完全一样make install,给定点 1)),除了也让我们apt-get知道它,从而覆盖所有文件make install,只要您选择 YES 以包含放置make install在主目录中的文件在包中也是如此——在这个checkinstall过程中,有几个选项可以让你选择(显然,选择就在那里,所以你可以根据具体情况进行练习)

奖励: 您还可以progAmake installmake uninstall按照目前checkinstall概述的过程删除使用支持ode安装的软件包(再次调用,然后只需执行以下操作:

dpkg -r progA
Run Code Online (Sandbox Code Playgroud)

  • 哇`checkinstall`——世界需要知道这个! (18认同)

Rma*_*ano 13

三个选项:

  1. 创建一个假包progA如何伪造安装的包版本?TeXlive有一个广泛的例子)

  2. progA如果有checkinstall选项,则更容易为.创建一个包如何欺骗 apt 依赖项?

  3. progB从源代码构建。