# glibc ohne Internetverbindung neu installieren?

## Andreas O.

Ich habe gerade den Riesenfehler gemacht, meine glibc, warum auch immer, zu deinstallieren.

Ein erneutes emerge schlug dann leider fehl, weil ich keine Internetverbindung mehr aufbauen konnte.

Also habe ich manuell mit einem anderen Linux mir die 4 Dateien glibc-2.19.tar.xz und die 3x patch-Dateien runtergeladen und nach /usr/portage/distfiles kopiert und wollte dann erneut ein:

```
emerge glibc
```

aufrufen.

Allerdings kenne ich ich trotz Studiums der man-page von emerge nicht den exakten Parameter für emerge, um nicht ins Internet zu gehen, sondern stattdessen lokale Pakete zu verwenden, ist das --root=/usr/portage/distfiles oder was? 

Ich hatte auch schon die Parameter --usepkg bzw. -k probiert (hatte ich über google gefunden, aber ohne Erfolg, es wird immer wieder (vergeblich) versucht eine Internetverbindung aufzubauen, was eben momentan nicht geht   :Sad: 

Oder geht das alles nur noch mit dem Dreisatz: configure make make install ?

----------

## py-ro

Wenn Du die glibc entfernst hast, geht gar nichts mehr, spätestens wenn du die aktuelle Session schließt ist dein System tot.

Am besten besorgst dir eine Binary Paket und entpackst es auf dein System, was wohl auch nur mit einer Live Umgebung funktionieren wird.

Bye

Py

----------

## Christian99

davon abgesehen brauchst du keinen weiteren parameter für emerge. emerge wird nichts runterladen wenn schon alles, was es braucht da ist.

----------

## Josef.95

Huh ja, nach dem deinstallieren von glibc ist das System sicherlich mausetot.

Nutze zum deinstallieren von Paketen statt

emerge --unmerge (kurz -C) paket

doch besser

emerge --depclean (kurz -c) paket

Damit kann so ein Unfall normal gar nicht passieren.

Und wenn du beim "emerge -c paket" noch ein --verbose (kurz -v) mit hinzunimmst, dann werden dir gar die womöglich vorhandenen reverse Dependencies mit aufgelistet - sprich man sieht dann sofort auch warum das angegebene Paket nicht deinstalliert werden kann.

Beispiel: 

```
# emerge -avc virtual/libc

Calculating dependencies... done!

  virtual/libc-0 pulled in by:

    @system requires virtual/libc

>>> No packages selected for removal by depclean

...
```

Sofern verfügbar, wäre es nun wohl das beste das letzte aktuelle Backup zu nutzen.

----------

## Andreas O.

ich weiß, dass ich großen Mist gebaut habe   :Embarassed: 

Und dies alles nur, weil meine locales unter X einfach nicht passten (Umlaute  gingen nicht, z und y vertauscht etc.)...egal...

In meiner Verzweiflung habe ich nun mit der Minimal-CD nochmal ein chroot gemacht und das stage3-Archiv nochmal entpackt.

Danach hatte ich wieder ein lauffähiges System.

Wahrscheinlich nicht gerade die eleganteste Methode, ich musste schließlich einige conf-Dateien wieder neu erstellen bzw. ergänzen.

Nun habe ich die Kuriosität, dass zwar noch einige Programme installiert sind (z.B. /usr/bin/gnucash) diese aber logischerweise nicht mehr in /var/lib/portage/world auftauchen...

Mal sehen, was ein revdep-rebuild nun bringt...

----------

## Klaus Meier

Es wäre besser gewesen, du hättest nur die glibc wieder auf das System kopiert. Ok, er läuft erst mal, aber ob du da um eine Neuinstallation rum kommst? Du hast jetzt von den meisten Paketen mehrere Versionen gleichzeitig drauf. Und die Einträge in /var/db/pkg/ dürften auch nicht mehr passen. Da wird beim Updaten oder wenn du ein neues Paket installieren willst noch einiges auf dich zukommen.

----------

## Hilefoks

Mit dem löschen der glibc hast du schon eine sehr zentrale Systemkomponente verloren und damit ziemlich schweren Schaden angerichtet. Das allein hätte man aber noch relativ leicht in den Griff bekommen können. Das du jetzt aber praktisch auch noch Portage verloren hast, macht eine Reparatur deines Systems kaum noch lohnenswert. Beim nächsten Unfall einfach mal drei Schritte zurück - durchatmen - und dann als erstes ein Backup erstellen. In der Zwischenzeit mit dem Hund rausgehen oder einfach so um den Block laufen und den Kopf frei bekommen. Der GAU passiert eigentlich nie, weil jemand einen Fehler macht, sondern weil in Panik versucht wird, den Fehler zu reparieren.  :Wink: 

----------

