Debian 10 Busterでphp-dbをインストール中にエラーが発生しました。

Debian 10 Busterでphp-dbをインストール中にエラーが発生しました。

PandoraFMSコンソールに必要な依存関係であるDebian 10 Busterにphp-dbをインストールしようとしましたが(インストール中です)、動作しませんでした。

インストールしようとすると依存関係がありません。

[...]
dpkg: dependency problems prevent configuration of pandorafms-console:
   pandorafms-console depends on php-db; however:
      Package php-db is not installed.

php-dbを手動でインストールしようとすると:

# apt install php-db
[...]
Package php-db is not available, but is referred to by another package.
This may mean that the package is missing, has been obsoleted, or
is only available from another source

E: Package 'php-db' has no installation candidate

packages.debian.orgでパッケージを検索すると、次のようになります。

PHP-DBパッケージ

+ jessie (oldoldstable) (php): PHP PEAR Database Abstraction Layer
  1.7.14-3: all
+ stretch (oldstable) (php): Database Abstraction Layer
  1.9.2-1: all
+ sid (unstable) (php): Database Abstraction Layer
  1.9.2-2: all

詳細については、/etc/apt/sources.listを参照してください(コメントを省略)。

deb http://deb.debian.org/debian buster main
deb-src http://deb.debian.org/debian buster main

deb http://security.debian.org/ buster/updates main
deb-src http://security.debian.org/ buster/updates main
deb http://deb.debian.org/debian buster-updates main
deb-src http://deb.debian.org/debian buster-updates main

deb http://deb.debian.org/debian buster-backports main
deb-src http://deb.debian.org/debian buster-backports main

/etc/apt/sources.list.d/ ディレクトリが空です。

どうですか?

答え1

ユーザーGAD3Rが指摘したように、php-db削除されましただから抜け穴。ここに提示された正確な推論は次のとおりです。

  • (-から1.9.2-2へ)移行状態:ブロック済みphp-db:拒否/移行ポリシー違反/回帰が導入されました

  • 移行を妨げる問題:

  • アップデートにはphp-db新しいバグが導入されました。#889532

  • builddに構築されていません:sathieuがアップロードしたすべてのバイナリをアーカイブして移行を許可するには、新しいソースのみのアップロードが必要です。

....

ただし、手動でインストールすることはできます。

以下からパッケージをダウンロードしてください。ここ、依存関係もインストールしたことに注意してください。 (apt install php-common php-pear)ダウンロードが完了したら、dpkg次のようにインストールできます。

dpkg -i php-db_1.9.2-1_all.deb

パッケージが正常にインストールされたら、それを使用してパッケージマネージャがapt-markこのパッケージを削除しないようにすることができます。

apt-mark hold php-db

これらすべての手順が正常に完了したら、PandoraFMSのインストールプロセスを完了できます。

ただし、この問題を回避するために考慮できるいくつかの選択肢があります。このサービスをコンテナ化できますか? Debian Stretchは引き続き使用できますか? (2022年のEOL LTSに従ってアップデートされる予定です。)

バグレポートを確認し、回帰がアップストリームで修正されていることを確認してください。時間をかけてレポートを送信することも検討できます。エラーレポートリポジトリから除外するのがバグなら、Debian チームに報告してください。

頑張ってください!

答え2

また、パッケージの欠落の問題に直面しています。この問題を解決する方法は2つあります。

1. 欠落している特定のパッケージをダウンロードできます。

今、本当に安定したシステムを追求するとき、これは本当に嫌いです。自分の行動を完全に認識しないと、システムが損傷する可能性があります。

2. このパッケージの最新のDebianディストリビューションを含むリポジトリを追加できます。

あなたのシナリオでは、oldstableにそのパッケージがあることがわかります。

 + stretch (oldstable) (php): Database Abstraction Layer
  1.9.2-1: all

既存の信頼性の高いリポジトリを接続し、以下を追加してみてください。/etc/apt/sources.list

deb http://deb.debian.org/debian/ oldstable main contrib non-free

その後、通常のパッケージのように更新してインストールします。

sudo apt update && sudo apt install php-db && apt-mark hold php-db

ただし、不安定またはテスト中のリポジトリを追加しないように注意してください。

関連情報