32bit zu 64bit
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 ! grep $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
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')"