在 apt-get upgrade 过程中启动 Dwarf Fortress

在 apt-get upgrade 过程中启动 Dwarf Fortress

当我apt-get upgrade在 Ubuntu 17.04 机器上运行时,有时它会启动矮人要塞通过它自己。

这种情况已经发生过至少两次了,所以可能不只是一次性的事情。另外,执行apt-get upgrade似乎暂停了,直到我手动退出矮人要塞,所以这很可能不是由当时正在运行的其他程序引起的。

当时控制台说名称为 in 的东西Unpacking xxx.在哪里。但我不知道具体是哪个包,因为今天升级了很多与 mysql 相关的包。xxxmysqlapt-get upgrade

我想知道发生了什么以及如何阻止它发生。

答案1

对于像这样奇怪的问题,当然不可能肯定地说 - 但是如果我的第一个预感不正确,我就会吃掉我的帽子。:)

我能想到的唯一办法是,如何将这些不相关的事情联系起来:在安装(好吧,提取)Dwarf Fortress 之后,./df你希望能够从任何地方运行它,就像任何旧命令一样,而不是每次都转到目录并使用 运行它。你将 Dwarf Fortress 目录添加到你的$PATH,系统目录,也许是偶然的,也许是因为您注意到它不起作用,而您只会获得有关文件系统的信息。

Dwarf Fortress 的可执行文件名为df,这也是用于显示文件系统磁盘空间使用情况的系统工具的名称,从而产生了冲突。通过这样设置,当您输入 时df,Dwarf Fortress 会启动,您已经隐藏了系统工具,因此当脚本想要(比如说)检查您是否有足够的可用空间来解压档案时,df它不会调用系统工具,而是会启动 Dwarf Fortress。在您退出 Dwarf Fortress 后,这个可怜的小脚本会非常困惑,为什么它没有得到它所要求的磁盘使用情况信息。

无论如何,谢谢你的笑声,这肯定是我在 StackExchange 上见过的最有趣的问题之一。:)

答案2

我的直觉类似于阿列克西的,但我怀疑您可能已将 Dwarf Fortress 二进制文件移至/usr/local/bin/usr/bin(希望不是/bin)。

尝试sudo which df在终端中运行。如果没有显示/bin/df,请尝试将输出中指定的文件移动which/usr/games/(您将能够在以后通过运行来运行游戏/usr/games/df)。此后 Apt 应该可以再次工作。

======

sudo which df否则,在的情况下/bin/df,尝试运行/bin/df。如果 已被游戏覆盖,则需要如上所述移动游戏二进制文件,然后sudo apt-get install --reinstall coreutils

如果由于df缺少而失败,您可能需要采取更激烈的措施(例如创建一个假脚本来临时替换 df,或者手动下载包并从中提取 df 二进制文件)。

相关内容