Tag

, ,

Berikut ini merupakan catatan saya terkait proses upgrade pada server production yang kami gunakan saat ini.

Langkah pertama yang dilakukan adalah melakukan backup terhadap beberapa data penting, di server kami menggunakan database mysql, postgres, serta melakukan backup terhadap konfigurasi pada folder /etc. Untungnya pada semua server yang kami gunakan telah rutin di-backup menggunakan rsnapshot. Untuk berjaga-jaga, dilakukan beberapa backup secara manual.

# mysqldump --defaults-file=/etc/mysql/debian.cnf -cCeQ --hex-blob --quote-names --routines --events --triggers --all-databases -r all_databases.sql
# tar -pczf etc.tar.gz /etc

Perintah di atas melakukan proses backup terhadap database mysql dikarenakan terdapat perubahan aplikasi, di mana Debian 9 memutuskan untuk menggunakan MariaDB.

Langkah kedua yang dilakukan adalah melakukan perintah update dan upgrade serta dilanjutkan dengan dist-upgrade pada sistem yang berjalan, di mana versi yang digunakan sebelum upgrade adalah debian 8.11 (jessie).

# apt-get update
# apt-get upgrade
# apt-get dist-upgrade

Setelah proses selesai dilanjutkan dengan Langkah Ketiga untuk melakukan pemeriksaan terhadap konsistensi paket aplikasi yang ada, atau apakah ada paket yang sudah tidak mendapatkan upgrade di Debian 9.

# dpkg -C
# apt-mark showhold

Bila tidak ada yang permasalahan yang muncul, di tempat saya ke-dua perintah di atas tidak menghasilkan keluaran apa-apa, maka bisa dilanjutkan untuk melakukan tahapan upgrade berikutnya. Bila tidak, maka perlu dipikirkan untuk melakukan tindakan lanjutan terhadap paket yang bermasalah tersebut.

Langkah Keempat adalah melakukan update terhadap repository. Saya melakukan backup terhadap konfigurasi lama dan melakukan perubahan terhadap nama versi Debian dari jessie ke stretch.

# cp /etc/apt/sources.list /etc/apt/sources.list.ori
# nano /etc/apt/sources.list

Berikut ini adalah contoh isi konfigurasi tersebut.

deb http://kambing.ui.ac.id/debian stretch main non-free contrib
deb-src http://kambing.ui.ac.id/debian stretch main non-free contrib
deb http://ftp.debian.org/debian stretch-backports main

deb http://security.debian.org/ stretch/updates main contrib non-free
deb-src http://security.debian.org/ stretch/updates main contrib non-free

Karena ada instalasi paket tambahan, di server terdapat PHP dan Postgresql, dilakukan pula untuk konfigurasi tersebut.

# cat /etc/apt/sources.list.d/pgdg.list
#deb http://apt.postgresql.org/pub/repos/apt/ jessie-pgdg main
deb http://apt.postgresql.org/pub/repos/apt/ stretch-pgdg main
# cat /etc/apt/sources.list.d/php.list
#deb https://packages.sury.org/php/ jessie main
deb https://packages.sury.org/php/ stretch main

Setelah proses tersebut selesai, lakukan update.

# apt-get update

Setelah proses selesai, maka coba test untuk melihat paket apa saja yang akan di-upgrade dengan menjalankan perintah:

# apt list --upgradable

Kemudian langkah terakhir adalah dua langkah penentu, melakukan upgrade pada masing-masing paket dan upgrade ke Debian stretcth.

# apt-get upgrade
# apt-get dist-upgrade

Setelah ini semestinya proses telah selesai, dan lakukan reboot bila dibutuhkan.

# reboot

Referensi:

Iklan