
apt-get upgrade
Ubuntu 17.04マシンで実行すると、時々起動しますドワーフ要塞それ自体で。
すでに少なくとも 2 回発生しているので、おそらく 1 回限りのことではないと思われます。また、Dwarf Fortress を手動で終了するまで実行が一時apt-get upgrade
停止されていたようで、その間に実行されていた他の何かが原因ではなかったと思われます。
当時のコンソールには、名前に何かがあるUnpacking xxx.
場所が表示されていました。ただし、今日、 mysql 関連のパッケージが多数アップグレードされたため、どのパッケージが正確にあるのかはわかりません。xxx
mysql
apt-get upgrade
何が起こるのか、そしてそれをどうやって防ぐのかを知りたいです。
答え1
これほど奇妙な質問では、もちろん確実に言うことは不可能ですが、最初の勘が正しくなかったら帽子を食べてもいいと思います。:)
このような無関係なものをリンクさせる唯一の方法は、次のとおりです。Dwarf Fortress をインストール (または解凍) した後、毎回ディレクトリに移動して で実行するのではなく./df
、従来のコマンドのようにどこからでも実行できるようにしたいと考えました。Dwarf Fortress ディレクトリを に追加しました$PATH
。前にシステム ディレクトリは、おそらく偶然か、そうでなければ機能しないことに気付いたため、代わりにファイル システムに関する情報を取得するだけだった可能性があります。
Dwarf Fortress の実行可能ファイルは という名前ですdf
が、これはファイルシステムのディスク容量使用状況を表示するシステム ツールの名前でもあるため、衝突が発生します。 と入力するとdf
Dwarf Fortress が起動するようにすることで、システム ツールをシャドウイングしたことになります。そのため、スクリプトが、たとえばアーカイブを解凍するのに十分な空き容量があるかどうかをチェックしたい場合、df
システム ツールを呼び出す代わりに、Dwarf Fortress が起動します。そして、Dwarf Fortress を終了した後、かわいそうな小さなスクリプトは、要求したディスク使用量情報がなぜ提供されなかったのか、非常に困惑することになります。
とにかく、笑わせてくれてありがとう。これは、StackExchange でこれまでに見た中で最も面白い問題の 1 つに違いありません。:)
答え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 バイナリを抽出するなど) に頼る必要がある場合があります。