# [Portage] Gentoo cassée suite disparition de /var[abandonné]

## gglaboussole

Bonjour à tous,

Voilà un petit moment que je n'avais pas posté...

Mon disque dur sur lequel se trouvait /usr/portage et /var a crashé... totalement irrécupérable (essais avec Testdisk, et gparted), plus de partitions, plus de système de fichier et bien sûr aucune sauvegarde de /var...

J'ai réussi à refaire partir ma gentoo en détarant un snapshot de portage recréant les partitions disparues sur mes dd survivants, modifié fstab et grub et c'est reparti, mais ma gentoo est devenus complètement inconsciente d'elle même    :Crying or Very sad: 

En effet sans "/var/cache/edb",  "/var/db/pkg" , "/var/lib/portage/world" et "/var/log" aucune possibilité de faire à savoir à mon System qu'est ce qui est installé ou non...Tout les outils que je trouve pour le faire nécessite /var (regenworld ou d'autres scripts partent soient de /var/emerge.log, ou du  /var/db/pkg  pour recréer le fichier world)

J'ai recopié ces éléments depuis un stage3 et je pensais faire un emerge -e @system / @world puis un depclean pour avoir un système cohérent mais c'est pas gagné...Portage me voit quasiment tous les paquets comme "New", ça compile, ça installe (avec bien sûr des files collisions vu que les paquets sont pas "New")

Mon idée (mais ouvert à toutes propositions): 

Faire un script shell qui parse les PATH contenant les binaires du systéme, et qui irait chercher avec un equery belongs (par exemple) à quel package appartient le binaire, puis une fois cette liste obtenue "quelque chose" qui vérifie qui dépend de quoi (en tenant compte des USE de mon système) afin d'ajouter dans mon fichier world les paquets méritant de l'être sans leurs dépendances....

Voilà...plus facile à dire qu'à faire...

Question subsidiaire, en admettant que j'arrive à restaurer mon world, est il possible de faire croire (sans utiliser packages.provided) que tous les paquets sont biens installés (puisqu'ils le sont déjà) sans tout recompiler (en nourrissant  

/var/db/pkg j'imagine ?) ?

Merci de toute aide !

----------

## sebB

Le problème n'est pas ton world mais le fait que portage considère que tu n'a rien d'installé sur ton système.

Même si tu arrive a recréer ton world (ce qui n'est pas compliqué en soit) tu seras obligé de relancer un emerge -e @world.

Que ton world ait 20 ou 150 entrées, tu pourra toujours le nettoyer.

De plus equery ne doit surement pas vouloir fonctionner sur ta machine?

Le moindre paquet que tu vas vouloir réinstaller, portage va vouloir t'installer toutes les dépendances.

Sans pkg ni les logs je ne voit pas de grande solution.

Le temps que tu va perdre a chercher les paquets, tu aura aussi vite fait de réinstaller...

Si vraiment tu veux essayer de sauver ton système tu peux tenter:

```
ls /usr/bin > liste

awk '{printf "/usr/bin/%s"" ",$0}' liste

```

Puis sur une sabayon ou une distro basée sur gentoo(je sais pas si ca va marcher)

```
equery b xxx (le resultat de liste) > paquets

sed -i 's/-[0-9].*//' paquets
```

Et tu fais la même chose pour lib.

Sinon poste les ls,on pourra éventuellement te dire a quels paquets ca correspond sur nos systèmes.

Tu peux lancer un emerge -e system t'y verra un peu plus clair

----------

## ghoti

 *sebB wrote:*   

> on pourra éventuellement te dire a quels paquets ca correspond sur nos systèmes.

 

Sinon, cette page pourrait aussi être utile : http://www.portagefilelist.de/site/query

----------

## gglaboussole

Merci pour vos réponses.

Super cette ressource ghoti, je ne connaissais pas et ça me donne l'idée de faire un script avec un appel curl sur chaque binaires des dossiers concernés et récupérer in fine une liste dédoublonnée...

Ensuite il faudrait que je détermine qui relèvera du world et qui relèvera de la dépendance, et du coup peut être reconstituer un world correspondant exactement à mon système et je recompile tout pour rendre le tout consistant en laissant le moins de paquets orphelins possibles...

Je suis en train de peser le pour et le contre entre la réinstallation et la prise de chou   :Very Happy:  mais on est beaucoup à l'aimer ici..

Vu que j'ai des backups de /etc de mon /home (et il est sur une partition séparé) je pense que ça serait sûrement plus rapide et plus propre de repartir d'un fraîche install... 

C'est idiot mais il y a un côté sentimental...  :Embarassed: 

Ma gentoo est la même gentoo depuis 2005, construite à la dure si j'ose dire depuis un stage 1, entretenue, mise à jour, et a fièrement donnée vie à 2 machines différentes, dilemme et

Réflexion...

----------

## gglaboussole

Je classe ce sujet en abandonné, car trop tard j'ai opté pour la réinstall... (et je n’exclurai plus /var de ma stratégie de backup !)

----------

## sebB

Je me demandais si justement tu n'aurais pas pu copier le /var d'un stage 3 dans ton système puis emerge e system?

Ensuite plus qu'à réinstaller tes progs et ton environnement graphique.

Ca revient au même qu'une réinstall

----------

## gglaboussole

 *gglaboussole wrote:*   

> Bonjour à tous,
> 
> J'ai recopié ces éléments depuis un stage3 et je pensais faire un emerge -e @system / @world puis un depclean pour avoir un système cohérent mais c'est pas gagné...Portage me voit quasiment tous les paquets comme "New", ça 

 

C'est ce que j'ai fait initialement... mais tous les paquet étaient vus en new et provoquaient des files collisions, de plus j'avais un fort risque de me traîner un tas de parquet orphelins... mais bon ça y est je suis sur ma nouvelle gentoo...

----------

## netfab

FEATURES="buildpkg" c'est bon, mangez-en  :Wink: 

----------

## El_Goretto

 *netfab wrote:*   

> FEATURES="buildpkg" c'est bon, mangez-en 

 

Ho ho, il est taquin. Et dis donc, tu les ne stockerais pas dans /var/pkg ou un truc du genre, tes paquets binaires?  :Wink: 

----------

## netfab

Non, partition dédiée sur un disque différent des points de montage critiques.

Mais, çà n'empêche pas de faire les sauvegardes, sur disque externe ET système distant (par NFS).

Il y a deux sortes d'informaticiens : ceux qui font leurs sauvegardes, et ceux qui n'ont jamais eu de crash disque.

Un jour, j'ai eu l'incommensurable joie de voir 3 disques durs traversés par un arc électrique. Strike.

Depuis je fais mes sauvegardes, mais pas assez régulièrement à mon goût, et quand je vois ce genre de sujet,

çà me rappelle les bons souvenirs ci-dessus, et çà m'oblige à me bouger  :Smile: 

----------

