标签: checkinstall

Debian checkinstall 忽略 install=no; 如何构建它,但不自动安装包?

好的,这是让我感到困惑的一件事......我正在尝试从源代码构建一个包,然后使用它checkinstall来生成一个 .deb 包。请注意,我只想创建 .deb 包,但我不想安装它。

所以,这是一个例子 - 我在 Ubuntu 11.04 上,首先我feh从默认存储库安装它的包;它的版本号显然是1.3.4.dfsg.1-3

然后我试图feh 从源代码构建;必须make通过,并且可以从命令行运行新feh的;灿烂。

最后,为了创建一个 deb 包,我使用以下命令行:

sudo checkinstall -D -y \
  --install=no \
  --fstrans=no \
  --reset-uids=yes \
  --pkgname=feh \
  --pkgversion=2.7 \
  --pkgrelease="tar.bz2" \
  --arch=i386 \
  --pkglicense=GPL \
  --maintainer="Debian PhotoTools Maintainers <pkg-phototools-devel@lists.alioth.debian.org>" \
  --pakdir=../.. \
  --requires=libc6,libice6,libsm6,libx11-6,libxaw7,libxext6,libxmu6,libxt6,dpkg,install-info
Run Code Online (Sandbox Code Playgroud)

好的,注意到我在--install=no那里使用过吗?甚至man checkinstall说:

--install 切换安装已创建的包。

嗯,这就是这个checkinstall命令的回复:

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software …
Run Code Online (Sandbox Code Playgroud)

debian checkinstall

14
推荐指数
3
解决办法
8784
查看次数

是否有任何 CheckInstall 副作用或我应该每次都使用它?

我在工作中使用 Ubuntu,在家里使用 Slackware。

今天在工作中,我从我们公司的存储库中下载了一些可疑程序,这些程序本应自动执行一些重复性任务。我用configure; make; make install. 现在我想删除它,但不幸的是,Makefile 中没有合适的卸载目标。这个程序是用 Python 编写的,安装程序*.py在不同的地方复制了许多文件,现在删除所有文件很痛苦。

所以我考虑使用 CheckInstall 来代替,make install这样我就可以轻松删除此类程序并以一致的方式跟踪系统上的所有软件。但是我想知道是否有任何可能的与CheckInstall相关的副作用或者每次安装新软件时都可以使用它吗?你在用吗?

make software-installation checkinstall

9
推荐指数
1
解决办法
649
查看次数

如何告诉 checkinstall 只创建包文件,而不是安装?

我怎么知道checkinstall只创建 deb 包文件,而不是安装?


checkinstall --install=no,它无法在年底,因没有权限做一些事情。是否真的需要root才能在不安装的情况下创建deb文件?

$ checkinstall --install=no

checkinstall 1.6.2, Copyright 2009 Felipe Eduardo Sanchez Diaz Duran
           This software is released under the GNU GPL.



*****************************************
**** Debian package creation selected ***
*****************************************

This package will be built according to these values: 

0 -  Maintainer: [ tim@admin ]
1 -  Summary: [ wine 1.6.2 built from source Oct 3, 2014 ]
2 -  Name:    [ wine ]
3 -  Version: [ 1.6.2 ]
4 -  Release: …
Run Code Online (Sandbox Code Playgroud)

software-installation checkinstall

6
推荐指数
2
解决办法
7822
查看次数

使用 checkinstall 构建传输 2.84 .deb 包

我正在尝试自己编译和制作一些 .deb 包,以使我的 Raspbian 比存储库更新。现在我想将传输更新到 v 2.84。

这是我所做的:

  1. 从传输网站下载压缩包:https : //www.transmissionbt.com/download/
  2. 从 Raspbian 存储库安装 checkinstall: $sudo apt-get install checkinstall
  3. 从 tarball 中提取源
  4. ./configure 从传输源目录
  5. checkinstall --install=no 从传输源目录

现在我有一个 armhf .deb,但如果我安装它,dpkg -i transmission_2.84-1_armhf.deb我只有部分安装。安装正确完成,但我没有:

  • 传输配置目录和文件(应该是$HOME/.config/transmission-daemon
  • 守护进程的启动/启动脚本 /etc/init.d
  • 我真的不知道是否缺少其他东西......

我想生成一个完整的 .DEB 包,其中包含所有必要的文件,如官方存储库 .deb 包。我也想对其他一些应用程序做同样的事情,比如htop. 我该怎么办?

更新

这些是我尝试使用取自 2.82 版的 debian 目录编译 2.84 版的步骤:

  1. 下载 tarball wget https://transmission.cachefly.net/transmission-2.84.tar.xz
  2. 使用extract transmission-2.84.tar.xz(extract() 是别名中的函数,因此它等效于tar xvJf ...)在我的源目录中提取存档
  3. 下载 2.82 版本的 debian 文件夹 wget http://archive.raspbian.org/raspbian/pool/main/t/transmission/transmission_2.82-1.1.debian.tar.xz
  4. 提取存档内传输2.84目录中 …

compiling make compiler debian checkinstall

5
推荐指数
1
解决办法
2671
查看次数

安装自定义 RPM 时显示“不更新已安装的软件包”

我继承了一些服务器,这些服务器以前总是将其软件作为自定义编译版本(apache、perl、mod_perl 等)。我在想,与其每次都编译,不如将它们放入 RPM 中。我正在尝试 Vagrant 的一些新想法。这也部分是为了学习过程。

其中之一是自定义 Perl 版本 5.14.2,我们有一个编译脚本,我已在新的 Vagrant 盒子上运行该脚本并使用“checkinstall”创建 RPM。编译后一切正常,同一个盒子上有 2 个版本的 Perl(自定义版本进入 /opt/perl)。

然而,我有了 perl RPM,如果我拿一个新的盒子并尝试通过 yum 安装,我会得到......

yum -y install /vagrant/perl-5.14.2-1.x86_64.rpm

Examining /vagrant/perl-5.14.2-1.x86_64.rpm: perl-5.14.2-1.x86_64
/vagrant/perl-5.14.2-1.x86_64.rpm: does not update installed package.
Run Code Online (Sandbox Code Playgroud)

这也许是有道理的,所以我想我会尝试 rpm...

rpm -ivh /vagrant/perl-5.14.2-1.x86_64.rpm 

perl(DBD::SQLite) is needed by perl-5.14.2-1.x86_64
perl(DBIx::Simple) is needed by perl-5.14.2-1.x86_64
perl(FCGI) is needed by perl-5.14.2-1.x86_64
perl(Mac::BuildTools) is needed by perl-5.14.2-1.x86_64
perl(Mac::InternetConfig) is needed by perl-5.14.2-1.x86_64
perl(Tk) is needed by perl-5.14.2-1.x86_64
perl(Tk::Pod) is needed by perl-5.14.2-1.x86_64
perl(Your::Module::Here) is needed by perl-5.14.2-1.x86_64 …
Run Code Online (Sandbox Code Playgroud)

rhel perl checkinstall

5
推荐指数
0
解决办法
2万
查看次数

checkinstall --include 选项不起作用

我成功地能够使用 .deb 从源代码创建一个 .deb 包checkinstall。但是,有人可以帮助我解释为什么我无法将自定义/附加文件添加到--include使用checkinstall.

\n\n

例如,我使用checkinstall \xe2\x80\x93-install=no --include="/home/user/*package-name*/include-list.txt",我认为这应该足以包含include-list.txt创建的包(.deb)中列出的其他文件和目录。

\n\n

我的include-list.txt只是一个简单的 txt 文件,包含 1 行,如下所示:\n /etc/systemd/system/example.service& 我的目的是将此 .service 文件作为创建的包的一部分包含在内。

\n\n

我检查了 checkinstall 帮助,似乎--include选项是可行的方法。

\n\n

任何帮助将不胜感激。

\n

debian systemd package-management checkinstall

5
推荐指数
0
解决办法
548
查看次数

checkinstall 在构建 vim8 时冻结在“将文件复制到临时目录...”

我在尝试构建 vim8 时遇到了 checkinstall 一个非常奇怪的问题。这是我所做的(虽然可能无关紧要):

  • 从 vim8 git 源克隆
  • Ran configure & make --enable-gui=auto。没问题。

然后我运行 sudo checkinstall,安装和手册页生成进展顺利,但不知何故程序卡在了最后一步:

Some of the files created by the installation are inside the build
directory: /mnt/C/XXXX

You probably don't want them to be included in the package,
especially if they are inside your home directory.
Do you want me to list them?  [n]: y
Should I exclude them from the package? (Saying yes is a good idea)  [y]: y

Copying files to the temporary directory... …
Run Code Online (Sandbox Code Playgroud)

linux make checkinstall

3
推荐指数
1
解决办法
2684
查看次数

如何在Funtoo/Gentoo中打包软件?

我是 Funtoo/Gentoo 的新手。我从哪里开始学习如何创建自己的“包”?

例如,我已执行以下操作来获取Bespin(Qt4 的样式,源自 Oxygen 项目的样式)的源代码并对其进行编译:

  1. svn checkout svn://svn.code.sf.net/p/cloudcity/code/ cloudcity-code

  2. cd cloudcity-code/并且less INSTALLq读完后

  3. mkdir build&&cd build

  4. 使用 ccmake 配置 Bespin:ccmake ../

  5. c一般配置 -假设满足所有要求

  6. (可选)根据您的意愿调整一些路径

  7. c进行最终配置运行

  8. g生成 makefile

  9. 运行编译器:make

此时,我正在犹豫是否要执行(以 root 身份)sudo make install。例如,在其他发行版中,我会使用checkinstall创建一个 .deb 包,我可以随时轻松删除该包。

在 Gentoo 中执行此操作的正确方法是什么?ebuild s?

packaging gentoo software-installation checkinstall funtoo

1
推荐指数
1
解决办法
1039
查看次数

在 Ubuntu 上使用 checkinstall 将 deb 文件构建安装到基于 Debian 的 docker 容器中

我在我的Ubuntu 22.04笔记本电脑上编译了一个C++软件,并用于checkinstall安装它。这会构建相应的.deb文件,这很好。

但现在我想将该.deb文件安装到基于“Debian GNU/Linux 11 (bullseye)”的 docker 容器中,并dpkg显示此错误:

# dpkg --install mypackage-8.0.0_20221030-1_amd64.deb 
dpkg-deb: error: archive 'mypackage-8.0.0_20221030-1_amd64.deb' uses unknown compression for member 'control.tar.zst', giving up
dpkg: error processing archive mypackage-8.0.0_20221030-1_amd64.deb (--install):
 dpkg-deb --control subprocess returned error exit status 2
Errors were encountered while processing:
 mypackage-8.0.0_20221030-1_amd64.deb
Run Code Online (Sandbox Code Playgroud)

如何将此.deb文件安装到我的容器中,而无需再次编译软件(这意味着将所有 C++ 构建工具安装到我的容器中,这是我想避免的......)?

ubuntu debian dpkg checkinstall deb

1
推荐指数
1
解决办法
1654
查看次数