问题描述
当我在我的Ubuntu 17.04机器上运行apt-get upgrade
时,有时会自行启动Dwarf Fortress。
它已经发生过至少两次,所以这可能不仅仅是某种一次性事情。此外,apt-get upgrade
的执行似乎暂停,直到我手动退出矮人堡垒,所以它最有可能不是由那个时候运行的其他东西引起的。
当时的控制台表示Unpacking xxx.
,其中xxx
是mysql
的名称。然而我不知道哪一个包与今天一样,apt-get upgrade
升级了很多与mysql相关的包。
我想知道发生了什么,以及如何阻止它发生。感谢您的想法。
最佳解决思路
虽然这个问题很奇怪,但当然不可能说 – 但如果我的第一次预感不正确,我会吃掉我的帽子。 🙂
我能想到的唯一方法是,这样的无关联的东西可以联系起来:在安装(好,提取)矮人堡垒之后,而不是每次都进入目录并用./df
运行目录,你想能够运行它从任何地方,像任何旧的命令。在系统目录之前,你可能偶然地将Dwarf Fortress目录添加到$PATH
中,也许是因为你注意到它不起作用,而你只是获得关于你的文件系统的信息。
矮人堡垒的可执行文件名为df
,它也是用于显示文件系统磁盘空间使用情况的系统工具的名称,用于创建冲突。通过这样做,当你键入df
时,矮人要塞启动,你已经隐藏了系统工具,所以当一个脚本想要 – 比方说 – 检查你是否有足够的可用空间来解压档案,而不是调用df
– 系统工具 – 它会启动矮人堡垒。在你离开矮人堡垒之后,这个可怜的小脚本会很困惑,为什么它没有提供它要求的磁盘使用信息。
无论如何,感谢大家的笑声,这必须是我见过的StackExchange上最有趣的问题之一。 🙂
次佳解决思路
我的预感与Aleksi’s类似,但我怀疑你可能已经将矮人堡垒二进制移到了/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二进制文件)。