Dwarf Fortress starting during apt-get upgrade

With a question as weird as this, it's of course impossible to say for sure -- but I'll eat my hat if my first hunch isn't correct. :)

The only way I can think of, how such unrelated things could be linked is this: After installing (well, extracting) Dwarf Fortress, instead of going to the directory every time and running it with ./df, you wanted to be able to run it from anywhere, like any old command. You added the Dwarf Fortress directory to your $PATH, before the system directories, perhaps by chance, perhaps because you noticed it didn't work otherwise, and you'd instead just get information about your filesystems.

Dwarf Fortress's executable is named df, which is also the name of a system tool for displaying disk space usage of your filesystems, creating a collision. By making it so that when you type df, Dwarf Fortress starts, you've shadowed the system tool, so when a script wants to - let's say - check if you have enough free space for unpacking an archive, instead of invoking df - the system tool - it'll start Dwarf Fortress instead. And after you quit Dwarf Fortress, the poor little script will be very confused as to why it wasn't given the disk usage information it asked for.

Anyway, thanks for the laugh, this has to be among the funniest problems I've ever seen voiced on StackExchange. :)


My hunch is similar to Aleksi's, but I suspect you might have moved the Dwarf Fortress binary to /usr/local/bin or /usr/bin (and hopefully not /bin).

Try running sudo which df in your terminal. If it doesn't say /bin/df, try moving the file specified in the which output to /usr/games/ (you'll be able to run the game in the future by running /usr/games/df). Apt should work again after that.

======

Otherwise, in the scenario where sudo which df says /bin/df, try running /bin/df. If that has been overwritten with the game, you'll need to move the game binary as mentioned above, and sudo apt-get install --reinstall coreutils.

If that fails because df is missing, you may need to resort to more drastic measures (like either creating a fake script to replace df temporarily, or manually downloading the package and extracting the df binary from it).