325 votes

Dwarf Fortress démarre pendant la mise à jour d'apt-get

Quand je cours apt-get upgrade sur ma machine Ubuntu 17.04, parfois il démarre Forteresse des nains par lui-même.

Cela s'est déjà produit au moins deux fois, donc il ne s'agissait probablement pas d'un cas isolé. Aussi, l'exécution de apt-get upgrade semblait être en pause jusqu'à ce que je quitte manuellement la Forteresse des Nains, donc ce n'était probablement pas causé par quelque chose d'autre en cours d'exécution pendant ce temps.

La console de l'époque disait Unpacking xxx.xxx était quelque chose avec mysql en nom. Je ne sais cependant pas quel paquet exactement, comme aujourd'hui, apt-get upgrade mis à jour de nombreux paquets relatifs à mysql.

J'aimerais savoir ce qui se passe et comment l'empêcher de se produire.

557voto

Aleksi Torhamo Points 2516

Avec une question aussi étrange que celle-ci, il est bien sûr impossible de se prononcer avec certitude - mais je mangerai mon chapeau si ma première intuition n'est pas la bonne :).

Le seul moyen auquel je peux penser pour relier des choses aussi différentes est celui-ci : Après avoir installé (enfin, extrait) Dwarf Fortress, au lieu d'aller dans le répertoire à chaque fois et de le lancer avec ./df vous vouliez pouvoir l'exécuter de n'importe où, comme n'importe quelle commande. Vous avez ajouté le répertoire de Dwarf Fortress à votre fichier $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 n'auriez plutôt que des informations sur vos systèmes de fichiers.

L'exécutable de Dwarf Fortress 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, créant ainsi une collision. En faisant en sorte que lorsque vous tapez df Au démarrage de Dwarf Fortress, vous avez suivi l'outil système, de sorte que lorsqu'un script veut - disons - vérifier si vous avez assez d'espace libre pour décompresser une archive, au lieu d'invoquer df - l'outil système - il va démarrer Dwarf Fortress à la place. Et après avoir quitté Dwarf Fortress, le pauvre petit script sera très confus quant à la raison pour laquelle il n'a pas reçu les informations sur l'utilisation du disque qu'il avait demandées.

Quoi qu'il en soit, merci pour le rire, cela doit être l'un des problèmes les plus drôles que j'ai jamais vus exprimés sur StackExchange. :)

63voto

maccam94 Points 633

Mon intuition est similaire à Aleksi's mais je soupçonne que vous avez déplacé le binaire de Dwarf Fortress dans l'emplacement suivant /usr/local/bin o /usr/bin (et, espérons-le, pas /bin ).

Essayez de courir sudo which df dans votre terminal. S'il ne dit pas /bin/df essayez de déplacer le fichier spécifié dans le champ which sortie vers /usr/games/ (vous serez en mesure de lancer le jeu dans le futur en exécutant /usr/games/df ). Apt devrait fonctionner à nouveau après cela.

\======

Sinon, dans le scénario où sudo which df dit /bin/df essayez d'exécuter /bin/df . S'il 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 df temporairement, ou télécharger manuellement le paquet et en extraire le binaire df).

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X