clear apt-get list

Ik ben een image aan het bouwen voor een embedded Linux gebaseerd op Debian. Ik heb apt-get update eerder gebruikt op het apparaat dat ik als basis voor die afbeelding wil gebruiken, dus de lijsten onder /var/lib/apt/lists zijn vrij groot (bijna 100 MB groot).

Ik wil de apt-get functionaliteit behouden (dus ik wil de apt-opslagplaatsen niet verwijderen) maar ik wil de ruimte gebruikt in deze lijsten (de lijsten zijn bijna dubbel zo groot als de afbeelding).

Weet iemand hoe dat moet? Kan ik de bestanden gewoon verwijderen onder /var/lib/apt/lists?

Answer

Je kunt gewoon gebruiken:

rm /var/lib/apt/lists/* 

Hiermee worden de pakketlijsten verwijderd. Er worden geen opslagplaatsen verwijderd, ze zijn geconfigureerd in het configuratiebestand in /etc/apt/sources.list. Het enige dat kan gebeuren is dat tools zoals apt-cache kan geen pakketinformatie ophalen tenzij u de pakketlijsten heeft bijgewerkt. Ook apt-get install zal mislukken met E: Unable to locate package <package>, omdat informatie is beschikbaar ab uit het pakket.

Voer dan gewoon uit:

apt-get update 

om die lijsten te herschrijven en het commando zal weer werken.

Hoe dan ook, het wordt aanbevolen om apt-get update uit te voeren voordat u iets installeert.

Opmerkingen

  • Uiteraard de map mag niet leeg zijn, voeg alstublieft -rf toe na de rm om er zo uit te zien rm -rf /var/lib/apt/lists/*

Antwoord

De lijsten zijn de kennis van wat er beschikbaar is, dus als je ze verwijdert, kun je “niks meer installeren – dat is precies hetzelfde als het verwijderen van de repositories uit je bronnen list (waarvan je zegt dat je die niet wilt doen).

Een optie is dat je de lijsten kunt comprimeren, en vergeet niet ze te decomprimeren voordat je de volgende update.

Wat ik vaak doe (vooral als ik wil experimenteren met extra bronnen) is een directory /etc/apt/sources.available maken en items voor distributies toevoegen. Ik kan dan gemakkelijk elke subset inschakelen door symlinks te maken van /etc/apt/sources.list.d en uit te schakelen door die symlinks te verwijderen.

Met een lege bronnenlijst kun je apt-get update – dat zou uw /var/lib/apt/lists moeten wissen. Koppel vervolgens de juiste bronnen terug naar /etc/apt/sources.list.d, maar “t update tot het moment dat u ze daadwerkelijk wilt gebruiken.

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *