2014年12月29日月曜日

pacman 4.2パッケージのアップデートでエラー | packagekit: requires pacman<4.2.0, package-query: requires pacman<4.2

パッケージをアップデートしようとしたら、エラーが起きてアップデートできなくなっていた。エラーメッセージは以下のとおり。
# pacman -Syu

:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community is up to date
 archlinuxfr is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...
error: failed to prepare transaction (could not satisfy dependencies)
:: package-query: requires pacman<4.2

packagekit: requires pacman<4.2.0という、エラーメッセージが出る場合もある。これは、pacman 4.2がリリースされたことが原因。pacman -Syuすると、pacman 4.2をインストールしようとするが、package-queryとpackagekitがpacmanのバージョン<4.2を要求しているので、コンフリクトする。

とりあえず、package-queryの依存関係を調べる。
$ pacman -Qi package-query

Name           : package-query
Version        : 1.5-1
Description    : Query ALPM and AUR
Architecture   : x86_64
URL            : https://github.com/archlinuxfr/package-query/
Licenses       : GPL
Groups         : None
Provides       : None
Depends On     : pacman>=4.1  pacman<4.2  curl  yajl>=2.0
Optional Deps  : None
Required By    : yaourt
Optional For   : None
Conflicts With : None
Replaces       : None
Installed Size :  84.00 KiB
Packager       : Skunnyk <skunnyk@archlinux.fr>
Build Date     : 2014年12月25日 00時07分25秒
Install Date   : 2014年12月25日 20時42分02秒
Install Reason : Installed as a dependency for another package
Install Script : No
Validated By   : SHA256 Sum

yaourtが依存しているパッケージらしい。解決策は、
1. yaourtをアンインストールして、yaourt以外のAURヘルパーを使う
2. package-query, packagekitをアンインストールして、再インストールする(2015/01/05更新)

結局、コンフリクトしているpackage-queryとpackagekitをとりあえずアンインストールしてから、pacman-db-upgradeすれば、問題なくpackage-query, packagekitをインストールできる。なので、yaourtを使い続けたければ2。packerを使ってみたかったら1。

yaourtをアンインストールして、yaourt以外のAURヘルパーを使う
この機会に、自分はpackerを使うことにした。packerはpackage-queryに依存しておらず、yaourtを高速にした優秀なラッパーらしい。まず、yaourt、package-queryをアンインストールする。
# pacman -Rsn yaourt package-query


checking dependencies...

Packages (2): package-query-1.5-1  yaourt-1.5-1

Total Removed Size:   0.56 MiB

:: Do you want to remove these packages? [Y/n] y
(1/2) removing yaourt                                                      [##########################################] 100%
(2/2) removing package-query                                               [##########################################] 100%

packerをインストールする。AURリポジトリを有効にしていれば、pacmanからインストールできる。ひとまず、pacman -Syuしておく。
$ sudo pacman -Syu
:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community is up to date
 archlinuxfr is up to date
:: Starting full system upgrade...
resolving dependencies...
looking for inter-conflicts...

Packages (20): binutils-2.25-1  cython-0.21.2-1  gcc-4.9.2-2  gcc-libs-4.9.2-2  glibc-2.20-6  less-471-1  libcacard-2.2.0-1
               libpulse-5.99.2-1  linux-3.18.1-1  linux-api-headers-3.18.1-1  lirc-utils-1:0.9.1.a-11  lz4-127-1
               pacman-4.2.0-5  phonon-qt4-gstreamer-4.8.2-1  phonon-qt5-gstreamer-4.8.2-1  pulseaudio-5.99.2-1
               system-config-printer-1.5.4-2  xz-5.0.8-1  zita-alsa-pcmi-0.2.0-2  zita-resampler-1.3.0-3

Total Download Size:    99.03 MiB
Total Installed Size:   267.18 MiB
Net Upgrade Size:       3.31 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages ...
 libcacard-2.2.0-1-x86_64                          30.2 KiB   408K/s 00:00 [##########################################] 100%

...

( 8/20) upgrading libcacard                                                [##########################################] 100%
( 9/20) upgrading libpulse                                                 [##########################################] 100%
(10/20) upgrading linux                                                    [##########################################] 100%
>>> Updating module dependencies. Please wait ...
>>> Generating initial ramdisk, using mkinitcpio.  Please wait...
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'default'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux.img
==> Starting build: 3.18.1-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [autodetect]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux.img
==> Image generation successful
==> Building image from preset: /etc/mkinitcpio.d/linux.preset: 'fallback'
  -> -k /boot/vmlinuz-linux -c /etc/mkinitcpio.conf -g /boot/initramfs-linux-fallback.img -S autodetect
==> Starting build: 3.18.1-1-ARCH
  -> Running build hook: [base]
  -> Running build hook: [udev]
  -> Running build hook: [modconf]
  -> Running build hook: [block]
==> WARNING: Possibly missing firmware for module: aic94xx
  -> Running build hook: [filesystems]
  -> Running build hook: [keyboard]
  -> Running build hook: [fsck]
==> Generating module dependencies
==> Creating gzip-compressed initcpio image: /boot/initramfs-linux-fallback.img
==> Image generation successful
(11/20) upgrading lirc-utils                                               [##########################################] 100%
(12/20) upgrading lz4                                                      [##########################################] 100%
(13/20) upgrading pacman                                                   [##########################################] 100%
(14/20) upgrading phonon-qt4-gstreamer                                     [##########################################] 100%
(15/20) upgrading phonon-qt5-gstreamer                                     [##########################################] 100%
(16/20) upgrading pulseaudio                                               [##########################################] 100%
(17/20) upgrading system-config-printer                                    [##########################################] 100%
New optional dependencies for system-config-printer
    cups-pk-helper: PolicyKit helper to configure cups with fine-grained privileges [installed]
(18/20) upgrading xz                                                       [##########################################] 100%
(19/20) upgrading zita-alsa-pcmi                                           [##########################################] 100%
(20/20) upgrading zita-resampler

ちゃんと、pacman-4.2.0-5がインストールできている。次に、packerをインストールする。ところが、エラーが返ってきた。
# pacman -S packer
error: failed to initialize alpm library
(database is incorrect version: /var/lib/pacman/)
error:   try running pacman-db-upgrade

とりあえず、言われるがままpacman-db-upgradeする。
# pacman-db-upgrade
==> Pre-4.2 database format detected - upgrading...

再度、packerのインストールを試みる。
# pacman -S packer
resolving dependencies...
looking for conflicting packages...

Packages (3) expac-4-3  jshon-20131105-1  packer-20140817-1

Total Download Size:   0.03 MiB
Total Installed Size:  0.10 MiB

:: Proceed with installation? [Y/n] y
:: Retrieving packages ...
 expac-4-3-x86_64                                  13.2 KiB   356K/s 00:00 [##########################################] 100%

...

(3/3) installing packer                                                    [##########################################] 100%
Optional dependencies for packer
    sudo: install and update packages as non-root [installed]
    customizepkg: apply customizepkg modifications

今度は、正常にインストールまでできた。pacman -Syuが通るか確認。
# pacman -Syu

:: Synchronizing package databases...
 testing is up to date
 core is up to date
 extra is up to date
 community is up to date
 archlinuxfr is up to date
:: Starting full system upgrade...
 there is nothing to do

packerの使い方は、また別のエントリーにまとめようと思う。
*2015/01/10更新: packerの使い方のページを作成。

package-query, packagekitをアンインストールして、再インストールする(2015/01/05更新)
自分は試してないが、この方法ならpackerではなくyaourtを使い続けることができる。コンフリクトしているpackage-queryとpackagekitをアンインストールしてから、pacman-db-upgrade して、パッケージを再インストールすればよい。


# pacman -Rsn yaourt package-query(packagekitを使っていたらpackagekitもアンインストール)
# pacman -Syyu
# pacman-db-upgrade 
# pacman -S yaourt package-query(packagekitを使っていたらpackagekitもインストール)



参考:
[1][SOLVED]packagekit: requires pacman<4.2.0
[2]AUR helpers
[3]Pacmanpackage query yaourt issue going on for me.

スポンサーリンク

スポンサーリンク

2 件のコメント: