Questions tagged «dpkg»

用于Debian / Ubuntu / Mint软件包管理的基本软件。使用此标签可查询有关dpkg及其配套实用程序和.deb文件格式的问题。

1
如何在非交互式外壳上的Ubuntu上配置MySQL APT存储库?
我想在运行Ubuntu 12虚拟机的Travis CI上安装MySQL 5.7 。 我愿意使用官方的MySQL APT回购协议: wget http://dev.mysql.com/get/mysql-apt-config_0.2.1-1ubuntu12.04_all.deb sudo dpkg --install mysql-apt-config_0.2.1-1ubuntu12.04_all.deb 但是问题是,安装此软件包将打开一个交互式菜单,询问以下问题: Which Server version do you wish to receive? - mysql-5.6 - mysql-5.7-dmr 由于安装是自动化脚本的一部分,因此我不在终端机后面回答问题。我在文档中唯一能找到的是: 选择主要版本 默认情况下,MySQL服务器和其他必需组件的所有安装和升级均来自在配置包安装期间选择的主要版本的发行系列(请参见添加MySQL APT存储库)。但是,您可以随时通过重新配置已安装的配置包来切换到另一个受支持的主要发行系列。使用以下命令: shell> sudo dpkg-reconfigure mysql-apt-config 但是,这再次打开了一个交互式菜单。 如何mysql-5.7-dmr在非交互式shell上安装此APT存储库并将其配置为使用?
9 mysql  dpkg  debconf 

4
我可以在Debian 6上使用apt或dpkg来确定升级软件包中的更改吗?
我只是apt-get upgrade在我的Debian 6开发服务器上做了一个,并且注意到某个名为的软件包tinyproxy已升级。我在看到正是一个特别的好处是什么在包改变,因为改变它做一些事情,它目前不就是我要做的事情就行了。 我知道我可以启动我的浏览器,挖掘一点,找到变更日志,并确切地查看我刚去的版本中发生了什么更改,但是然后我想知道是否可以通过某种方式询问apt-get或dpkg向我显示变更日志包括在内。 我可以使用其中一种工具,也可以使用另一种工具来通过命令行总结软件包版本之间的变化吗?

5
检查是否所有列出的软件包都安装在bash中
我的二进制文件取决于这些boost库和相应的软件包: NAME | PACKAGE: --------------------------------------+----------------------------------- libboost_serialization.so.1.55.0 | libboost-serialization1.55.0 libboost_thread.so.1.55.0 | ibboost-thread1.55.0 libboost_date_time.so.1.55.0 | libboost-date-time1.55.0 libboost_signals.so.1.55.0 | libboost-signals1.55.0 因此,我想定义一个软件包列表: boostlibnames="libboost-serialization1.55.0 libboost-thread1.55.0 libboost-date-time1.55.0 libboost-signals1.55.0" 现在,我想检查一下它们是否都已安装,然后才实际运行apt-get install。我知道apt会自动检查软件包是否已安装,但是我想在提示用户时先提示他是否要安装缺少的库。 那么,有没有一种很好的方法来检查是否已安装所有列出的库(具有上述变量)?
9 shell  apt  dpkg 

2
Debian:在软件包升级期间防止特定文件被覆盖
我知道一个程序包包含两个组件:config和data文件。在软件包升级(即安全升级)期间,data可以覆盖config文件,但文件应始终保持不变。同时config文件通常/etc和data中/usr。但是,有时区分是模糊的。 就我而言,我已经修改了Icedove(Thunderbird)的图标文件: /usr/share/applications/icedove.desktop 现在,每次有Icedove(Thunderbird)更新时,我的更改都会被默认文件覆盖(即使两次更新之间都没有更改)。 有什么方法可以防止该特定文件被覆盖? 将其设置为不可变chattr +i icedove.desktop不是一个好主意,因为在软件包升级期间会产生错误。

4
dpkg:新的预安装脚本返回错误退出状态1
我最终处理了要使用dpkg进行部署的软件。.deb程序包在测试环境中可以正常工作,但无法进行升级。两者都运行相同版本的Ubuntu,但是我不确定其余配置的100%。如何进一步调试此dpkg问题? 这样安装失败: sudo dpkg -i --debug=7337 package.deb D000010: ensure_pathname_nonexisting `/var/lib/dpkg/tmp.ci' (Reading database ... 201812 files and directories currently installed.) Unpacking myProprietarySoftware (from package.deb) ... D000001: process_archive oldversionstatus=not installed D000002: fork/exec /var/lib/dpkg/tmp.ci/preinst ( install ) dpkg: error processing package.deb (--install): subprocess new pre-installation script returned error exit status 1 D000002: maintainer_script_new …
9 ubuntu  debian  dpkg 

2
通过Debian打包有条件地启用系统文件
我创建了一个安装服务的Deb包。 在我们的嵌入式设备上,我希望此软件包自动启用该服务。在我们的开发人员工作站上,我希望开发人员systemctl start foo手动进行操作(这是一项繁重的服务,因此,如果始终在桌面环境中运行,它只会消耗资源)。 如何在apt-get步骤中提示用户做出他们的决定?那是最好的解决方案吗? 注意,我已经使用dh_make和创建了包,debhelper并通过以下方式启用了该包: %: dh $@ --with=systemd override_dh_systemd_enable: dh_systemd_enable --name=foo foo.service
8 systemd  dpkg 

5
如何在Kali Linux中安装特定版本的GCC?
这个问题似乎可以在Google容易找到的几个问题和其他地方正确解决,但是由于以下原因,我认为该解决方案并不令人满意。但是为了完整起见,我添加了一些相关链接: /ubuntu/138284/how-to-downgrade-a-package-via-apt-get /ubuntu/428772/how-to-install-specific-version-of -some-package / 428778 /ubuntu/26498/choose-gcc-and-g-version ... 和别的。 但是,这个问题是关于在Kali Linux中安装非常特定的GCC版本,该版本似乎不容易作为特定的软件包使用。特别是,问题在于如何安装6.3.0版本,因为我需要使用此版本来编译特定程序:https ://www.reddit.com/r/Monero/comments/6d0ah8/xmrig_miner_new_release/ (作为一个奖励问题,如果有一种更理性的方法来解决此特定问题而不使用其他版本的GCC,请随时回答,但是我相信这个问题是笼统的,无论如何我都想知道如何解决如何正确建立上述程序链接) 可通过以下方式确定可用于安装任何软件包的版本,例如gcc: apt-cache showpkg gcc 它将在“版本:”下列出可用版本,例如 4:7.2.0-1d1 4:4.9.2-2 安装就像发行一样简单 apt-get install gcc:4:4.9.2-2 这将安装旧版本4:4.9.2-2,只需(我相信)覆盖7.2.0-1d1安装(如果存在)。 要使版本4:4.9.2-2完全可用,我必须添加deb http://old.kali.org/kali sana main non-free contrib到 /etc/apt/sources.list文件中,然后运行apt-get update。 但是,如果未列出我需要的版本怎么办? 我一直在尝试各种来源,例如在这里找到的那​​些来源:http: //snapshot.debian.org/以及来自Google搜索的各种其他问题和网站。 他们中的大多数给我忽略或错误,例如如下 Ign:3 http://snapshot.debian.org/archive/debian/20091004T111800Z lenny InRelease 即使这行得通,安装特定版本的方法似乎也很糟糕,因为添加一些任意源可能没有我想要的特定版本。 如果我在snapshot.debian.org上搜索gcc,则只会得到很旧的版本:http : //snapshot.debian.org/package/gcc/ 我最终对这种方法感到沮丧,并从源代码压缩包中编译了GCC 6.3.0。编译成功,但是接下来我要面对如何安装它。我谨慎运行make install,因为我担心它会篡改apt和dpkg,并可能破坏系统。 相反,我尝试直接从build目录运行它。我试图简单地将构建目录添加为PATH中的第一个条目,但这没有用。然后,我尝试重命名gcc-6.3.0可执行文件所在的位置/usr/bin/gcc并进行符号链接/usr/bin/gcc。这带来了以下问题: cc: …

2
全新安装后重新安装应用程序?
我在使用Debian,我想重新分区驱动器并重新安装。全新安装后,是否有一种简单的方法来还原当前所有已安装的软件包? 我正在考虑通过制作备份应用列表来做到这一点: #generate list of installed packages dpkg -l | awk '{ print $2 }' ORS="\n" | tail -n +6 > reinstallList.txt 然后执行全新安装后,我应该可以执行以下操作: #install from backup at reinstallList.txt sudo apt-get install $(< reinstallList.txt) 有更好的方法吗?
8 bash  debian  apt  backup  dpkg 

2
Debian的dpkg是否存储软件包更改的时间/日期(即安装/清除)?
我知道,dpkg并且dpkg-query是很好的工具,以了解当前安装在Debian系统上的包。除了记录到文件中的信息/var/log/dpkg.log.*是存在的,让我知道任何其他地方,当一个变化发生(即时间和日期一包的安装的)? 假设这个问题在这里说,Debian的软件包系统不关心存储约一个deb文件来源的信息(和好,应该怎么办呢?)我开始以为/var/log/dpkg.log.*就是什么时候什么信息的唯一地方dpkg发生相关完全存储。 也许有人可以确认这一点。否则,请告诉我有关软件包安装的时间信息是否存储(实际上是太好了!)在哪里找到它们(哪个文件?)。
8 debian  logs  dpkg 

3
dpkg可用于Cygwin吗?
我并不经常使用Windows,但是我发现自己处于暂时被卡在一个人的位置上的位置。所以我一直在研究Cygwin。我的问题是Cygwin可以使用dpkg吗?我的Google搜索似乎表明至少在某一时刻,但是我找不到软件包。如果它不是作为软件包提供的,那么有人有任何提示/经验来运行它吗? 我并没有尝试创建Cygwin Debian端口(尽管听起来好像是在过去尝试过)。至少,我只是希望能够在Windows机器上构建Debian源软件包。(是的,我知道我可以切换到Debian机器上。) Cygwin显然是这里的话题,但它可能不是这个问题的最佳选择。我希望这可以...
8 dpkg  cygwin 

1
dpkg dh_install:从构建目录而不是从debian / tmp目录复制文件吗?
假设我有一个如下的debian软件包: project_pkg/ .git project_0.0-1/ debian/ install ... project (git submodule with tagged commit) 使用以下安装文件: // .../debian/install #!/usr/bin/env bash find $(pwd)/project/path/to/binaries -type f -executable -printf "$(pwd)/project/path/to/binaries/%f usr/bin\n" 在项目有一个make入口点的地方,make -C project build例如生成我需要打包的所有必需文件。 整个包装过程中的制造/构建组件现在都可以正常工作。但是,理想情况下,我可以从安装文件夹中找到需要安装的所有必需文件。 我现在有一个解决方案,其中涉及将项目中的二进制文件debian/tmp/从外部/debian或从复制到/debian/rules。 但是dh_install,如果有某种方法,我也可以轻松地将设置为从项目中获取文件。 A)有没有办法dh_install从专案中撷取档案, B)是否简单地运行两个find命令并将二进制文件复制到debian/tmpdir中? C)我是否应该对其进行破解,并printf在install find命令中添加前缀../..
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.