Hogyan tartsuk tisztán az Arch Linux rendszerünket a felesleges fájloktól

Az Arch Linux egy minimalista és rendkívül testreszabható disztribúció, amely teljes kontrollt biztosít a felhasználó számára. Ez a szabadság azonban felelősséggel is jár: az Arch rendszerek karbantartása, és különösen a felesleges fájloktól való mentesítése a felhasználó feladata. Egy idő után a telepített csomagok, a naplófájlok, a gyorsítótárak és egyéb adatok felhalmozódhatnak, lefoglalva a lemezterületet, és potenciálisan lassítva a rendszert. De ne essünk kétségbe! Ez az átfogó útmutató lépésről lépésre végigvezet minket azon, hogyan tarthatjuk tisztán és hatékonyan az Arch Linux rendszerünket.

Miért fontos a rendszertisztítás Arch Linuxon?

Az Arch Linux „rolling release” modellje azt jelenti, hogy folyamatosan frissül, így a csomagok gyorsan cserélődnek. Ez a modell gyakran hagy maga után elavult, de mégis a rendszeren lévő fájlokat és csomagokat. A tisztításnak számos előnye van:

  • Lemeztér felszabadítása: A felesleges fájlok eltávolításával értékes gigabájtokat nyerhetünk vissza, ami különösen hasznos kisebb SSD-k esetén.
  • Teljesítmény javítása: Bár közvetlenül nem gyorsítja fel drámaian a rendszert, egy tiszta rendszer kevesebb felesleges adatot dolgoz fel, és rendezettebb marad, ami hosszú távon hozzájárul a stabilitáshoz.
  • Rendszerstabilitás: A régi, elavult konfigurációs fájlok vagy csomagok ütközéseket okozhatnak a jövőbeli frissítések során. A rendszeres karbantartás segít megelőzni ezeket a problémákat.
  • Rendezett környezet: Egy tiszta rendszeren könnyebb megtalálni a szükséges fájlokat, és jobban áttekinthető a telepített szoftverek listája.

1. A Pacman gyorsítótár tisztítása

A Pacman, az Arch Linux csomagkezelője, minden letöltött csomagot a gyorsítótárában tárol (alapértelmezetten a /var/cache/pacman/pkg/ mappában). Ez lehetővé teszi a csomagok újratelepítését internetkapcsolat nélkül, vagy a korábbi verziókra való visszaállást. Azonban idővel hatalmasra duzzadhat.

Régi, telepítetlen csomagok eltávolítása

Ez a parancs eltávolítja az összes olyan csomagot a gyorsítótárból, amely már nincs telepítve a rendszeren, és az összes telepített csomagból csak a legújabb verziót hagyja meg. Ez a legbiztonságosabb és leggyakoribb tisztítási módszer:

sudo pacman -Sc

A rendszer rákérdez majd, hogy „do you want to remove all other currently installed packages not currently installed?” (nem telepített csomagok eltávolítása). Nyomjunk „y”-t.

Minden csomag eltávolítása a gyorsítótárból

Ez a parancs teljesen kiüríti a Pacman gyorsítótárát. Csak akkor használjuk, ha biztosak vagyunk benne, hogy nincs szükségünk régebbi csomagverziókra, és van stabil internetkapcsolatunk a jövőbeni telepítésekhez:

sudo pacman -Scc

Két kérdést is feltesz: „remove all other currently installed packages not currently installed?” (nem telepített csomagok eltávolítása) és „remove all files from cache?” (minden fájl eltávolítása a gyorsítótárból). Mindkettőre „y”-t válaszolva ürítjük a teljes gyorsítótárat.

A paccache eszköz használata

A pacman-contrib csomag tartalmaz egy hasznos szkriptet, a paccache-t, amely sokkal finomabban tudja kezelni a gyorsítótárat. Ez az ajánlott módszer a haladó felhasználók számára.

Először győződjünk meg róla, hogy telepítve van:

sudo pacman -S pacman-contrib

Példák a paccache használatára:

  • Csak az utolsó három verziót tartja meg minden csomagból, a többit törli:
    sudo paccache -r
  • Csak az utolsó egy verziót tartja meg minden csomagból:
    sudo paccache -rk1
  • Megmutatja, mennyi helyet foglal a gyorsítótár:
    paccache -d
  • Mindent töröl, ami a gyorsítótárban van (ugyanaz, mint a pacman -Scc):
    sudo paccache -ruk0

2. Árva csomagok eltávolítása

Az árva csomagok (orphaned packages) olyan programok vagy könyvtárak, amelyeket egy másik csomag függőségként telepített, de az a csomag azóta már eltávolításra került. Mivel már nincs rájuk szükség, feleslegesen foglalják a helyet.

Árva csomagok listázása

Ezzel a paranccsal listázhatjuk az összes árva csomagot:

pacman -Qtdq

Ha a parancs nem ad vissza semmit, az azt jelenti, hogy nincsenek árva csomagok a rendszeren.

Árva csomagok eltávolítása

Ha vannak árva csomagok, az alábbi paranccsal távolíthatjuk el őket:

sudo pacman -Rns $(pacman -Qtdq)

A -Rns kapcsolók biztosítják, hogy a csomagokat, azok függőségeit (amelyek más csomagoknak már nem függőségei) és a konfigurációs fájljaikat is eltávolítsa.

3. Konfigurációs fájlok kezelése (.pacnew és .pacsave)

Amikor egy csomag frissül, és új konfigurációs fájlokat vezet be, amelyek ütköznek a már meglévő (esetlegesen módosított) fájlokkal, a Pacman .pacnew vagy .pacsave kiterjesztésű fájlokat hoz létre. Fontos, hogy ezeket rendszeresen ellenőrizzük és összevonjuk vagy töröljük őket, hogy elkerüljük a problémákat.

Keresés és összehasonlítás

A pacdiff egy hasznos eszköz a .pacnew és .pacsave fájlok kezelésére:

sudo pacdiff

A pacdiff végigvezet a talált fájlokon, és lehetőséget ad azok összehasonlítására (pl. vimdiff, meld segítségével) és kezelésére. Érdemes megvizsgálni a változtatásokat, és eldönteni, hogy megtartjuk-e a saját beállításainkat, vagy elfogadjuk az új konfigurációt.

Ezeket a fájlokat manuálisan is megtalálhatjuk:

sudo find /etc -name "*.pacnew"
sudo find / -name "*.pacsave"

4. Rendszernaplók (Journal Logs) tisztítása

A systemd-journald kezeli a rendszernaplókat, amelyek a /var/log/journal/ könyvtárban tárolódnak. Ezek a naplók idővel rendkívül nagyra nőhetnek, különösen, ha valamilyen rendszerhiba vagy gyakori esemény generál sok bejegyzést.

A naplók aktuális méretének ellenőrzése

journalctl --disk-usage

Naplók törlése méret alapján

Ezzel a paranccsal törölhetjük a naplókat, úgy, hogy csak az utolsó 50 megabájt maradjon meg:

sudo journalctl --vacuum-size=50M

Cseréljük az 50M értéket a kívánt méretre (pl. 1G, 200M).

Naplók törlése idő alapján

Ezzel a paranccsal törölhetjük az egy hónapnál régebbi naplókat:

sudo journalctl --vacuum-time=1M

Cseréljük az 1M értéket a kívánt időtartamra (pl. 7d a 7 napra, 1y az 1 évre).

Ha a naplók túl gyorsan nőnek, érdemes megfontolni a /etc/systemd/journald.conf fájl szerkesztését a SystemMaxUse opcióval a maximális méret korlátozásához.

5. Felhasználói gyorsítótárak és ideiglenes fájlok

A felhasználói programok is generálnak gyorsítótárakat és ideiglenes fájlokat a felhasználói könyvtárban, leggyakrabban a ~/.cache/ mappában, de máshol is előfordulhatnak.

Általános felhasználói gyorsítótár

A legtöbb program a ~/.cache/ mappát használja. Ennek tartalmát viszonylag biztonságos törölni, de legyünk óvatosak, mert ez a mappától függően programindítási lassulást okozhat (pl. webböngészők, képgalériák).

rm -rf ~/.cache/*

A rm parancs használatakor mindig legyünk rendkívül óvatosak!

Miniatűrök gyorsítótára (Thumbnails Cache)

A grafikus környezetek (pl. GNOME, KDE) miniatűröket generálnak a képekről és videókról, amelyek a ~/.cache/thumbnails/ mappában tárolódnak. Ezek idővel sok helyet foglalhatnak:

rm -rf ~/.cache/thumbnails/*

Webböngészők gyorsítótára és adatai

A webböngészők a legtöbb helyet foglaló alkalmazások közé tartozhatnak. A böngészők beépített tisztítóeszközeit (pl. Firefox: „Előzmények és adatok törlése”; Chrome: „Böngészési adatok törlése”) érdemes használni. Manuálisan is törölhetjük a cache fájlokat, de ez kevésbé ajánlott, hacsak nem tudjuk pontosan, mit csinálunk.

  • Firefox: ~/.mozilla/firefox/<profil_név>/cache2/
  • Chromium/Chrome: ~/.config/chromium/Default/Cache/ vagy ~/.config/google-chrome/Default/Cache/

Kukába helyezett fájlok

Ne felejtsük el kiüríteni a kukát! A grafikus felületen keresztül általában van erre gomb, de parancssorból is megtehetjük:

rm -rf ~/.local/share/Trash/*

Ideiglenes fájlok a /tmp és /var/tmp mappákban

A /tmp mappa tartalma általában a rendszer újraindításakor törlődik. A systemd-tmpfiles-clean.timer szolgáltatás gondoskodik erről. A /var/tmp mappa tartalmát a tmpfiles.d konfigurációja alapján időnként törlik, de általában tovább megmarad. Manuálisan is törölhetjük a felesleges fájlokat ezekből a mappákból, de legyünk óvatosak, nehogy éppen futó programok által használt ideiglenes fájlokat töröljünk.

6. AUR Helper (pl. yay, paru) gyorsítótára és build könyvtárai

Ha az Arch User Repository-ból (AUR) telepítünk csomagokat egy AUR helperrel (pl. yay, paru), ezek a segédeszközök is tárolhatnak gyorsítótárazott csomagokat és építési könyvtárakat, amelyek sok helyet foglalhatnak.

Yay tisztítása

A yay parancssora hasonló a Pacmanéhez. A gyorsítótár ürítésére használhatjuk:

yay -Sc

Teljes gyorsítótár ürítése:

yay -Scc

Az árva csomagokat is felismeri:

yay -Yc

A yay általában eltávolítja az építési könyvtárakat a telepítés után, de ha valamiért megmaradtak, manuálisan is törölhetjük azokat a mappákat, ahol az AUR csomagokat fordítottuk (gyakran a felhasználói home könyvtárban lévő alkönyvtárak).

Paru tisztítása

A paru szintén hasonlóan működik:

paru -Sc
paru -Scc

Árva csomagok kezelése:

paru -c

7. Nagy fájlok és könyvtárak azonosítása

Ha a fenti lépések nem szabadítanak fel elegendő helyet, érdemes megkeresni, mi foglalja a legtöbb helyet a lemezen.

du parancs

A du (disk usage) parancs segít azonosítani a nagy könyvtárakat. Például a /home könyvtárban:

sudo du -sh /home/*

Ez kiírja a mappák méretét. A -s összegzi, a -h emberi olvasható formátumban mutatja.

Rekurzívan, sorrendben:

sudo du -h --max-depth=1 / | sort -rh

Ez kiírja a gyökérkönyvtár alatti alkönyvtárak méretét, méret szerint csökkenő sorrendben.

ncdu interaktív eszköz

Az ncdu (NCurses Disk Usage) egy interaktív eszköz, amely vizuálisan jeleníti meg a lemezhasználatot. Nagyon intuitív és hasznos a nagy fájlok és mappák felkutatására.

Telepítés:

sudo pacman -S ncdu

Használat (pl. a gyökérkönyvtárban):

sudo ncdu /

Navigáljunk a nyilakkal, és az Enterrel lépjünk be a mappákba. A d billentyűvel törölhetjük a kiválasztott elemet (nagyon óvatosan használjuk!).

8. Takarítás automatizálása

A rendszeres karbantartás érdekében érdemes automatizálni a tisztítási folyamatok egy részét. Ezt megtehetjük cron jobokkal vagy systemd timer unitokkal.

Példa systemd timerre a Pacman gyorsítótár tisztítására

Hozzon létre egy /etc/systemd/system/paccache.timer fájlt a következő tartalommal:

[Unit]
Description=Clean Pacman Cache Weekly

[Timer]
OnCalendar=weekly
Persistent=true

[Install]
WantedBy=timers.target

És egy /etc/systemd/system/paccache.service fájlt a következő tartalommal:

[Unit]
Description=Clean Pacman Cache

[Service]
Type=oneshot
ExecStart=/usr/bin/paccache -r

Ezután engedélyezze és indítsa el a timert:

sudo systemctl enable paccache.timer
sudo systemctl start paccache.timer

Ez minden héten futtatja a paccache -r parancsot.

Jó szokások és megelőzés

  • Gondosan válasszon csomagokat: Telepítsen csak olyan programokat, amelyekre valóban szüksége van. Az Arch minimalista filozófiája erre ösztönöz.
  • Használja a --asdeps opciót: Ha kézzel telepít egy csomagot, de az valójában egy másik program függőségeként szolgálna (és nem akarja, hogy önállóan maradjon, ha a fő programot eltávolítja), telepítse úgy, hogy --asdeps opciót ad hozzá: sudo pacman -S --asdeps csomag_neve. Bár a Pacman elég okos az árva csomagok felismerésére, ez segít a nyomon követésben.
  • Rendszeres frissítés: A sudo pacman -Syu rendszeres futtatása biztosítja, hogy a legújabb csomagverziókkal dolgozzon, és csökkenti az ütközések esélyét.
  • Időnkénti felülvizsgálat: Futtassa a pacman -Q parancsot, és nézze át a telepített csomagok listáját. Lehet, hogy van olyan program, amit már nem használ, de még mindig ott van.

Összegzés

Az Arch Linux karbantartása, különösen a felesleges fájloktól való tisztán tartása, elengedhetetlen a hosszú távú stabilitás és teljesítmény fenntartásához. A Pacman gyorsítótár, az árva csomagok, a rendszernaplók és a felhasználói gyorsítótárak rendszeres ellenőrzése és tisztítása hozzájárul egy gördülékenyebb élményhez. Ne feledjük, az Arch a kontrollról szól, és ez magában foglalja a rendszer feletti kontrollt is. Ezekkel a tippekkel és eszközökkel felvértezve Ön is proaktívan gondoskodhat Arch Linux rendszerének egészségéről és hatékonyságáról. Jó tisztítást!

Leave a Reply

Az e-mail címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük