32bit zu 64bit

Aus Shea Wiki
Zur Navigation springen Zur Suche springen

Cross-Upgrade von Fedora 22 32bit zu 64bit

Versuch 2

rpm überprüft inzwischen, ob die Architektur des Pakets passt. Die Architektur ist überprüfbar mit

rpm --eval '%{_arch}'


rpm überreden, dass wir 64bit sind:

echo x86_64-redhat-linux > /etc/rpm/platform


64bit-Kernel installieren:

rpm -ivh http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/23/x86_64/k/kernel-4.2.6-300.fc23.x86_64.rpm http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/23/x86_64/k/kernel-core-4.2.6-300.fc23.x86_64.rpm http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/23/x86_64/k/kernel-modules-4.2.6-300.fc23.x86_64.rpm


Wichtige Pakete manuell updaten, besonders bei rpm und dnf aufpasssen

dnf -b Paket
rpm -e Paket.i686


Nach dem Update von rpm, RPMDB rebuilden:

rm -rf /var/lib/rpm/__db.00*
rpmdb --rebuilddb


Übrige Pakete updaten:

rpm -qa --qf="%{name} %{arch}\n" |grep x86_64|cut -d" " -f1 >/tmp/x86_64
rpm -qa --qf="%{name} %{arch}\n" |grep i686|cut -d" " -f1 >/tmp/i686
for i in `cat /tmp/i686`; do if ! egrep "^$i\$" /tmp/x86_64 >/dev/null; then echo $i; if ! dnf -y -b install $i; then echo "Löschen und noch mal? "; read Y </dev/tty; if [ "$Y" = y ]; then rpm -e --nodeps $i; dnf -y -b install $i; fi; fi; fi; done


Alte i686-Pakete entfernen:

rpm -qa --qf="%{name} %{arch}\n" |grep x86_64|cut -d" " -f1 >/tmp/x86_64
rpm -qa --qf="%{name} %{arch}\n" |grep i686|cut -d" " -f1 >/tmp/i686
for i in `cat /tmp/i686`; do if egrep "^$i\$" /tmp/x86_64 >/dev/null; then echo $i; rpm -e $i.i686; fi; done


Versuch 1

  • 64bit-Kernel installieren:
rpm -ihv http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/22/x86_64/k/kernel-4.0.6-300.fc22.x86_64.rpm http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/22/x86_64/k/kernel-core-4.0.6-300.fc22.x86_64.rpm http://ftp.halifax.rwth-aachen.de/fedora/linux/updates/22/x86_64/k/kernel-modules-4.0.6-300.fc22.x86_64.rpm


  • Reboot mit x86_64-Kernel
  • Nach dem Reboot ist für dnf $basearch=x86_64
  • Für rpm ist aber noch die Architektur i386, überprüfbar mit
rpm --eval '%{_arch}'
  • Hiermit überschreiben:
echo x86_64-redhat-linux > /etc/rpm/platform


  • Pakete updaten / austauschen:
rpm -Uvh http://mirror2.hs-esslingen.de/fedora/linux/updates/22/x86_64/p/python-librepo-1.7.16-1.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/updates/22/x86_64/l/librepo-1.7.16-1.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/g/gpgme-1.4.3-5.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/l/libassuan-2.2.0-1.fc22.x86_64.rpm
rpm -Uvh http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/p/python-libcomps-0.1.6-14.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/l/libcomps-0.1.6-14.fc22.x86_64.rpm
rpm -Uvh http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/p/pyliblzma-0.5.3-13.fc22.x86_64.rpm
rpm -Uvh http://mirror2.hs-esslingen.de/fedora/linux/updates/22/x86_64/r/rpm-python-4.12.0.1-11.fc22.x86_64.rpm
rpm -Uvh http://mirror2.hs-esslingen.de/fedora/linux/updates/22/x86_64/p/python-hawkey-0.5.7-1.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/updates/22/x86_64/h/hawkey-0.5.7-1.fc22.x86_64.rpm http://mirror2.hs-esslingen.de/fedora/linux/releases/22/Everything/x86_64/os/Packages/l/libsolv-0.6.10-1.fc22.x86_64.rpm


dnf update
pkgs_devel="$(rpm -qa --queryformat '%{name}\n' | sed -n '/devel/p')"


KategorieWissen