# Systemwechsel  - alle installierten Pakete übertragen

## Martux

Hallo!

Ich habe ein prima 32-bit Gentoo auf meinem Core2Duo am laufen, das ich gerne auf 64 bit umstellen würde. Damit ich mein System weiter benutzen kann habe ich folgende Idee und wollte Euch mal fragen ob das geht:

Kann ich nicht in einer virtuellen Maschine (vmware) eine 64bit LiveCD entpacken, und mir dann so ein 64bit System zusammenbauen?

Frage, wie bekomme ich dann ALLE aktuell installierten (32bit-) Pakete in dieses neue System? Einfaches kopieren der world-Datei reicht ja nicht, da dort längst nicht alle Pakete drinstehen, die ich haben möchte.

Noch einmal: Ich möchte alle meine jetzt benutzten Pakete unbedingt weiterbenutzen, da es eine Menge Arbeit war dieses Sammelsurium zusammenzutragen (ca 550 Pakete).

Für Tipps und Anregungen wäre ich sehr dankbar.

Gruß, MarcusLast edited by Martux on Wed Jun 20, 2007 5:53 pm; edited 1 time in total

----------

## mv

 *Martux wrote:*   

> Kann ich nicht in einer virtuellen Maschine (vmware) eine 64bit LiveCD entpacken, und mir dann so ein 64bit System zusammenbauen?

 

Zwar kenne ich vmware nicht so gut, aber wenn das nicht sehr merkwürdige Tricks benutzt, ist das nicht möglich.

 *Quote:*   

> Frage, wie bekomme ich dann ALLE aktuell installierten (32bit-) Pakete in dieses neue System?

 

Neu emergen: 

```
emerge -a $(<Deine_alte_world_datei)
```

Natürlich vorher ggf. /etc/portage/package.* anpassen. Beachte, dass auf amd64 (leider) meist andere Versionen stabil sind als auf x86 (meist, ohne, dass es einen sachlichen Grund hierfür gibt, sondern einfach, weil verschiedene Teams dafür zuständig sind - ein "Bug" in der Gentoo-Infrastruktur).

 *Quote:*   

> Einfaches kopieren der world-Datei reicht ja nicht, da dort längst nicht alle Pakete drinstehen, die ich haben möchte.

 

Wieso stehen in der world-Datei nicht alle Pakete, die Du haben möchtest? Genau dazu ist sie da. Das solltest Du ändern.

----------

## Martux

Hm,hm,hm...

Es muß doch einen einfachen Weg geben, alle installierten Pakete (ohne Versionsnummern) in eine Text-Datei zu packen und die dann von portage emergen zu lassen?!   :Twisted Evil: 

Das wäre die perfekte Lösung. Glaub mir mv, das mit der world-Datei auf einem anderen System emergen hatte ich schon. Danach haben seltsamerweise etliche Sachen gefehlt, die Portage anscheinend "vergessen" hat.

EDITH: Titel geändert, um das Problem klarer zu machen (danke mv).    :Confused: 

----------

## think4urs11

 *Martux wrote:*   

> Einfaches kopieren der world-Datei reicht ja nicht, da dort längst nicht alle Pakete drinstehen, die ich haben möchte.
> 
>  *mv wrote:*   Wieso stehen in der world-Datei nicht alle Pakete, die Du haben möchtest? Genau dazu ist sie da. Das solltest Du ändern. 

 

Kann ja nur heißen das du Pakete haben möchtest die lediglich als Abhängigkeit durch ein anderes Paket ins System gekommen sind (oder via -1 emerged wurden).

 *Martux wrote:*   

> Es muß doch einen einfachen Weg geben, alle installierten Pakete (ohne Versionsnummern) in eine Text-Datei zu packen und die dann von portage emergen zu lassen?!  

 

Ob das sinnvoll ist etwas das man haben will nicht auch in world zu haben sei dahingestellt, jedenfalls sollte folgendes genau das ausgeben was derzeit installiert ist (ohne Versionsnummer), egal ob in world gelisted oder nur 'abhängig installiert':

```
equery list | sed 's/.*] \(.*\) /\1/;s/-[0-9]\{1,\}.*$//'
```

----------

## musv

Ob es jetzt auf 64-bit mit den gleichen Paketen funktioniert, kann ich jetzt nicht sagen. Aber rein theoretisch sollte das Worldfile ausreichen.

Wenn du eine saubere Gentoo-Installation hast, dann stehen im Worldfile alle Pakete drin, die du selbst explizit installiert hast. Die Abhängigkeiten werden automatisch aufgelöst. Ein

```
emerge -eD world
```

sollte "eigentlich" ausreichen.

Alle installierten Pakete findest du in:

/var/db/pkg/world

Also falls Dir das Worldfile nicht ausreicht, kannst du ja das gesamte o.g. Verzeichnis rüberkopieren.

----------

## UTgamer

Kopiere /var/lib/portage/world auf das neue System nach /root/world und führe 

```
cat /root/world | xargs emerge -nav
```

aus.

Ian oder amne hatten das 2004 in irgend einem Thread vorgeschlagen.

Es sorgt dafür das im World keine unregistrierten Reste weiter rumliegen die später nicht mehr upgedaten werden.

Habe ich vor 2 Wochen selbst auch gemacht und bin recht zufrieden mit meiner Neuinstallation.  :Smile: 

Es war fast alles alte wieder mit dabei, nur die Konfigeinträge muß man alle wiederhohlen, ist die ersten Tage etwas lästig.

---

Auf einem Core2Duo müßte auch dies hier genauso sauber wie auf einem Athlon laufen:

https://forums.gentoo.org/viewtopic-p-4049802.html#4049802 , wenn du ein wenig mehr Geschwindigkeit möchtest.  :Wink: 

Bei mir läuft diese Einstellung auch Top, einzig Wine kompiliert nicht mit (von Hand umstellen) und das 64 Bit Java-Binary beschwert sich das der 64 Bit Browser diese Flags nutzt. Ansonsten bringt es nur Vorteile.

----------

## Martux

Danke für die Antworten! Damit sollte der Systemwechsel doch relativ problemlos funktionieren.

Gruß, Marcus

----------

