web-dev-qa-db-ja.com

Debian-「インストールされない」ときにすべての依存関係を更新する

私は自分のDebian(wheezy)サーバーにPercona Toolkitをインストールしようとしています。指示に従ってダウンロードしました:wget percona.com/get/percona-toolkit.deb

次にそれをインストールしましたSudo dpkg -i percona-toolkit.deb

しかし、インストールされておらず、インストールされない依存関係が不足していることがわかりました。

私はこれらを1つずつダウンロードしてきましたが、それぞれに依存関係がないようです。これらのほとんどがインストールされていることにも気づきましたが、ツールキットには新しいバージョンが必要です。あるケースでは、私が見つけた唯一のバージョンは、Debianの次のリリース用に設計されていることを示唆していました。

これまでにダウンロードしたもの:

libio-socket-ssl-Perl_2.002-2_all.deb
libnet-ssleay-Perl_1.65-1+b1_AMD64.deb
libterm-readkey-Perl_2.30-4+b2_AMD64.deb

そして今それが欲しい

Perl (>= 5.20.0-4)
perlapi-5.20.0
libc6 (>= 2.14)

システムにこれらすべてを一度にダウンロード/インストールさせる簡単な方法はありますか?すでにインストールされているデフォルトよりも高いバージョンをインストールすると、安定性の問題が発生する可能性がありますか?


UPDATE-apt-get -f installからの出力:

Sudo apt-get -f install
Reading package lists... Done
Building dependency tree
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  libio-socket-ssl-Perl libnet-ssleay-Perl percona-toolkit
0 upgraded, 0 newly installed, 3 to remove and 0 not upgraded.
3 not fully installed or removed.
After this operation, 7,319 kB disk space will be freed.
Do you want to continue [Y/n]? y
(Reading database ... 26051 files and directories currently installed.)
Removing percona-toolkit ...
Removing libio-socket-ssl-Perl ...
Removing libnet-ssleay-Perl ...
Processing triggers for man-db ...
4
IGGt

最初に失敗するインストールを試してください。

dpkg -i percona-toolkit.deb

次に、以下を実行して、不足している依存関係をインストールして修正します。

apt-get install --fix-missing -f

次に、.debパッケージのインストールを再試行します

dpkg -i percona-toolkit.deb
4
Milind Dumbare

まず、apt-get -f installを実行して、APTシステムの現在の状態に満足します。パッケージが半分インストールまたは半分削除されたり、依存関係が壊れたりすると、APT壊れたパッケージに影響を与えないため、理論的には可能であっても、指示どおりに実行されない状態です。

dpkgは、明示的に指示したことだけを実行する低レベルのツールです。依存関係を検証しますが、それらを満たすことはできません。 apt-getおよびその他のAPTツールは、特に依存関係を管理する高レベルのツールです。たとえば、apt-getにパッケージをインストールするように指示すると、自動的にインストールされます。パッケージの依存関係もダウンロードしてインストールしますが、dpkgにパッケージをインストールするように指示し(ローカルファイルで提供する必要があります)、必要な依存関係がインストールされていない場合は、エラーを通知します。

dpkgを使用して手動でサードパーティのパッケージをインストールする場合は、最初に依存関係をインストールする必要があります。コマンドでdebファイルが何に依存しているかを確認できます

dpkg-deb -I percona-toolkit.deb

Depends:行を見て、そこにリストされているパッケージをインストールします。これはコンマ区切りのリストです。一部のパッケージ名が|で区切られている場合は、そのうちの1つだけをインストールする必要があります。また、Recommends:行も確認してください。この行には、すべての人に必要ではないが、非常に便利であるか、パッケージの機能の1つに必要なパッケージがリストされています。

または、次のコマンドでインストールを開始することもできます

dpkg -i percona-toolkit.deb

不足しているパッケージがあるかどうかを確認し、(これらのパッケージがディストリビューションによって提供されていると想定して)すぐにapt-getを使用してインストールします。だからあなたの場合:

apt-get install libio-socket-ssl-Perl libnet-ssleay-Perl libterm-readkey-Perl
apt-get -f install

(2番目のコマンドは、依存関係がないために途中で中断されたpercona-toolkitのインストールを終了します。)

ディストリビューションで提供されていないdebファイルがいくつかあり、それらが相互に依存関係がある場合は、それらの依存関係で指定された順序でインストールするか、単一のdpkg -iコマンドラインですべてを渡します。