複数の目的で使用する Debian サーバーに問題があります。昨日はいつものようにパッケージをアップグレードしようとしましたが、apt-get update / upgrade
すべてが破損していることがわかりました。
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages have been kept back:
owncloud owncloud-config-apache owncloud-server
The following packages will be upgraded:
python-apt
1 upgraded, 0 newly installed, 0 to remove and 3 not upgraded.
2 not fully installed or removed.
Need to get 0 B/171 kB of archives.
After this operation, 47.1 kB disk space will be freed.
Do you want to continue? [Y/n]
perl: warning: Setting locale failed.
perl: warning: Please check that your locale settings:
LANGUAGE = (unset),
LC_ALL = (unset),
LC_CTYPE = "UTF-8",
LANG = "en_US.UTF-8"
are supported and installed on your system.
perl: warning: Falling back to a fallback locale ("en_US.UTF-8").
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
(Reading database ... 83301 files and directories currently installed.)
Preparing to unpack .../python-apt_0.9.3.12_amd64.deb ...
/var/lib/dpkg/info/python-apt.prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: warning: subprocess old pre-removal script returned error exit status 126
dpkg: trying script from the new package instead ...
/var/lib/dpkg/tmp.ci/prerm: /usr/bin/pyclean: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error processing archive /var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb (--unpack):
subprocess new pre-removal script returned error exit status 126
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory
dpkg: error while cleaning up:
subprocess installed post-installation script returned error exit status 126
Errors were encountered while processing:
/var/cache/apt/archives/python-apt_0.9.3.12_amd64.deb
E: Sub-process /usr/bin/dpkg returned an error code (1)
それ以来、私はここや他のコミュニティヘルプサイトで同様の問題の提案や提案されたソリューションを含むさまざまなソリューションを適用してきましたが、役に立ちませんdpkg --audit
でした。
Perlで言及されたロケールの問題を解決した後も、SSHセッションを終了して新しいセッションを開くと再び表示されるようです。
この問題を解決する方法についてのアイデアはありますか? (最初から再インストールする以外は、可能であれば避けたいと思います。)
ありがとうございます。
編集(更新):@Gillesの要求に応じて、結果は次のようになります。ls -l /usr/bin/python; ls -lL /usr/bin/python; dpkg -S /usr/bin/python
ls: cannot access /usr/bin/python: No such file or directory
ls: cannot access /usr/bin/python: No such file or directory
python-minimal: /usr/bin/python
Python設定を手動で変更したことを覚えていません。
答え1
/var/lib/dpkg/info/python-apt.postinst: /usr/bin/pycompile: /usr/bin/python: bad interpreter: No such file or directory
このエラーは、/usr/bin/python
何らかの方法で破損していることを示します。ほとんどのPythonスクリプトは実行されません。
python-apt
パッケージがインストールされると、Pythonスクリプトが実行されます。この操作が失敗したため、パッケージのインストールを完了できません。 APTは、パッケージが失敗しても他のパッケージを処理し続けることができますが、何度もapt-get -f install
実行する必要があり、依存関係を再調整するアップグレードを妨げる可能性があります。それにもかかわらず、壊れたPythonは多くのソフトウェアを壊すでしょう。
$ ls -l /usr/bin/python ls: cannot access /usr/bin/python: No such file or directory $ dpkg -S /usr/bin/python python-minimal: /usr/bin/python
/usr/bin/python
まったく存在しません。しかし、パッケージングシステムはすでにインストールされていると思います。
以下を含むパッケージを再インストールしてください/usr/bin/python
。
sudo apt-get --reinstall install python-minimal
sudo apt-get -f install
欠落が/usr/bin/python
唯一の問題である場合は、システムを修理する必要があります。しかし、/usr/bin/python
行方不明の原因が何であれ、他の問題を引き起こす可能性があります。
/usr/bin/python
行方不明の原因が何であるかを調べてください。パッケージを使用しdpkg
て管理する場合、apt
通常これは発生しません。パッケージマネージャを使用せずにソフトウェアをインストールする場合は、その/opt
ソフトウェア/usr/local
が/usr