Menu

Upgrade openSUSE Leap 42.1 ke versi 15.1

Upgrade openSUSE Leap 42.1 ke versi 15.1

openSUSE adalah distro favorit saya. Sejarahnya bisa diusut ke masa-masa saat saya bekerja sebagai Sys Admin di sebuah perusahaan di Cikarang dan Tanjung Priok di kisaran tahun 2004-2010. Pada periode tahun 2007, openSUSE saya pakai sebagai sistem operasi server-server yang dikelola di perusahaan. Bahkan kebutuhan untuk sistem operasi Windows yang masih dipakai untuk beberapa aplikasi dipenuhi dengan cara membuatnya sebagai mesin virtual diatas openSUSE. Periode yang sama juga menjadi tahun-tahun saya aktif di komunitas yang kemudian menjadi bagian dari perjalanan Excellent hingga saat ini.

Beberapa server yang dikelola Excellent juga menggunakan openSUSE atau varian SLES-nya. Salah satunya adalah server backup yang juga difungsikan sebagai Docker host. Server tersebut tidak secara default disetting auto upgrade, sehingga saat saya check masih menggunakan versi openSUSE Leap 42.1 dengan isi repositori campuran. Repo campuran ini maksudnya repo utama (oss dan non-oss) beserta repo aplikasi 3rd party.

Sepertinya karena pernah diupdate parsial dengan repo campuran, package aplikasinya tercampur-campur dan sebagian tidak bisa dijalankan. Sedemikian parahnya, sampai-sampai menjalankan zypper dan yast saja tidak bisa, dengan pesan error sebagai berikut :

zypper: symbol lookup error: /usr/lib64/libproxy.so.1: undefined symbol: _ZN9libmodman14module_manager8load_dirENSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEb

Kira-kira seperti itu pesan errornya. Saya coba wget juga tidak bisa. Saya sudah sampai pada tahapan hendak melakukan proses reinstall namun karena ada 6 TB data di server tersebut, saya mencoba cara lain yang mungkin bisa berhasil.

Target utama saya adalah bisa menjalankan zypper dan yast. Jika kedua aplikasi utama ini bisa dijalankan, saya bisa melakukan update untuk aplikasi lainnya. Masalahnya, karena keduanya tidak bisa dijalankan, saya harus melakukan download file package aplikasi dan melakukan instalasi secara manual.

Untuk mendownload package zypper, saya harus menentukan dulu versi openSUSE leap yang hendak diambil. Saya memilih openSUSE leap 42.3 yang masih disupport di repo openSUSE baru kemudian nantinya diupgrade ke versi terkini. Saya mengambil binary zypper melalui https://software.opensuse.org/search menggunakan curl -0 dengan parameter –output (karena wget tidak bisa dijalankan) kemudian mencoba install menggunakan rpm -ivh atau rpm -Uvh.

Ternyata binary zypper ini conflict dengan versi yang sudah ada dan terinstall (dan tidak berjalan ๐Ÿ˜› ). Jadi saya melakukan proses remove aplikasi zypper berikut file-file yang menyertainya. Saat mencoba install kembali, ternyata butuh file libzypp. Saya mencari binary libzypp dan mencoba install terlebih dahulu sebelum install zypper. Ternyata libzypp butuh file libmodman. Saat coba install libmodman butuh libsolv-tools. Setelah keduanya diinstall, ternyata masih butuh file libproxy. Saya sudah hampir mengurungkan niat melanjutkan proses recovery sistem ini karena jadi panjang prosesnya. Inilah repotnya install manual karena harus melakukan instalasi file dependency terlebih dahulu. Jadi ingat saat-saat pakai openSUSE kala zypper belum diciptakan dan yast dianggap kurang familiar ๐Ÿ™‚

Namun karena saya lagi ada banyak waktu dan saya juga punya hobi ngoprek, saya lanjutkan terus prosesnya. Library apapun yang diminta, saya cari di repo openSUSE. Sampai akhirnya zypper bisa terinstall dengan baik. Karena zypper terinstall dengan baik, yast bisa saya install. Karena keduanya bisa diinstall, saya bisa melakukan perintah zypper mr -da untuk melakukan disable semua repo, kemudian menambahkan repo openSUSE leap 42.3 dengan perintah zypper ar baru setelah itu melakukan perintah zypper up untuk melakukan update seluruh package.

Setelah semua package terupdate, saya bisa melakukan instalasi package lainnya seperti wget. Saya check sekarang server sudah berjalan dengan normal dan aktif kembali.

Karena waktu ngoprek masih banyak, saya mendisable semua repo openSUSE leap 42.3 kemudian menambahkan repo openSUSE leap 15.1 dan melakukan perintah zypper dup (zypper distribution upgrade) untuk melakukan uppgrade major ke versi openSUSE leap 15.1.

Proses upgrade ini berjalan dengan mulus dan sekarang si server sudah pakai openSUSE leap 15.1.

# cat /etc/os-release
NAME=”openSUSE Leap”
VERSION=”15.1 Alpha”
ID=”opensuse-leap”
ID_LIKE=”suse opensuse”
VERSION_ID=”15.1″
PRETTY_NAME=”openSUSE Leap 15.1Alpha”
ANSI_COLOR=”0;32″
CPE_NAME=”cpe:/o:opensuse:leap:15.1″
BUG_REPORT_URL=”https://bugs.opensuse.org”
HOME_URL=”https://www.opensuse.org/”

Setelah baca-baca kembali, ternyata saya terlalu update mengambil versinya ๐Ÿ™‚ . Versi stabil untuk Leap ada di versi 15.0 kalau menurutย https://en.opensuse.org/Portal:Leap. Saya juga sebenarnya bisa memilih Tumbleweed jika ingin versi rolling-release, jadi tidak harus upgrade versi hanya untuk mendapatkan software versi terbaru. Namun karena tujuan awal saya adalah menyelamatkan sistem Leap yang ada, ditambah lagi ini memang server backup plus development berbasis Docker, saya masih oke pakai versi alpha sekalipun ๐Ÿ™‚

Buat jaga-jaga, data backup yang 6 TB siap-siap saya salin ke bucket storage lain, jadi ada cadangan emergency jika saya hendak bermain-main dengan openSUSE leap 15.1 atau mau switch ke openSUSE Tumbleweed.

Masim Vavai Sugianto

Menu