Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen angezeigt.

Link zu dieser Vergleichsansicht

Nächste Überarbeitung
Vorhergehende Überarbeitung
opendocs:update_lenny2squeeze [2011/05/15 03:52] – angelegt cvorwerkopendocs:update_lenny2squeeze [2012/08/06 20:02] (aktuell) – Externe Bearbeitung 127.0.0.1
Zeile 29: Zeile 29:
  
   * Prüfe mit ''aptitude'' oder ''apt-get'', dass alle Pakete ordnungsgemäß installiert sind!   * Prüfe mit ''aptitude'' oder ''apt-get'', dass alle Pakete ordnungsgemäß installiert sind!
 +
   aptitude     aptitude  
  
   * Setze alle Pakete auf //install// mit ''aptitude''   * Setze alle Pakete auf //install// mit ''aptitude''
 +
   for a in $(aptitude search "~ahold" | sed 's/....//' | sed 's/ .*//'); do aptitude unhold $a;done   for a in $(aptitude search "~ahold" | sed 's/....//' | sed 's/ .*//'); do aptitude unhold $a;done
  
   * Setze alle Pakete auf //install// mit ''dpkg''   * Setze alle Pakete auf //install// mit ''dpkg''
 +
   dpkg --get-selections | grep hold   dpkg --get-selections | grep hold
   echo package_name install | dpkg --set-selections   echo package_name install | dpkg --set-selections
  
 +  * Leere Paketarchiv
  
 +  apt-get clean
 === Backups erstellen === === Backups erstellen ===
  
   * Liste der installierten Pakete   * Liste der installierten Pakete
-  dpkg --get-selections "*" > ~/squ_update_curr-pkgs.txt+ 
 +  dpkg --get-selections "*" > ~/squ_update_${HOSTNAME}_curr-pkgs.txt
  
   * Die wichtigsten Ordner sind:   * Die wichtigsten Ordner sind:
 +
   cd /   cd /
-  tar czf squ_update_${date +%Y%m%d%H%M%S}_etcplus.tar.gz /etc /var/lib/dpkg /var/lib/apt/extended_states /var/lib/aptitude/pkgstates ~/squ_update_curr-pkgs.txt +  tar czf squ_update_${HOSTNAME}_$(date +%Y%m%d%H%M%S)_etcplus.tar.gz /etc /var/lib/dpkg /var/lib/apt/extended_states /var/lib/aptitude/pkgstates ~/squ_update_${HOSTNAME}_curr-pkgs.txt 
-  +  cd 
 + 
 <note warning> <note warning>
 Nicht vergessen werden dürfen die Nutzerdaten: Nicht vergessen werden dürfen die Nutzerdaten:
Zeile 64: Zeile 73:
  
   * System, dass aktualisiert werden soll   * System, dass aktualisiert werden soll
-  dd bs=4M if=/dev/sda | netcat target-ip 9000+ 
 +  dd bs=4M if=/dev/sda |  buffer -s 512k -S 100m | netcat target-ip 9000
  
   * Ziel der Sicherungsdateien   * Ziel der Sicherungsdateien
-  netcat -l -p 9000 | dd bs=4M of=squ_update_${date +%Y%m%d%H%M%S}_sda.ddimg+ 
 +  netcat -l -p 9000 | dd bs=4M of=squ_update_${HOSTNAME}_$(date +%Y%m%d%H%M%S)_sda.ddimg
  
 </note> </note>
Zeile 81: Zeile 92:
 <note important> <note important>
   * Wir starten nun die Aufname unserer Shell-Session   * Wir starten nun die Aufname unserer Shell-Session
 +
   script -t 2>~/upgrade-squeezestep.time -a ~/upgrade-squeezestep.script   script -t 2>~/upgrade-squeezestep.time -a ~/upgrade-squeezestep.script
  
Zeile 86: Zeile 98:
  
 :!: Wenn man zwischendurch sich anschauen möchte, was man gemacht hat, wechselt man in eine andere Shell und führt den folgenden Befehl aus. :!: Wenn man zwischendurch sich anschauen möchte, was man gemacht hat, wechselt man in eine andere Shell und führt den folgenden Befehl aus.
 +
   less -R ~root/upgrade-squeeze.script   less -R ~root/upgrade-squeeze.script
  
   * Später kann man die Aufname mit dem folgenden Befehl abspielen.   * Später kann man die Aufname mit dem folgenden Befehl abspielen.
 +
   scriptreplay ~/upgrade-squeeze.time ~/upgrade-squeeze.script   scriptreplay ~/upgrade-squeeze.time ~/upgrade-squeeze.script
  
Zeile 94: Zeile 108:
  
   * Löschen von Problempakete   * Löschen von Problempakete
 +
   apt-get purge splashy   apt-get purge splashy
  
-  * Paket-Cache leeren +
-  apt-get clean+
  
  
Zeile 105: Zeile 119:
  
   * //proposed-updates// muss entfernt werden   * //proposed-updates// muss entfernt werden
 +
   egrep -R "^[^#]*proposed-updates" /etc/apt/sources.list*   egrep -R "^[^#]*proposed-updates" /etc/apt/sources.list*
  
   * //backports// sollten deaktiviert werden, da die bisher genutzten Versionen in //lenny-backports// höchstwahrscheinlich denen in //squeeze// entsprechen.   * //backports// sollten deaktiviert werden, da die bisher genutzten Versionen in //lenny-backports// höchstwahrscheinlich denen in //squeeze// entsprechen.
 +
   egrep -R "^[^#]*lenny-backports" /etc/apt/sources.list*   egrep -R "^[^#]*lenny-backports" /etc/apt/sources.list*
  
Zeile 118: Zeile 134:
  
   * //lenny// durch //squeeze// austauschen   * //lenny// durch //squeeze// austauschen
 +
   sed -i 's/lenny/squeeze/' /etc/apt/sources.list*   sed -i 's/lenny/squeeze/' /etc/apt/sources.list*
  
Zeile 125: Zeile 142:
 <note important> <note important>
 Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt. Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt.
 +
   touch ~/squ_update_starttime   touch ~/squ_update_starttime
 +
 </note> </note>
  
 +<note warning>
 +Wenn man ein XEN0-System aktualisiert, muss man zur Vorsicht die DomUs aus dem Autostart entfernen!
  
 +  rm -vf /etc/xen/auto/*
 +
 +</note>
 ==== Minimalupdate ==== ==== Minimalupdate ====
  
   * Prüfen, ob ausreichend Speicher auf dem System vorhanden ist. Addiere was heruntergeladen werden muss mit dem zusätzlich verbrauchten Speicherplatz.   * Prüfen, ob ausreichend Speicher auf dem System vorhanden ist. Addiere was heruntergeladen werden muss mit dem zusätzlich verbrauchten Speicherplatz.
 +
   apt-get update   apt-get update
   apt-get -o APT::Get::Trivial-Only=true dist-upgrade   apt-get -o APT::Get::Trivial-Only=true dist-upgrade
- 
-<note tip> 
-:!: Manchmal kommt ein Error, dann muss man für den zuletzt aufgeführten Befehlen den folgenden ausführen: 
-  apt-get upgrade 
-</note> 
  
   * Minimales system upgrade   * Minimales system upgrade
 +
   apt-get upgrade   apt-get upgrade
  
Zeile 154: Zeile 175:
   find /etc/ -iname "*old"   find /etc/ -iname "*old"
   find /etc/ -iname "*dpkg-dist"   find /etc/ -iname "*dpkg-dist"
 +  find /etc/ -iname "*dist"
  
 </note> </note>
Zeile 162: Zeile 184:
 <note important> <note important>
 Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt. Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt.
 +
   touch ~/squ_update_kernel   touch ~/squ_update_kernel
 +
 </note> </note>
  
Zeile 168: Zeile 192:
  
   * Installation des neuen Kernel   * Installation des neuen Kernel
 +
   apt-get install linux-image-2.6-flavor # amd64 oder 686   apt-get install linux-image-2.6-flavor # amd64 oder 686
 +  
 +  # für XEN Dom0
 +  apt-get install linux-image-2.6-xen-amd64 xen-hypervisor-4.0-amd64
 +  apt-get remove --purge xen-hypervisor-3.2-1-amd64 xen-utils-3.2-1
 +  
 +  # für XEN DomU
 +  apt-get install linux-image-2.6.32-5-xen-amd64
 +
 +//Der Grund für die Umstellung auf die Installation eines ganzen Kernel-Images in einer XenU ist, dass ich im Python Konfigurations-Start-Skript (''xm'') das Mounten der XenU-Rootpartition und Kopieren des aktuellen Kernels daraus implementieren möchte.//
  
   * Zur Sicherheit führen wir noch einmal die Grub-Konfiguration aus.   * Zur Sicherheit führen wir noch einmal die Grub-Konfiguration aus.
 +
   update-grub   update-grub
  
   * Installation von //udev//   * Installation von //udev//
 +
   apt-get install udev   apt-get install udev
  
   * Prüfen auf neue Konfigurationsdateien   * Prüfen auf neue Konfigurationsdateien
-    find /etc/ -type f -newer ~/squ_update_kernel+ 
 +  find /etc/ -type f -newer ~/squ_update_kernel 
 +  find /etc/ -iname "*dpkg-new" 
 +  find /etc/ -iname "*old" 
 +  find /etc/ -iname "*dpkg-dist" 
 +  find /etc/ -iname "*dist" 
 + 
 + 
 +<note warning> 
 +In Squeeze hat sich ''modprobe'' geändert. Es gibt beispielsweise die Option ''-o'' nicht mehr. 
 + 
 +Wenn man //bonding// bisher in der folgenden Form genutzt hat, um Netzwerkinterfaces zusammen zuführen, dann muss man die Einträge ändern. 
 + 
 +Vorher: 
 +<code> 
 +# Multi VLAN interface 
 +# bond interface mit kalten fallback 
 +auto bond0 
 +iface bond0 inet manual 
 +     pre-up modprobe -v bonding -o bond0 mode=active-backup primary=eth0 miimon=100 
 +     up /sbin/ifconfig bond0 up 
 +     post-up /sbin/ifenslave bond0 eth0 
 +     post-up /sbin/ifenslave bond0 eth1 
 +     post-down /sbin/ifconfig bond0 down 
 +     post-down rmmod bond0 
 + 
 +</code> 
 + 
 +Hinterher: 
 +<code> 
 +# Multi VLAN interface 
 +# bond interface mit kalten fallback 
 +auto bond0 
 +iface bond0 inet manual 
 +     bond-primary eth0 
 +     bond-slaves eth0 eth1 
 +     bond-mode active-backup 
 +     bond-miimon 100 
 + 
 +</code> 
 + 
 +:!: Ohne einen Eintrag in dem Verzeichnis //modprobe.d// in der folgenden Art, gibt es beim Booten eine Fehlermeldung, die aber nur unschön ist. 
 + 
 +<code bash> 
 +cd /etc/modprobe.d 
 + 
 +cat > aliases-bond.conf 
 +alias bond0 bonding 
 +  options bonding mode=1 arp_interval=2000 arp_ip_target=192.168.3.1 
 + 
 +<CTRL-D> 
 +</code> 
 + 
 +Fehlermeldung, wenn der obrige Eintrag nicht vorhanden ist: 
 +  bonding: Warning: either miimon or arp_interval and arp_ip_target module parameters 
 +  must be specified, otherwise bonding will not detect link failures! see bonding.txt for details. 
 + 
 +Auch muss man sicherstellen, dass das Paket ''ifenslave-2.6'' installiert ist. 
 +  apt-get install ifenslave-2.6 
 + 
 +</note>
  
 :!: Jetzt sollte man das System mit dem neuen Kernel neu starten. :!: Jetzt sollte man das System mit dem neuen Kernel neu starten.
 +
   shutdown -r now   shutdown -r now
 +  
 +  # Für XEN DomU
 +  poweroff
  
  
Zeile 186: Zeile 286:
  
   * Aufnahme für die Shell   * Aufnahme für die Shell
 +
   script -t 2>~/upgrade-squeezestep1.time -a ~/upgrade-squeezestep1.script   script -t 2>~/upgrade-squeezestep1.time -a ~/upgrade-squeezestep1.script
  
 <note important> <note important>
 Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt. Um zu erkennen, welche Dateien sich ab jetzt ändern, legten wir eine Datei an, die dann als Referenzzeit gilt.
 +
   touch ~/squ_update_dist   touch ~/squ_update_dist
  
Zeile 195: Zeile 297:
  
   * Update starten   * Update starten
 +
   apt-get dist-upgrade   apt-get dist-upgrade
  
   * Prüfen auf neue Konfigurationsdateien   * Prüfen auf neue Konfigurationsdateien
-    find /etc/ -type f -newer ~/squ_update_kernel+ 
 +  find /etc/ -type f -newer ~/squ_update_dist 
 +  find /etc/ -iname "*dpkg-new" 
 +  find /etc/ -iname "*old" 
 +  find /etc/ -iname "*dpkg-dist" 
 +  find /etc/ -iname "*dist"
  
 :!: System neu starten :!: System neu starten
 +
   shutdown -r now   shutdown -r now
  
Zeile 207: Zeile 316:
  
   * Zur Sicherheit schauen wir uns das bootlog auf Ungereimtheiten an.   * Zur Sicherheit schauen wir uns das bootlog auf Ungereimtheiten an.
 +
   less /var/log/dmesg   less /var/log/dmesg
  
   * Grub2 in den MBR schreiben   * Grub2 in den MBR schreiben
 +
   upgrade-from-grub-legacy   upgrade-from-grub-legacy
  
 :!: System neu starten :!: System neu starten
 +
   shutdown -r now   shutdown -r now
  
   * Alte grub Konfigurationsdateien entfernen   * Alte grub Konfigurationsdateien entfernen
 +
   rm -f /boot/grub/menu.lst*   rm -f /boot/grub/menu.lst*
 +
 +
 +<note important>
 +Wenn man XEN nutzt, dann muss man noch einige weitere Änderungen vornehmen.
 +
 +  * XEN-Kernel mit Hypervisor als erstes im Grub-Menü
 +
 +  mv -i /etc/grub.d/50_linux /etc/grub.d/20_linux
 +  mv -i /etc/grub.d/20_linux_xen /etc/grub.d/10_linux_xen
 +
 +  * DomU Systeme nicht im Grub-Menü auftauchen lassen (''/etc/default/grub'')
 +
 +  # Disable OS prober to prevent virtual machines on logical volumes from appearing in the boot menu.
 +  GRUB_DISABLE_OS_PROBER=true
 +
 +  * Grub-Menü neu aufbauen
 +
 +  update-grub
 +
 +
 +Ressources:
 +  * http://wiki.debian.org/Xen#Installation_on_squeeze
 +  * http://www.bertol.de/Xen+4.0+unter+Debian+Squeeze
 + 
 +
 +</note>
 +
 +==== Update abschließen ====
 +
 +Man kann nun alle Pakete, die obsolet sind entfernen.
 +
 +  apt-get clean && apt-get autoremove
 +  
 +  aptitude
 +
 +
 +
 +<note important>
 +Wenn man das automatische starten von XEN DomUs abgeschaltet hat, muss man dieses wieder aktivieren.
 +
 +</note>
 +
 +
 +
 +
  
  
opendocs/update_lenny2squeeze.1305431573.txt.gz · Zuletzt geändert: 2012/08/06 20:02 (Externe Bearbeitung)
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0