web-dev-qa-db-ja.com

「sudo:apt-get:コマンドが見つかりません。」一部のパッケージを削除した後

最近、私はこのコマンドを実行しました:

Sudo apt-get remove debian-keyring debian-archive-keyring

このようなエラーメッセージを回避するには:

WARNING: The following packages cannot be authenticated!
  openerp

私の計画はこれらのコマンドを実行することでした:

Sudo apt-get remove debian-keyring debian-archive-keyring
Sudo apt-get clean
Sudo apt-get update
Sudo apt-get -y install debian-keyring debian-archive-keyring

コードの実行を続行しようとすると、誤ってこのエラーメッセージが表示されました。

[ps193731]$ Sudo apt-get clean
Sudo: apt-get: command not found
[ps193731]$ Sudo apt-get -y install debian-keyring debian-archive-keyring
Sudo: apt-get: command not found

追加情報として、この情報を追加します。
の結果 Sudo dpkg --configure -a

[ps193731]$ Sudo dpkg --configure -a
dpkg: dependency problems prevent configuration of apt:
 apt depends on libstdc++6 (>= 4.6); however:
  Version of libstdc++6 on system is 4.4.5-8.
dpkg: error processing apt (--configure):
 dependency problems - leaving unconfigured
dpkg: dependency problems prevent configuration of libapt-pkg4.12:
 libapt-pkg4.12 depends on libstdc++6 (>= 4.6); however:
  Version of libstdc++6 on system is 4.4.5-8.
dpkg: error processing libapt-pkg4.12 (--configure):
 dependency problems - leaving unconfigured
Errors were encountered while processing:
 apt
 libapt-pkg4.12

の結果 apt-cache policy libstdc++6 apt libapt-pkg4.12

[ps193731]$ apt-cache policy libstdc++6 apt libapt-pkg4.12
apt-cache: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by apt-cache)
apt-cache: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.15' not found (required by /usr/lib/x86_64-linux-gnu/libapt-pkg.so.4.12)

の結果 dpkg -l libstdc++6 apt libapt-pkg4.12

[ps193731]$ dpkg -l libstdc++6 apt libapt-pkg4.12
Desired=Unknown/Install/Remove/Purge/Hold
| Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name                       Version                    Description
+++-==========================-==========================-====================================================================
iU  apt                        0.9.7.9+deb7u1             commandline package manager
iU  libapt-pkg4.12             0.9.7.9+deb7u1             package managment runtime library
ii  libstdc++6                 4.4.5-8                    The GNU Standard C++ Library v3

の結果 Sudo dpkg -C

[ps193731]$ Sudo dpkg -C
The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
 apt                  commandline package manager
 libapt-pkg4.12       package managment runtime library

の内容 /etc/apt/sources.list

# Generated by ndn-autoupdate

deb http://debian.di.newdream.net/ squeeze ndn
deb http://debian.newdream.net/ squeeze main contrib non-free
deb http://security.debian.org/ squeeze/updates main contrib non-free
deb http://debian.newdream.net/ squeeze-updates main contrib non-free
deb http://www.backports.org/debian/ squeeze-backports main contrib non-free
deb http://nightly.openerp.com/7.0/nightly/deb/ ./

また、debian squeeze用のlibstdc ++ 6バージョン4.6以降のインストールにも問題があります。
debian squeeze用のlibstdc ++ 6バージョン4.6以降がないため。
どのようにaptコマンドを再び使用できるように修正できますか?

4
Akmal
apt-get -s remove debian-keyring debian-archive-keyring 
注:これは単なるシミュレーションです!
次のパッケージは削除されます:
 ふさわしい apt-show-versions debian-archive-keyring debian-keyring負債(
 python-software-properties python3-software-properties 
 software-properties-common tasksel tasksel-data unattended-upgrades 
 upgrade-system 
警告:次の必須パッケージが削除されます。
何をしているのか正確に知らない限り、これは行わないでください!
 apt debian-archive-keyring(aptによる)
 0個がアップグレード、0個が新規にインストール、12個が削除、6個がアップグレードされていません。

だから、あなたがしたこと...あなたは文字通りaptを削除して警告を無視し、それから地獄は解散しました。何が行われているのかを確認したり、再確認したりせずに、削除することはありません。

要約すると、

32ビットを使用する場合:

wget http://ftp.us.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1_i386.deb http://ftp.us.debian.org/debian/pool/main/g/gcc-4.4/libstdc++6_4.4.5-8_i386.deb

64ビットを使用する場合:

wget http://ftp.us.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1_AMD64.deb http://ftp.us.debian.org/debian/pool/main/g/gcc-4.4/libstdc++6_4.4.5-8_AMD64.deb

キーリングをダウンロードします。

wget http://ftp.us.debian.org/debian/pool/main/d/debian-archive-keyring/debian-archive-keyring_2012.4_all.deb

削除してインストールします

Sudo dpkg -P libapt-pkg4.12 apt
Sudo dpkg -i libstdc++6_4.4.5-8_*.deb apt_0.8.10.3+squeeze1*.deb debian-archive-keyring_2012.4_all.deb

すべて問題がないことを確認します。

Sudo dpkg --configure -a
Sudo apt-get check

これは人生のレッスンになるはずです。何かをいじらないでください。

この回答は、どのDebianベースのディストリビューションにも等しく有効です。ディストリビューションのDebianのホスト名を変更するだけです。

  • Ubuntu:http://mirrors.kernel.org/ubuntu/
  • ミント: http://packages.linuxmint.com/pool/

そして正しいパス、すなわち:

http://Host/ubuntu/pool/main/g/gcc-4.4/libstdc++6_4.4.5-8_AMD64.deb
5
Braiam

コメントでわかるように、問題は、SqueezeのWheezyのポスター、つまりaptlibapt-pkg4.12がなんとかしてパッケージをインストールしたことです。ポスターは、これらのパッケージが誤って設定された唯一のパッケージであることを確認しました。

[ps193731]$ Sudo dpkg -C
The following packages have been unpacked but not yet configured.
They must be configured using dpkg --configure or the configure
menu option in dselect for them to work:
 apt                  commandline package manager
 libapt-pkg4.12       package managment runtime library

したがって、明らかな改善策は、ポスターのArch用のSqueeze aptパッケージを手動でダウンロードし(aptは現在壊れているため)、dpkg -iを使用してインストールすることです。 libapt-pkg4.12はクイズ用に存在しないため、削除する必要があります。

投稿者は彼のアーチを指定していませんが、AMD64を想定すると、このリンクは機能するはずです。

http://ftp.us.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1_AMD64.deb

i386の場合は、AMD64に置き換えてください。そう

ステップ1:

dpkg -P libapt-pkg4.12

ステップ2:

wget -c http://ftp.us.debian.org/debian/pool/main/a/apt/apt_0.8.10.3+squeeze1_AMD64.deb

ステップ3:

dpkg -i apt_0.8.10.3+squeeze1_AMD64.deb

注:STEP 1 + dpkg --configure -aを実行するだけでaptをインストールすることで十分である可能性がありますが、それでもsqueezeには不適切な傾向があるため、前述の手順が推奨されます。

編集:@Braiamは、それに依存しているものがある場合、dpkgはlibapt-pkg4.12を削除しないことを指摘しています。しかし、あなたはそれに応じて喘鳴の傾向があります。だからあなたがする必要があるかもしれません

dpkg -P --force libapt-pkg4.12

あるいは、@ Braiamが示唆しているように、

dpkg -P libapt-pkg4.12 apt

絶対に必要な場合を除いて、--forceフラグの使用は避けた方がよいので、後者のバージョンがおそらく推奨されます。

1
Faheem Mitha

aptパッケージをローカルディレクトリにダウンロードし、dpkg --installを使用して直接インストールします。

(または、インストールされている場合はaptitudeを試してください)

注:未確認の質問に対する答え... openerpは署名されていないため、常にその警告が表示されます。

0
Ricky Beam