2013/03/11

Canon のプリンタドライバ for Linux をインストールしようとしたら "Cannot specify package management system." で失敗した

Canon MP640 のプリンタドライバ for Linux を Ubuntu 12.04 LTS にインストールしようとしたのですが、エラーが出てしまいました。
$ tar zxf cnijfilter-mp640series-3.20-1-i386-deb.tar.gz
$ cd cnijfilter-mp640series-3.20-1-i386-deb
$ sudo ./install.sh
==================================================

Canon Inkjet Printer Driver Ver.3.20-1 for Linux
Copyright CANON INC. 2001-2009
All Rights Reserved.

==================================================
Error! Cannot specify package management system.

install.sh の中でこのエラーを出しているところを探してみると、以下にありました。

install.sh
C_FUNC_get_system()
{
 local c_system_rpm=""
 local c_system_deb=""

 ## Judge is the distribution supporting rpm? ##
 rpm --version 1> /dev/null 2>&1
 c_system_rpm=$?

 ## Judge is the distribution supporting dpkg(debian)? ##
 dpkg --version 1> /dev/null 2>&1
 c_system_deb=$?

 ## rpm and deb are error, or rpm and deb are no error, is error ##
 if [ $c_system_rpm = 0 -a $c_system_deb = 0 ] || [ $c_system_rpm != 0 -a $c_system_deb != 0 ]; then
  echo $C_err_msg1
  return $C_ERR_CODE
 else
  if test $c_system_rpm -eq 0; then
   C_system="rpm"
  else
   C_system="deb"
  fi
 fi
 
 return 0
}

ふむふむ。
rpm と dpkg のうち、一方だけがインストールされていないとだめなのね。
で、以下を実行してみると、
$ rpm --version
RPM version 4.9.1.1
$ dpkg --version
Debian `dpkg' package management program version 1.16.1.2 (amd64).
This is free software; see the GNU General Public License version 2 or
later for copying conditions. There is NO warranty.

両方インストールされてるわ…
記憶にないけど

というわけで、以下のように rpm を削除すると、問題なくインストールできるようになりました。
$ sudo apt-get remove rpm
$ sudo apt-get autoremove

0 件のコメント: