Vraag Dwergfort begint tijdens apt-get-upgrade


Wanneer ik ren apt-get upgrade op mijn Ubuntu 17.04-machine begint het soms Dwergfort alleen.

Het is al minstens twee keer gebeurd, dus het was waarschijnlijk niet zomaar een eenmalig iets. Ook de uitvoering vanapt-get upgrade leek te zijn gepauzeerd totdat ik de Dwarf Fortress handmatig stopte, dus het werd hoogstwaarschijnlijk niet veroorzaakt door iets anders in die tijd.

De console op dat moment zei Unpacking xxx. waar xxx was iets met mysql in naam. Ik weet echter niet welk pakket precies, zoals vandaag, apt-get upgrade veel mysql-gerelateerde pakketten geüpgraded.

Ik zou graag willen weten wat er gebeurt en hoe ik kan voorkomen dat dit gebeurt. Bedankt voor uw ideeën.


313
2017-07-22 05:15


oorsprong


Dus je zegt dat wanneer je liep apt-get upgrade in terminal beginnen de spellen?
@MichaelBay niet altijd, alleen als er iets wordt geüpgraded. En ik kan niet testen of het altijd gebeurt, omdat er geen pakketten zijn die nu moeten worden bijgewerkt. - Adrijaned
Deze DF-hack is lang gelezen en ik heb een deel van de weg opgegeven, maar misschien zal het nuttig voor je zijn. - WinEunuuchs2Unix
reddit.com/r/Ubuntu/comments/6tomtk/... - Ciro Santilli 新疆改造中心 六四事件 法轮功


antwoorden:


Met een vraag zo raar als dit, is het natuurlijk onmogelijk om het zeker te zeggen - maar ik zal mijn hoed opeten als mijn eerste voorgevoel niet klopt. :)

De enige manier waarop ik kan bedenken, hoe dergelijke niet-gerelateerde dingen kunnen worden gekoppeld, is dit: Na het installeren (goed, extraheren) van Dwarf Fortress, in plaats van elke keer naar de directory te gaan en ermee te spelen ./df, je wilde het overal vandaan kunnen gebruiken, zoals elke oude opdracht. Je hebt de map Dwarf Fortress toegevoegd aan je $PATH, voor de systeemmappen, misschien toevallig, misschien omdat je hebt gemerkt dat het anders niet werkte, en je in plaats daarvan gewoon informatie over je bestandssystemen zou krijgen.

Het uitvoerbare bestand van Dwarf Fortress wordt genoemd df, wat ook de naam is van een systeemtool voor het weergeven van schijfruimtegebruik van uw bestandssystemen, waardoor een botsing ontstaat. Door het zo te maken als je typt df, Dwarf Fortress start, je hebt de systeemtool in de schaduw gesteld, dus wanneer een script wil - laten we zeggen - controleren of je voldoende vrije ruimte hebt om een ​​archief uit te pakken, in plaats van aan te roepen df - de systeemtool - in plaats daarvan begint Dwarf Fortress. En nadat je Dwarf Fortress hebt verlaten, zal het arme kleine script erg in de war raken over waarom het niet de schijfgebruiksinformatie heeft gekregen waar het om vroeg.

Hoe dan ook, bedankt voor de lach, dit moet een van de grappigste problemen zijn die ik ooit heb gezien op StackExchange. :)


542
2017-08-14 17:30



Opmerkingen zijn niet voor uitgebreide discussie; dit gesprek is geweest verplaatst naar chat. - Thomas Ward♦


Mijn voorgevoel is vergelijkbaar met Aleksi's, maar ik vermoed dat je de binaire versie van de Dwarf Fortress hebt verplaatst naar /usr/local/bin of /usr/bin (en hopelijk niet /bin).

Probeer te rennen sudo which df in uw terminal. Als het niet zegt /bin/df, probeer het bestand te verplaatsen dat is opgegeven in de which uitvoer naar /usr/games/ (je kunt het spel in de toekomst uitvoeren door het uit te voeren /usr/games/df). Apt zou daarna weer moeten werken.

======

Anders, in het scenario waar sudo which df zegt /bin/df, probeer te rennen /bin/df. Als dat is overschreven door het spel, moet je het spelbinair getal verplaatsen zoals hierboven vermeld, en sudo apt-get install --reinstall coreutils.

Als dat mislukt omdat df ontbreekt, moet je misschien terugvallen op drastischer maatregelen (zoals het maken van een nep-script om tijdelijk df te vervangen, of het handmatig downloaden van het pakket en het df-binaire bestand er uit extraheren).


62
2017-08-15 08:47



Het is ironisch dat een opmerking van de vraagsteller naar het geaccepteerde antwoord bevestigt dat dit is wat de vraagsteller deed, met een symbolische link, in plaats van het aanpassen PATH zoals in dat antwoord. - JdeBP
@JdeBP: Niet echt, het belangrijkste punt is het conflict bij de naamgeving - ik denk dat hoe dat werd bereikt, secundair is, zelfs als ik het zelf zeg. Ik noemde dit ook in de opmerkingen van het andere antwoord, als reactie op een opmerking die hetzelfde suggereerde als dit antwoord, maar ik overwoog dit oorspronkelijk als een andere mogelijkheid te noemen, totdat ik me realiseerde dat het verplaatsen / kopiëren van het binaire bestand (in tegenstelling tot symlinking, waar ik niet aan dacht) zou niet hebben gewerkt vanwege de manier waarop Dwarf Fortress werkt. (Het is gewoon uitgepakt, niet geïnstalleerd - het zou zijn eigen gegevensbestanden niet vinden als het niet in dezelfde map staat) - Aleksi Torhamo
Een betere opdracht zou kunnen zijn sudo which -a df om alles te zien df commando's gevonden in het pad. - Doug Henderson
Wacht, het is 2017 en we gebruiken apt-get nog? - EKons
@AleksiTorhamo Ter verduidelijking: de variabele PATH die apt te zien krijgt, wordt overschreven door de opdracht sudo (/etc/sudoers heeft een secure_path variabele om beveiligingsproblemen te voorkomen bij gebruikers die hun PATH aanpassen). Ik ben het ermee eens dat het besef dat het binaire getal van de Dwergvesting de boventoon voert in de PATH-resolutie, echter het belangrijkste inzicht is. - maccam94