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」を利用すれば例えパッケージに問題があっても、他のパッケージは常に最新にアップデート可能にできます。