# (résolu) [Système] emerge --depclean a détruit mon système

## Martin.

Bonjour à tous,

Je viens de faire une grosse, grosse, grosse bétise sur mon serveur. Après avoir fait mes mises à jour, j'ai, comme Portage me l'a conseillé, lancé emerge --depclean..., puis ai continué mon travail pendant quelques minutes sans regarder ce qu'il faisait. Grossière erreur. Et de plus, j'étais persuadé qu'il allait au moins me demander une confirmation. Résultat, il m'a viré un bon nombre de paquets pour le moins importants, entre autres GCC et Python... Ce qui veut dire que je ne peux plus rien ré-installer... J'ai eu de la "chance", il a planté après quelques paquets. Voici ce qu'il a eu le temps de désinstaller :

```
1305727586: Started emerge on: May 18, 2011 16:06:26

1305727586:  *** emerge  depclean

1305727587:  >>> depclean

1305727599: === Unmerging... (perl-core/libnet-1.22)

1305727602:  >>> unmerge success: perl-core/libnet-1.22

1305727602: === Unmerging... (perl-core/Package-Constants-0.02)

1305727604:  >>> unmerge success: perl-core/Package-Constants-0.02

1305727604: === Unmerging... (perl-core/DB_File-1.820)

1305727606:  >>> unmerge success: perl-core/DB_File-1.820

1305727606: === Unmerging... (perl-core/IO-Zlib-1.10)

1305727608:  >>> unmerge success: perl-core/IO-Zlib-1.10

1305727608: === Unmerging... (sys-kernel/hardened-sources-2.6.28-r9)

1305727669:  >>> unmerge success: sys-kernel/hardened-sources-2.6.28-r9

1305727669: === Unmerging... (perl-core/Compress-Raw-Zlib-2.024)

1305727671:  >>> unmerge success: perl-core/Compress-Raw-Zlib-2.024

1305727671: === Unmerging... (perl-core/digest-base-1.16)

1305727673:  >>> unmerge success: perl-core/digest-base-1.16

1305727673: === Unmerging... (dev-php5/suhosin-0.9.31)

1305727676:  >>> unmerge success: dev-php5/suhosin-0.9.31

1305727676: === Unmerging... (net-mail/uw-mailutils-2007e)

1305727677:  >>> unmerge success: net-mail/uw-mailutils-2007e

1305727677: === Unmerging... (net-dns/libidn-1.19)

1305727680:  >>> unmerge success: net-dns/libidn-1.19

1305727680: === Unmerging... (dev-perl/log-dispatch-2.22)

1305727681:  >>> unmerge success: dev-perl/log-dispatch-2.22

1305727681: === Unmerging... (dev-perl/yaml-0.71)

1305727683:  >>> unmerge success: dev-perl/yaml-0.71

1305727683: === Unmerging... (virtual/httpd-cgi-0)

1305727684:  >>> unmerge success: virtual/httpd-cgi-0

1305727684: === Unmerging... (sys-apps/ed-1.0)

1305727686:  >>> unmerge success: sys-apps/ed-1.0

1305727686: === Unmerging... (perl-core/Compress-Raw-Bzip2-2.024)

1305727688:  >>> unmerge success: perl-core/Compress-Raw-Bzip2-2.024

1305727688: === Unmerging... (dev-lang/python-2.6.6-r2)

1305727692:  >>> unmerge success: dev-lang/python-2.6.6-r2

1305727692: === Unmerging... (sys-apps/xinetd-2.3.14)

1305727693:  >>> unmerge success: sys-apps/xinetd-2.3.14

1305727693: === Unmerging... (perl-core/Digest-SHA-5.47)

1305727694:  >>> unmerge success: perl-core/Digest-SHA-5.47

1305727694: === Unmerging... (x11-misc/read-edid-1.4.2)

1305727695:  >>> unmerge success: x11-misc/read-edid-1.4.2

1305727695: === Unmerging... (dev-perl/Mail-Sender-0.8.13)

1305727696:  >>> unmerge success: dev-perl/Mail-Sender-0.8.13

1305727696: === Unmerging... (dev-perl/Test-Exception-0.27)

1305727697:  >>> unmerge success: dev-perl/Test-Exception-0.27

1305727697: === Unmerging... (sys-kernel/hardened-sources-2.6.32-r22)

1305727784:  >>> unmerge success: sys-kernel/hardened-sources-2.6.32-r22

1305727784: === Unmerging... (virtual/httpd-php-5.2)

1305727785:  >>> unmerge success: virtual/httpd-php-5.2

1305727785: === Unmerging... (perl-core/version-0.82)

1305727786:  >>> unmerge success: perl-core/version-0.82

1305727786: === Unmerging... (perl-core/Digest-MD5-2.39)

1305727787:  >>> unmerge success: perl-core/Digest-MD5-2.39

1305727787: === Unmerging... (sys-devel/gcc-4.3.4)

1305727789:  >>> unmerge success: sys-devel/gcc-4.3.4

1305727789: === Unmerging... (perl-core/Getopt-Long-2.38)

1305727790:  >>> unmerge success: perl-core/Getopt-Long-2.38

1305727790: === Unmerging... (sys-kernel/hardened-sources-2.6.32-r9)

1305727871:  >>> unmerge success: sys-kernel/hardened-sources-2.6.32-r9

1305727871: === Unmerging... (perl-core/IO-Compress-2.024)

1305727872:  >>> unmerge success: perl-core/IO-Compress-2.024

1305727872: === Unmerging... (perl-core/Test-Harness-3.17)

1305727873:  >>> unmerge success: perl-core/Test-Harness-3.17

1305727873: === Unmerging... (sys-devel/bc-1.06.95)

1305727874:  >>> unmerge success: sys-devel/bc-1.06.95

1305727874: === Unmerging... (sys-kernel/hardened-sources-2.6.36-r9)

1305727967:  >>> unmerge success: sys-kernel/hardened-sources-2.6.36-r9

1305727967: === Unmerging... (perl-core/Archive-Tar-1.54)

1305727968:  >>> unmerge success: perl-core/Archive-Tar-1.54

1305727968: === Unmerging... (sys-kernel/hardened-sources-2.6.36-r6)

1305728061:  >>> unmerge success: sys-kernel/hardened-sources-2.6.36-r6

1305728061: === Unmerging... (dev-perl/Email-Valid-0.184)

1305728062:  >>> unmerge success: dev-perl/Email-Valid-0.184

1305728062: === Unmerging... (perl-core/Test-Simple-0.94)

1305728063:  >>> unmerge success: perl-core/Test-Simple-0.94

1305728063: === Unmerging... (perl-core/MIME-Base64-3.08)

1305728063:  >>> unmerge success: perl-core/MIME-Base64-3.08

1305728063: === Unmerging... (perl-core/Text-Balanced-2.02)

1305728064:  >>> unmerge success: perl-core/Text-Balanced-2.02

1305728064: === Unmerging... (perl-core/Sys-Syslog-0.27)

1305728065:  >>> unmerge success: perl-core/Sys-Syslog-0.27

1305728065: === Unmerging... (sys-libs/db-4.7.25_p4)

1305728067:  >>> unmerge success: sys-libs/db-4.7.25_p4

1305728067: === Unmerging... (dev-perl/Params-Validate-0.95)

1305728068:  >>> unmerge success: dev-perl/Params-Validate-0.95

1305728068: === Unmerging... (virtual/perl-Compress-Raw-Bzip2-2.024)

1305728069:  >>> unmerge success: virtual/perl-Compress-Raw-Bzip2-2.024

1305728069: === Unmerging... (virtual/perl-Test-Simple-0.94)

1305728071:  >>> unmerge success: virtual/perl-Test-Simple-0.94

1305728071: === Unmerging... (dev-perl/Sub-Uplevel-0.20.02)

1305728072:  >>> unmerge success: dev-perl/Sub-Uplevel-0.20.02

1305728072: === Unmerging... (virtual/perl-Compress-Raw-Zlib-2.024)

1305728073:  >>> unmerge success: virtual/perl-Compress-Raw-Zlib-2.024

1305728073: === Unmerging... (virtual/perl-Package-Constants-0.02)

1305728073:  >>> unmerge success: virtual/perl-Package-Constants-0.02

1305728073: === Unmerging... (virtual/perl-Attribute-Handlers-0.88)

1305728074:  >>> unmerge success: virtual/perl-Attribute-Handlers-0.88

1305728074: === Unmerging... (perl-core/Attribute-Handlers-0.88)

1305728075:  >>> unmerge success: perl-core/Attribute-Handlers-0.88

1305728075:  *** exiting unsuccessfully with status 'None'.

1305728082:  *** terminating.
```

Je rajoute mon make.conf, à tous hasards :

```
# These settings were set by the catalyst build script that automatically

# built this stage.

# Please consult /usr/share/portage/config/make.conf.example for a more

# detailed example.

CFLAGS="-O2 -march=i686 -pipe"

CXXFLAGS="-O2 -march=i686 -pipe"

# WARNING: Changing your CHOST is not something that should be done lightly.

# Please consult http://www.gentoo.org/doc/en/change-chost.xml before changing.

CHOST="i686-pc-linux-gnu"

MAKEOPTS="-j2"

APACHE2_MPMS="prefork"

GENTOO_MIRRORS="http://mirror.switch.ch/ftp/mirror/gentoo/ ftp://mirror.switch.ch/mirror/gentoo/ "

LINGUAS="en"

USE="ipv6"
```

J'essaie de sauver mon système. Pour l'instant, je télécharge l'archive stage3... Quelqu'un s'est déjà retrouvé dans une situation aussi stupide ? Raaah je m'en veux, c'est si bête ! Et tout marchait bien. Enfin maintenant qu'on y est...

Donc, je télécharge pour le moment l'archive stage3, je pensais essayer de récupérer dedans ce qu'il me faut pour faire fonctionner Python et GCC, puis tenter un emerge -e world. Cela vous semble une bonne solution ou avez-vous de meilleures idées ?

Merci pour votre aide... J'en ai désespérément besoin :-\

Bonne journée !

EDIT : Je viens d'avoir une idée. J'ai maintenant mon stage3 décompressé. Que se passe-t-il si je m'y chroote, et que je compile Python ? Est-il possible de "rediriger" l'installation du paquet avec Portage ? Je veux dire, je lui fais installer le paquet dans une troisième racine, puis je fusionne cette troisième racine avec la première. Est-ce faisable ? Et si oui, comment rediriger cette installation ?

Merci encore pour votre aide...Last edited by Martin. on Wed May 18, 2011 4:11 pm; edited 1 time in total

----------

## netfab

L'archive téléchargeable pour python:2.6 est disponible ici, à décompresser sur ton système.

Ensuite, un :

```

# emerge -av python:2.6

```

permettra de réinstaller python:2.6 proprement, emerge va probablement t'envoyer pleins de warning, ce qui est normal.

Enfin,  pour passer à python:2.7 :

```

# eselect python set python2.7

```

Sans oublier de lancer python-updater. Tu pourras enfin désinstaller python:2.6.

Pour gcc, la version 4.4.5 doit être installée, que donne un :

```

# gcc-config -l

```

----------

## Martin.

Bonjour, et merci beaucoup pour ta réponse.

Emerge remarche, enfin Python remarche. Mais pas moyen de compiler quoi que ce soit, vu que gcc a été désinstaller. J'ai regardé sur le lien que tu m'as donné, il n'y a malheureusement pas d'archive du même genre pour gcc. EDIT : C'est bon, je l'ai trouvé. J'ai parlé (beaucoup) trop vite. Désolé

Voici le résultat de gcc-config -l :

```
# gcc-config -l

 * gcc-config: Active gcc profile is invalid!

 [1] i686-pc-linux-gnu-4.4.5

 [2] i686-pc-linux-gnu-4.4.5-hardenednopie

 [3] i686-pc-linux-gnu-4.4.5-hardenednopiessp

 [4] i686-pc-linux-gnu-4.4.5-hardenednossp

 [5] i686-pc-linux-gnu-4.4.5-vanilla
```

Merci encore.Last edited by Martin. on Wed May 18, 2011 3:23 pm; edited 1 time in total

----------

## Poussin

Je pense qu'il n'est meme pas nécessaire de réinstaller python2.6. Configurer l'utilisation de python2.7 (via eselect comme indiqué par notre ami netfab) et un petit python-updater et tout roule.

Bien entenu, il faut que le la version de gcc soit configurée (voir gcc-config). Mais ce n'est rien de dramatique (si ce n'est un problème de lecture des elogs qui t'indiquaient la marche à suivre pour passer à python 2.7). Surement pas besoin de repartir d'un stage 3 pour ça  :Smile: 

----------

## netfab

Tu dois faire un :

```

# gcc-config i686-pc-linux-gnu-4.4.5

```

----------

## Martin.

Tout fonctionne... Merci mille fois !

Je me suis fait peur quand même =)

----------

## netfab

 *Poussin wrote:*   

> Je pense qu'il n'est meme pas nécessaire de réinstaller python2.6. Configurer l'utilisation de python2.7 (via eselect comme indiqué par notre ami netfab) et un petit python-updater et tout roule.
> 
> 

 

Probablement oui, c'etait aussi l'occasion de sortir le lien de la tinderbox, plutôt que de partir dans un délire stage3+chroot  :Mr. Green: 

çà m'est arrivé sur un système l'autre jour cette histoire de python 2.6 désinstallé par --depclean, et sur le coup j'avais totalement oublié qu'il y avait python2.7 installé.

Ayant sous la main le tbz2 de la 2.6, le réflexe immédiat a été de le décompresser.

A suivre bug #367611.

----------

## barul

Est-ce qu'un revdep-rebuild aurait pu éviter ça ?

----------

## Poussin

 *Cr0k wrote:*   

> Est-ce qu'un revdep-rebuild aurait pu éviter ça ?

 

Pas du tout

----------

