Menghilangkan YUM error : “There are unfinished transactions remaining”

Pernah mengalami proses yum update yang tidak tuntas karena proses yum tiba-tiba hang? Atau kita harus menghentikan paksa proses yum? Akibatnya, ketika kita menjalankan proses yum kembali maka akan mendapati error “There are unfinished transactions remaining” seperti pada contoh berikut :

[root@indra ~]# yum update
Loaded plugins: fastestmirror
Setting up Update Process
Loading mirror speeds from cached hostfile
base: mirror.newmediaexpress.com
epel: download.nus.edu.sg
extras: mirror.newmediaexpress.com
updates: mirror.newmediaexpress.com
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package jansson.x86_64 0:2.6-1.el6 will be updated
---> Package jansson.x86_64 0:2.11-1.el6 will be an update
---> Package jansson-devel.x86_64 0:2.6-1.el6 will be updated
---> Package jansson-devel.x86_64 0:2.11-1.el6 will be an update
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================
Package Arch Version Repository Size
Updating:
jansson x86_64 2.11-1.el6 epel 37 k
jansson-devel x86_64 2.11-1.el6 epel 10 k
Transaction Summary
Upgrade 2 Package(s)
Total download size: 47 k

Tidak perlu panik. Ikuti langkah-langkah berikut untuk menghilangkan pesan error tersebut.

1. Pasang yum-utils

[root@indra ~]# yum install yum-utils
Loaded plugins: fastestmirror
Setting up Install Process
Loading mirror speeds from cached hostfile
base: mirror.newmediaexpress.com
epel: download.nus.edu.sg
extras: mirror.newmediaexpress.com
updates: mirror.newmediaexpress.com
Resolving Dependencies
There are unfinished transactions remaining. You might consider running yum-complete-transaction first to finish them.
The program yum-complete-transaction is found in the yum-utils package.
--> Running transaction check
---> Package yum-utils.noarch 0:1.1.30-42.el6_10 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
============================================================================================================================================================================================================
Package Arch Version Repository Size
Installing:
yum-utils noarch 1.1.30-42.el6_10 updates 114 k
Transaction Summary
Install 1 Package(s)
Total download size: 114 k
Installed size: 311 k
Is this ok [y/N]: y
Downloading Packages:
yum-utils-1.1.30-42.el6_10.noarch.rpm | 114 kB 00:00
Running rpm_check_debug
Running Transaction Test
Transaction Test Succeeded
Running Transaction
Installing : yum-utils-1.1.30-42.el6_10.noarch 1/1 Verifying : yum-utils-1.1.30-42.el6_10.noarch 1/1 Installed: yum-utils.noarch 0:1.1.30-42.el6_10 Complete!

2. Jalankan yum-complete-transaction

[root@indra ~]# yum-complete-transaction --cleanup-only
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base: mirror.newmediaexpress.com
epel: download.nus.edu.sg
extras: mirror.newmediaexpress.com
updates: mirror.newmediaexpress.com
Cleaning up unfinished transaction journals
Cleaning up 2019-06-02.21:56.06

3. Coba kembali menjalankan perintah Yum

[root@indra ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
base: mirror.newmediaexpress.com
epel: fedora.cs.nctu.edu.tw
extras: mirror.newmediaexpress.com
updates: mirror.newmediaexpress.com
repo id repo name status
base CentOS-6 - Base 6713
epel Extra Packages for Enterprise Linux 6 - x86_64 12541
extras CentOS-6 - Extras 46
updates CentOS-6 - Updates 465
repolist: 19765

Semoga membantu.

YUM : DB_RUNRECOVERY: Fatal error, run database recovery

Pernah mengalami kejadian lagi yum update di server trus tiba-tiba layar laptop tertutup secara tidak sengaja? Yep, koneksi ke server akan terputus dan akan menyebabkan kita kehilangan akses ke proses yum update yang sedang berlangsung. Dan karena putus asa proses yum yang tidak kunjung selesai jadi terpaksa melakukan kill -9, akibatnya kita akan mendapati masalah DB_RUNRECOVERY fatal error seperti dibawah ini :

[root@indra ~]# yum repolist
rpmdb: Thread/process 7710/140315268437760 failed: Thread died in Berkeley DB library
error: db3 error(-30974) from dbenv->failchk: DB_RUNRECOVERY: Fatal error, run database recovery
error: cannot open Packages index using db3 - (-30974)
error: cannot open Packages database in /var/lib/rpm
CRITICAL:yum.main:

Error: rpmdb open failed

Hal yang sama juga bisa terjadi jika mengalami masalah disk I/O pada saat mengeksekusi perintah yum atau manipulasi RPM, sehingga menyebabkan database RPM corrupted.

Jika terjadi masalah seperti diatas, ada beberapa langkah mudah berikut dapat dilakukan untuk memperbaiki database RPM di server :


$ mv /var/lib/rpm/__db* /tmp/
$ rpm --rebuilddb
$ yum clean all

Selanjutnya, dapat menjalankan perintah YUM (misalnya yum repolist) untuk memastikan error tersebut sudah tidak lagi muncul. Berikut contoh hasilnya :

[root@indra ~]# yum repolist
Loaded plugins: fastestmirror
Loading mirror speeds from cached hostfile
* base: mirror.newmediaexpress.com
* epel: download.nus.edu.sg
* extras: mirror.newmediaexpress.com
* updates: mirror.newmediaexpress.com
repo id repo name status
base CentOS-6 - Base 6713
epel Extra Packages for Enterprise Linux 6 - x86_64 12541
extras CentOS-6 - Extras 46
updates CentOS-6 - Updates 465
repolist: 19765

Jika karena alasan tertentu, langkah rebuild database diatas tidak dapat menyelesaikan masalah. Anda masih bisa mengembalikan file database RPM yang lama di folder /tmp.