Rens pakkecache i Antergos Linux


Pacman, standard pakkehåndteren til Arch Linux og dets derivater, vil gemme alle downloadede pakker i / var / cache / pacman / pkg / folder. Og vi ved også, at det ikke automatisk vil slette gamle eller afinstallerede pakker.

Efter en bestemt periode vil cachemappen vokse større i størrelse. Så det anbefales at rense cachemappen regelmæssigt for at frigøre mere harddisk plads.

Pacman har en indbygget mulighed for at fjerne alle cache-pakker. Du kan rense de cachelagrede pakker ved at køre „sudo pacman -Sc“ kommandoen i en terminal.

Denne kommando fjerner dog alle gamle versioner og udelader de versioner af pakker, der aktuelt er installeret og er til rådighed. Dette er ikke en anbefalet måde. Fordi nogle gange kan du nedgradere en bestemt pakke til den ældre version.

Så hvis du har renset alle de gamle pakkeversioner, har du intet valg at installere dem fra Cache-mappen. Derfor kan du kun installere dem fra de officielle arkiver i Arch Linux. Det er her, Paccache-scriptet kommer i hjælper.

Paccache-scriptet leveres af Pacman-pakken selv. I modsætning til pacman vil Paccache som standard holde de 3 seneste pakkeversioner. Bortset fra de seneste 3 pakkeversioner vil det slette alle cachelagrede versioner af hver pakke, uanset om de er installeret eller ej. Denne korte vejledning beskriver, hvordan du korrekt rengør pakke cache i Arch Linux og dets derivater ved hjælp af paccache script.

Den anbefalede måde at rengøre pakkecache i Arch Linux og derivater

Først kontrollerer du, hvor mange cache-pakker der er tilgængelige i din cache-mappe. (nu er der ikke mange i det her tilfælde, men der kan virkelig være mange når du har kørt nogle måneder med Amtergos)

$ sudo ls /var/cache/pacman/pkg/ | wc -l

333

Som du ser i ovenstående output, har jeg totalt 333 cachelagrede pakker. Lad os nu kontrollere det samlede diskplads, der bruges i cachemappen.

$ du -sh /var/cache/pacman/pkg/

1.9G /var/cache/pacman/pkg/

I øjeblikket har jeg cache-pakker på 1,9 GB i størrelse. Det er for meget. Jeg vil ikke beholde dem alle.

For at rense alle pakker, undtagen de seneste 3 versioner, skal du køre følgende kommando:

$ sudo paccache -r

=⇒ finished: 2 packages removed (disk space saved: 44.74 MiB)

Se? Paccache fjernede 2 gamle og / eller afinstallerede pakker fra cachen og sparer 44.74 MiB diskplads. Lad mig kontrollere, hvor mange pakker der er tilbage i cachemappen.

$ sudo ls /var/cache/pacman/pkg/ | wc -l

2031

Fint! Nu er der 2331 cache-pakker tilgængelige i Cache-mappen. Dette er de 3 seneste versioner af hver cache-pakke.

Lad os igen kontrollere det samlede diskplads, der bruges af cachemappen.

$ du -sh /var/cache/pacman/pkg/

1,9G /var/cache/pacman/pkg/

Altså bogstaviligt det samme. Men som sagt jo lænere du bruger systemmet, jo mere vil der være i pakke chachen. Det her system har kun kørt i 16 dage.

Vil du stadig fjerne flere pakker? Selvfølgelig kan du! Paccache giver dig mulighed for at bestemme, hvor mange nyere versioner du vil beholde. Kør f.eks. Følgende kommando, hvis du kun vil beholde den seneste version:

$ sudo paccache -rk 1

=⇒ finished: 46 packages removed (disk space saved: 739.24 MiB)

Det gav så ydligere 739Mb mere plads på harddisken

Hvor, k flag angiver at holde „antal“ for hver pakke i cachen.

Hvis du vil fjerne alle cachelagrede versioner af afinstallerede pakker, skal du køre paccache igen med:

$ sudo paccache -ruk0

Hvor, dit U flag angiver de afinstallerede pakker.

Eller brug simpelthen følgende pacman-kommando for at fjerne alle afinstallerede pakker:

$ sudo pacman -Sc

For at fjerne alle pakker fuldstændigt (uanset om de er installeret eller afinstalleret) fra cachen, skal du køre følgende kommando:

$ sudo pacman -Scc

Vær forsigtig, når du bruger denne kommando. Der er nu ingen mulighed for at hente de cache lagrede pakker, når de først er slettet.

Rens pakke cachen automatisk


Hvis du er for doven til at rense pakke cachen manuelt, kan du automatisere denne opgave ved hjælp af et pacman-hook. Dette Pacman-hook renser derefter automatisk pakke-cachen efter hver pacman-gennemførelse.

For at gøre det skal du oprette filen /etc/pacman.d/hooks/clean_package_cache.hook:

$ sudo mkdir /etc/pacman.d/hooks

sudo nano /etc/pacman.d/hooks/clean_package_cache.hook

Og indsæt følgende i filen:

[Trigger]

Operation = Upgrade

Operation = Install

Operation = Remove

Type = Package Target = *

[Action]

Description = Cleaning pacman cache…

When = PostTransaction

Exec = /usr/bin/paccache -r

Gem og luk filen. Fra nu af rengøres pakkecache automatisk efter hver pacman-transaktion (f.eks. Opgradering, installation, fjernelse). Du behøver ikke at køre paccache-kommandoen manuelt hver gang.

For yderligere oplysninger henvises til Paccache hjælp ved at køre følgende kommando:

$ paccache -h

Og det så alt for nu. Du ved nu, hvordan du korrekt fjerner pakke cache i Arch Linux og derivater.

  • rens_pakkecache_i_antergos_linux.txt
  • Sidst ændret: 2018/04/07 16:12
  • af snubbi