PHP 5 MemcachedモジュールをDebian 7 VirtualBoxにインストールしようとしましたVM失敗しました:
root@testvm:~# apt-get install php5-memcached
Reading package lists... Done
Building dependency tree
Reading state information... Done
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
php5-memcached : Depends: libmemcached11 but it is not installable
E: Unable to correct problems, you have held broken packages.
Synaptic PackageManagerにインストールすることもできませんでした。
問題は、/etc/apt/sources.list
にソース情報がないことにあると思います。
更新:
/ etc/apt/sources.list
# deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official AMD64 NETINST Binary-1 20130615-23:04]/ wheezy main
# deb cdrom:[Debian GNU/Linux 7.1.0 _Wheezy_ - Official AMD64 NETINST Binary-1 20130615-23:04]/ wheezy main
deb http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy main contrib non-free
deb http://security.debian.org/ wheezy/updates main contrib non-free
deb-src http://security.debian.org/ wheezy/updates main contrib non-free
# wheezy-updates, previously known as 'volatile'
deb http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
deb-src http://ftp.de.debian.org/debian/ wheezy-updates main contrib non-free
# nginx
deb http://packages.dotdeb.org wheezy all
deb-src http://packages.dotdeb.org wheezy all
# PHP 5.5
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all
更新:
不足している依存関係を手動でインストールしようとしましたが、機能しません。
root@devvm:~# apt-get install libmemcached11
Reading package lists... Done
Building dependency tree
Reading state information... Done
Package libmemcached11 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 'libmemcached11' has no installation candidate
更新:
root@devvm:~# apt-cache depends php5-memcached libmemcached10
php5-memcached
Depends: libc6
Depends: <libmemcached11>
Depends: zlib1g
Depends: <phpapi-20121212>
libapache2-mod-php5filter
libapache2-mod-php5
libphp5-embed
php5-cgi
php5-cli
php5-fpm
Depends: php5-common
|PreDepends: dpkg
PreDepends: <dpkg-maintscript-helper>
libmemcached10
Depends: libc6
Depends: libgcc1
Depends: libstdc++6
PreDepends: multiarch-support
Conflicts: <libmemcached2>
Conflicts: <libmemcached3>
Conflicts: <libmemcached6>
Conflicts: <libmemcached9>
私はそれをインストールしました。何とかして...
libmemcached11
をインストールしようとしました。 apt-get
を使用したインストールが機能しなかったため、ソースからインストールしました。
root@devvm:~# wget http://ftp.de.debian.org/debian/pool/main/libm/libmemcached/libmemcached11_1.0.17-2_AMD64.deb
...
2013-07-23 22:07:02 (713 KB/s) - `libmemcached11_1.0.17-2_AMD64.deb' saved [112238/112238]
root@devvm:~# dpkg --install libmemcached11_1.0.17-2_AMD64.deb
Selecting previously unselected package libmemcached11:AMD64.
(Reading database ... 149070 files and directories currently installed.)
Unpacking libmemcached11:AMD64 (from libmemcached11_1.0.17-2_AMD64.deb) ...
dpkg: dependency problems prevent configuration of libmemcached11:AMD64:
libmemcached11:AMD64 depends on libc6 (>= 2.16); however:
Version of libc6:AMD64 on system is 2.13-38.
dpkg: error processing libmemcached11:AMD64 (--install):
dependency problems - leaving unconfigured
Errors were encountered while processing:
libmemcached11:AMD64
あなたが見るように、エラーで。しかし今、libmemcached11
がインストールされました。
インストールが失敗したと思ったので、最初にダウンロードした(壊れた?)パッケージを削除することにしましたが、php5-memcached
インストールを試すためにプロセスを中止しました(おそらくそれはうまくいくでしょう...どういうわけか。 ..):
root@devvm:~# apt-get remove libmemcached11
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
...
Use 'apt-get autoremove' to remove them.
The following packages will be REMOVED:
libmemcached11
0 upgraded, 0 newly installed, 1 to remove and 3 not upgraded.
1 not fully installed or removed.
After this operation, 261 kB disk space will be freed.
Do you want to continue [Y/n]? n
Abort.
次に、php5-memcached
を再度インストールしようとしましたが、今回は正常にインストールされました。
root@devvm:~# apt-get -t stable install php5-memcached
Reading package lists... Done
Building dependency tree
Reading state information... Done
The following packages were automatically installed and are no longer required:
...
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
libmemcached11
The following NEW packages will be installed:
libmemcached11 php5-memcached
0 upgraded, 2 newly installed, 0 to remove and 3 not upgraded.
Need to get 148 kB of archives.
After this operation, 397 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Get:1 http://packages.dotdeb.org/ wheezy/all libmemcached11 AMD64 1.0.16-1 [113 kB]
Get:2 http://packages.dotdeb.org/ wheezy-php55/all php5-memcached AMD64 5.5.0-1~dotdeb.1 [34.9 kB]
Fetched 148 kB in 0s (328 kB/s)
Selecting previously unselected package libmemcached11:AMD64.
(Reading database ... 149070 files and directories currently installed.)
Unpacking libmemcached11:AMD64 (from .../libmemcached11_1.0.16-1_AMD64.deb) ...
Selecting previously unselected package php5-memcached.
Unpacking php5-memcached (from .../php5-memcached_5.5.0-1~dotdeb.1_AMD64.deb) ...
Processing triggers for php5-fpm ...
[ ok ] Restarting PHP5 FastCGI Process Manager: php5-fpm.
Setting up libmemcached11:AMD64 (1.0.16-1) ...
Setting up php5-memcached (5.5.0-1~dotdeb.1) ...
Creating config file /etc/php5/mods-available/memcached.ini with new version
Processing triggers for php5-fpm ...
[ ok ] Restarting PHP5 FastCGI Process Manager: php5-fpm.
問題を解決するには、sources.listに以下を追加する必要があります。
# Wheezy
deb http://ftp.hosteurope.de/mirror/packages.dotdeb.org/ wheezy all
deb-src http://ftp.hosteurope.de/mirror/packages.dotdeb.org/ wheezy all
# Wheezy-php55
deb http://ftp.hosteurope.de/mirror/packages.dotdeb.org/ wheezy-php55 all
deb-src http://ftp.hosteurope.de/mirror/packages.dotdeb.org/ wheezy-php55 all
実際、欠落している依存関係(libmemcached11)はdotdebリポジトリのwheezyディストリビューションに存在します。
Debian以外のリポジトリがあるので、パッケージが必要な場所からapt-getを指定しましょう。使ってみてください:
Sudo apt-get -t stable install php5-memcached
安定したリポジトリからphp5-memcached
とlibmemcached10
をインストールするので、依存関係の問題は修正されます。
apt-get -t stable
はそのdotdeb.orgをパッケージの最新の安定バージョンと見なすため、ミラーを無効にするか、apt-get update
してパッケージをインストールするか、ピン留めマジックを使用します。次の内容でファイル/etc/apt/preferences.d/aptpinning
を作成します。
Package: php5-memcached
Pin: Origin "ftp.de.debian.org"
Pin-Priority: 990
Package: php5-memcached
Pin: Origin "packages.dotdeb.org"
Pin-Priority: 500
これにより、ftp.de.debian.org
のパッケージよりもpackages.dotdeb.org
のパッケージが優先されます。
繰り返しますが、レポの混合は悪い考えですこの種の状況は(そしてすでに)起こり得るので。重要なものでない限り、依存関係が壊れる可能性のあるリポジトリを混在させないでください。
別のソースからのPHPを使用している理由が「セキュリティ」に関するものである場合は、wheezy-backportリポジトリを使用する方がよいでしょう。deb http://YOURMIRROR.debian.org/debian wheezy-backports main
をsources.list
に追加し、apt-get update
を実行してから、 apt-get -t wheezy-backports install "package"
を使用してパッケージ化します。これを試す場合は、他の方法を使用する変更を元に戻してください。
あなたが持っていることを確認してください
deb http://packages.dotdeb.org wheezy all
あなたの情報源で! PHP 5.5.6、for Debian 7.0“ Wheezy” を参照してください。私のために働いた。
Debian Wheezyのphp5-memcached
のバージョンはlibmemcached10
に依存しています。
このページで http://packages.debian.org/wheezy/php5-memcached を確認できます。
php5-memcached
をインストールしようとしていますが、libmemcached11
が必要であることがわかります。 libmemcached11
はDebianWheezyにはありません。また、明らかに、sources.listの他のソースにも含まれていないため、apt
はそれを見つけることができません。これは、Debian Wheezyのバージョンよりも新しいバージョンをインストールし、Debian以外のリポジトリからインストールするためです。リポジトリに正しい依存関係がない理由がわかりません。
Sources.listのこれらのエントリが問題を引き起こしています。
# nginx
deb http://packages.dotdeb.org squeeze all
deb-src http://packages.dotdeb.org squeeze all
# PHP 5.5
deb http://packages.dotdeb.org wheezy-php55 all
deb-src http://packages.dotdeb.org wheezy-php55 all
あなたはそれらが必要だと確信しています-彼らはあなたがものをインストールするのを止めているからです。
DebianWheezyのPHP5のバージョンは5.4.4-14 + deb7u2です。それ以上のものが必要な場合は、はい、他のリポジトリが必要になりますが、不足している依存関係をインストールする必要もあります。 Debianは、安定したサーバー環境を提供することを目的としています。つまり、少し古いバージョンのソフトウェアを実行していることがよくあります。新しいものが必要な場合は、
今すぐ他のリポジトリを削除すると、Debianが何をするのかわかりません。次に何かをしようとしたときに、バージョンのPHPをダウングレードする可能性があります。本当に質問する必要があると思います。 Debian Stableを使用している理由。
DebianとPHP5.5が必要ですかですか、それともPHP5.5だけが必要ですか? PHP5.5だけが必要な場合は、すでにPHP5.5が含まれているディストリビューションを使用するか、独自のディストリビューション(すべての依存関係と必要な他のすべてのパッケージを含む)をコンパイルすることをお勧めします。
依存関係がないため、現在の設定でphp5-memcached
をインストールすることはできません。