clear apt-get list (Polski)

Buduję obraz dla osadzonego Linuksa opartego na Debianie. Wcześniej użyłem apt-get update na urządzeniu, którego chcę użyć jako podstawy dla tego obrazu, więc listy pod /var/lib/apt/lists są dość duże (prawie 100 MB).

Chcę zachować funkcjonalność apt-get (więc nie chcę usuwać repozytoriów apt), ale chcę zwolnić miejsce zajęte na tych listach (listy prawie dwukrotnie przewyższają rozmiar obrazu).

Czy ktoś wie, jak to zrobić? Czy mogę po prostu usunąć pliki w /var/lib/apt/lists?

Odpowiedź

Możesz po prostu użyć:

rm /var/lib/apt/lists/* 

Spowoduje to usunięcie list pakietów. Żadne repozytoria nie zostaną usunięte, są one skonfigurowane w pliku konfiguracyjnym w /etc/apt/sources.list. Wszystko, co może się zdarzyć, to narzędzia takie jak nie może pobrać informacji o pakiecie, dopóki nie zaktualizujesz list pakietów. Ponadto apt-get install zakończy się niepowodzeniem z E: Unable to locate package <package>, ponieważ nie informacje są dostępne ab z pakietu.

Następnie po prostu uruchom:

apt-get update 

aby przepisać te listy, a polecenie będzie działać ponownie.

W każdym razie przed instalacją czegokolwiek zaleca się uruchomienie apt-get update.

Komentarze

  • Oczywiście katalog może nie być pusty, proszę dodać -rf po rm, aby wyglądał tak rm -rf /var/lib/apt/lists/*

Odpowiedź

Listy zawierają informacje o tym, co jest dostępne, więc jeśli je usuniesz, nie będziesz w stanie niczego zainstalować – jest to dokładnie równoważne z usunięciem repozytoriów ze źródeł list (co powiesz, że nie chcesz tego robić).

Jedną z opcji jest skompresowanie list i pamiętaj, aby je zdekompresować przed następnym update.

To, co często robię (zwłaszcza gdy chcę eksperymentować z dodatkowymi źródłami), to tworzenie katalogu /etc/apt/sources.available i dodawanie wpisów do dystrybucji. Mogę wtedy łatwo włączyć dowolny podzbiór, tworząc dowiązania symboliczne z /etc/apt/sources.list.d i wyłączyć, usuwając te dowiązania symboliczne.

Z pustą listą źródeł można apt-get update – to powinno wyczyścić /var/lib/apt/lists. Następnie połącz odpowiednie źródła z powrotem w /etc/apt/sources.list.d, ale nie „t update, dopóki nie zamierzasz ich używać.

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *