Eclean

From Gentoo Wiki
Jump to:navigation Jump to:search
This page is a translated version of the page Eclean and the translation is 63% complete.
Outdated translations are marked like this.

eclean es una herramienta para limpiar los ficheros fuente del repositorio y los paquetes binarios. Es parte del paquete app-portage/gentoolkit y gestionado por el proyecto Portage-Tools.

Also available on Gentoo is the eclean-kernel tool, available separately from the eclean tools installed with gentoolkit​, in the app-admin/eclean-kernel package. eclean-kernel is used to automate the clean up of old Linux kernels.

Instalación

Emerge

Instale eclean:

root #emerge --ask app-portage/gentoolkit
Nota
Lea el artículo sobre Gentoolkit para obtener más información sobre otras utilidades incluidas en el paquete app-portage/gentoolkit.

Utilización

Por defecto los ficheros fuente están localizados en el directorio /usr/portage/distfiles, mientras que los paquetes binarios están localizados en el directorio /usr/portage/packages. Las localizaciones de cada uno se pueden cambiar alterando las variables DISTDIR y PKGDIR respectivamente en /etc/portage/make.conf. Ambas localizaciones pueden crecer bastantes si no se limpian periodicamente. Esta es la razón por la que se creó eclean.

Invocación

Utilice eclean --help para ver la lista completa de acciones, opciones y descripción de su utilización:

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:
 NONE  :)
 
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`

Limpiar los fichero de distribucion (distfiles)

Para limpiar los ficheros fuente se pasa el argumento distfiles:

root #eclean distfiles

O se lanza la opción corta:

root #eclean-dist

Limpiar paquetes

Para el directorio con los paquetes binarios se utilza la orden:

root #eclean packages

O se lanza la opción corta:

root #eclean-pkg

Opciones

Por defecto no se borran los ficheros fuente y los paquetes binarios correspondientes a cualquier ebuild en el repositorio. De esta forma, los administradores del sistema pueden bajar de versión de un paquete de forma fácil o instalar un paquete que se eliminó anteriormente siempre que el paquete esté todavía en el árbol actual del repositorio.

A modo de ejemplo, suponga que los paquetes foo-1.0 y foo-1.1 se encuentran ambos en el repositorio. Después de actualizar desde foo-1.0 hacia foo-1.1, lance eclean distfiles: se mantendrán los ficheros fuente de ambas versiones de modo que si hay un problema con foo-1.1 entonces el usuario puede instalar fácilmente foo-1.0 sin tener que descargar los fuentes de nuevo.

El otro caso posible es instalar un paquete que se eliminó previamente. Suponga que un paquete foo (cualquier versión) está instalado en el sistema. Después de (inadvertidamente) eliminarlo y lanzar eclean distfiles, los ficheros fuente para foo se mantendrán de modo que se puedan reinstalar si tener que descargar de nuevo los ficheros fuente.

Los mismos ejemplos se pueden aplicar para paquetes binarios.

Para conservar más espacio en disco, añada la opción --deep: cada fichero fuente o paquete binario que no corresponda con algún paquete actualmente instalado (la versión es importante) se eliminará. Por favor, observe quede esta forma los usuarios no estarán protegidos en el caso en que deseen bajar la versión de un paquete o instalar de nuevo un paquete eliminado previamente.

Como alternativa, utilice tanto la opción --deep como la opción --package-names: Cada fichero fuente o paquete binario que no corresponda con algún paquete instalado actualmente (la versión no importa), se eliminará. Esto tampoco protegerá en el caso en el que se necesite instalar de nuevo un paquete que se eliminó previamente pero protegerá los fuentes si se quiere bajar la versión de paquete más adelante.

Para obtener más detalles, lea la página eclean(1) del manual:

user $man 1 eclean

Troubleshooting

Cleaning leaves some distfiles

Problem: when trying to clean distfiles, some distfiles are not removed and the message "The following unavailable installed packages were found" is displayed. For example:

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

This situation occurs when a package's ebuild has been removed from the Gentoo ebuild repository and the package is currently installed on the system. Generally if the listed packages/distfiles are no longer needed; the reason they are not being removed is because they are listed in Portage's world file.

The solution is to to remove the packages from the world file, or remove the specific package atom(s) via:

root #emerge --ask --depclean =sys-kernel/gentoo-sources-4.19.44

Then re-run eclean again in order to remove the distfiles.

Vea también