Rakennan kuvaa upotetulle Linuxille, joka perustuu Debianiin. Käytin aiemmin apt-get update
-laitetta laitteessa, jota haluan käyttää kuvan pohjana, joten /var/lib/apt/lists
-kohdan luettelot ovat melko suuria (kooltaan lähes 100 Mt).
Haluan säilyttää apt-get
-toiminnon (joten en halua poistaa apt-arkistoja), mutta haluan vapauttaa näissä luetteloissa käytetty tila (luettelot melkein kaksinkertaistavat kuvan koon).
Tietääkö kukaan sen? Voinko vain poistaa tiedostot kohdasta /var/lib/apt/lists
?
Vastaus
Voit käyttää vain:
rm /var/lib/apt/lists/*
Tämä poistaa pakettiluettelot. Yhtään arkistoa ei poisteta, ne määritetään asetustiedostossa kohdassa /etc/apt/sources.list
. Ainoa mitä voi tapahtua, on se, että työkalut, kuten apt-cache
ei voi saada pakettitietoja, ellet ole päivittänyt pakettiluetteloita. Myös apt-get install
epäonnistuu parametrilla E: Unable to locate package <package>
, koska ei tietoa on saatavilla ab paketti ulos.
Suorita sitten vain:
apt-get update
kirjoittaa nämä luettelot uudestaan, ja komento toimii uudelleen.
Joka tapauksessa on suositeltavaa suorittaa apt-get update
ennen kuin asennat mitään.
Kommentit
Vastaa
Luettelot ovat tietoa käytettävissä olevista tiedoista, joten jos poistat ne, et voi asentaa mitään – mikä vastaa tarkalleen arkistojen poistamista lähteistäsi luettelo (jonka sanot, ettet halua tehdä).
Yksi vaihtoehto on, että voit pakata luettelot ja muistaa purkaa ne ennen seuraavaa update
.
Mitä usein teen (varsinkin kun haluan kokeilla lisälähteitä), on luoda hakemisto /etc/apt/sources.available
ja lisätä merkintöjä jakeluihin. Voin sitten ottaa minkä tahansa osajoukon helposti käyttöön luomalla symlinkkejä kohdasta /etc/apt/sources.list.d
ja poistaa käytöstä poistamalla kyseiset symlinkit.
Tyhjien lähteiden luettelossa voit apt-get update
– tämän pitäisi tyhjentää /var/lib/apt/lists
. Linkitä sitten sopivat lähteet takaisin osastoon /etc/apt/sources.list.d
, mutta älä ”t update
siihen asti, kunnes aiot käyttää niitä.
rm -rf /var/lib/apt/lists/*