blog.vyoralek.cz

Aktualizace Armbian Ubuntu z 16.04 na 18.04 pro Orange Pi Zero +2

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

Tato stránka používá Akismet k omezení spamu. Podívejte se, jak vaše data z komentářů zpracováváme..