Questão Anão Fortaleza começando durante o upgrade do apt-get


Quando eu corro apt-get upgrade na minha máquina Ubuntu 17.04, às vezes começa Fortaleza anã por si próprio.

Já aconteceu pelo menos duas vezes, então provavelmente não foi apenas uma coisa de uma vez. Além disso, a execução deapt-get upgrade Parecia estar em pausa até que eu saísse manualmente do Dwarf Fortress, então provavelmente não foi causado por outra coisa acontecendo naquele tempo.

O console naquele momento disse Unpacking xxx. Onde xxx foi algo com mysql no nome. Eu não sei qual pacote exatamente, como hoje, apt-get upgrade atualizei muitos pacotes relacionados ao mysql.

Eu gostaria de saber o que acontece e como impedir que isso aconteça. Obrigado pelas suas ideias.


313
2017-07-22 05:15


origem


Então você está dizendo que sempre que você correu apt-get upgrade no terminal os jogos começam?
@MichaelBay não everytime, apenas quando atualiza somethink. 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 no meio do caminho, mas talvez seja útil para você. - WinEunuuchs2Unix
reddit.com/r/Ubuntu/comments/6tomtk/… - Ciro Santilli 新疆改造中心 六四事件 法轮功


Respostas:


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

A única maneira que eu posso pensar, como tais coisas não relacionadas podem ser ligadas é esta: Depois de instalar (bem, extrair) Dwarf Fortress, em vez de ir ao diretório toda vez e executá-lo com ./df, você queria poder executá-lo de qualquer lugar, como qualquer comando antigo. Você adicionou o diretório Dwarf Fortress ao seu $PATH, antes os diretórios do sistema, talvez por acaso, talvez porque você tenha notado que não funcionou de outra forma e, em vez disso, você apenas obteria informações sobre seus sistemas de arquivos.

O executável do Dwarf Fortress é nomeado df, que também é o nome de uma ferramenta do sistema para exibir o uso do espaço em disco de seus sistemas de arquivos, criando uma colisão. Ao fazer isso quando você digita df, Dwarf Fortress começa, você sombreou a ferramenta do sistema, então quando um script quer - digamos - verificar se você tem espaço livre suficiente para descompactar um arquivo, em vez de invocar df - a ferramenta do sistema - começará a Dwarf Fortress. E depois que você sair do Dwarf Fortress, o pobre pequeno script ficará muito confuso sobre o motivo pelo qual ele não recebeu as informações de uso do disco solicitadas.

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


542
2017-08-14 17:30



Comentários não são para discussão extensa; esta conversa foi mudou-se para conversar. - Thomas Ward♦


Meu palpite é semelhante ao Aleksi's, mas eu suspeito que você possa ter mudado o binário Anão da Fortaleza para /usr/local/bin ou /usr/bin (e espero que não /bin).

Tente correr sudo which df no seu terminal. Se não disser /bin/df, tente mover o arquivo especificado no which saída para /usr/games/ (você poderá rodar 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 df diz /bin/dftente executar /bin/df. Se isso foi sobrescrito com o jogo, você precisará mover o binário do jogo como mencionado acima, e sudo apt-get install --reinstall coreutils.

Se isso falhar porque df está faltando, você pode precisar recorrer a medidas mais drásticas (como criar um script falso para substituir df temporariamente ou baixar manualmente o pacote e extrair o binário df dele).


62
2017-08-15 08:47



É irônico que um comentário do questionador à resposta aceita confirme que isso é o que o questionador fez, com um link simbólico, em vez de modificar PATH como nessa resposta. - JdeBP
@ JdeBP: Na verdade não, o ponto principal é o conflito de nomenclatura - eu acho que isso foi conseguido como secundário, mesmo que eu diga isso mesmo. Eu também mencionei isso nos comentários da outra resposta, em resposta a um comentário que sugeriu a mesma coisa que esta resposta, mas originalmente pensei em mencionar isso como outra possibilidade, até que percebi que mover / copiar o binário (em oposição a O symlinking, que eu não pensei sobre) não teria funcionado devido à forma como Dwarf Fortress trabalha. (Isto é, é apenas extraído, não instalado - não encontraria seus próprios arquivos de dados quando não estivessem no mesmo diretório) - Aleksi Torhamo
Um comando melhor pode ser sudo which -a df para ver tudo df comandos encontrados no caminho. - Doug Henderson
Espere é 2017 e usamos apt-get ainda? - EKons
@AleksiTorhamo Apenas para esclarecer, a variável PATH que o apt veria é sobrescrita pelo comando sudo (/etc/sudoers tem um secure_path variável para evitar problemas de segurança com os usuários modificando seu PATH). Eu concordo que perceber que o binário Anão da Fortaleza está tomando precedência na resolução PATH é o principal insight. - maccam94