Sie sind nicht angemeldet.

1

21.11.2008, 05:02

gesamtes Verzeichnis /usr/bin/ geloescht

Hallo zusammen,

mir ist ein grosses Missgeschick passiert: ;-(

habe (beim Zattoo von Hand-Installieren) Teile vom/usr auf jeden Fall das gesamte /usr/bin Verzeichnis geloescht,
wo sich u.a. das emerge script befindet. Der Portage-Tree duerfe in Ordnung sein, ich habe den neuesten zur Sicherheit aber noch einmal geholt.

Meine bange Frage waere: reicht es aus, das /usr/bin von jemand einfach in mein /usr/bin zu kopieren, damit mein emerge wieder funktioniert?
Und was waeren dann die naechsten Schritte (ich moechte kein emerge wold machen)?

Vielen Herzlichen Dank
eine verzweifelte Gentoo-Benutzerin

2

21.11.2008, 06:30

BUMM!! ... Blöde Sache.

Ich würde folgend vorgehen:
- besorge dir einen Snapshot wie in der normalen Gentoo Installationsanleitung,
- boote mit einer Bood-CD (ganz egal welche distri),
- mounte die Gentoo Partition
- entpacke den Snapshot in ein temporäres Verzeichnis und spiele min. den /usr/bin in dein Gentoo System

- versuche nun dein System wieder zu booten
- wenn nun emerge wieder geht: mach ein

Quellcode

1
# emerge -e world
Das dauert zwar lange, aber du hast alles wieder wie vorher ...
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

4

21.11.2008, 08:26

Krasse Sache. Die meisten würden da zu Neu-Installation greifen.
Ich würde da ein Paar Kniffe aus der embedded-Ecke versuchen:

1. Von Live-CD booten

Jetzt brauchst Du ein funktionierendes Emerge:
2. alle Gentoo-Partitionen mounten. "/" unter "/kaputt", und falls vorhanden zB. "/home" unter "/kaputt/home" etc.
3. lege ein Verzeichnis (zB. /kaputt/rettung) an und entpacke dorthin ein aktuelles Stage3.
4. Mache ein Verzeichnis /kaputt/rettung/mnt/kaputt
5. Mounte mit

Quellcode

1
mount -o bind /kaputt /kaputt/rettung/mnt/kaputt

5.5. Portage brauscht Du nicht doppelt

Quellcode

1
mount -o bind /kaputt/usr/portage /kaputt/rettung/usr/portage

6. Kopiere die /etc/make.conf, /etc/portage in /rettung/etc von /kaputt nach /kaputt/rettung.
7. Schritte aus der Installationsanleitung bis zum chroot in /rettung (resolv.conf kopieren, env-update, source /etc/profile usw.)

8. Jetzt kommt das interessante (in der chroot):

Quellcode

1
2
3
export ROOT=/mnt/kaputt
export PORTAGE_CONFIGROOT=/mnt/kaputt
emerge -eva system

Wenn dort bei den meisten Paketen "to /mnt/kaputt/" steht, kannst Du beruhigt auf Enter drücken.
Falls Pakete abbrechen, aufschreiben und mit "emerge --skipfirst" übergehen.

9. Wenn das durch ist, boote dein System neu. (Gentoo sollte starten), und mache ein

Quellcode

1
emerge -e world


10. Anschließend, wenn alles fertig ist, kannst Du das "/rettung" Verzeichnis löschen
EDIT: Paar Sachen umgestellt
EDIT: Ergänzungen und log. Fehler beseitigt (rettung muss auch auf die Festplatte, daher unter/kaputt)
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »bell« (21.11.2008, 13:03)


5

21.11.2008, 10:22

Guten Morgen und vielen vielen Dank fuer eure fruehen Postings

Nun, ich habe bereits den portage-latest.tar.bz2 snapshot geholt (unter http://gentoo.ussg.indiana.edu/snapshots/) und ausgepackt in /root/portage-recover/portage-latest/portage. Da sind ja lediglich die ebuilds drin, die von emerge dann aufgerufen werden - wenn ich mich nicht irre? Das /usr/bin Verzeichnis ist aber weg, so dass ich emerge gar nicht aufrufen kann. Die anderen Verzeichnisse wie /usr/lib mit /usr/lib/portage/bin sind aber noch da, dort gibtes auch ein emerge - was ist das denn genau?

Sorgen bereitet mir noch die Python-Version, ob meine Python-Version dann zum aktuellen emerge im Snapshot passt?

Momentan laeuft der Rechner noch, zumindest die Prozesse, welche im Arbeitsspeiher laufen (firefox, bash, conky etc) .

Mit http://www.gentoo.org/proj/en/portage/do…ing-portage.xml
kann ich nicht viel anfangen (aber gute Seite), da hier nur der portage tarball geholt und entpackt wird, die python- und bash-files angepasst werden und danach emerge aufgerufen werden soll.

>- entpacke den Snapshot in ein temporäres Verzeichnis und spiele min. den /usr/bin in dein Gentoo System
.. soweit bin ich, wie soll ich aber aus den ebuilds den /usr/bin generieren ohne emerge? Vielleicht gibt es da auch eine manuelle Moeglichkeit?
Hmm, vielleicht ticke ich gerade auch voellig falsch.

Die "embedded Version" muesste ich noch durchdenken ... ist es so, dass ich den neuen stage nur als Hilfsstage benutze und dann spaeter den alten wieder nehme? Der Kernel ist ja nicht kaputt...
oder doch?

oje. confusion....

6

21.11.2008, 11:08

Du brauchst das aktuelle stage Archiv, wie z.B. unter

http://www.gentoo.org/doc/de/handbook/ha…l?part=1&chap=5

beschrieben. Da ist alles drin...

Gibt es z.B. hier:

http://ftp-stud.fht-esslingen.de/pub/Mir…current/stages/

Gruß,
Felix

7

21.11.2008, 11:19

Upps .. sorry ... mein Fehler. Nicht Snapshot sondern natürlich Stage wie bell meinte.

Da aber ja "nur" /usr/bin weg ist, sollte es IMHO reichen, dieses Verzeichnis aus dem Stage rauszuholen.

Python selbst natürlich auch ein Problem, aber dafür gibt es auch wieder Hilfe.

Mirrors für stages und snaphost findest du auf http://www.gentoo.org/main/en/mirrors2.xml
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>

8

21.11.2008, 12:56

Zitat

ist es so, dass ich den neuen stage nur als Hilfsstage benutze und dann spaeter den alten wieder nehme? Der Kernel ist ja nicht kaputt...

Es ist nur ein Hilfsstage. Wenn das System wieder läuft, kannst Du dann das Verzeichnis "rettung" anschließend wegschmeißen.
Im Prinzip nutzt Du das funktionierendes Portage des Stage3, um dein "System" neu aufzubauen. Es ist eine saubere Möglichkeit, da alles über Portage läuft, und nichts einfach ins System entpackt und reingeschmissen wird.
PS: Ich mache (nochmal) eine Änderung an der Anleitung, da ich einen kleinen Denkfehler hatte..
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.