我无法更新我的 Kali Linux,尝试执行时apt-get update我收到此错误消息:
# apt-get update
Get:1 http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease [30.5 kB]
Err:1 http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease
The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
Reading package lists... Done
W: GPG error: http://kali.mirror.garr.it/mirrors/kali kali-rolling InRelease: The following signatures were invalid: EXPKEYSIG ED444FF07D8D0BF6 Kali Linux Repository <devel@kali.org>
E: The repository 'http://kali.mirror.garr.it/mirrors/kali kali-rolling 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 …Run Code Online (Sandbox Code Playgroud) Python 包经常托管在许多发行版的存储库中。阅读本教程后,特别是标题为“您真的想这样做吗”的部分后,我避免使用 pip 并更喜欢使用系统存储库,仅在需要安装不在存储库中的软件包时才使用 pip。
但是,因为这是一种不一致的安装方法,所以只使用pip会更好吗?对于在两个地方都可用的软件包,在系统自己的存储库上使用 pip 有什么好处/批评者?
我包含的链接状态
始终使用标准 Debian / NeuroDebian 软件包的优势在于,这些软件包都经过仔细测试以确保彼此兼容。Debian 软件包记录了与其他库的依赖关系,因此您将始终获得所需的库作为安装的一部分。
我用拱。除了 apt 之外,其他包管理系统也是这种情况吗?
我错误地杀死了在后台运行的 dpkg 进程,我想重新安装所有软件包以确保一切正常。
首先,我尝试获取所有软件包的列表并重新安装它们
dpkg --get-selections | grep -v deinstall | awk '{print $1}' > list.log
apt-get install --reinstall $(cat list.log)
Run Code Online (Sandbox Code Playgroud)
但是有这样的消息:
E: Couldn't configure pre-depend debconf:i386 for console-setup:i386, probably a dependency cycle.
Run Code Online (Sandbox Code Playgroud)
我试过了apt-get -f install,没有成功。
作为最后的手段,我重新安装了所有校验和失败的程序:
dpkg -l | grep ^ii | awk '{ print $2 }' | xargs debsums -s -a
Run Code Online (Sandbox Code Playgroud)
我应该怎么做才能重新安装所有内容?
编辑:问题解决。问题是别的(见评论)。我知道这是 Debian 需要避免的事情。
有时您运行命令并收到“找不到命令”的错误消息。
之后,您尝试安装包含该命令的软件包(我认为无论如何都会发生这种情况?)
例如 showmount: command not found
apt-get install showmount什么都不做,所以我猜这个showmount命令是一个包的一部分,但我不知道那个包是什么。
我怎样才能找出我需要安装什么包才能获得我需要的任何命令?我正在使用 Kali Linux。
command-line software-installation package-management kali-linux
我更新我的 Gentoo 系统已经有几个月了。而且,正如您可以想象的那样,这意味着我需要检查很多包(和 USE 更改)。我的系统是“amd64”(multilib),但我有很多来自“~amd64”的手动关键字包。
无论如何,在此更新中,我一直看到“ABI_X86”USE 标志。这是什么?这是新的。“eselect 新闻列表”中没有关于它的任何内容。
我找到了这个话题:http : //forums.gentoo.org/viewtopic-t-953900-start-0.html。这似乎展示了如何使用它,但是,是否有任何“真正的”文档?它有什么作用?我应该将“ABI_X86”设置为什么?我有一个多库系统。我假设我想要“64”,但是“32”和“x32”是什么?我对我需要在这里做什么感到困惑。
Emerge 对插槽冲突大喊大叫,它们似乎与“ABI_X86”有关(我完全忘记了错误,但我记得一个是 zlib)。
那么,是否有任何关于它是什么ABI_X86以及如何使用它的“官方”文档?
从我链接的线程中,我找到了这个页面:http : //kicherer.org/joomla/index.php/en/blog/liste/29-transition-of-emul-packages-to-true-multilib,但我想要在我输入一堆关键字并编辑我的make.conf.
PS 我的“package.keywords”文件中有大部分“app-emulation/emul-linux-x86”包(我当时似乎需要的包)。
我的 debian 服务器上不需要联机帮助页和文档。通过用空的虚拟文件替换该文件夹中的所有文件,是否可以完全清空该文件夹以释放一些磁盘空间。
或者有没有更好的方法来卸载所有联机帮助页和文档?
到目前为止,我安装了localepurge它已经卸载了所有未使用的语言环境,也可以卸载我的德语语言环境,但我想保留一些德语本地化。
“安全”的意思是不完全安全,但与我使用的“安全性”相同localepurge(到目前为止从未引起任何问题)
我正在尝试在 VM 中设置一个临时环境,以便在将更新应用到我的主系统之前对其进行测试。
为此,我在 VM 中完成了 Debian Wheezy 的基本安装(与主系统相同),然后在 VM 中以 root 身份运行:
# dpkg --clear-selections
# dpkg --add-architecture i386
# apt-get update
# ssh me@main-system 'dpkg --get-selections | grep -v deinstall' | \
dpkg --set-selections
Run Code Online (Sandbox Code Playgroud)
不幸的是,在我的情况下需要 i386 架构;系统是 amd64 原生的。
问题在于dpkg --set-selections在 VM 中运行。我确实有一些需要特殊处理的包(这些实际上是我首先想要一个暂存环境的主要原因)但是当我运行上面的最后一个命令时,我得到了无数行输出,例如:
dpkg: warning: package not in database at line NNN: package-name
Run Code Online (Sandbox Code Playgroud)
对于真正应该在基本系统中可用的包。示例包括xterm、yelp和zip。
现在我的问题:
将软件包选择列表从一个 Debian 系统转移到另一个系统(假设 Debian 发行级别相同,在 Wheezy 中)然后随后应用这些更改的具体过程是什么?目标是两者都具有相同的已安装软件包列表,理想情况下,在diff两者的输出之间dpkg …
Apt 和 DNF/Yum,据我所知,Linux 发行版的两个最流行的包管理方案,都只支持系统范围的包安装:root 拥有的文件,二进制文件进入(/usr)?/s?bin,设置进入/etc等等。
然而,在有多个没有 root 权限的个人用户的系统上,经常(如果不是总是)发生用户想要安装一些可用于该发行版的应用程序或实用程序;并且他/她对个人的安装很好,并且对于许多/所有用户来说并不常见。
现在,让包在安装时具有不同的根目录或一组根目录,以便用户可以执行此操作,这似乎并不是一个牵强或难以置信的复杂想法。管理已安装软件包的用户特定注册表(无论单个用户是否拥有他/她自己的软件包数据库)也不是什么大问题。
那么这个功能没有被添加到那些常见的包管理系统/方案中的原因是什么?
注意:这是一个信息丰富的问题,即我问的是人们对过去的了解,而不是人们对此功能的看法。
我使用 OpenBSD 已经有一段时间了。然而,我所做的只是从一个版本到下一个版本,总是只做更新。我对系统进行了配置,使其可以用作我的路由器和防火墙,而且它的运行效果非常好。但我从不更新软件包。我所做的只是继续下一个版本。
来自 Linux 世界,我习惯于每周应用几次更新;但我如何在 *BSD 上做到这一点?- 或者这不是 *BSD 哲学的一部分?
我目前正在运行 Debian 测试 (Wheezy) 并试图让SCIM工作。我想安装scim-pinyin包,但在测试存储库中没有这样的包,尽管在以前的稳定 (Squeeze) 存储库中有一个。有一个包的副本不稳定但不适用于我的架构(amd64)。
查看软件包版本,我注意到稳定存储库中的版本与不稳定存储库中的版本相同。既然如此,我有两个问题:
有什么原因我不能从较旧的存储库安装软件包,因为我认为大多数 Squeeze 软件包的依赖项可能会被当前正在测试的软件包版本所满足?
实现这一目标的最佳方法是什么?(将 Squeeze 存储库添加到sources.list?下载 Squeeze 包并手动安装?)
apt ×5
debian ×4
kali-linux ×2
command-line ×1
dependencies ×1
disk-usage ×1
dnf ×1
dpkg ×1
emerge ×1
freebsd ×1
gentoo ×1
netbsd ×1
openbsd ×1
pacman ×1
pip ×1
python ×1
x86 ×1
yum ×1