Login
Newsletter
Werbung

Thema: Pro-Linux: Systemwiederherstellung auf Debian-basierten Systemen

38 Kommentar(e) || Alle anzeigen ||  RSS
Kommentare von Lesern spiegeln nicht unbedingt die Meinung der Redaktion wider.
0
Von Christopher Bratusek am So, 15. Juni 2008 um 23:25 #
Das mit dpkg -set-selection und apt-get dselect-upgrade merk ich mir. Für den Fall, dass ich mal wieder zu viel herumexperimentiert habe. ;)
[
| Versenden | Drucken ]
  • 0
    Von Christopher Bratusek am So, 15. Juni 2008 um 23:30 #
    Anbei: es muss dpkg --get... und dpkg ---set..., da fehlt jeweils ein -
    [
    | Versenden | Drucken ]
    0
    Von vicbrother am Mo, 16. Juni 2008 um 08:56 #
    Warum gibt es die Option dselect-upgrade nicht bei aptitude? Ich dachte das sei ein vollwertiger Ersatz für apt-get?
    [
    | Versenden | Drucken ]
    • 0
      Von Erik am Mo, 16. Juni 2008 um 09:07 #
      Gibt ja auch kein "source" oder "build-dep".


      lg
      Erik

      [
      | Versenden | Drucken ]
      • 0
        Von Christopher Bratusek am Mo, 16. Juni 2008 um 09:10 #
        apt-get source? ich benutze immer apt-src install [das ist wie apt-get source und apt-get build-dep zusammen]. Kommt wahrscheinlich aufs selbe hinaus.
        [
        | Versenden | Drucken ]
      0
      Von mk am Mo, 16. Juni 2008 um 09:15 #
      Geht:
      Einfach Aptitude ohne Parameter aufrufen. Dann einmal g drücken und es wird angezeigt, welche Pakete (de-)installiert werden sollen. Noch einmal g und die Aktion wird durchgeführt.
      Das gibts halt bloß nicht explizit als eigenständigen Paramter.
      [
      | Versenden | Drucken ]
      • 0
        Von vicbrother am Mo, 16. Juni 2008 um 17:18 #
        Verwirrend, wenn man das ganze im nicht-interaktiven Modus machen möchte.
        [
        | Versenden | Drucken ]
        • 0
          Von ... am Di, 17. Juni 2008 um 07:22 #
          aptitude-create-state-bundle und aptitude-run-state-bundle?
          [
          | Versenden | Drucken ]
0
Von CaCO3 am Mo, 16. Juni 2008 um 00:43 #
Also als Systemwiederherstellung wie wir es z.B. von Win XP kennen, würde ich diese Funktionen nicht gerade bezeichnen. M.E. bewirkt eine Systemwiederherstellung, dass das System wieder in den Zustand zurückversetzt wurde, in dem es beim Erstellen des Speicherpunktes war.
Bei der im Artikel beschriebenen Funktion wird aber doch das System auf die jeweils neuste Version der Pakete aktualisiert, und nicht wie der Name vermuten liesse auf die ursprüngliche Version!
[
| Versenden | Drucken ]
  • 0
    Von Mark am Mo, 16. Juni 2008 um 00:51 #
    Wie funktioniert denn die Windows Wiederherstellung?
    Also was bewirkt sie ;-)

    Gruß
    Mark

    [
    | Versenden | Drucken ]
    • 0
      Von CaCO3 am Mo, 16. Juni 2008 um 01:33 #
      Also ich denke nicht, das mir Win XP bei einer Systemwiederherstellung die neuste Version einer Software einspielt.
      Sonst wäre das ja ein genialer weg um das System zu Upgraden :)
      Win XP => Win Vista
      Office 2003 => Office 2007
      usw. :)
      [
      | Versenden | Drucken ]
      • 0
        Von Christopher Bratusek am Mo, 16. Juni 2008 um 09:24 #
        Nunja, kommt drauf an, wie du Systemwiederherstellung definierst. Mit obiger Anleitung ist das System selbst wiederhergestellt. Klar die Konfiguration nicht, aber da gibt ja auch einfache Möglichkeiten. z.B.:

        tar cvf my-sys-cfg-[date].tar /etc/
        bzip2 -9 my-sys-cfg-[date].tar

        tar cvf my-local-cfg-[date].tar $HOME/.config $HOME/.local ........ -> und was du sonst noch speichern willst

        [
        | Versenden | Drucken ]
0
Von CaCO3 am Mo, 16. Juni 2008 um 01:40 #
Diese Funktion sind übrigens auch sehr praktisch, wenn man sich ein neues System installiert (ja, auch unter Linux kann das manchmal sinnvoll sein :)
Einfach beim alten System diese Liste generieren lassen, dann neues System installieren, wieder Liste generieren lassen und dann mit *diff vergleichen lassen.
Wenn man seinem neuen System auch gewaltsam Änderungen verschaffen will, kann man beim neuen System auch direkt die Liste einspielen und die Pakete updaten lassen.
Dabei kann es aber wiederum zu Altlasten und unlösbaren Konflikten kommen!!!
Aber zumindest bei mir hat das ganz gut geklappt.
[
| Versenden | Drucken ]
0
Von GAda am Mo, 16. Juni 2008 um 07:13 #
Also ich habe immer zwei bootable Installationen (Kopien) von Debian auf der Platte.
Mit der kleinen, ohne Desktop nicht gepflegten Installation mache ich mir immer inkremental BackUPs mit rsync.

Ein BackUP sieht dann so aus:
rsync -av --delete --stats /media/root/ /media/backup/rsync/lenny/

Ein Restore so:
rsync -av --delete --stats /media/backup/rsync/lenny/ /media/root/

Dabei habe ich mein home oder einige Einstellungen darin auf einem andren mountpoint verlinkt.

Damit kann ich jederzeit mein System kaputt-konfigurieren, ein Restore dauert höchstens 1-2 Minuten.

Das geht natürlich auch übers Netzwerk, zwei Rechner auf den gleichen Stand bringen und dabei einige Einstellungen belassen. (Jeweils das zweite Linux booten):
rsync -av --delete --stats --exclude='/etc/hostname' --exclude='/etc/hosts' --exclude='/etc/modules' --exclude='/etc/network/interfaces' --exclude='/etc/X11/xorg.conf' /media/backup/rsync/lenny/ 192.168.x.x:/media/root/

[
| Versenden | Drucken ]
0
Von Enrico am Mo, 16. Juni 2008 um 09:27 #
Hab da mal ne Frage bezüglich dpkg. Ich habe ein Paket, dessen Abhängigkeiten nicht erfüllt sind. Es funktionniert aber trotzdem. Leider schmeißt aptitude es bei jeder Aktion raus, weil es als "broken" markiert ist.

Wie kann ich manuell den Status eines Pakets von "broken" auf "non broken" umstellen?

[
| Versenden | Drucken ]
  • 0
    Von Christopher Bratusek am Mo, 16. Juni 2008 um 09:43 #
    keine Ahnung, aber du kannst mit apt-get -f install versuchen, die fehlenden Abhängigkeiten zu installieren.
    [
    | Versenden | Drucken ]
    0
    Von theo rettisch am Mo, 16. Juni 2008 um 15:10 #
    Theoretisch kann man die Abhängikeiten im deb-File so modifizieren dass apt und co. nicht mehr schimpfen. An der DB selbst würde ich nicht herumfuschen.
    [
    | Versenden | Drucken ]
    0
    Von Matthias am Mo, 16. Juni 2008 um 15:13 #
    Du könntes in der Datei /varlib/dpkg/status den Eintrag für das Paket suchen und mit einem Texteditor die Depends Zeile ändern. Vorher aber Kopie von der Datei machen. Wenn da einen Fehler macht sucht man sich einen Wolf.

    Alternativ kann man das Deb mir ar aufdröseln , die Abhängigkeiten in der Info Datei ändern und wieder packen, und das Paket installieren.

    [
    | Versenden | Drucken ]
    0
    Von kanuba am Mi, 18. Juni 2008 um 00:06 #
    Kannst du es nicht einfach auf "hold" setzen?
    [
    | Versenden | Drucken ]
0
Von cornelinux am Mo, 16. Juni 2008 um 10:21 #
Ich backuppe meine Daten und Konfigurationen mit dirvish auf eine verschlüsselte Platte, die sich danach wieder schlafen legt.
Super. Wenn ich nun noch die Paketliste hinzulege, habe ich alles für die Systemwiederherstellung - und zwar an jedem Tag.
[
| Versenden | Drucken ]
0
Von ThorstenS am Mo, 16. Juni 2008 um 11:30 #
Ich nutze seit woody dazu noch dpkg-repack, um mir die installierten Pakete auch als deb auf eine CD brennen zu können.
(dpkg-repack ist ein Perl Skript, welches erstmalig unter sarge erschien, aber auch einwandfrei unter woody lief).

Ausschnitt aus dem Shell-Skript:

# Damit die Namen komplett erscheinen
export COLUMNS=220
#
# Die Farben:
GRUEN="\033[0;42;34m"
ROT="\033[0;0;31m"
EXIT="\033[0;0;39m"
echo -e "erzeuge die temporäre Ablage..."
TMPFILE=`mktemp /tmp/repack.XXXXXX` || " echo "Das Tool mktemp ist nicht installiert" ;exit 0 "
#
#Die installierte Packetliste erzeugen:
#
dpkg -l | grep "^ii" | awk '{ print $2 }' >> $TMPFILE
#
# und nun gehts los:
#
LINES=$(wc -l $TMPFILE | cut -d " " -f1)

y=0
for i in $(cat $TMPFILE) ; do
PaketName=$(apt-cache show $i | awk -F '/' '/Filename/ { print $5 }')
let y=y+1
echo -e "Paket ${GRUEN} ${y} ${EXIT} von ${GRUEN}${LINES} ${EXIT}heisst ${ROT} $i (${PaketName}) ${EXIT}"
if ! [ -e "$PaketName" ] ; then dpkg-repack $i ; fi
done

[
| Versenden | Drucken ]
  • 0
    Von L. Wall am Mo, 16. Juni 2008 um 19:02 #
    Also das ist alles, nur kein perl. Du hast da was verwechselt.
    [
    | Versenden | Drucken ]
    • 0
      Von ThorstenS am Mo, 16. Juni 2008 um 20:33 #
      hehe, ich hab da nichts verwechselt ;-)
      dpkg-repack ist in Perl geschrieben und das wird in der zweitletzten Zeile auch aufgerufen.

      Das Shellskript drumherum ist von mir und besorgt eine Liste aller installierten Pakete. Darüberhinaus
      wird farbig hervorgehoben welches Paket von wievielen gerade wieder zusammengeklaubt wird.

      Das hier hat den Vorteil, dass du selbst deb-Pakete von backports oder lokalen Paketinstallationen bekommst, wo du die Quellen nicht mehr in der sources.list oder sonstwo zur Verfügung hast. :)

      /thorsten

      [
      | Versenden | Drucken ]
0
Von theo rettisch am Mo, 16. Juni 2008 um 15:16 #
Die Paketliste selbst reicht ja nicht, es muss ja auch die sources.list mitgenommen werden, lokale (selbstkompilierte) packages müssen eingegliedert werden und auch sonst fehlen ja etliche andere Kleinigkeiten. Ich befürchte, dass die hier gegebene Anleitung bei vielen Nutzern im Ernstfall nicht weiterhilft.

Gibt es eigentlich noch kein Skript, das alle notwendigen Infos sammelt und die Dateien kopiert? Ich glaube es fast nicht.

[
| Versenden | Drucken ]
  • 0
    Von ThorstenS am Mo, 16. Juni 2008 um 20:36 #
    mein Skript drei Posts über dir macht schon recht viel in dieser Richtung.
    Es baut aus sämtlichen installierten Paketen wieder debs - egal ob die Quellen von eine alten backports-Version stammen oder aus einem lokalen configure-make-checkinstall-Intermezzo.
    Du musst nur noch den Output von dpkg --get-selections und natürlich /etc sichern.
    Dann kannst du das System wiederherstellen.

    /thorsten

    [
    | Versenden | Drucken ]
    0
    Von Andreas am Mo, 16. Juni 2008 um 23:48 #
    /etc und /home hat man ja üblicherweise im Backup, ebenso wie /usr/local, /opt, /root und einiges unter /var. Wer selbstkompilierte Pakete direkt ins System installiert, dem ist nicht mehr zu helfen. Diese gehören nach /usr/local oder meinetwegen /opt oder man baut sich gleich ein Debian-Paket daraus. Mit dieser Strategie hat man bei einem Systemcrash alles beisammen, was man braucht, um es wieder herzustellen.
    [
    | Versenden | Drucken ]
0
Von Andreas am Di, 17. Juni 2008 um 00:06 #
Wer die DPKG-Statusdatei (/var/lib/dpkg/status) mit dem Rest seines Backups regelmäßig sichert, kommt nach einem Crash in die Situation, Anhand des Backups die Paketliste für "dpkg --set-selections" oder apt für eine Wiederherstellung des Systems zu benötigen.

Oder er möchte sie von einem Rettungssystem aus generieren, welches nicht auf Debian basiert und dpkg deshalb nicht mitbringt. Für diese Fälle habe ich vor Jahren das Shellscript dpkg-getselections geschrieben, welches mir gute Dienste geliefert hat.

Der Bericht hat mich daran erinnert, es zu veröffentlichen. Es ist nun hier erhältlich.

[
| Versenden | Drucken ]
Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung