eclean
Az eclean egy eszköz a szoftvertárolókban lévő forrásfájlok, és bináris programcsomagok tisztítására. Része a gentoolkit eszközkészletnek.
Továbbá, a Gentoo rendszeren elérhető az eclean-kernel eszköz, amely a gentoolkit-tel telepített eclean eszközöktől külön érhető el, az app-admin/eclean-kernel csomagban. Az eclean-kernel a régi Linux kernelek tisztításának automatizálására szolgál.
Telepítés
Emerge
Telepítse a app-portage/gentoolkit programcsomagot:
root #
emerge --ask app-portage/gentoolkit
Tekintse meg a Gentoolkit cikkét az app-portage/gentoolkit csomagban található egyéb segédprogramokról.
Használat
Alapértelmezés szerint a forrásfájlok a /var/cache/distfiles könyvtárban, míg a bináris csomagok a /var/cache/binpkgs könyvtárban találhatók. Mindegyik helye megváltoztatható a DISTDIR és a PKGDIR változók módosításával az /etc/portage/make.conf fájlban. Mindkét hely meglehetősen nagyra nőhet, ha nem tisztítják rendszeresen. Ez az oka annak, hogy az eclean parancs (ami egy futtatható program) meg lett alkotva.
Meghívása
Használja az eclean --help parancsot a műveletek teljes összefoglalásához, az opciók listájához, és a használati lebontáshoz:
user $
eclean --help
Usage: eclean [global-option] ... <action> [action-option] ... eclean-dist [global-option, distfiles-option] ... eclean-pkg [global-option, packages-option] ... eclean(-dist,-pkg) [--help, --version] Available global options: -C, --nocolor - turn off colors on output -d, --deep - only keep the minimum for a reinstallation -e, --exclude-file=<path> - path to the exclusion file -i, --interactive - ask confirmation before deletions -n, --package-names - protect all versions (when --deep) -p, --pretend - only display what would be cleaned -q, --quiet - be as quiet as possible -t, --time-limit=<time> - don't delete files modified since <time> <time> is a duration: "1y" is "one year", "2w" is "two weeks", etc. Units are: y (years), m (months), w (weeks), d (days) and h (hours). -h, --help - display the help screen -V, --version - display version info Available actions: packages - clean outdated binary packages from PKGDIR distfiles - clean outdated packages sources files from DISTDIR Available options for the packages action: --changed-deps - delete packages for which ebuild dependencies have changed -i, --ignore-failure - ignore failure to locate PKGDIR Available options for the distfiles action: -f, --fetch-restricted - protect fetch-restricted files (when --deep) -s, --size-limit=<size> - don't delete distfiles bigger than <size> <size> is a size specification: "10M" is "ten megabytes", "200K" is "two hundreds kilobytes", etc. Units are: G, M, K and B. More detailed instruction can be found in `man eclean`
A distfájlok tisztítása
Tisztítsa meg a forrásfájlok könyvtárát a distfiles
argumentum átadásával:
root #
eclean distfiles
Vagy a rövid opció futtatásával:
root #
eclean-dist
Csomagok törlése
A bináris csomagokat tartalmazó könyvtárak megtisztításához használja inkább a következő parancsot:
root #
eclean packages
Vagy a rövid opció futtatásával:
root #
eclean-pkg
Opciók
Alapértelmezés szerint nem töröljük azokat a forrásfájlokat és a bináris csomagokat, amelyek megfelelnek az aktuális tárolóban szereplő ebuild-nek. Ilyen módon a rendszergazdák könnyen visszaállíthatják (downgrade) a csomagot vagy telepíthetik a korábban eltávolított csomagot, feltéve, hogy a csomag továbbra is az aktuális szoftvertároló fában van.
Például tegyük fel, hogy a foo-1.0 és a foo-1.1 csomagok egyaránt a szoftvertárolóban vannak. A foo-1.0-ról a foo-1.1-re történő frissítés után futtassa az eclean distfiles parancsot: Mindkét verzióhoz a forrásfájl meg lesz őrizve, tehát ha egy probléma merül fel az (újabb) foo-1.1 verziójúval, akkor a felhasználó könnyen újra telepítheti a (régebbi) foo-1.0 verziójút anélkül, hogy bármit is újra le kellene töltenie.
A másik lehetséges eset a korábban eltávolított csomag telepítése. Tegyük fel, hogy a rendszerre egy csomag (bármilyen verzió) van telepítve a rendszerre. A (véletlenül) eltávolítása és az Eclean Distfiles futtatásának után a FOO forrásfájljait megőrizni kell, így újratelepíthető bármi újbóli letöltése nélkül.
Ugyanezek a példák érvényesek a bináris csomagokra is.
További lemezterület megtakarításához adja hozzá a --deep
opciót. Ezáltal minden forráskód-fájl vagy bináris programcsomag, amely nem felel meg valamilyen jelenleg telepített programcsomagnak (a verzió számít) az törlődni fog. Kérjük, vegye figyelembe, hogy így a felhasználók nem lesznek megvédve, ha egy programcsomagot vissza kell állítani a korábbi verzióra, vagy amikor majd újra kell telepíteni, egy korábban eltávolított programcsomagot.
Alternatív megoldásként használja a --deep
és a --package-names
egyszerre. Minden forráskód-fájlt vagy bináris programcsomagot, amely nem felel meg néhány jelenleg telepített programcsomagnak (a verzió nem számít), törölni fogják. Ez még mindig nem védi meg, ha egy korábban eltávolított csomag újratelepítésére van szükség, de megvédi a forráskód-fájlokat, ha a programcsomagot később egy korábbi verzióra kell visszaállítani.
További részletekért olvassa el az eclean(1) man oldalát:
user $
man 1 eclean
Hibaelhárítás
A tisztítás néhány distfiájlt hagy maga után
Probléma: amikor megpróbálja megtisztítani a disztfájlokat, akkor néhány disztfájl nem kerül eltávolításra, és a következő üzenet jelenik meg: "A következő nem elérhető telepített csomagok találhatók". Például:
root #
eclean --deep distfiles
* Building file list for distfiles cleaning... * Your distfiles directory was already clean. The following unavailable installed packages were found sys-kernel/gentoo-sources-4.19.44 sys-kernel/gentoo-sources-4.19.45 sys-kernel/gentoo-sources-4.19.46
Ez a helyzet akkor fordul elő, ha egy csomag ebuild-jét eltávolították a Gentoo ebuild szoftvertárolóból, és a programcsomag jelenleg telepítve van a rendszeren. Általában, ha a felsorolt csomagokra/distfájlokra már nincs szükség, akkor azért nem távolítják el őket, mert szerepelnek a Portage's world fájljában.
A megoldás az, hogy eltávolítjuk a csomagokat a world fájlból, vagy távolítsuk el az adott csomag atomo(ka)t a következő módon:
root #
emerge --ask --depclean =sys-kernel/gentoo-sources-4.19.44
Ezután futtassa újra az eclean parancsot a diszfájlok eltávolításához.
További olvasnivaló a témában
- Gentoolkit
- Tudásbázis: Az elavult disztfájlok eltávolítása
- DISTDIR — defines the location where Portage will store the downloaded source code archives.