web-dev-qa-db-ja.com

パッケージの依存関係が満たされていない-パッケージをインストールできません

次のコマンドでパッセンジャーモジュールをインストールしようとしています:

Sudopassenger-install-Apache2-module

そして、私は次の出力を得ています:

 * GNU C++ compiler... found at /usr/bin/g++
 * Curl development headers with SSL support... found
 * OpenSSL development headers... found
 * Zlib development headers... found
 * Ruby development headers... found
 * OpenSSL support for Ruby... found
 * RubyGems... found
 * Rake... found at /usr/bin/rake
 * rack... found
 * Apache 2... found at /usr/sbin/Apache2
 * Apache 2 development headers... not found
 * Apache Portable Runtime (APR) development headers... not found
 * Apache Portable Runtime Utility (APU) development headers... not found

そして、それは私にインストールするように頼みます:

 * To install Apache 2 development headers:
   Please run apt-get install Apache2-prefork-dev as root.

 * To install Apache Portable Runtime (APR) development headers:
   Please run apt-get install libapr1-dev as root.

 * To install Apache Portable Runtime Utility (APU) development headers:
   Please run apt-get install libaprutil1-dev as root.

しかし、私が走っているとき:

Sudo apt-get install Apache2-prefork-dev libapr1-dev libaprutil1-dev 


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:
  Apache2-prefork-dev: Depends: Apache2.2-common (= 2.2.14-5ubuntu8.10) but 2.2.20-1ubuntu1 is to be installed
  libapr1-dev: Depends: libapr1 (= 1.3.8-1ubuntu0.3) but 1.4.5-1 is to be installed
  libaprutil1-dev: Depends: libpcre3-dev but it is not going to be installed
E: Broken packages

Ruby1.8.7、rubygem1.8.24、Rails3.2.9をインストールしています。

vim /etc/apt/sources.list

#############################################################
################### OFFICIAL UBUNTU REPOS ###################
#############################################################
###### Ubuntu Main Repos
deb http://fr.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ lucid main restricted universe multiverse

###### Ubuntu Update Repos
deb http://fr.archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb http://fr.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ lucid-security main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ lucid-updates main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ lucid-proposed main restricted universe multiverse
deb-src http://fr.archive.ubuntu.com/ubuntu/ lucid-backports main restricted universe multiverse

###### Ubuntu Partner Repo
deb http://archive.canonical.com/ubuntu lucid partner
deb-src http://archive.canonical.com/ubuntu lucid partner

vim /etc/apt/sources.list.d

" ============================================================================
" Netrw Directory Listing                                        (netrw v136)
"   /etc/apt/sources.list.d
"   Sorted by      name
"   Sort sequence: [\/]$,\<core\%(\.\d\+\)\=\>,\.h$,\.c$,\.cpp$,*,\.o$,\.obj$,\.info$,\.swp$,\.bak$,\~$
"   Quick Help: <F1>:help  -:go up dir  D:delete  R:rename  s:sort-by  x:exec
" ============================================================================
../
Mercurial-ppa-releases-lucid.list
Mercurial-ppa-releases-lucid.list.save
.Mercurial-ppa-releases-lucid.list.swp
2

apt-getの代わりにaptitudeを試しましたか?

「build-essential」パッケージもインストールする必要があると思います。ソースコードをコンパイルする必要があります。

2
Rahul Patil

passenger-install-Apache2-moduleは手動でダウンロードしてインストールするためのものです。インストールにpassenger-install-Apache2-moduleを使用する特定の理由または要件はありますか?

「ubuntu」の方法(ディストリビューション:Dを使用する理由)は、代わりに次を使用することです

Sudo apt-get install libapache2-mod-passenger

これにより、すべての依存関係と、ほとんどがプリコンパイルされたパッケージが取り込まれるはずです。

ApacheのパッセンジャーMODも有効になります

ls -l /etc/Apache2/mods-enabled
lrwxrwxrwx 1 root root 32 Dec 12 09:50 passenger.conf -> ../mods-available/passenger.conf
lrwxrwxrwx 1 root root 32 Dec 12 09:50 passenger.load -> ../mods-available/passenger.load

もう少し情報がありますが、ubuntuを初めて使用する場合、Apache関連のパッケージの場合、通常はlibapache2-で始まります。したがって、そうする場合はapt-get install libapache(press tab tab)、以下を提供します

# apt-get install libapache 
Display all 108 possibilities? (y or n)
libapache2-authcassimple-Perl     libapache2-mod-proxy-html
libapache2-authcookie-Perl        libapache2-mod-python
libapache2-authenntlm-Perl        libapache2-mod-python-doc
libapache2-mod-apparmor           libapache2-mod-qos
libapache2-mod-apreq2             libapache2-mod-random
libapache2-mod-auth-cas           libapache2-mod-removeip
libapache2-mod-auth-kerb          libapache2-mod-rivet
libapache2-mod-auth-mysql         libapache2-mod-rivet-doc
libapache2-mod-authn-sasl         libapache2-mod-rpaf
libapache2-mod-auth-ntlm-winbind  libapache2-mod-Ruby
libapache2-mod-authn-webid        libapache2-mod-ruwsgi
libapache2-mod-authn-yubikey      libapache2-mod-ruwsgi-dbg
libapache2-mod-authnz-external    libapache2-mod-scgi
libapache2-mod-auth-openid        libapache2-modsecurity
libapache2-mod-auth-pam           libapache2-mod-shib2
libapache2-mod-auth-pgsql         libapache2-mod-spamhaus
libapache2-mod-auth-plain         libapache2-mod-speedycgi
libapache2-mod-auth-radius        libapache2-mod-suphp
libapache2-mod-auth-sys-group     libapache2-mod-upload-progress
libapache2-mod-authz-unixgroup    libapache2-mod-uwsgi
libapache2-mod-axis2c             libapache2-mod-uwsgi-dbg
libapache2-mod-bw                 libapache2-mod-vhost-hash-alias
libapache2-mod-defensible         libapache2-mod-vhost-ldap
libapache2-mod-dnssd              libapache2-mod-wsgi
libapache2-mod-encoding           libapache2-mod-wsgi-py3
libapache2-mod-evasive            libapache2-mod-xsendfile
libapache2-mod-fastcgi            libapache2-reload-Perl
libapache2-mod-fcgid              libapache2-request-Perl
libapache2-mod-fcgid-dbg          libapache2-svn
libapache2-mod-geoip              libapache2-webauth
libapache2-mod-gnutls             libapache2-webkdc
libapache2-mod-jk                 libapache-admin-config-Perl
libapache2-mod-layout             libapache-asp-Perl
libapache2-mod-ldap-userdir       libapache-authenhook-Perl
libapache2-mod-ldap-userdir-dbg   libapache-authznetldap-Perl
libapache2-mod-LISP               libapache-dbilogger-Perl
libapache2-mod-log-sql            libapache-dbi-Perl
libapache2-mod-log-sql-dbi        libapache-db-Perl
libapache2-mod-log-sql-mysql      libapache-gallery-Perl
libapache2-mod-log-sql-ssl        libapache-htgroup-Perl
libapache2-mod-macro              libapache-htpasswd-Perl
libapache2-mod-mime-xattr         libapache-mime4j-Java
libapache2-mod-mono               libapache-mime4j-Java-doc
libapache2-mod-musicindex         libapache-mod-auth-kerb
libapache2-mod-neko               libapache-mod-jk-doc
libapache2-mod-nss                libapache-mod-security
libapache2-mod-ocamlnet           libapache-poi-Java
libapache2-mod-parser3            libapache-poi-Java-doc
libapache2-mod-passenger          libapache-pom-Java
libapache2-mod-Perl2              libapache-Ruby1.8
libapache2-mod-Perl2-dev          libapache-session-Perl
libapache2-mod-Perl2-doc          libapache-session-wrapper-Perl
libapache2-mod-php5               libapache-sessionx-Perl
libapache2-mod-php5filter         libapache-singleton-Perl
1
John Siu

まず、必ずapt-get updateを実行して、インストール可能なパッケージバージョンのリストを更新してください。ここでの問題はこれだけではありませんが、このエラーは、最近apt-get updateを十分に実行していないことが原因である可能性があります。

バックポートからいくつかのパッケージをインストールしました。これらは、オンデマンドでのみインストールされるパッケージの最新バージョンです。 Apacheなどのマルチパッケージソフトウェアでは、通常、同じソフトウェアの一部であるすべてのパッケージ(2.2.14または2.2.20)を一致させる必要があります。バックポートパッケージは明示的な要求があった場合にのみインストールされます。Apache2.2-commonは通常のディストリビューション(2.2.14)からプルインされていますが、システム上の何かにはバックポート(2.2.20)のApacheコンポーネントが必要です。

apt-getのエラーは、何をすべきかを理解するのに十分な情報を提供していないと思います。このような場合は、aptitudeをインタラクティブに実行し、競合解決の提案の1つに従うか、インストールするパッケージバージョンを手動で選択することをお勧めします。