Are you okay? I hope so
Are you happy? I hope so
Today, I will tell a funny story about my trouble with broken packages. Usually, we use "sudo yum check-update" to get list of updates for our system, and use "sudo yum update" for install them.
Like this:
[cuongpt@cuongpt-laptop ~]$ sudo yum check-update
Loaded plugins: langpacks, presto, refresh-packagekit
kmod-VirtualBox-OSE.i686 4.1.12-1.fc16.9 rpmfusion-free-updates
kmod-VirtualBox-OSE-PAE.i686 4.1.12-1.fc16.9 rpmfusion-free-updatesBut, when we have some broken packages on update list, we cannot complete update progress. For example:
[cuongpt@cuongpt-laptop ~]$ sudo yum update
Loaded plugins: langpacks, presto, refresh-packagekit
Resolving Dependencies
--> Running transaction check
---> Package kmod-VirtualBox-OSE.i686 0:4.1.12-1.fc16.7 will be updated
---> Package kmod-VirtualBox-OSE.i686 0:4.1.12-1.fc16.9 will be an update
--> Processing Dependency: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686 >= 4.1.12-1.fc16.9 for package: kmod-VirtualBox-OSE-4.1.12-1.fc16.9.i686
---> Package kmod-VirtualBox-OSE-PAE.i686 0:4.1.12-1.fc16.7 will be updated
---> Package kmod-VirtualBox-OSE-PAE.i686 0:4.1.12-1.fc16.9 will be an update
--> Processing Dependency: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686.PAE >= 4.1.12-1.fc16.9 for package: kmod-VirtualBox-OSE-PAE-4.1.12-1.fc16.9.i686
--> Running transaction check
---> Package kmod-VirtualBox-OSE-3.3.4-1.fc16.i686.i686 0:4.1.12-1.fc16.9 will be installed
--> Processing Dependency: kernel-uname-r = 3.3.4-1.fc16.i686 for package: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686-4.1.12-1.fc16.9.i686
---> Package kmod-VirtualBox-OSE-3.3.4-1.fc16.i686.PAE.i686 0:4.1.12-1.fc16.9 will be installed
--> Processing Dependency: kernel-uname-r = 3.3.4-1.fc16.i686.PAE for package: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686.PAE-4.1.12-1.fc16.9.i686
--> Finished Dependency Resolution
Error: Package: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686-4.1.12-1.fc16.9.i686 (rpmfusion-free-updates)
Requires: kernel-uname-r = 3.3.4-1.fc16.i686
Installed: kernel-3.3.2-6.fc16.i686 (@updates)
kernel-uname-r = 3.3.2-6.fc16.i686
Installed: kernel-PAE-3.3.2-6.fc16.i686 (@updates)
kernel-uname-r = 3.3.2-6.fc16.i686.PAE
Available: kernel-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686
Available: kernel-PAE-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.PAE
Available: kernel-PAEdebug-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.PAEdebug
Available: kernel-PAEdebug-3.3.2-6.fc16.i686 (updates)
kernel-uname-r = 3.3.2-6.fc16.i686.PAEdebug
Available: kernel-debug-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.debug
Available: kernel-debug-3.3.2-6.fc16.i686 (updates)
kernel-uname-r = 3.3.2-6.fc16.i686.debug
Error: Package: kmod-VirtualBox-OSE-3.3.4-1.fc16.i686.PAE-4.1.12-1.fc16.9.i686 (rpmfusion-free-updates)
Requires: kernel-uname-r = 3.3.4-1.fc16.i686.PAE
Installed: kernel-3.3.2-6.fc16.i686 (@updates)
kernel-uname-r = 3.3.2-6.fc16.i686
Installed: kernel-PAE-3.3.2-6.fc16.i686 (@updates)
kernel-uname-r = 3.3.2-6.fc16.i686.PAE
Available: kernel-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686
Available: kernel-PAE-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.PAE
Available: kernel-PAEdebug-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.PAEdebug
Available: kernel-PAEdebug-3.3.2-6.fc16.i686 (updates)
kernel-uname-r = 3.3.2-6.fc16.i686.PAEdebug
Available: kernel-debug-3.1.0-7.fc16.i686 (fedora)
kernel-uname-r = 3.1.0-7.fc16.i686.debug
Available: kernel-debug-3.3.2-6.fc16.i686 (updates)
kernel-uname-r = 3.3.2-6.fc16.i686.debug
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigestI'm not focus on kmod-virtualbox package on this situation. Just pay attention on error message and solution had given by YUM.
If you don't want to fix or you cannot fix these broken packages. You can ignore it when update with use Exclude option of YUM
1. The first use case: use --exclude option, for example:
[cuongpt@cuongpt-laptop ~]$ sudo yum --exclude=kmod-\* update
Loaded plugins: langpacks, presto, refresh-packagekit
No Packages marked for Update
[cuongpt@cuongpt-laptop ~]$ 2. The second use case: permanently exclude, write to YUM configuration file:
[main]
cachedir=/var/cache/yum/$basearch/$releasever
keepcache=0
debuglevel=2
logfile=/var/log/yum.log
exactarch=1
obsoletes=1
gpgcheck=1
plugins=1
installonly_limit=3
exclude=kmod-\*
When you hardly this exclude on configuration file. You can disable it with --disableexcludes=[config_name]
eg:
sudo yum --disableexcludes=main updateRef: "man yum" or "man yum.conf"
Try it to jump over bad things. Hope this help.
No comments:
Post a Comment