web-dev-qa-db-ja.com

apt-getがパッケージのアップグレードに失敗する

Ubuntu 12.04サーバーを実行しています:

user@Host:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 12.04.5 LTS
Release:        12.04
Codename:       precise

私の問題はこれです:パッケージをアップグレードするとき(特にphp5を探していますが、多く/ほとんど/すべてに起こります)、これは私が得るものです:

user@Host:~$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these.
The following packages have unmet dependencies:
 Apache2-suexec-custom : Depends: Apache2-bin but it is not installed
E: Unmet dependencies. Try using -f.


user@Host:~$ Sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages were automatically installed and are no longer required:
  libnet-xwhois-Perl libtommath0
Use 'apt-get autoremove' to remove them.
The following extra packages will be installed:
  Apache2-bin
The following NEW packages will be installed:
  Apache2-bin
0 upgraded, 1 newly installed, 0 to remove and 29 not upgraded.
1 not fully installed or removed.
Need to get 0 B/953 kB of archives.
After this operation, 3576 kB of additional disk space will be used.
Do you want to continue [Y/n]? Y
Perl: warning: Setting locale failed.
Perl: warning: Please check that your locale settings:
    LANGUAGE = (unset),
    LC_ALL = (unset),
    LANG = "en_US.UTF-8"
    are supported and installed on your system.
Perl: warning: Falling back to the standard locale ("C").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 95668 files and directories currently installed.)
Unpacking Apache2-bin (from .../Apache2-bin_2.4.16-4+deb.sury.org~precise+4_AMD64.deb) ...
dpkg: error processing /var/cache/apt/archives/Apache2-bin_2.4.16-4+deb.sury.org~precise+4_AMD64.deb (--unpack):
 trying to overwrite '/usr/share/man/man8/Apache2.8.gz', which is also in package Apache2.2-common 2.2.22-1ubuntu1.10
dpkg-deb (subprocess): subprocess data was killed by signal (Broken pipe)
dpkg-deb: error: subprocess <decompress> returned error exit status 2
Processing triggers for man-db ...
Errors were encountered while processing:
 /var/cache/apt/archives/Apache2-bin_2.4.16-4+deb.sury.org~precise+4_AMD64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)

これらのエラーを解決するにはどうすればよいですか? PHP v5.4以上を必要とするアイテムが複数あるため、5.よりも新しいPHPバージョンを取得したいと考えています。

注:ロケールの問題を修正しようとはしていません。dpkgエラーを修正しようとしています。このサーバーには常にロケールの問題があり、完全に独立しています。申し訳ありませんが、これは重複していません。

追加されたコードの編集:

user@Host:~$ Sudo dpkg --configure -a
dpkg: dependency problems prevent configuration of Apache2-suexec-custom:
 Apache2-suexec-custom depends on Apache2-bin; however:
  Package Apache2-bin is not installed.
dpkg: error processing Apache2-suexec-custom (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 Apache2-suexec-custom



Sudo apt-get install Apache2の出力:

user@Host:~$ Sudo apt-get install Apache2
Reading package lists... Done
Building dependency tree       
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 Apache2 : Depends: Apache2-bin (= 2.4.16-4+deb.sury.org~precise+4) but it is not going to be installed
           Depends: Apache2-data (= 2.4.16-4+deb.sury.org~precise+4) but it is not going to be installed
           Conflicts: Apache2.2-bin but 2.2.22-1ubuntu1.10 is to be installed
           Conflicts: Apache2.2-common but 2.2.22-1ubuntu1.10 is to be installed
 Apache2-suexec-custom : Depends: Apache2-bin but it is not going to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).






さて、ここで私が発見したものを紹介します。 Apache2-suexec-customを削除しても問題はないようです。しかし、私はまだこれを取得します:

user@Host:~$ Sudo apt-get upgrade
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages have been kept back:
  Apache2 libapache2-mod-php5 libjson0:i386 php-apc php-pear php5 php5-cgi php5-cli php5-common php5-curl php5-dev php5-fpm php5-Gd php5-imagick php5-imap php5-intl
  php5-ldap php5-mcrypt php5-memcache php5-ming php5-mysql php5-ps php5-pspell php5-recode php5-snmp php5-sqlite php5-tidy php5-xmlrpc php5-xsl
0 upgraded, 0 newly installed, 0 to remove and 29 not upgraded.

user@Host:~$ Sudo apt-get -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
0 upgraded, 0 newly installed, 0 to remove and 29 not upgraded.

では、アップグレードされていない29には何がありますか?それまでの間、他の質問で参照して回答を探します...

甘い!!!私のソリューションに対するDanielSmith-Chatbotの答えをご覧ください...

4
Daniel

問題は次のとおりです。

Apache2-suexec-customという名前でひどく台無しにされたパッケージがあり、同じパッケージを必要としていて嫌っていました。これを削除すると、他のパッケージはdist-upgradeableになります。 Sudo apt-get dist-upgrade ; Sudo apt-get upgradeを実行すると、すべてがアップグレードされます。

ご協力ありがとうございます!期待した解決策ではありませんが、うまくいきました!

これは役立ちますか? :

Sudo apt-get install --reinstall Apache2 --fix-missing

または、これが十分でない場合、「ランプ」を検索ワードとするすべてのパッケージを単一のパッケージマネージャーでインストールしようとすると、必要なすべてのパッケージが一覧表示されます。

上記が役に立たなかった場合、このリンクには回答が含まれている必要があります。

次のパッケージには依存関係が満たされていない(Apache)

そこには:

PPAを追加した後、満たされていない依存関係を解決するにはどうすればよいですか?

0
dschinn1001