skip-brokenとはrpmパッケージのアップデート時に依存関係のパッケージの不具合等でアップデートできない場合に利用すると便利です。
例えばパッケージ一括アップデート時に、一つでもエラーがある場合は全くアップデートできません。
しかし、この「skip-broken」を利用すれば、問題があるパッケージを除いて全てをアップデートする事が可能になります。
「skip-broken」のインストール # yum -y install yum-skip-broken |
プラグインを使用するにはyumオプションに「--skip-broken」を付与します。 例) # yum --skip-broken update |
現在、アップデート可能なパッケージを確認
# yum check-update
Loading "fastestmirror" plugin
Loading "downloadonly" plugin
Loading mirror speeds from cached hostfile
* fedora: ftp.riken.jp
* updates: ftp.riken.jp
fedora 100% |=========================| 2.1 kB 00:00
updates 100% |=========================| 2.3 kB 00:00
awstats.noarch 6.7-3.fc8 updates
frysk.x86_64 0.0.1.2008.03.19.rh1-1 updates
gnome-screensaver.x86_64 2.20.0-11.fc8 updates
hpijs.x86_64 1:2.8.2-1.fc8 updates
hpijs.i386 1:2.8.2-1.fc8 updates
hplip.x86_64 2.8.2-1.fc8 updates
kernel.x86_64 2.6.24.4-64.fc8 updates
kernel-devel.x86_64 2.6.24.4-64.fc8 updates
kernel-headers.x86_64 2.6.24.4-64.fc8 updates
libsane-hpaio.x86_64 2.8.2-1.fc8 updates
namazu.i386 2.0.18-2.fc8 updates
namazu.x86_64 2.0.18-2.fc8 updates
namazu-cgi.x86_64 2.0.18-2.fc8 updates
netpbm.x86_64 10.35.41-1.fc8 updates
netpbm-progs.x86_64 10.35.41-1.fc8 updates
nspluginwrapper.x86_64 0.9.91.5-18.fc8 updates
nspluginwrapper.i386 0.9.91.5-18.fc8 updates
selinux-policy.noarch 3.0.8-95.fc8 updates
selinux-policy-devel.noarch 3.0.8-95.fc8 updates
selinux-policy-targeted.noarch 3.0.8-95.fc8 updates
smartmontools.x86_64 1:5.38-1.fc8 updates
system-config-printer.x86_64 0.7.74.11-4.fc8 updates
system-config-printer-libs.x86_64 0.7.74.11-4.fc8 updates
上記が現在アップデートできるパッケージ
「skip-broken」を使用しないでアップデートしてみる
# yum -y update
Loading "fastestmirror" plugin
Loading "downloadonly" plugin
Loading mirror speeds from cached hostfile
* fedora: ftp.riken.jp
* updates: ftp.dti.ad.jp
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package nspluginwrapper.i386 0:0.9.91.5-18.fc8 set to be updated
---> Package system-config-printer-libs.x86_64 0:0.7.74.11-4.fc8 set to be updated
---> Package libsane-hpaio.x86_64 0:2.8.2-1.fc8 set to be updated
---> Package kernel-devel.x86_64 0:2.6.24.4-64.fc8 set to be installed
:
:
:
Error: Missing Dependency: perl(entity) is needed by package namazu
Error: Missing Dependency: perl(html.pl) is needed by package namazu
Error: Missing Dependency: perl(zip.pl) is needed by package namazu
Error: Missing Dependency: perl(gfilter.pl) is needed by package namazu
Error: Missing Dependency: perl(dist-hook) is needed by package namazu
Error: Missing Dependency: perl(gettext.pl) is needed by package namazu
Error: Missing Dependency: perl(ooo.pl) is needed by package namazu
Error: Missing Dependency: perl(codeconv.pl) is needed by package namazu
Error: Missing Dependency: perl(mailnews.pl) is needed by package namazu
Error: Missing Dependency: perl(alloca) is needed by package namazu
Error: Missing Dependency: perl(filter.pl) is needed by package namazu
「namazu」パッケージが必要とする(依存関係)がエラーとなってアップデートできない。
「skip-broken」を使用してアップデートしてみる
# yum -y --skip-broken update
Loading "fastestmirror" plugin
Loading "downloadonly" plugin
Loading "skip-broken" plugin
Loading mirror speeds from cached hostfile
* fedora: ftp.riken.jp
* updates: ftp.dti.ad.jp
Setting up Update Process
Resolving Dependencies
**** Checking packages for dependency problems
**** Checking for dep problems : nspluginwrapper - 0.9.91.5-18.fc8.i386
--> Running transaction check
---> Package nspluginwrapper.i386 0:0.9.91.5-18.fc8 set to be updated
--> Finished Dependency Resolution
**** OK : nspluginwrapper.i386 0-0.9.91.5-18.fc8 - u
:
:
:
**** Checking for dep problems : namazu - 2.0.18-2.fc8.x86_64
--> Running transaction check
---> Package namazu.x86_64 0:2.0.18-2.fc8 set to be updated
--> Processing Dependency: perl(filter.pl) for package: namazu
--> Processing Dependency: perl(entity) for package: namazu
--> Processing Dependency: perl(alloca) for package: namazu
--> Processing Dependency: perl(ooo.pl) for package: namazu
--> Processing Dependency: perl(mailnews.pl) for package: namazu
--> Processing Dependency: perl(zip.pl) for package: namazu
--> Processing Dependency: perl(codeconv.pl) for package: namazu
--> Processing Dependency: perl(html.pl) for package: namazu
--> Processing Dependency: perl(gfilter.pl) for package: namazu
--> Processing Dependency: perl(gettext.pl) for package: namazu
--> Processing Dependency: perl(dist-hook) for package: namazu
--> Finished Dependency Resolution
**** Failed
**** Missing Dependency: perl(entity) is needed by package namazu
**** Missing Dependency: perl(html.pl) is needed by package namazu
**** Missing Dependency: perl(zip.pl) is needed by package namazu
**** Missing Dependency: perl(gfilter.pl) is needed by package namazu
**** Missing Dependency: perl(dist-hook) is needed by package namazu
**** Missing Dependency: perl(gettext.pl) is needed by package namazu
**** Missing Dependency: perl(ooo.pl) is needed by package namazu
**** Missing Dependency: perl(codeconv.pl) is needed by package namazu
**** Missing Dependency: perl(mailnews.pl) is needed by package namazu
**** Missing Dependency: perl(alloca) is needed by package namazu
**** Missing Dependency: perl(filter.pl) is needed by package namazu
:
:
:
---> Package gnome-screensaver.x86_64 0:2.20.0-11.fc8 set to be updated
---> Package netpbm.x86_64 0:10.35.41-1.fc8 set to be updated
---> Package nspluginwrapper.x86_64 0:0.9.91.5-18.fc8 set to be updated
---> Package hpijs.x86_64 1:2.8.2-1.fc8 set to be updated
---> Package system-config-printer.x86_64 0:0.7.74.11-4.fc8 set to be updated
--> Finished Dependency Resolution
Dependencies Resolved
=============================================================================
Package Arch Version Repository Size
=============================================================================
Installing:
kernel x86_64 2.6.24.4-64.fc8 updates 17 M
kernel-devel x86_64 2.6.24.4-64.fc8 updates 5.0 M
Updating:
awstats noarch 6.7-3.fc8 updates 1.1 M
frysk x86_64 0.0.1.2008.03.19.rh1-1.fc8 updates 36 M
gnome-screensaver x86_64 2.20.0-11.fc8 updates 1.8 M
hpijs i386 1:2.8.2-1.fc8 updates 1.5 M
hpijs x86_64 1:2.8.2-1.fc8 updates 1.5 M
hplip x86_64 2.8.2-1.fc8 updates 9.9 M
kernel-headers x86_64 2.6.24.4-64.fc8 updates 732 k
libsane-hpaio x86_64 2.8.2-1.fc8 updates 57 k
netpbm x86_64 10.35.41-1.fc8 updates 825 k
netpbm-progs x86_64 10.35.41-1.fc8 updates 2.0 M
nspluginwrapper i386 0.9.91.5-18.fc8 updates 130 k
nspluginwrapper x86_64 0.9.91.5-18.fc8 updates 114 k
selinux-policy noarch 3.0.8-95.fc8 updates 413 k
selinux-policy-targeted noarch 3.0.8-95.fc8 updates 1.6 M
smartmontools x86_64 1:5.38-1.fc8 updates 329 k
system-config-printer-libs x86_64 0.7.74.11-4.fc8 updates 495 k
Removing:
kernel x86_64 2.6.24.3-34.fc8 installed 64 M
kernel-devel x86_64 2.6.24.3-34.fc8 installed 33 M
Installing for dependencies:
cupsddk-drivers x86_64 1.2.3-3.fc8 updates 112 k
Updating for dependencies:
selinux-policy-devel noarch 3.0.8-95.fc8 updates 532 k
system-config-printer x86_64 0.7.74.11-4.fc8 updates 241 k
Transaction Summary
=============================================================================
Install 3 Package(s)
Update 18 Package(s)
Remove 2 Package(s)
Total download size: 81 M
Downloading Packages:
(1/21): system-config-pri 100% |=========================| 241 kB 00:02
(2/21): hpijs-2.8.2-1.fc8 100% |=========================| 1.5 MB 00:14
(3/21): nspluginwrapper-0 100% |=========================| 114 kB 00:02
(4/21): netpbm-10.35.41-1 100% |=========================| 825 kB 00:08
(5/21): gnome-screensaver 100% |=========================| 1.8 MB 00:13
:
:
:
Cleanup : gnome-screensaver ####################### [37/41]
Cleanup : netpbm ####################### [38/41]
Cleanup : nspluginwrapper ####################### [39/41]
Cleanup : hpijs ####################### [40/41]
Cleanup : system-config-printer ####################### [41/41]
Removed: kernel.x86_64 0:2.6.24.3-34.fc8 kernel-devel.x86_64 0:2.6.24.3-34.fc8
Installed: kernel.x86_64 0:2.6.24.4-64.fc8 kernel-devel.x86_64 0:2.6.24.4-64.fc8
Dependency Installed: cupsddk-drivers.x86_64 0:1.2.3-3.fc8
Updated: awstats.noarch 0:6.7-3.fc8 frysk.x86_64 0:0.0.1.2008.03.19.rh1-1.fc8 gnome-screensaver.x86_64 0:2.20.0-11.fc8 hpijs.i386 1:2.8.2-1.fc8 hpijs.x86_64 1:2.8.2-1.fc8 hplip.x86_64 0:2.8.2-1.fc8 kernel-headers.x86_64 0:2.6.24.4-64.fc8 libsane-hpaio.x86_64 0:2.8.2-1.fc8 netpbm.x86_64 0:10.35.41-1.fc8 netpbm-progs.x86_64 0:10.35.41-1.fc8 nspluginwrapper.i386 0:0.9.91.5-18.fc8 nspluginwrapper.x86_64 0:0.9.91.5-18.fc8 selinux-policy.noarch 0:3.0.8-95.fc8 selinux-policy-targeted.noarch 0:3.0.8-95.fc8 smartmontools.x86_64 1:5.38-1.fc8 system-config-printer-libs.x86_64 0:0.7.74.11-4.fc8
Dependency Updated: selinux-policy-devel.noarch 0:3.0.8-95.fc8 system-config-printer.x86_64 0:0.7.74.11-4.fc8
Complete!
アップデートできた。
もう一度、アップデート可能なパッケージを確認してみる
# yum check-update
Loading "fastestmirror" plugin
Loading "downloadonly" plugin
Loading "skip-broken" plugin
Loading mirror speeds from cached hostfile
* fedora: ftp.iij.ad.jp
* updates: ftp.dti.ad.jp
namazu.i386 2.0.18-2.fc8 updates
namazu.x86_64 2.0.18-2.fc8 updates
namazu-cgi.x86_64 2.0.18-2.fc8 updates
確かに、エラーとなった「namazu」だけが残り、他のパッケージはすべてアップデートできた事がわかる
試しに、もう一度アップデートして見る
# yum -y update
Loading "fastestmirror" plugin
Loading "downloadonly" plugin
Loading "skip-broken" plugin
Loading mirror speeds from cached hostfile
* fedora: ftp.iij.ad.jp
* updates: ftp.dti.ad.jp
Setting up Update Process
Resolving Dependencies
--> Running transaction check
---> Package namazu-cgi.x86_64 0:2.0.18-2.fc8 set to be updated
---> Package namazu.i386 0:2.0.18-2.fc8 set to be updated
--> Processing Dependency: perl(filter.pl) for package: namazu
--> Processing Dependency: perl(entity) for package: namazu
--> Processing Dependency: perl(alloca) for package: namazu
--> Processing Dependency: perl(ooo.pl) for package: namazu
--> Processing Dependency: perl(mailnews.pl) for package: namazu
--> Processing Dependency: perl(zip.pl) for package: namazu
--> Processing Dependency: perl(codeconv.pl) for package: namazu
--> Processing Dependency: perl(html.pl) for package: namazu
--> Processing Dependency: perl(gfilter.pl) for package: namazu
--> Processing Dependency: perl(gettext.pl) for package: namazu
--> Processing Dependency: perl(dist-hook) for package: namazu
---> Package namazu.x86_64 0:2.0.18-2.fc8 set to be updated
--> Processing Dependency: perl(filter.pl) for package: namazu
--> Processing Dependency: perl(entity) for package: namazu
--> Processing Dependency: perl(alloca) for package: namazu
--> Processing Dependency: perl(ooo.pl) for package: namazu
--> Processing Dependency: perl(mailnews.pl) for package: namazu
--> Processing Dependency: perl(zip.pl) for package: namazu
--> Processing Dependency: perl(codeconv.pl) for package: namazu
--> Processing Dependency: perl(html.pl) for package: namazu
--> Processing Dependency: perl(gfilter.pl) for package: namazu
--> Processing Dependency: perl(gettext.pl) for package: namazu
--> Processing Dependency: perl(dist-hook) for package: namazu
--> Finished Dependency Resolution
Error: Missing Dependency: perl(entity) is needed by package namazu
Error: Missing Dependency: perl(html.pl) is needed by package namazu
Error: Missing Dependency: perl(zip.pl) is needed by package namazu
Error: Missing Dependency: perl(gfilter.pl) is needed by package namazu
Error: Missing Dependency: perl(dist-hook) is needed by package namazu
Error: Missing Dependency: perl(gettext.pl) is needed by package namazu
Error: Missing Dependency: perl(ooo.pl) is needed by package namazu
Error: Missing Dependency: perl(codeconv.pl) is needed by package namazu
Error: Missing Dependency: perl(mailnews.pl) is needed by package namazu
Error: Missing Dependency: perl(alloca) is needed by package namazu
Error: Missing Dependency: perl(filter.pl) is needed by package namazu
やはりアップデートできなかった。
|
この様に「skip-broken」を利用すれば例えパッケージに問題があっても、他のパッケージは常に最新にアップデート可能にできます。