web-dev-qa-db-ja.com

dpkg-preconfigureの問題、修正方法

TeamViewerをインストールしようとしていたのですが、12.04ではなく11.10(実行中)を指定していても、指示 here に従いました。

特に、私は実行しました。

$ wget http://www.teamviewer.com/download/teamviewer_linux.deb
$ Sudo dpkg -i teamviewer_linux.deb

dpkgコマンドが失敗し、この時点でパッケージングシステムが壊れました。ソフトウェアセンターから次のことを試すように指示されます。

$ Sudo apt-get -f install

につながる

Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... Done
The following packages will be REMOVED:
  teamviewer7:i386
0 upgraded, 0 newly installed, 1 to remove and 17 not upgraded.
9 not fully installed or removed.
Need to get 89.0 kB of archives.
After this operation, 81.9 MB disk space will be freed.
Do you want to continue [Y/n]? y
Get:1 http://us.archive.ubuntu.com/ubuntu/ precise/main dash AMD64 0.5.7-2ubuntu2 [89.0 kB]
Fetched 89.0 kB in 1s (83.9 kB/s)
E: Sub-process /usr/sbin/dpkg-preconfigure --apt || true returned an error code (100)
E: Failure running script /usr/sbin/dpkg-preconfigure --apt || true

この時点で私は困惑しています。

3
Eric Wilson

まず、次の方法でTeamviewerを削除します。

Sudo dpkg -r teamviewer7

次に実行する

Sudo apt-get update && Sudo apt-get -f install
2
ish

私はちょうどこの問題に遭遇し、今それを修正しました。私は3つの間違いを犯しました。

最初に、それをダウンロードし、インストールしようとしましたが、アーカイブマネージャーが正常に動作していないことに気付きました。次に、パッケージを削除しようとしたときに、rootユーザーがdpkgにアクセスできなかったため、アンインストールを延期しました。 3番目が最悪でした。再起動しました。 Ubuntu 12.04を再起動すると、OSは説明したとおり永遠に起動しなくなります。

幸いなことに、私はFinnix 103のコピーを持っていました: http://www.finnix.org/ 。ハードドライブパーティションを少し分析した後、bashdash、およびsh/binディレクトリから削除されていることに気付きました。そこで、私はそれらをFinnixインストールからコピーしました。

# mount <ubuntu_partition> /mnt/linux
# cp /bin/bash /mnt/linux/bin/bash
# cp /bin/dash /mnt/linux/bin/dash
# cp /bin/sh /mnt/linux/bin/sh

この時点で、Ubuntuパーティションでdpkgを使用しながら、chrootを再度使用できます。ただし、apt-getが各コマンドでdashを再び削除するように主張していることに再び気付きました。そこで、dashを再インストールしました。

# apt-get install dash

最後に、コンピューターを再起動し、Ubuntu 12.04を正常に起動しました。パッケージの履歴を調べたところ、これらが私の結果でした:

http://sphotos-b.xx.fbcdn.net/hphotos-ash3/545946_10151063058008668_2004083202_n.jpg

5:28 PMのすべてのイベントは、推奨されるTeamViewer 7インストールコマンドを盲目的に実行してオンライン会議に参加したときでした。

$ Sudo dpkg -i teamviewer_linux.deb
$ Sudo apt-get -f install

この時点で、TeamViewerをこれ以上必要としませんでした。さらにクリーンアップするために、dpkgを使用してteamviewer7:i386を削除しました。

$ Sudo dpkg --purge teamviewer7:i386
$ Sudo apt-get remove teamviewer7:i386 

結論として、Linux向けのTeamViewer 7 i386バージョンは、端末障害のすべての症状の原因である/bin/dashを、ブート障害のdpkg障害に削除します。

1
Gio Borje