web-dev-qa-db-ja.com

.debからソフトウェアをインストールするときに、不足している依存関係を自動的に取得する方法は?

Ubuntuボックス(11.04)に MySQL Workbench をインストールしようとしています。 Webサイトには、ダウンロード可能なUbuntu .debがあります(10.10および10.04の場合、10.10を選択しました)。

しかしながら、

Sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb

収量:

(Reading database ... 194069 files and directories currently installed.)
Preparing to replace mysql-workbench-gpl 5.2.34-1ubu1010 (using mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb) ...
Unpacking replacement mysql-workbench-gpl ...
dpkg: dependency problems prevent configuration of mysql-workbench-gpl:
 mysql-workbench-gpl depends on libctemplate0; however:
  Package libctemplate0 is not installed.
 mysql-workbench-gpl depends on libpython2.6 (>= 2.6); however:
  Package libpython2.6 is not installed.
 mysql-workbench-gpl depends on libzip1 (>= 0.8); however:
  Package libzip1 is not installed.
 mysql-workbench-gpl depends on python-paramiko; however:
  Package python-paramiko is not installed.
 mysql-workbench-gpl depends on python-pysqlite2; however:
  Package python-pysqlite2 is not installed.
dpkg: error processing mysql-workbench-gpl (--install):
 dependency problems - leaving unconfigured
Processing triggers for bamfdaemon ...
Rebuilding /usr/share/applications/bamf.index...
Processing triggers for desktop-file-utils ...
Processing triggers for python-gmenu ...
Rebuilding /usr/share/applications/desktop.en_US.utf8.cache...
Processing triggers for python-support ...
Errors were encountered while processing:
 mysql-workbench-gpl

私の質問は、dpkgに欠落している依存関係を自動的にフェッチする方法があるか、またはlibctemplate0のような欠落しているパッケージを手動でapt-get installする必要がありますかとlibpython2.6?

(または、MySQL Workbenchを簡単に起動して実行する他の方法はありますか?)

103
Jonik

パッケージをインストールして、リポジトリから依存関係を取得できます

Sudo gdebi package.deb

依存関係が欠落しているパッケージをすでにインストールしている場合、依存関係を自動的にダウンロードおよびインストールできます。

Sudo apt-get -f install

また、gdebi-gtk nautilusの右クリックアクション「GDebiパッケージインストーラーで開く」にリンクされたグラフィカルバージョン.debも使用できます。

113
enzotib

dpkg自体リポジトリを管理できません。リポジトリから何かを取得するには、apt-getのような高レベルのツールが必要です。 dkpgは、依存関係やその他の要因を考慮してパッケージをインストール/削除/設定するコアツールのみです。 apt-getおよびaptitudeは、リポジトリを管理し、そこからデータをダウンロードし、インストール/削除するためにusedkpgを実行するツールですそれらからのパッケージ。つまり、apt-getおよびaptitudeは依存関係を解決し、リポジトリから必要なパッケージを取得できますが、リポジトリについてnothingを知っているため、dpkgはできません。

26
Rafał Cieślak

1.1ブランチ以降、apt-getは、次の方法で依存関係とともにローカルパッケージのインストールをサポートします。

Sudo apt-get install ./your-package.deb
22
Braiam

apt-get -f installを使用してすべてのパッケージをインストールすることができますdpkg -iは文句を言います(ただし、あなたの質問を見ればおそらく知っていたと思われます;))。

gdebiの方が良いかもしれません。

Description: Simple tool to install deb files
gdebi lets you install local deb packages resolving and installing its 
dependencies. apt does the same, but only for remote (http, ftp) located 
packages. 

3番目の注意事項... gdebiはUbuntu Software Centerに置き換えられました。 GDM(nautilus)内から.debをインストールすると、USCが引き継ぎ、debのインストールを試みます。そしてそれには依存関係が含まれます。コマンドラインにバインドされていない場合です;)

16
Rinzwind

その特定のライブラリ(libctemplate0)からダウンロードした

http://packages.ubuntu.com/lucid/AMD64/libctemplate0/download

直接リンクhttp://ubuntu.wikimedia.org/ubuntu//pool/universe/c/ctemplate/libctemplate0_0.96-0ubuntu1_AMD64.deb

その後、mySQL-workbenchのインストールはスムーズに進みました。

6
mv288

パッケージファイルを右クリックして、「Ubuntuソフトウェアセンターで開く」を選択すると、すべてがインストールされます。

5
user118263

知る限り、dpkgは依存関係を解決するメカニズムを提供しません。依存関係をチェック/警告しますが、それ以上のアクションは行いません。自分で問題を解決する必要があります。

Debian wikiにあるように here

dpkgは依存関係をチェックし、依存関係が満たされていないパッケージのインストールを拒否しますが、それらの依存関係を見つけてインストールすることはできません。そのためには、より高レベルのツール(dselectやapt-getなど)が必要です

そのため、興味のあるパッケージと関連する依存関係をインストールするには、apt-getまたはaptitudeを使用する必要があると思います。

このパッケージは11.04リポジトリにないため、次を実行します。

Sudo apt-get install libctemplate0 libzip1 libpython2.6 python-pysqlite2 python-paramiko
Sudo dpkg -i mysql-workbench-gpl-5.2.34-1ubu1010-AMD64.deb

そしてあなたは大丈夫なはずです。

2
Pavlos G.