Dwarf Fortress iniciando durante a atualização do apt-get

322

Quando executo apt-get upgrademinha máquina Ubuntu 17.04, algumas vezes inicia o Dwarf Fortress por si só.

Já aconteceu pelo menos duas vezes, então provavelmente não era apenas uma espécie de coisa única. Além disso, a execução apt-get upgradeparecia ter sido pausada até que eu saísse manualmente da Fortaleza dos Anões, por isso provavelmente não foi causada por outra coisa em execução naquele tempo.

O console da época dizia Unpacking xxx.onde xxxhavia algo mysqlno nome. No entanto, não sei exatamente qual pacote, como hoje, apt-get upgradeatualizou muitos pacotes relacionados ao mysql.

Eu gostaria de saber o que acontece e como impedir que isso aconteça. Obrigado por suas idéias.

Adrijaned
fonte
Então você está dizendo que sempre que você rodava apt-get upgradeno terminal, os jogos começam?
@MichaelBay nem sempre, apenas quando atualiza algo. E não posso testar se isso acontece sempre, porque não há pacotes para atualizar agora.
Adrijaned
Este DF Hack é uma leitura longa e desisti parcialmente, mas talvez seja útil para você.
WinEunuuchs2Unix 15/08/19
reddit.com/r/Ubuntu/comments/6tomtk/…
Ciro Santilli escreveu:

Respostas:

550

Com uma pergunta tão estranha quanto essa, é claro que é impossível dizer com certeza - mas eu vou comer meu chapéu se meu primeiro palpite não estiver correto. :)

A única maneira de pensar em como essas coisas não relacionadas podem ser vinculadas é esta: depois de instalar (bem, extrair) o Dwarf Fortress, em vez de ir ao diretório todas as vezes e executá-lo ./df, você queria executá-lo a partir de em qualquer lugar, como qualquer comando antigo. Você adicionou o diretório Dwarf Fortress ao seu $PATH, antes dos diretórios do sistema, talvez por acaso, talvez porque tenha notado que não funcionava de outra maneira e, em vez disso, apenas obtivesse informações sobre seus sistemas de arquivos.

É chamado o executável do Dwarf Fortress df, que também é o nome de uma ferramenta de sistema para exibir o uso de espaço em disco dos seus sistemas de arquivos, criando uma colisão. Ao fazer com que, ao digitar df, o Dwarf Fortress seja iniciado, você sombreará a ferramenta do sistema; portanto, quando um script quiser - digamos - verificar se há espaço livre suficiente para descompactar um arquivo, em vez de invocar df- a ferramenta de sistema - ele começará o Dwarf Fortress. E depois que você sai do Dwarf Fortress, o pobre pequeno script ficará muito confuso sobre o motivo pelo qual não recebeu as informações de uso do disco solicitadas.

De qualquer forma, obrigado pela risada, esse deve estar entre os problemas mais engraçados que eu já vi expressos no StackExchange. :)

Aleksi Torhamo
fonte
Comentários não são para discussão prolongada; esta conversa foi movida para o bate-papo .
Thomas Ward
64

Meu palpite é semelhante ao de Aleksi , mas suspeito que você possa ter movido o binário da Fortaleza dos Anões para /usr/local/binou /usr/bin(e espero que não /bin).

Tente correr sudo which dfno seu terminal. Caso contrário /bin/df, tente mover o arquivo especificado na whichsaída para /usr/games/(você poderá executar o jogo no futuro executando /usr/games/df). O Apt deve funcionar novamente depois disso.

======

Caso contrário, no cenário em que sudo which dfdiz /bin/df, tente executar /bin/df. Se isso foi substituído pelo jogo, você precisará mover o jogo binário conforme mencionado acima, e sudo apt-get install --reinstall coreutils.

Se isso falhar porque dfestá faltando, talvez você precise recorrer a medidas mais drásticas (como criar um script falso para substituir o df temporariamente ou fazer o download manual do pacote e extrair o binário do df).

maccam94
fonte
7
É irônico que um comentário do questionador à resposta aceita confirme que foi isso que o questionador fez, com um link simbólico, em vez de modificar PATHcomo nessa resposta.
JdeBP
1
@JdeBP: Na verdade, o ponto principal é o conflito de nomenclatura - acho que isso foi secundário, mesmo que eu o diga. Também mencionei isso nos comentários da outra resposta, em resposta a um comentário que sugeria a mesma coisa que essa resposta, mas originalmente considerei mencionar isso como outra possibilidade, até que percebi que mover / copiar o binário (em oposição a ligação simbólica, na qual eu não pensei) não teria funcionado devido ao modo como o Dwarf Fortress funciona. (Ou seja, é apenas extraído, não instalado -. Ele não iria encontrar seus próprios arquivos de dados quando não estiver no mesmo diretório)
Aleksi Torhamo
2
Um comando melhor pode ser sudo which -a dfver todos os dfcomandos encontrados no caminho.
Doug Henderson
Espere, é 2017 e já usamos apt-get?
EKons 18/08/19
@AleksiTorhamo Apenas para esclarecer, a variável PATH que o apt veria é substituída pelo comando sudo ( /etc/sudoerspossui uma secure_pathvariável para evitar problemas de segurança com os usuários modificando seu PATH). Concordo que perceber que o binário do Dwarf Fortress está tendo precedência na resolução PATH é o principal insight.
precisa saber é o seguinte