我想获得由apt或手动安装的软件包列表,aptitude并能够找出foobar软件包是手动安装还是自动安装。从命令行有什么巧妙的方法可以做到这一点吗?
当我第一次开始使用 Ubuntu 时,使用的aptitude是 'in-thing',在apt-get. 我是否正确地说apt-get现在已经“赶上了” aptitude,并且使用哪个几乎没有区别(尽管最好选择一个或另一个,并坚持下去)?
此外,aptitude设置要从默认的 Ubuntu 安装中删除,每个人都应该恢复到apt-get,尤其是在指导对 CLI 感兴趣的新用户时?
通过 安装软件时dpkg -i packageA.deb,是否会packageA自动下载并安装所需的依赖项?这与使用apt-get或 有aptitude什么不同?
我在 Ubuntu 16.04 中使用来自 Debian 多媒体的未签名存储库:
deb http://www.deb-multimedia.org jessie main
Run Code Online (Sandbox Code Playgroud)
要安装deb-multimedia-keyring,我正在运行:
apt-get update && apt-get install deb-multimedia-keyring -y
Run Code Online (Sandbox Code Playgroud)
这给出了一个错误:
W: GPG error: http://www.deb-multimedia.org jessie InRelease: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY 5C808C2B65558117
E: The repository 'http://www.deb-multimedia.org jessie InRelease' is not signed.
N: Updating from such a repository can't be done securely, and is therefore disabled by default.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Run Code Online (Sandbox Code Playgroud) 前bsnes几天我去安装,不知什么原因,安装失败。现在,我无法更新、安装新软件包或执行任何 apt-get 命令,因为它们都试图处理这个损坏的软件包并失败。尝试安装一个新的软件包也注定了它的命运。
我得到的错误是:
Setting up google-chrome-stable (33.0.1750.152-1) ...
/var/lib/dpkg/info/google-chrome-stable.postinst: 124: /var/lib/dpkg/info/google-chrome-stable.postinst: update-alternatives: not found
dpkg: error processing google-chrome-stable (--configure):
subprocess installed post-installation script returned error exit status 127
Setting up bsnes (0.088-7) ...
/var/lib/dpkg/info/bsnes.postinst: 5: /var/lib/dpkg/info/bsnes.postinst: update-alternatives: not found
dpkg: error processing bsnes (--configure):
subprocess installed post-installation script returned error exit status 127
Errors were encountered while processing:
google-chrome-stable
bsnes
E: Sub-process /usr/bin/dpkg returned an error code (1)
Run Code Online (Sandbox Code Playgroud)
我一直在谷歌和这里的 Ask Ubuntu 上搜索,但还没有找到可行的解决方案。
通常建议的修复是运行以下命令:
sudo apt-get clean && …Run Code Online (Sandbox Code Playgroud) apt-get -y install <packages ...>在 Ubuntu 10.04 上运行时,我希望apt-get(或者aptitude如果这样更容易)在安装其他依赖项时不提示我(-y我理解的行为),但不提示我覆盖配置文件,而是假设始终保留现有的(这通常是默认值)。不幸的是,根据页面,它--trivial-only似乎与-y显示的提示相反,不会影响显示的提示man。
在特定的软件包奥赫为samba,nullmailer,localepurge并lighttpd强迫我与终端交互,即使整个过程,脚本和意思是是非交互式的。
有谁知道在使用aptitude(或apt-get)时是否有一种简单的方法可以找到已安装的软件包列表,按日期排序?
我安装了一堆软件包来尝试新的东西,但没有成功。我想删除所有这些包,以取回一些磁盘空间。
我试过只查看下载的 .deb 文件列表,但这似乎是一种相当落后的方法(尽管它确实有效)。
每次apt-get尝试处理 shared-mime-info 的触发器时,它都会报告如下警告:
...
Processing triggers for shared-mime-info...
Unknown media type in type 'all/all'
Unknown media type in type 'all/allfiles'
Unknown media type in type 'uri/mms'
Unknown media type in type 'uri/mmst'
Unknown media type in type 'uri/mmsu'
Unknown media type in type 'uri/pnm'
Unknown media type in type 'uri/rtspt'
Unknown media type in type 'uri/rtspu'
Unknown media type in type 'interface/x-winamp-skin'
Run Code Online (Sandbox Code Playgroud)
我已经检查过/usr/share/mime-info但没有看到其中任何一个:
/usr/share/mime-info$ grep 'url/rtspu' *
(Got nothing)
Run Code Online (Sandbox Code Playgroud)
那么,如何清理我的系统,使其不报告这些未知的媒体类型?
我写这篇文章是因为我对在我的 Ubuntu 14.04 上安装 PostgreSQL 9.3 感到非常困惑。首先,我的 Python/Django 开发需要它,当我尝试安装它时遇到了问题。现在我有这个错误,它让我发疯:
The following packages have unmet dependencies:
postgresql-9.3 : Depends: postgresql-client-9.3 but it is not going to be installed
Depends: postgresql-common (>= 142~) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.
Run Code Online (Sandbox Code Playgroud)
我在网上找到了一些解决方案(如何在添加 PPA 后解决未满足的依赖项?),并且我对预防措施部分做了所有工作,因为我遇到了一些损坏的包问题,并且在我再次向我显示此错误之后.
第二件事我遵循了官方的 PostgreSQL 安装教程(http://www.postgresql.org/download/linux/ubuntu/),我有重复的存储库,但我删除了它们,我添加了一个新的,但是还是这个错误。
如何让 apt-get 更喜欢本地存储库包,而不是从官方存储库再次下载相同的包版本?本地存储库已签名并受信任。我们已经尝试过 apt 偏好优先级。
原始问题是:“如何在不使用 sources.list 文件的情况下为本地存储库分配最高优先级”
我已经用我下载的软件包设置了一个本地存储库。当我需要重新安装 Ubuntu 时,我使用它来避免通过 Internet 下载相同的软件包。它是一个基本存储库,使用apt-ftparchive packages . > Packages. 我将其设为受信任的存储库以避免“未经身份验证的存储库”警告。(当您有一个不受信任的存储库,apt或者synaptic尝试通过 Internet 下载相同的软件包时,因为它是受信任的)。
我已经使用这个本地存储库至少 1 年了。但是我必须始终将我的本地存储库行放在sources.list文件的顶部才能使用它。但这很烦人,因为我每次重新安装 Ubuntu 时都必须打开一个终端并在上面打字,尽管有更好的工具software-properties-gtk. 我不能使用这个工具,因为它将源代码行放在 `sources.list 的末尾。
而真正的问题是,在apt 或 synaptic总是从前面提到的来源下载一个包,不检查包是否已在当地的仓库中。所以,我别无选择,只能将本地源放在sources.list做终端的顶部(我实际上并不讨厌终端,但我需要一个解决方案)。
我试过这种方法。但这对我没有帮助。
我的首选项文件是这样的 /etc/apt/preferences.d/local-pin-900
Package: *
Pin: release o=Local,n=ubuntu-local
Pin-Priority: 900
Run Code Online (Sandbox Code Playgroud)
我的发布文件是这个
Origin: Local
Label: Local-Ubuntu
Description: Local Ubuntu Repository
Codename: ubuntu-local
MD5Sum:
ed43222856d18f389c637ac3d7dd6f85 1043412 Packages
d41d8cd98f00b204e9800998ecf8427e 0 Sources …Run Code Online (Sandbox Code Playgroud)