Kiedy uruchamiam apt-get upgrade
moją maszynę Ubuntu 17.04, czasami sama uruchamia Dwarf Fortress .
Stało się to już co najmniej dwa razy, więc prawdopodobnie nie było to coś jednorazowego. Ponadto wykonanie apt-get upgrade
wydawało się być wstrzymane, dopóki ręcznie nie opuściłem Twierdzy Krasnoludów, więc najprawdopodobniej nie było to spowodowane działaniem czegoś innego w tym czasie.
Konsola w tym czasie powiedziała, Unpacking xxx.
gdzie xxx
jest coś z mysql
nazwy. Nie wiem jednak, który pakiet dokładnie, tak jak dzisiaj, apt-get upgrade
zaktualizował wiele pakietów związanych z mysql.
Chciałbym wiedzieć, co się stanie i jak temu zapobiec. Dziękuję za twoje pomysły.
apt
upgrade
package-management
games
Adrijaned
źródło
źródło
apt-get upgrade
w terminalu, zaczyna się gra?Odpowiedzi:
Przy tak dziwnym pytaniu, oczywiście nie można powiedzieć na pewno - ale zjem kapelusz, jeśli moje pierwsze przeczucie nie jest prawidłowe. :)
Jedyny sposób, w jaki mogę wymyślić, w jaki sposób można powiązać takie niepowiązane rzeczy, to: Po zainstalowaniu (dobrze, rozpakowaniu) Dwarf Fortress, zamiast za każdym razem wchodzić do katalogu i uruchamiać go
./df
, chciałeś móc go uruchomić w dowolnym miejscu, jak każde stare polecenie. Dodano krasnolud Fortress do swojego katalogu$PATH
, zanim katalogach systemowych, być może przez przypadek, być może dlatego, że zauważyłem, że nie działa w inny sposób, i że zamiast po prostu uzyskać informacje o systemach plików.Nazywany jest plik wykonywalny Dwarf Fortress
df
, który jest również nazwą narzędzia systemowego do wyświetlania wykorzystania miejsca na dysku w twoich systemach plików, tworząc kolizję. Sprawiając, że podczas pisaniadf
Dwarf Fortress uruchamia cień narzędzia systemowego, więc gdy skrypt chce - powiedzmy - sprawdzić, czy masz wystarczającą ilość wolnego miejsca do rozpakowania archiwum, zamiast wywoływaćdf
- narzędzie systemowe - zamiast tego uruchomi Twierdzę Krasnoludów. A po wyjściu z Dwarf Fortress biedny mały skrypt będzie bardzo zdezorientowany, dlaczego nie otrzymał wymaganych informacji o użyciu dysku.W każdym razie, dzięki za śmiech, to musi być jeden z najśmieszniejszych problemów, jakie kiedykolwiek widziałem na StackExchange. :)
źródło
Moje przeczucie jest podobne do Aleksiego , ale podejrzewam, że mogłeś przenieść plik binarny Twierdzy Krasnoludów do (
/usr/local/bin
lub/usr/bin
mam nadzieję, że nie/bin
).Spróbuj uruchomić
sudo which df
w swoim terminalu. Jeśli to nie powie/bin/df
, spróbuj przenieść plik określony w danychwhich
wyjściowych do/usr/games/
(będziesz mógł uruchomić grę w przyszłości, uruchamiając/usr/games/df
). Apt powinien znowu działać.======
W przeciwnym razie w scenariuszu, w którym
sudo which df
mówi się/bin/df
, spróbuj uruchomić/bin/df
. Jeśli zostało to nadpisane w grze, musisz przenieść plik binarny gry, jak wspomniano powyżej, isudo apt-get install --reinstall coreutils
.Jeśli to się nie powiedzie, ponieważ
df
brakuje, może być konieczne zastosowanie bardziej drastycznych środków (takich jak utworzenie fałszywego skryptu w celu tymczasowego zastąpienia df lub ręczne pobranie pakietu i wyodrębnienie z niego pliku binarnego df).źródło
PATH
jak w tej odpowiedzi.sudo which -a df
zobaczenie wszystkichdf
poleceń znalezionych na ścieżce.apt-get
jeszcze korzystamy ?/etc/sudoers
masecure_path
zmienną zapobiegającą problemom z bezpieczeństwem przy modyfikowaniu przez użytkowników PATH). Zgadzam się, że kluczową sprawą jest uświadomienie sobie, że plik binarny Dwarf Fortress ma pierwszeństwo w rezolucji PATH.