eclean

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Eclean and the translation is 100% complete.


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
Tip
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