# [Portage] /etc/portage supprimé accidentellement

## Mox

Bonsoir tout le monde,

J'ai supprimé le répertoire /etc/portage de mon serveur web (Release 2 OVH, basé sur Gentoo) en faisant une mauvaise manip. Est ce que c'est possible recréer ce répertoire sans risques ni conséquences pour la configuration actuelle du serveur ?

Merci d’avance pour votre aide.

----------

## kwenspc

c'est pas un répertoire critique. juste si t'avais des mask, des use flags des keywords sur des ebuilds bah tu pers ça. Pour les retrouver je vois pas trop.

----------

## Mox

 *kwenspc wrote:*   

> c'est pas un répertoire critique. juste si t'avais des mask, des use flags des keywords sur des ebuilds bah tu pers ça. Pour les retrouver je vois pas trop.

 

Merci pour ta réponse. Je suis un débutant sous Gentoo, je ne sais pas c'est ces mask, etc. Tu peux m'en dire un peux plus ?

Par contre quand j'essaie de mettre à jour clamav, j'ai ceci le message d'erreur ci-dessous. Est-ce que c'est lier aux masques que tu disais ?

```
emerge clamav

Calculating dependencies -

!!! All ebuilds that could satisfy "clamav" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-antivirus/clamav-0.95.2 (masked by: required EAPI 2, supported EAPI 1)

- app-antivirus/clamav-0.95.2-r1 (masked by: required EAPI 2, supported EAPI 1)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.
```

----------

## boozo

'alute

commence par le commencement si tu veux bien histoire que nous puissions de t'aider au mieux. Pourrais-tu s'il te plait nous coller la sortie de :

```
#emerge --info
```

btw, mais c'est pour juste ma culture : comment se retrouve-t-on avec un serveur web dédié d'ovh sur gentoo alors qu'on est débutant (sur gentoo cela va de soi) ?  Attention ne te méprends pas : c'est pas une raillerie c'est réellement pour comprendre   :Shocked:  car ce n'est pas la première fois que nous lisons cela sur le forum et je suis toujours sans réponse à cette question - personnellement, j'aurais choisi la distribution que je maitrise le mieux pour faire çà attendu les implications - surtout qu'ils en procurent d'autres ?   :Shocked: 

Edit ; typos

----------

## Mox

 *boozo wrote:*   

> 'alute
> 
> commence par le commencement si tu veux bien histoire que nous puissions de t'aider au mieux. Pourrais-tu s'il te plait nous coller la sortie de :
> 
> ```
> ...

 

Pour ta question c'est simple :

La version patchée par ovh c'est du tout cuit. Tout est prêt installé dessus, en 5 minutes tout est paramétrer. c'est la raison pour laquelle beaucoup de personnes prennent cette version, car elle est déjà paramétrée, etc.

Concernant emerge info, voici le résultat :

```

 emerge --info

--- 'profiles/arch.list' is empty or not available. Empty portage tree?

--- 'profiles/updates' is empty or not available. Empty portage tree?

Portage 2.1.2.2 (unavailable, gcc-3.4.6, unavailable, 2.6.24.5-grsec-xxxx-grs-ipv4-32 i686)

=================================================================

System uname: 2.6.24.5-grsec-xxxx-grs-ipv4-32 i686 Intel(R) Celeron(R) CPU 220 @ 1.20GHz

Gentoo Base System version 1.6.14

Timestamp of tree: Unknown

dev-lang/python:     2.4.4-r6

sys-devel/autoconf:  2.13, 2.61-r1

sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r1, 1.10.1

sys-devel/binutils:  2.16.1-r2

sys-devel/libtool:   1.5.22

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

CHOST="i686-pc-linux-gnu"

CONFIG_PROTECT="/etc /usr/local/apache/conf /usr/local/lib/php4 /usr/local/lib/php5 /var/bind"

CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/terminfo"

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

DISTDIR="/usr/portage/distfiles"

FEATURES="distlocks metadata-transfer"

GENTOO_MIRRORS="http://mirror.ovh.net/gentoo-distfiles/ ftp://mirror.ovh.net/gentoo-distfiles/"

PKGDIR="/usr/portage/packages"

PORTAGE_TMPDIR="/var/tmp"

PORTDIR="/usr/portage"

PORTDIR_OVERLAY="/usr/local/portage-ovh"

SYNC="rsync://rsync.gentoo.org/gentoo-portage"

USE="mmx sse sse2"

Unset:  ACCEPT_KEYWORDS, EMERGE_DEFAULT_OPTS
```

En fait j'ai 2 problèmes, j'avais supprimé, /etc/portage et /usr/portage/profiles/default/linux/x86/*. J'ai aussi essayé de refaire le portage, mais ça ne marche pas.

----------

## GentooUser@Clubic

Pour usr/portage/profiles/default/linux/x86/* emerge --sync et c'est reparti 

Pour /etc/portage c'est la configuration "par paquet" de l'utilisateur normalement y'a pas grand chose dedans mais a mon avis la version d'OVH (qui a la réputation d'être bien pourrie au passage) doit utiliser pas mal ce dossier.

Bref essai de récupérer un  /etc/portage d'OVH. Sinon essai de le recréer a partir des erreurs rapportées par portage (quand portage gueule qu'un paquet installé est masqué tu l'unmask)

Ou alors Installe une vrai Gentoo propre !

----------

## Mox

 *GentooUser@Clubic wrote:*   

> Pour usr/portage/profiles/default/linux/x86/* emerge --sync et c'est reparti 
> 
> Pour /etc/portage c'est la configuration "par paquet" de l'utilisateur normalement y'a pas grand chose dedans mais a mon avis la version d'OVH (qui a la réputation d'être bien pourrie au passage) doit utiliser pas mal ce dossier.
> 
> Bref essai de récupérer un  /etc/portage d'OVH. Sinon essai de le recréer a partir des erreurs rapportées par portage (quand portage gueule qu'un paquet installé est masqué tu l'unmask)
> ...

 

Merci beaucoup pour votre réponse,  emerge --sync marche, voici la fin du résultat :

```
Number of files: 135949

Number of files transferred: 44

Total file size: 181678027 bytes

Total transferred file size: 170746 bytes

Literal data: 170746 bytes

Matched data: 0 bytes

File list size: 3354132

File list generation time: 7.705 seconds

File list transfer time: 0.000 seconds

Total bytes sent: 40972

Total bytes received: 3567344

sent 40972 bytes  received 3567344 bytes  77598.19 bytes/sec

total size is 181678027  speedup is 50.35

>>> Updating Portage cache:  100%

 * IMPORTANT: 6 config files in '/etc' need updating.

 * Type emerge --help config to learn how to update config files.

 * An update to portage is available. It is _highly_ recommended

 * that you update portage now, before any other packages are updated.

 * Please run 'emerge portage' and then update ALL of your

 * configuration files.

 * To update portage, run 'emerge portage'.
```

emerge portage sert à mettre à jour le portage c'est bien ça ? si oui fait-il l'exécute ? merci

----------

## Mox

Autre chose : emerge --sync, ne réinstalle pas les répertoires usr/portage/profiles/default/linux/x86/2007.0 ou 2008.0, etc. C'est normal ça ? Normalement y'a pas un répertoire qui se nomme 2007.0 ou 2008.0 ?

----------

## GentooUser@Clubic

oui c'est ça, et t'a besoin d'un petit etc-update aussi

Une fois portage mis à jour, lance un emerge -pvuND world et poste le résultat si y'a un problème

----------

## GentooUser@Clubic

 *Mox wrote:*   

> Autre chose : emerge --sync, ne réinstalle pas les répertoires usr/portage/profiles/default/linux/x86/2007.0 ou 2008.0, etc. C'est normal ça ? Normalement y'a pas un répertoire qui se nomme 2007.0 ou 2008.0 ?

 

Chez moi

```
 ls /usr/portage/profiles/default/linux/x86 

10.0/  2008.0/  ChangeLog  gcc2/  parent  vserver/
```

emerge --sync synchronise tout /usr/portage/ si ça diffère c'est qu'OVH fait sa cuisine dans son coin.

Enfin si les outils d'OVH sont pas trop vieux tu devrais pouvoir voir quels profils sont disponibles avec eselect profile list

----------

## Mox

Concernant etc-update ça me donne ça :

```
Scanning Configuration files...

The following is the list of files which need updating, each

configuration file is followed by a list of possible replacement files.

1) /etc/clamd.conf (1)

2) /etc/freshclam.conf (1)

3) /etc/init.d/qmail (1)

Please select a file to edit by entering the corresponding number.

              (don't use -3, -5, -7 or -9 if you're unsure what to do)

              (-1 to exit) (-3 to auto merge all remaining files)

                           (-5 to auto-merge AND not use 'mv -i')

                           (-7 to discard all updates)

                           (-9 to discard all updates AND not use 'rm -i'):
```

Apparemment il faut mettre les 3 fichiers à jour d'après ce que j'ai lu sur la toile, C'est bien ça ? Si c'est oui il faut sélectionner quelle option ?

Voici le résultat pour eselect profile list :

```
Available profile symlink targets:

  [1]   default/linux/x86/10.0

  [2]   default/linux/x86/10.0/desktop

  [3]   default/linux/x86/10.0/developer

  [4]   default/linux/x86/10.0/server

  [5]   hardened/linux/x86/10.0

  [6]   selinux/2007.0/x86

  [7]   selinux/2007.0/x86/hardened

  [8]   selinux/v2refpolicy/x86

  [9]   selinux/v2refpolicy/x86/desktop

  [10]  selinux/v2refpolicy/x86/developer

  [11]  selinux/v2refpolicy/x86/hardened

  [12]  selinux/v2refpolicy/x86/server
```

Pour le contenu du /usr/portage/profiles/default/linux/x86 c'est à peu pris ça, j'ai pas le sevenir exacte, mais une chose est sûr y'avais bien 2007.0, sevrer et d'autre dont je ne me souvient plus. Cette version d'ovh est un peu bizarre comme tu dis. Pour le moment je la garde, car j'ai 4 sites dessus et je n'ai pas le temps de tout transférer ces temps-ci.

----------

## Mox

Oops j'avais confondu le répertoire dans mon message précédent. Le répertoire concerné chez moi, enfin celui qui est endommagé c'est /usr/portage/profiles/default-linux/x86 et non pas defaut/linux...

Je parlais de celui-ci (le voici listé) :

```
ls /usr/portage/profiles/default-linux/x86

ChangeLog  deprecated  make.defaults  package.mask  packages  package.use.mask  parent  use.mask  virtuals
```

----------

## GentooUser@Clubic

-Pour default-linux normal il est déprécié maintenant c'est default/linux

- Tu n'a pas de profil sélectionné choisi en un (eselect profile set 4 par exemple)  

- Pour etc-update (t'a peut-être dispatch-conf d'installé aussi il est plus simple) si tu n'a pas modifié les fichiers /etc/clamd.conf et /etc/freshclam.conf à la main tu peux les remplacer, pour/etc/init.d/qmail tu peux le remplacer (on modifie rarement soit-même les scripts dans /etc/init.d)

----------

## Mox

 *GentooUser@Clubic wrote:*   

> -Pour default-linux normal il est déprécié maintenant c'est default/linux
> 
> - Tu n'a pas de profil sélectionné choisi en un (eselect profile set 4 par exemple)  
> 
> - Pour etc-update (t'a peut-être dispatch-conf d'installé aussi il est plus simple) si tu n'a pas modifié les fichiers /etc/clamd.conf et /etc/freshclam.conf à la main tu peux les remplacer, pour/etc/init.d/qmail tu peux le remplacer (on modifie rarement soit-même les scripts dans /etc/init.d)

 

Bonjour,

Merci pour ta réponse. eselect profile set 4 vaut dire : définir le 4, c'est-à-dire le profil 4 qui se trouve dans la liste ?

```
  [4]   default/linux/x86/10.0/server
```

Pour les fichiers que tu cite plus haut, j'ai des sauvegardes, car oui certains sont modifié.

Une question : "etc-update" fait quoi au juste ? refait le dossier /etc/ le met à jour ?

----------

## GentooUser@Clubic

eselect profile set 4 c'est exactement ça, 10.0 est la dernière version, et server parce que j'imagine que t'a pas un desktop chez OVH.

Pour etc-update (utilise plutôt dispatch-conf) ça propose de merger/remplacer les fichiers par des nouvelles versions, si tu les a modifiés conserve tes versions sinon met à jours.

----------

## Mox

Pour etc-update j'ai trouvé : http://www.gentoo.org/doc/fr/handbook/handbook-x86.xml?part=3&chap=4#doc_chap2

----------

## Mox

On a posté au même moment   :Laughing:   Ok je sauvegarde quand même et après j'applique le tout   :Wink: 

----------

## Mox

Voilà pour le serveur (eselect profile) c'est fait, ainsi que dispatch-conf (Vraiment pas mal cette fonction), mais je n'ai pas exécute "emerge -pvuND world", car je ne sais pas c'est quoi exactement, si c'est pour mettre à jour Gentoo, ça peut tourné au cauchemar, car OVH a trop patché cette version. C'est quoi exactement, tu peux donner une petit explication stp ? MerciLast edited by Mox on Wed Oct 21, 2009 12:02 pm; edited 1 time in total

----------

## xaviermiller

Salut,

Lis le "handbook", c'est expliqué dedans, c'est la BASE de Gentoo  :Wink: 

----------

## GentooUser@Clubic

 *Mox wrote:*   

> Voilà pour le serveur (eselect profile) c'est fait, ainsi que dispatch-conf (Vraiment pas mal cette fonction), mais je n'ai pas exécute "emerge -pvuND world", car je ne sais pas c'est quoi exactement, si c'est pour mettre à jour Gentoo, ça peut tourné au cauchemar, car OVH a trop patché cette version. C'est quoi exactement, tu peux donner une petit explication stp ? Merci

 

emerge

--pretend ne fait rien (affiche juste ce qui serait fait)

--verbose affiche plus d'infos 

--update met à jour les paquets installés 

--Newuse réinstalle les paquets dont les useflags ont changés 

--Deep recherche les "dépendances profondes" pour mise à jours

Si OVH a modifié Gentoo, j'imagine qu'ils utilisent un arbre alternatif avec leurs paquets pour éviter qu'une MàJ casse tout.

----------

## Mox

Ok, merci pour ces explications. Je voulais installé gentoolkit pour utiliser equery, afin de lister les paquets installés sur ma machine, avant faire de quoi ce soit, mais ça plante en renvoyant ceci :

```

# emerge gentoolkit

Calculating dependencies -

!!! All ebuilds that could satisfy "gentoolkit" have been masked.

!!! One of the following masked packages is required to complete your request:

- app-portage/gentoolkit-0.3.0_rc5 (masked by: required EAPI 2, supported EAPI 0)

- app-portage/gentoolkit-0.3.0_rc7 (masked by: required EAPI 2, supported EAPI 0)

- app-portage/gentoolkit-0.2.4.5 (masked by: required EAPI 2, supported EAPI 0)

- app-portage/gentoolkit-0.3.0_rc6 (masked by: required EAPI 2, supported EAPI 0)

- app-portage/gentoolkit-9999 (masked by: required EAPI 2, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

```

C'est un probleme de portage d'après ce que j'ai lu sur la toile, il ne trouve pas les sources ou un truc comme ça, c'est bien ça ?

----------

## xaviermiller

Non, il faut simplement mettre à jour portage et tout ira bien (ce qui sera fait lors d'un emerge --DuNav world)

----------

## Mox

 *XavierMiller wrote:*   

> Non, il faut simplement mettre à jour portage et tout ira bien (ce qui sera fait lors d'un emerge --DuNav world)

 

Voici le résultat de la commande :

```

 emerge -DuNav world

These are the packages that would be merged, in order:

Calculating world dependencies /

!!! All ebuilds that could satisfy ">=dev-lang/python-2.5" have been masked.

!!! One of the following masked packages is required to complete your request:

- dev-lang/python-2.5.4-r3 (masked by: required EAPI 1, supported EAPI 0)

- dev-lang/python-2.6.2-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.2-r2 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-3.1.1-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.3 (masked by: required EAPI 2, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

(dependency required by "sys-apps/portage-2.1.6.13" [ebuild])

!!! Problem resolving dependencies for sys-apps/man-pages

!!! Depgraph creation failed.

```

----------

## xaviermiller

En effet... tu pars d'une très vieille config, tu vas galérer ferme...

Essaie 

```
emerge -1av python
```

----------

## boozo

 *XavierMiller wrote:*   

> Salut,
> 
> Lis le "handbook", c'est expliqué dedans, c'est la BASE de Gentoo 

 

Oui faire un #emerge -puDNv world t'indiquera seulement mais sans réaliser le traitement (option --pretend) tous les packages qui doivent être mis à jour. Ensuite tu vérifies et configure éventuellement ce que tu as ce que tu veux (useflag etc.) puis tu relance sans le "-p" et tu attends le résultat. 

En résumé, cela fait partie des opérations de maintenance nécessaire de gentoo. Cela demande donc de savoir un peu plus ce que tu fais pour distinguer qui est nécessaire, superflu, cosmetique et surtout a ne pas faire (le suivi des failles de sécurité, des upgarde de version upstream etc) et il est évident que les opérations de maintenance pour un serveur de prod sont différentes de celle d'un desktop.

Si ce serveur de prod n'a jamais été mis à jour/maintenu uptodate depuis plusieurs mois ou plus (jamais?)... tu risques de te confronter a de sérieux enmerdements s'il ya des migration critiques donc : vérifie bien ce que tu fais avant de le faire  :Wink: 

btw, merci pour l'explication. Je peux comprendre ce besoin de "clé en main" mais amha ce n'est vraiment pas un bon argument de la part d'OVH (pour le client tout du moins pas pour l'argument de vente c'est sûr...) pour partir sur ce choix sans plus de mises en garde de leur part   :Rolling Eyes: 

Edit: @XavierMiller> Ouch!  :Shocked:  Tu es sûr qu'on part sur un bon chemin là ? On va allez de mal en pis et si c'est pour un usage pro...   :Shocked: 

@OP> quel est ton besoin exact ? avant que tous te lance les grandes manoeuvres

----------

## Mox

# emerge -puDNv world, dans ça :

```
 emerge -puDNv world

These are the packages that would be merged, in order:

Calculating world dependencies /

!!! All ebuilds that could satisfy ">=dev-lang/python-2.5" have been masked.

!!! One of the following masked packages is required to complete your request:

- dev-lang/python-2.5.4-r3 (masked by: required EAPI 1, supported EAPI 0)

- dev-lang/python-2.6.2-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.2-r2 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-3.1.1-r1 (masked by: required EAPI 2, supported EAPI 0)

- dev-lang/python-2.6.3 (masked by: required EAPI 2, supported EAPI 0)

For more information, see MASKED PACKAGES section in the emerge man page or

refer to the Gentoo Handbook.

(dependency required by "sys-apps/portage-2.1.6.13" [ebuild])

!!! Problem resolving dependencies for sys-apps/man-pages

!!! Depgraph creation failed.

```

Visiblement y'a un sérieux problème. Je vais voir si ovh propose quelque chose pour sa distribution.

----------

## xaviermiller

Apparemment, tu pars d'une distribution très ancienne. La mettre à jour en tant que débutant risque d'être très douloureux. Ce serait plus facile de partir d'un stage provenant de la 10.0...

----------

## boozo

Et plus qu'ancienne   :Shocked:   ...python-2.4 donc migration de 2 slots (et je parle pas de gcc) etc,

Il court aux enmerd** en cascade là !   :Sad: 

@Mox: ton problème initial était que tu avais supprimé des fichiers/rep. par erreur mais sans préciser ce que tu voulais faire... souhaites-tu vraiment mettre ton serveur up-to-date ? si oui, as-tu des contraintes particulières ? (de temps ou de disponibilité de service, une infra de recette pour un plan de migration si c'est en usage pro, etc )

On est pas un SAV ni un support pro (encore moins pour une Release2 OVH   :Twisted Evil:  ) mais pour t'aider malgré tout et vu la tournure que ça prend, je m'en voudrais qu'on t'envoi tous "au carton" sur qqch de bancal (et oui c'est pas une gentoo pur-sang que tu as là) avec des heures de compilation sans être certain que tu maitrises tout derrière   :Wink: 

edit: typos... çà recommence :s

----------

## Mox

Un énorme merci à vous tous d'avoir essayé de m'aider, je viens de trouvé la solution du siècle : Je vire cette version, je suis en train de réinstaller une autre distribution   :Very Happy:   :Very Happy:   :Very Happy:  Y'a pas meiux   :Laughing: 

----------

## boozo

 *Mox wrote:*   

> Un énorme merci à vous tous d'avoir essayé de m'aider, je viens de trouvé la solution du siècle : Je vire cette version, je suis en train de réinstaller une autre distribution     Y'a pas meiux  

 

C'est... une solution en effet. Enfin quand je dis solution... bon, l'essentiel c'est que tu sois content et saches ou tu vas hein ?

Bon courage pour la suite   :Smile: 

----------

