• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

[gelöst] Plattenunfall, tausende Dateien weg

A

Anonymous

Gast
openSUSE 11.2 (i586) kleiner Plattenunfall. fsck hat ewig repariert und hat mir tausende Dateien nach lost+found verschoben.
Auf den ersten Blick: Nichts was man für den Betrieb des Rechners zwingend gebrauchen würde.
Code:
rpm -aV
zeigt mir tausende fehlende Dateien 90% davon ist /usr/share/man/man3 ( das ganze Verzeichnis ist weg) und der Rest die kompletten Druckerfilter noch ein paar 100 /usr/share/local/it und ähnliches, auf die kann ich bequem verzichten.

Problem sind die Manpages, die brauche ich zum programmieren. Kenn jemand einen raffinierten zypper Befehl mit dem ich die Pakete alle forciert akutalisieren kann ohne dabei bei den einzelnen Paketen den Anbieter oder die Version zu wechseln? Ein Versionswechsel bei einigen Libs und anderen Paketen die dann durch ihre Abhängikeiten das halbe System updaten würde mir wahrscheinlich viele Stunden Zeit kosten, da das Projekt das auf diesem Rechner entwickelt und getestet wird, etwas sensibel für bestimmte Versionsunterschiede und Abhängikeiten in den Libraries ist, da könnte ich auch gleich neu installieren.

Danke robi
 

Tooltime

Advanced Hacker
Ausprobiert habe ich das noch nicht, aber m Prinzip muss man die Pakete nur in folgender Weise installieren:
  • zypper install --repo Reponame --force Paketname=Versionsnummer
Also braucht man erst einmal eine Liste der Pakete für jedes einzelne Repo (hier Packman), inklusive Versionsnummer:
  • zypper packages -i Packman | grep ^"i |" | cut -f 3,4 -d \| --output-delimiter== > Packman-Pakete.txt
Alle Pakete neu installieren dürfte so gehen:
  • zypper install --repo Packman --force`cat Packman-Pakete.txt`
Ausprobiert habe ich das mal als Konsolenbefehl, die Leerzeichen zwischen Paketname und Gleichheitszeichen sollten nicht stören. Wenn doch, dürftest du wohl besser wie ich wissen wie man die aus den einzelnen Zeilen entfernen kann.
Da bin ich mal gespannt ob dir das hilft.
 
OP
A

Anonymous

Gast
Tooltime schrieb:
Da bin ich mal gespannt ob dir das hilft.
Danke erst mal, ich glaube das reicht mir schon fürs erste.

muss nur erstmal noch ein bischen weiterarbeiten, habe grade noch dicke Bugs entdeckt die so schnell wie möglich gelöst werden müssen, dann vorsichtshalber noch ein kleines Backup, und dann werd ich das mal die Tage ausprobieren.

Melde mich dann wieder, nach dem ich hoffentlich nicht neu installieren musste. ;) ;) ;) ;) ;)
mit zypper steh ich ein bischen auf dem Kriegsfuss.

robi
 
OP
A

Anonymous

Gast
Mit rpm mal Inventur gemacht, es fehlen über 8000 Dateien (98% sind man(3)) aus ca 280 Paketen. Ein kurzer Blick in die Ausgabe von
Code:
zypper lr
und da sind mir sämtliche Sünden und Probleme wie eingefallen. Ich habe beschlossen, auf diesem Rechner brauche ich keine man(3) mehr. ;) ;) ;) ;)

Ein Großteil sollte vollkommen unproblematisch zu aktualieren sein, allerdings sind auch einige sehr speziellen Pakete dabei und die stammen aus Reposities die ich lieber nicht aktiv gesetzt sehen möchte, wenn ich zypper in eigenen Scripten verwende. :D

Ich habe jetzt manuell gearbeitet und folgendes gemacht: "rpm -aV" in eine Liste geschrieben, Daraus ausgesucht alle Zeilen mit "missing" und daraus eine Liste der fehlenden Dateinamen erzeugt. Diese Liste mit
Code:
cat liste | while read FILE
do
   rpm -qf $FILE
done
in die Pakete übersetzt und wiederum in eine Liste geschrieben, Diese Liste kann man dann noch sortieren und mit "uniq" zusammenfassen. Nach dieser Liste habe ich in Yast2 bei der Installation die Pakete auf "update" gesetzt. Die kritischen Sachen hab ich vorerst mal weggelassen. Die Installation läuft noch, aber die ersten 4000 Dateien hab ich schon wieder.

danach noch das komplette Verzeichnis /lost+found gelöscht und mittels des Befehls "mklost+found" ein neues angelegt damit wieder Platz für den nächsten Unfall ist. Noch ein reboot, da mir "lsof +L1 -a /" aktuell doch jetzt einige gelöschte Dateien anzeigt mit denen ich aktuell arbeite. Und dann sollte es das gewesen sein.


robi
 
Oben