# [WORLD]nettoyage de world

## bdouxx

Bonjour

Je souhaiterai nettoyer mon fichier /var/lib/portage/world qui fait actuellement 128 lignes. Car il m'a fallut pas mal de temps pour découvrir l'option --oneshoot, pour relancer les emerge qui plantent.

Quelle est votre technique pour faire ce ménage?

Avez vous une idée de tout ce que je peux supprimer dans le miens?

J'ai déjà enlevé tout ce que je voyais contenant "lib", mais après je ne sais pas trop comment faire une sélection.

après les suppressions je lance histoire que se soit clean:

dispatch-conf;source /etc/profile; emerge --depclean;eclean-dist -id

updatedb; revdep-rebuild -i

time emerge --update --deep --newuse --ask world

Y a t'il d'autres chose  a lancer?

As t'on le droit de mettre des commentaires dans ce fichier?  ca me permettrait de tracer plus facilement ce que j'installe et pourquoi je l'installe.

```

app-admin/logrotate

app-admin/syslog-ng

app-antivirus/clamav

app-arch/p7zip

app-arch/q7z

app-arch/rpm

app-cdr/k3b

app-crypt/truecrypt

app-doc/doxygen

app-editors/gvim

app-editors/scite

app-emulation/qemu-kvm

app-emulation/wine

app-laptop/radeontool

app-office/grisbi

app-office/openoffice

app-portage/eix

app-portage/gentoolkit

app-portage/layman

app-portage/mirrorselect

app-portage/portage-utils

app-shells/ksh

app-text/acroread

app-vim/vim-spell-fr

app-xemacs/emerge

dev-db/mysql

dev-db/phpmyadmin

dev-embedded/gpsim

dev-embedded/gputils

dev-embedded/sdcc

dev-games/physfs

dev-perl/gimp-perl

dev-perl/wxperl

dev-php/PEAR-PhpDocumentor

dev-php5/PEAR-DbUnit

dev-php5/PEAR-File_Iterator

dev-php5/PEAR-PHP_CodeCoverage

dev-php5/PEAR-PHP_Timer

dev-php5/PEAR-PHP_TokenStream

dev-php5/PEAR-Text_Template

dev-php5/ezc-Base

dev-php5/ezc-ConsoleTools

dev-php5/phpunit

dev-php5/phpunit-mockobject

dev-php5/phpunit-selenium

dev-php5/xdebug

dev-python/PyQt4

dev-util/eclipse-sdk

dev-util/lafilefixer

dev-util/netbeans

dev-util/qt-creator

dev-util/rapidsvn

dev-vcs/git

dev-vcs/kdesvn

dev-vcs/mercurial

dev-vcs/subversion

games-board/crafty

games-board/phalanx

games-board/scid

kde-base/dolphin

kde-base/kcachegrind

kde-base/kde-env

kde-base/kde-l10n

kde-base/kdebase-meta

kde-base/kdebase-runtime-meta

kde-base/kdeplasma-addons

kde-base/kdm

kde-base/kfmclient

kde-base/kgpg

kde-base/kinfocenter

kde-base/kmix

kde-base/knotify

kde-base/kolourpaint

kde-base/kompare

kde-base/krunner

kde-base/kstartupconfig

kde-base/ksystraycmd

kde-base/oxygen-icons

kde-base/phonon-kde

kde-base/plasma-apps

kde-base/plasma-workspace

kde-base/systemsettings

kde-base/umbrello

media-sound/alsa-utils

media-sound/amarok

media-sound/audacious

media-sound/easytag

media-sound/ogmtools

media-sound/vorbis-tools

media-video/mkvtoolnix

media-video/thoggen

media-video/vlc

media-video/x264-encoder

media-video/xine-ui

net-analyzer/nagios

net-analyzer/nagios-core

net-analyzer/nmap

net-analyzer/scapy

net-analyzer/traceroute

net-analyzer/wireshark

net-dns/bind-tools

net-fs/nfs-utils

net-ftp/filezilla

net-ftp/ftp

net-ftp/ncftp

net-im/pidgin

net-libs/xulrunner

net-misc/bridge-utils

net-misc/dhcp

net-misc/dhcpcd

net-misc/mediatomb

net-misc/ntp

net-misc/pump

net-misc/wicd

net-print/cups

net-wireless/aircrack-ng

net-wireless/iw

net-wireless/rt61-firmware

net-wireless/wireless-tools

sys-apps/ethtool

sys-apps/ifplugd

sys-apps/mlocate

sys-block/gparted

sys-boot/grub

sys-devel/gcc

sys-fs/dosfstools

sys-fs/lvm2

sys-fs/mtools

sys-kernel/genkernel

sys-kernel/gentoo-sources

sys-kernel/module-rebuild

sys-power/acpid

sys-process/vixie-cron

virtual/httpd-php:5.3

virtual/opengl

www-apps/drupal

www-client/chromium

www-client/epiphany

www-client/firefox

www-client/links

www-client/lynx

www-plugins/adobe-flash

www-plugins/kaffeine-mozilla-plugin

www-plugins/nspluginwrapper

www-servers/apache

x11-apps/mesa-progs

x11-base/xorg-drivers

x11-base/xorg-server

x11-base/xorg-x11

x11-drivers/xf86-input-evdev

x11-drivers/xf86-input-keyboard

x11-drivers/xf86-input-mouse

x11-drivers/xf86-video-ati

x11-drivers/xf86-video-fbdev

x11-drivers/xf86-video-vesa

x11-misc/xkeyboard-config

x11-plugins/pidgin-extprefs

xfce-base/xfce4-meta

```

MerciLast edited by bdouxx on Wed Jan 12, 2011 5:49 pm; edited 1 time in total

----------

## kernelsensei

Salut,

en fait tu peux aller dans le sens inverse, comme expliqué ici (en anglais).

En gros l'idée c'est de faire ça :

1. Tu vides ton fichier world (fais quand même une backup avant)

2. Tu lances regenworld (qui va te reconstruire un fichier world à partir de ce qui est installé)

3. Tu lances emerge --depclean -p et tu notes les paquets que tu veux absolument avoir installé

4. Pour chaque paquet que tu as noté, tu les ajoute au fichier world : emerge -n catégorie/paquet

5. emerge -auvDN world

6. Répète 3,4,5 jusqu'à ce que depclean n'affiche plus de paquets que tu veux absolument avoir.

7. emerge -auvDN world

8. emerge --depclean (sans le -p)

9. emerge -auvDN world

10. revdep-rebuild

Je ne l'ai pas testé personnellement, mais ça devrait marcher. Il y a aussi udept qui peut cleaner ton fichier world dans portage, mais il est masqué car plus maintenu et il peut y avoir de possibles bugs.

Voilà  :Wink: 

PS : Merci de modifier ton titre afin qu'il soit conforme aux conventions

----------

## Magic Banana

 *bdouxx wrote:*   

> Quelle est votre technique pour faire ce ménage?

 

La seule bonne méthode consiste à parcourir, une à une, les lignes de world en te posant la question suivante : "est-ce que j'utilise directement ce logiciel (ou n'est-il installé que parce qu'un autre en dépend) ?". Si oui, tu gardes la ligne. Si non, tu la supprimes.

Note qu'il est est tout à fait possible, avec cette méthode, que tu gardes dans world des logiciels qui sont pourtant des dépendances d'autres (c'est pour cela que les méthode automatique ne sont pas "bonnes"). Par exemple je vois que tu as net-wireless/wireless-tools. Peut-être t'en sers-tu directement. Dans ce cas, garde-le. Peut-être qu'il n'est installé que parce que tu as, aussi, net-wireless/aircrack-ng (et je ne sais quel outil KDE qui permet de se connecter en Wifi). Dans ce cas, vire le. Ainsi, par le futur, si tu décides de ne plus utiliser net-wireless/aircrack-ng (et l'outil KDE), et que tu le(s) "emerge --unmerge --deep", net-wireless/wireless-tools ne sera désinstallé que si tu ne t'en sers pas directement. C'est bien ce que tu veux.

 *bdouxx wrote:*   

> après les suppressions je lance histoire que se soit clean:
> 
> dispatch-conf;source /etc/profile; emerge --depclean;eclean-dist -id
> 
> updatedb; revdep-rebuild -i
> ...

 

Il y en a déjà trop ! Normalement, tout ce dont tu as besoin pour supprimer d'éventuels logiciels installés inutilement c'est "emerge --depclean" puis "revdep-rebuild" (car des bibliothèques peuvent malheureusement être cassées par "emerge --depclean" qui ne "sait" pas tout). Le "eclean distfiles" permet ensuite de virer des sources qui ne seront plus utiles. Il permet donc de gagner un peu d'espace disque.

Chose importante : ça ne fait pas de mal d'ajouter l'option "--pretend" au emerge --depclean". Histoire de détecter quelque chose d'anormal (des logiciels utiles qui seraient désinstallés par "emerge --depclean"). Pour moins de problème en cas de bourde, tu peux exécuter ce "emerge --depclean --pretend" après chaque suppression dans world. En effet, si "emerge --depclean" désinstallerait des logiciels utiles, tu risques d'avoir du mal à trouver la ligne de world "coupable" si tu en as supprimé des dizaines.

 *bdouxx wrote:*   

> As t'on le droit de mettre des commentaires dans ce fichier?

 

Je crois que oui. Essaie le '#'.

EDIT : Bon... cela n'a pas l'air d'être la "seule" bonne méthode puisque kernelsensei en a une autre. En tout cas, le processus choisi ne devrait pas être automatique.

----------

