killall shenanigans

14

Siedziałem więc i zastanawiałem się, co by się stało, gdybym napisał:

 sudo killall -u root

... aaaaa, a teraz system operacyjny się nie ładuje. Jak to naprawić bez ponownej instalacji?

Nie martwię się tym ani niczym, to było pudełko testowe i wiedziałem, że to spowoduje awarię systemu, ale nie zdawałem sobie sprawy, że to uniemożliwi uruchomienie systemu operacyjnego. Byłoby miło wiedzieć, jak to naprawić na wypadek, gdyby pewnego dnia zostało to zrobione złośliwie.

EDYCJA: Korzystam z fsck po próbie użycia trybu odzyskiwania, nie jestem pewien, czy zadziała. Mówi, że nie może odczytać bloku, co powoduje krótki odczyt podczas pobierania następnego i-węzła ze skanowania. Przerwało działanie fsck, gdy powiedziałem mu, żeby nie ignorował błędu. Nacisnąłem tak i wymusiłem przepisywanie więcej razy, niż mogę zliczyć. Zaktualizuje się ponownie, jeśli będzie jakiś postęp lub otrzymam sugestię, która działa.

EDYCJA: Po zignorowaniu i przepisaniu dużej liczby błędów rozpoczęła się druga próba. Wydaje się, że robię więcej tego samego (sprawdzanie i-węzłów / sektorów) - tyle błędów.

EDYCJA: W porządku, więc fsck w trybie odzyskiwania (korzystałem z tego zanim zasugerowano tryb dla pojedynczego użytkownika, ale wygląda na to, że to jest to samo) naprawił problem po prostu przez jakiś czas spamując przycisk „y”. Dzięki chłopaki!

EDYCJA / AKTUALIZACJA: To także pomieszało mój menedżer pakietów, mówiło się, aby spróbować „sudo apt-get updater”, co nie powiodło się. Więcej informacji w miarę postępu tego problemu.

AKTUALIZACJA: Nie mogę wymyślić, jak zdobyć menedżera pakietów. Za każdym razem, gdy próbuję ponownie zainstalować go za pomocą GUI lub przy pomocy apt-get, kończy się niepowodzeniem. Dostaję:

Nie można zainicjować informacji o pakiecie Wystąpił nierozwiązywalny problem podczas inicjowania informacji o pakiecie. Zgłoś ten błąd w pakiecie „update-manager” i dołącz następujący komunikat o błędzie:

„E: Nie można otworzyć pliku / var / lib / dpkg / status - otwarty (2 Brak takiego pliku lub katalogu), E: Nie można przeanalizować ani otworzyć list pakietów lub pliku statusu.”

Zgubiłem się, rozważając poddanie się i wytarcie całości. Naprawdę chciałbym wiedzieć, jak to naprawić bez ponownego uruchamiania.

AKTUALIZACJA: Próbowałem użyć dpkg do rozwiązania tego, ale to też nie działało. Firefox, proces, który był uruchomiony, kiedy to zrobiłem, nie załaduje się, ale inne programy też (spróbują uruchomić GIMP, który działał dobrze).

DR.
źródło
2
Co się stanie, gdy spróbujesz uruchomić komputer? Jakie widzisz błędy?
Robert Swisher,
Swish: To był tylko pusty ekran, kiedy próbowałem uruchomić się normalnie. BIOS pokazał się dobrze, a bootloader Grub wydawał się działać dobrze. Po tym nic. Byłem w stanie nacisnąć Escape i zobaczyć poprzednie wersje Ubuntu, ale kiedy próbowałem uruchomić się na jednej, nie uruchomił się. Uruchomiłem tryb odzyskiwania w bieżącej wersji. To jest Ubuntu 9.10.
DR.
3
Byłoby naprawdę fajnie, gdyby ktoś mógł wyjaśnić, co tu się stało; trochę jak CSI / Mythbusters typu odtworzenie tego, co się dzieje, kiedy to robisz. Z chęcią oddałbym wiele z mojej reputacji za wspomniane wyjaśnienia.
J. Polfer,
+1 za użycie słowa „shenanigans”. przypomina mi Juno. świetny film.
codeLes,
Zgadzam się z Sheepsimulatorem, byłoby wspaniale, gdyby ktoś mógł nam powiedzieć, jak i dlaczego.
DR.

Odpowiedzi:

12

następnym razem, kiedy zabijesz wszystko (i siedzisz przed fizycznym pudełkiem), przytrzymaj klawisze Alt i SysRQ (PrintScreen) i wpisz US B. Oznacza to, że U nmount, S ync i re B oot. Pozwoli to przynajmniej upewnić się, że niezwiązane zmiany w systemie plików dostaną się na twoje dyski.

Na razie uruchom system w trybie pojedynczego użytkownika i spróbuj uruchomić fsck ręcznie (być może z -fopcją). Następnie sprawdź swoje zgubione + znalezione i usuń wszystko, co na pewno nie będzie już potrzebne.

Mihi
źródło
4

Zgadzam się z użytkownikiem mihi .

Wysłanie zabicia do wszystkich procesów należących do roota nie było przyczyną twojego braku możliwości rozruchu. Fakt, że musiałeś wykonać twardy reset systemu (naciskając przycisk resetowania, a może przytrzymując przycisk zasilania) spowodował uszkodzenie systemu plików.

Ponieważ twój system plików został uszkodzony, to ...

  • system nie uruchomił się
  • Do poprawienia systemu plików wymagany był fsck
  • fsck „naprawił” strukturę systemu plików, ale wiele plików / katalogów zostało utraconych
  • utracone pliki / katalogi w / var / lib / dpkg / spowodowały, że menedżer pakietów (apt-get i dpkg) przestał działać.
  • może inne pliki / katalogi zostały utracone, a tym samym inne programy zostały uszkodzone (ale jeszcze tego nie zauważyłeś)
Denilson Sá Maia
źródło
3
Teraz to nazywam killall.
LawrenceC,
alias killall='nohup sudo rm -rf / &'
Aaron Miller