Ta wiadomość jest ogólna. Oznacza to po prostu, że dpkginstancja wywołana przez apt/ apt-getnie powiodła się z jakiegoś powodu. Nie wyjaśnia, dlaczego, jak, ani nie daje wskazówek, jak go rozwiązać. Jako komunikat diagnostyczny nie jest użyteczny.
Musisz przeczytać wiersze przed komunikatem (czasami całkiem sporo), aby znaleźć prawdziwy błąd, który uniemożliwia ukończenie instalacji.
Tak, ale jak to rozwiązać?
Nie ma jednego sposobu na jego rozwiązanie. Jest tak wiele powodów, dla których może się tak zdarzyć, że bezcelowe jest umieszczenie ich wszystkich w jednym poście. Każda okoliczność jest prawie unikalna dla tego pakietu / środowiska.
Ale jest odkupienie. Fakt, że widzisz ten komunikat oznacza, że prawdopodobnie w wierszach przed wiadomością znajdują się bardziej odpowiednie informacje. Dla celów ilustracyjnych wykorzystam przykład:
(Reading database ... 81657 files and directories currently installed.)
Removing mongodb-10gen ...
arg: remove
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error processing mongodb-10gen (--remove):
subprocess installed pre-removal script returned error exit status 100
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 100
Errors were encountered while processing:
mongodb-10gen
E: Sub-process /usr/bin/dpkg returned an error code (1)
Teraz, aby znaleźć problem, musisz przeczytać wstecz:
E: Sub-process /usr/bin/dpkg returned an error code (1)nic mi nie mówi. Więc ruszam dalej.
Errors were encountered while processing: mongodb-10genpo prostu mówi mi, który pakiet ma problemy. Jest użyteczne, ale niewystarczające.
subprocess installed post-installation script returned error exit status 100: mówi mi to, że skrypt, który się nie powiódł, był tym postinst, który został wykonany po instalacji. Przyda się to w niektórych sytuacjach, ale nie w tej.
dpkg: error while cleaning up: nic przydatnego tutaj.
invoke-rc.d: unknown initscript, /etc/init.d/mongodb not found.BINGO! To mówi nam, że invoke-rc.dplik binarny kontrolujący skrypt init w większości systemów podobnych do Debiana, zawiódł. Nie udało się, ponieważ nie można znaleźć /etc/init.d/mongodbskryptu. To jest złe. Musimy go utworzyć lub skopiować z innego miejsca, aby znów zaczął działać. Ponowna instalacja pakietu jest również zwykle opcją dla file not foundbłędów.
W takim przypadku zgłoszenie błędu nie jest konieczne, ponieważ jest prawdopodobne, że to my usunęliśmy skrypt, ale jeśli jesteś całkowicie pewien, że nie dotknąłeś pliku ( debsums -slapowinien to potwierdzić), zgłoś błąd.
Więc czego dokładnie potrzebujesz, aby uzyskać pomoc? Idealnie, pełny wynik problemu. Pomocne jest również dołączenie danych wyjściowych sudo dpkg -Ci sudo apt-get checkoraz danych wyjściowych, w apt-cache policy package1 package2...których „pakiet1 pakiet2 ...” obejmuje wszystkie pakiety z problemami.
apt-get install (something)i dostałeś ten komunikat o błędzie tak jak ja, rozwiązaniem było dla mnieapt-get upgrade (something).