Lorsque je lance apt-get upgrade
sur ma machine Ubuntu 17.04, il commence parfois Dwarf Fortress par lui-même.
C'est déjà arrivé au moins deux fois, alors ce n'était probablement pas une chose unique. En outre, l'exécution de apt-get upgrade
semblait être suspendue jusqu'à ce que je quitte manuellement la Forteresse naine. Elle n'a donc probablement pas été provoquée par autre chose à ce moment-là.
La console à ce moment-là a déclaré Unpacking xxx.
où xxx
était quelque chose dont le nom est mysql
. Cependant, je ne sais pas quel paquet exactement, comme aujourd'hui, apt-get upgrade
a mis à jour beaucoup de paquets liés à mysql.
Je voudrais savoir ce qui se passe et comment l’empêcher. Merci pour vos idées.
Avec une question aussi étrange que celle-ci, il est bien entendu impossible de le dire avec certitude - mais je mangerai mon chapeau si mon premier pressentiment n'est pas correct. :)
Le seul moyen auquel je puisse penser, et comment relier de telles choses sans rapport, est la suivante: après avoir installé (bien, extrait) Dwarf Fortress, au lieu d'aller dans le répertoire à chaque fois et de l'exécuter avec ./df
, vous vouliez pouvoir l'exécuter. de n'importe où, comme n'importe quelle ancienne commande. Vous avez ajouté le répertoire Dwarf Fortress à votre $PATH
, avant les répertoires système, peut-être par hasard, peut-être parce que vous avez remarqué que cela ne fonctionnait pas autrement et que vous obteniez simplement des informations sur vos systèmes de fichiers.
L'exécutable de la forteresse naine s'appelle df
, qui est également le nom d'un outil système permettant d'afficher l'utilisation de l'espace disque de vos systèmes de fichiers en créant une collision. En faisant en sorte que lorsque vous tapez df
, Dwarf Fortress démarre, vous avez ombragé l'outil système. Ainsi, lorsqu'un script souhaite - disons - vérifier si vous disposez de suffisamment d'espace libre pour décompresser une archive, au lieu d'appeler df
- le outil système - il va commencer Dwarf Fortress à la place. Et après que vous ayez quitté Dwarf Fortress, le pauvre petit script ne comprendra pas pourquoi il n'a pas reçu les informations d'utilisation du disque demandées.
Quoi qu'il en soit, merci pour le rire, ce doit être l'un des problèmes les plus drôles que j'ai jamais vu exprimé sur StackExchange. :)
Mon intuition est similaire à Aleksi , mais je suppose que vous avez peut-être déplacé le fichier binaire de la forteresse naine vers /usr/local/bin
ou /usr/bin
(et, espérons-le, pas /bin
).
Essayez d’exécuter Sudo which df
dans votre terminal. S'il ne dit pas /bin/df
, essayez de déplacer le fichier spécifié dans la sortie which
vers /usr/games/
(vous pourrez exécuter le jeu ultérieurement en exécutant /usr/games/df
). Apt devrait fonctionner à nouveau par la suite.
======
Sinon, dans le scénario où Sudo which df
indique /bin/df
, essayez d'exécuter /bin/df
. Si cela a été écrasé avec le jeu, vous devrez déplacer le binaire du jeu comme indiqué ci-dessus et Sudo apt-get install --reinstall coreutils
.
Si cela échoue parce que df
est manquant, vous devrez peut-être recourir à des mesures plus radicales (comme créer un faux script pour remplacer temporairement df ou télécharger manuellement le package et en extraire le fichier binaire df).