eclean/fr
eclean est un outil visant à nettoyer les fichiers sources du dépôt et les paquets binaires. C'est un composant du paquet app-portage/gentoolkit et est maintenu par le projet 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.
Installation
Emerge
Installer eclean :
root #
emerge --ask app-portage/gentoolkit
Voir l’article Gentoolkit pour des informations sur les autres utilitaires du paquet app-portage/gentoolkit.
Utilisation
Par défaut, les fichiers source sont dans le dossier /usr/portage/distfiles, les binaires dans /usr/portage/packages. Ces emplacements peuvent être modifiés avec les variables DISTDIR et PKGDIR dans /etc/portage/make.conf. Ces deux dossiers peuvent devenir très volumineux s’ils ne sont pas périodiquement nettoyés, c’est la raison d’être de eclean.
Invocation
Utiliser eclean --help pour voir la liste des options et de leurs usages :
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`
Nettoyage des sources
Nettoyer le dossier des fichiers source avec l’argument distfiles
:
root #
eclean distfiles
Ou avec le raccourci :
root #
eclean-dist
Nettoyage des paquets binaires
Utiliser l’argument packages
pour le dossier des binaires :
root #
eclean packages
Ou son raccourci :
root #
eclean-pkg
Options
Par défaut, ne seront pas supprimés les sources et binaires présents dans le dépôt courant. De cette manière les administrateurs système peuvent restaurer un ancien paquet ou réinstaller un paquet supprimé, tant qu’ils figurent dans le dépôt.
Supposons par exemple que les paquets foo-1.0 et foo-1.1 figurent tous deux dans le dépôt. Après mise à jour de foo-1.0 vers foo-1.1, la commande eclean distfiles préservera les sources des deux versions. S’il y a un problème avec foo-1.1, la réinstallation de foo-1.0 sera possible sans nouveau téléchargement.
Un autre cas est la réinstallation d’un paquet supprimé. Supposons qu’un paquet foo est installé, quelle que soit sa version. Après l’avoir désinstallé par erreur et avoir lancé eclean distfiles, ses fichiers source seront conservés. Il peut être réinstallé sans téléchargement.
Les mêmes exemples s’appliquent aussi aux paquets binaires.
Pour récupérer plus d’espace disque, utilisez l’option --deep
. Chaque paquet source ou binaire différent de la version actuellement installée sera supprimé. Notez alors que les utilisateurs ne seront plus protégés s’ils ont besoin de réinstaller un ancien paquet ou de revenir à une version antérieure.
Une autre possibilité est d’utiliser ensemble les options --deep
et --package-names
. Tout fichier source ou binaire ne correspondant pas à un programme installé, quelle qu’en soit la version, sera supprimé. Pas de protection en cas de réinstallation d’un paquet supprimé, mais les sources seront conservées en cas de retour à une version antérieure.
Lire la mage man de eclean(1) pour plus de détails :
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.
Voir aussi
- Gentoolkit — une suite d'outils, dont Portage, destinée à faciliter l'administration d'un système Gentoo.
- Base de données : Supprimer les distfiles obsolètes
- DISTDIR — définit l'emplacement dans lequel Portage conservera le code source téléchargé.