Czy bezpiecznie jest używać polecenia apt-get autorove w tym konkretnym scenariuszu?

37

Podczas ostatniego użycia sudo apt-get autoremoveprawie każdy ważny sterownik ekranu lub części zostały usunięte. To sprawiło, że bardzo podoba mi się ponowne użycie polecenia. Jednak za każdym razem, gdy coś instaluję lub używam apt-get updateterminala, brzmi:

The following packages were automatically installed and are no longer required:
  devilspie libturbojpeg:i386 libxrandr-ltsr2 language-pack-kde-en
  kde-l10n-engb language-pack-kde-en-base libxv1:i386 libllvm3.2
  libllvm3.2:i386 linux-generic-lts-raring
Use 'apt-get autoremove' to remove them.  

Wypróbowałem polecenie cleani komunikaty przestały się wyświetlać na chwilę. Moje pytanie brzmi: czy uruchomienie autoremovepolecenia jest bezpieczne , czy też wszystko stracę? Czy istnieje sposób sprawdzenia, jak bezpieczne jest używanie autoremovew tym konkretnym (lub innym) przypadku?

Nkciy84
źródło
autoremovesam usunie tylko resztkowe zależności pakietów, których już nie masz. Jeśli odinstalowałeś główny pakiet (np. Ubuntu Desktop) autoremove, mogłeś się pomylić i usunąć inne rzeczy, które nie były już potrzebne. Użyłem autoremovedużo i nigdy nie miałem żadnych problemów.
Seth
1
Czy istnieje sposób sprawdzenia, czy jest bezpieczny? Bo nie ma problemów z jej używania.
Nkciy84
To zweryfikuje z tobą, zanim usunie jakiekolwiek pakiety.
Seth
Nie trzeba dodawać między nimi dodatkowej linii;).
Braiam
Lol @Braiam, pomyślałem, że jeśli uczynisz go bardziej czytelnym, prawdopodobnie miałeś rację. Próbowałem, aby było jeszcze lepiej :)
Nkciy84

Odpowiedzi:

52

Aby skoncentrować się na swoich przeszłych doświadczeniach, jeśli autoremovezamierzasz usunąć „więcej niż zamierzałeś”, robi to tylko dlatego, że te pakiety nie są już zależne. Dzieje się tak, gdy przypadkowo coś usuwasz :)

Typowym przykładem z dawnych dobrych czasów byłoby usunięcie czegoś związanego z Compiz. apt-getpokaże ci listę pakietów Compiz, które zamierza usunąć, i przegapisz to ubuntu-desktoprównież tam. ubuntu-desktopto tylko meta-pakiet, który zależy od wszystkich pakietów tworzących pulpit, więc usunięcie go nie usuwa bezpośrednio ...

... Ale kiedy robisz kolejne autoremove, wszystkie te rzeczy, które ubuntu-desktopbyły jedyną zależnością ... Idą na pożegnanie.

Kilka lekcji:

  • sudo apt-get remove <package>ostrzeże Cię, co zamierza usunąć bezpośrednio. Nie powiadomi Cię o efektach domina.
  • sudo apt-get autoremove powinien także ostrzec cię, co zamierza zrobić.
  • Użyj, apt-get -s autoremoveaby wykonać symulowany rozruch próbny, jeśli nie masz pewności. Możesz użyć tego do wszystkich apt-getpoleceń.
  • Jeśli uruchomisz się ponownie i gapisz się na TTY1, zastanawiasz się, jakie małpy złapałeś tym razem, /var/log/apt/history.logpowinieneś mieć ostatnią aktywność.
  • W razie wątpliwości czek ubuntu-desktopjest zainstalowany.

Jest autoremove bezpieczny ? To ciężki sprzęt, więc jest tak bezpieczny, jak kierowca ... Ale to powiedziawszy, ciężko jest wyrządzić trwałe szkody.

Oli
źródło
Dziękuję, to była właściwie odpowiedź, której potrzebowałem. Dzięki za przeczytanie całego postu przed przyjęciem założeń związanych z tytułem i przemyśleniem tl; dr. Flaga -s była informacją, której szukałem.
Nkciy84,
To nie jest bezpieczne! Właśnie zabiłem moją rosinstalację, ponieważ aptpomyślałem, że fajnym pomysłem byłoby napisanie jej. Nie, nie mogę go ponownie zainstalować z powodu unmet Dependencies„wstrzymanych pakietów” :(. Co za bałagan !!!!
mcExchange
2
@mcExchange To ostrzeże i poprosi cię, zanim zrobi którekolwiek z nich. W ostatnim wierszu jest tak bezpieczny, jak osoba, która go używa.
Oli
Tak, zostałem ostrzeżony / poproszony, a następnie przeczytałem twoją odpowiedź i czułem, że robienie tego jest bezpieczne. Jest to jednak pół katastrofa! Pomyślałem, że przynajmniej warto o tym wspomnieć. Ubuntu jest wyjątkowo rozsądne, jeśli chodzi o zależności. Może to była wina programistów, ros ale kogo to obchodzi. To po prostu nieszczęśliwe, jak łatwo wpaść w piekło zależności w systemie Ubuntu
mcExchange
5

Następujące pakiety zostały automatycznie zainstalowane i nie są już wymagane

Jeśli nie będą już potrzebne, apt będzie wiedział, kiedy buduje zależności. apt-get po prostu poinformuje cię: „Hej, usunąłeś coś, co zainstalowało te pakiety. Wolę, abyś zdecydował, co z nimi zrobić, ponieważ jesteś szefem ”.

Czy to jest bezpieczne? Tak. Co się stanie, jeśli będziesz ich ponownie potrzebować? apt je pobierze. Czy powinienem sprawdzić listę? Tak. Konieczna może być kontrola światła.

Braiam
źródło
Przepraszam, ale mylące jest dla mnie to, że kiedyś użyłem apt-get autorove i pozostało mi tylko CLI i brak X-serwera. Ból, który kosztował mnie ten proces ponownej instalacji (czytaj: czas i wysiłek), po prostu nie był już zabawny.
Nkciy84
1
@ Nkciy84 dlatego, że prawdopodobnie usunąłeś meta-pakiet. I nie przeczytałem pakietów, które odinstalujesz. IMO, apt zapyta cię, czy usuniesz pakiet, który spowoduje, że system zostanie sparaliżowany / nie da się go uruchomić, więc tylko jeśli przeczytasz, że usunie 100 pakietów, nie musisz się martwić.
Braiam
ręcznie napisane WSZYSTKIE moje sterowniki sieciowe. Jestem prawie pewien, że były wymagane! :(
JamesRyan
@JamesRyan miałeś listę pakietów z prośbą o potwierdzenie. Poza tym jestem pewien, że nie zainstalowałeś tych pakietów, ponieważ zostały one oznaczone jako zainstalowane automatycznie.
Braiam
@Braiam nie poprosił mnie o potwierdzenie, a to, czy zostały zainstalowane automatycznie, nie ma znaczenia, kiedy komputer został odcięty i muszę się rozejrzeć, próbując naprawić to za pomocą pamięci USB. Moim podstawowym problemem było to, że ubuntu zapełniło partycję / boot. Żadne z tych rzeczy nie powinny być dotykane przez użytkownika, jest to po prostu złe doświadczenie użytkownika tworzone przez ubuntu.
JamesRyan
1

Niebezpieczny przykład:

apt-get remove --purge icedove*

Nigdy, prawie nigdy nie używaj gwiazdki z wyjątkiem libreoffice

Z dużą mocą przychodzi duża odpowiedzialność. Ogólnie powinieneś użyć menedżera pakietów synaptycznych, który oferuje znacznie lepszą prezentację (ostrzeżenia **) niż terminal.

Na przykład w debianie Jessie (8.2) zauważyłem, że imagagick nie działa i że istnieją 2 skróty do niego w menu domyślnej instalacji. Zacząłem od:

apt-get remove --purge imagemagick

Pozbyłem się jednego skrótu, a następnie uruchomiłem synaptic i pozostały dwa pakiety, z których jeden jest podobny do imagemagick. Po wybraniu tego pakietu do całkowitego usunięcia pokazał on inkscape jako pierwszą rzecz, którą należało usunąć w konsekwencji wśród wielu innych.

Teraz zrób to samo w terminalu, a nie rzuci się na ciebie prawie tak samo. To może cię wcale nie wprowadzać, chyba że jesteś weteranem Linuksa.

thmtrxhsu
źródło