web-dev-qa-db-ja.com

apt-getを使ってパッケージを再インストールするにはどうすればいいですか?

私のaptitudeはどういうわけか壊れているようです。

Sudo aptitude update
0% [Working]Segmentation fault

dmesg
[223282.616599] aptitude[30972]: segfault at 67707f ip 7f954dcfae5d sp 7ffff5a5f950 error 4 in libapt-pkg-libc6.7-6.so.4.6.0[7f954dca5000+bd000]

だから私はapt-getを使ってaptitudeを再インストールしたいと思います。

残念ながらapt-getには再インストールのオプションがありません。

aptitudeを再び機能させるにはどうすればよいですか?

私はaptitudeのセグメンテーションフォールトの根本的な原因を見つけた可能性があります。これを再現する方法は次のとおりです。

  1. Cygwinのrxvt端末を介してDebianマシンに 'ssh'リモートログインします(Windows 7 64ビットドイツ語版から)。
  2. Rxvtウィンドウを2つのモニタにまたがるように拡大します(はい、2つのモニタがあります)。
  3. aptitude updateを実行してください。注:rxvt端末を通常のサイズに変更しても、これらのセグメンテーション違反は発生しません。
182
Vokuhila-Oliba
$ man apt-get | grep reinsta -A2
       --reinstall
           Re-Install packages that are already installed and at the newest
           version. Configuration Item: APT::Get::ReInstall.

それで、aptitude useを再インストールするためにそれを使うために:

Sudo apt-get install --reinstall aptitude
310
user23307

Sudo apt-get install --reinstall packagenameを使ってパッケージを再インストールすることができます。これでパッケージが完全に削除され(依存しているパッケージは削除されません)、パッケージが再インストールされます。

これは、パッケージに多くの逆依存関係がある場合に便利です。

110
Milad Khajavi

時にはあなたも設定ファイルを復元する必要があります!再インストールだけではありません。

Sudo apt-get install --reinstall xxxx

アプリケーションを再インストールし、設定ファイルを保存します。

これは役に立つかもしれません、しかし時々あなたは新たに始めなければならないので、私が使うのはこれです:

Sudo dpkg -r xxxx //to remove that xxxx package
Sudo dpkg -P xxxx //to purge all related files

それから

Sudo apt-get install xxxx
17
andreskwan

他のaptユーティリティには影響しないので、aptitudeを削除して再インストールしても安全です。そのため、apt-get remove aptitudeの後にapt-get install aptitudeが続きます。それでも失敗する場合は、apt-get purge aptitudeの後にapt-get install aptitudeを試してください。

上記のいずれかを実行する前に、問題の原因となっている問題がある場合に備えて、ファイルシステム全体と不良ブロックのチェックを行うことをお勧めします(問題によっては、さらに活動を進めると状況が悪化することがあります)。また、削除/削除のステップで削除されるものを先に進める前に確認してください(その1つのパッケージを削除した結果、余分なものが変更された場合は許可を求めるのを一時停止してください)。安全です。

12
David Spillett