Před časem jsem si koupil Orange PI Zero +2 a nainstaloval na něj Ubuntu 16.04. Vše funguje, ale nastal čas pro upgrade na novější verzi Ubuntu 18.04. Bohužel vše nešlo úplně hladce a tak jsem to neustále odkládal, až se mi konečně podařilo celý upgrade dokončit.
Před upgradem
Mým výchozím stavem tak bylo Orange PI Zero +2 s Ubuntu 16.04 a všemi posledními aktualizacemi.
Upgrade
Samotná aktualizace vypadá jednoduše – pokud vše funguje měly by stačit následující tři řádky. Předpokladem je mít už nainstalovaný Python3.
apt update && apt dist-upgrade -y && apt autoremove -y && apt autoclean
apt install update-manager-core
do-release-upgrade -d
Problém s Python knihovnou
Mě však poslední z výše uvedených příkazů neustále končil chybou „No module named apt_pkg“ a nedařilo se mi najít návod, který by zafungoval.
První co jsem zkusil je doinstalovat zmíněný balíček raději pro obě verze Pythonu (2+3):
apt-get install python-apt python3-apt
Nicméně chybová hláška poté nezmizela.
Dalším pokusem bylo vytvoření symbolického linku na apt_pkg.so z existující knihovny, který nakonec zabral:
cd /usr/lib/python3/dist-packages
sudo ln -s apt_pkg.cpython-35m-aarch64-linux-gnu.so apt_pkg.so
Mám pocit, že celý problém jsem si zavlekl díky instalaci více verzí Pythonu 3.
Problém s Python knihovnou #2
Když jsem prováděl upgrade na mém druhém Orange Pi narazil jsem na jinou chybou hlášku, i když verze byly snad velice podobné. Chyba byla:
Traceback (most recent call last):
File "/usr/bin/do-release-upgrade", line 11, in <module>
from UpdateManager.Core.MetaRelease import MetaReleaseCore
File "/usr/lib/python3/dist-packages/UpdateManager/Core/MetaRelease.py", line 25, in <module>
import apt
File "/usr/lib/python3/dist-packages/apt/__init__.py", line 23, in <module>
import apt_pkg
ImportError: dynamic module does not define module export function (PyInit_apt_pkg)
… i přesto, že jsem udělal vše jak je popsáno výše
Už v předchozí části mě pojalo podezření, že celý problém může být v novější verzi Pythonu 3.6 a tak jsem si řekl, co kdybych přehodil verzi zpět na Python 3.5, což jde nejjednodušeji udělat pomocí:
update-alternatives --config python3
.. a následně byste měli vidět něco jako:
There are 2 choices for the alternative python3 (providing /usr/bin/python3).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.6 2 auto mode
1 /usr/bin/python3.5 1 manual mode
2 /usr/bin/python3.6 2 manual mode
Stačí tedy zmáčknout jedničku a potvrdit a Python je přepnutý na verzi 3.5. Po této úpravě už aktualizace pokračovala v pořádku jako minule.
Pokračování aktualizace
Po vyřešení problému s apt_pkg již vše běželo jako na drátku a zanedlouho jsem viděl sumarizační stránku:
Do you want to start the upgrade?
3 installed packages are no longer supported by Canonical. You can still get support from the community.
2 packages are going to be removed. 97 new packages are going to be installed. 470 packages are going to be upgraded.
You have to download a total of 269 M. This download will take about 4 minutes with your connection.
Installing the upgrade can take several hours. Once the download has finished, the process cannot be canceled.
Continue [yN] Details [d]
Klikl jsem na „Y“ a instalace se asi cca. po hodině s občasnými dotazy na přepsání konfiguračních souborů úspěšně dokončila.
Hotovo
Po dokončené aktualizace a nutném restartu již v konzoli svítí Ubuntu 18.04. Zatím vypadá to jediný důležitý balíček, který aktualizaci nepřežil je Grafana, kterou tak budu muset dořešit separátně.
Rada na závěr
Jelikož je reinstalace poněkud kritickým procesem a potřebujeme aby skutečně doběhl až do konce doporučuji v průběhu Orange PI přídavně chladit, což je i důvod proč mám CPU temp 30st.
Add comment