web-dev-qa-db-ja.com

次のパッケージは元に戻されました

私は64ビットのDebianWheezyを実行しています。最近_apt-get upgrade_を実行すると、次のようになります。

_The following packages have been kept back:
  libsmbclient libtevent0 samba-libs
_

それは私を夢中にさせています。とにかく使用しないのでSambaを削除するだけですが、Gnomeがそれに依存するようにした天才がいます。

_# apt-get remove libsmbclient
Reading package lists... Done
Building dependency tree       
Reading state information... Done
The following packages will be REMOVED:
  gnome gnome-core gvfs-backends libgnomevfs2-extra libsmbclient mencoder mplayer
_

これらのパッケージを安全にアップグレードするにはどうすればよいですか?

インストールされているカスタムのものはあまりありません:

_deb http://ftp.pl.debian.org/debian/ wheezy main 
deb-src http://ftp.pl.debian.org/debian/ wheezy main 

deb http://security.debian.org/ wheezy/updates main 
deb-src http://security.debian.org/ wheezy/updates main 

# wheezy-updates, previously known as 'volatile'
deb http://ftp.pl.debian.org/debian/ wheezy-updates main 
deb-src http://ftp.pl.debian.org/debian/ wheezy-updates main 

# wheezy-backports
deb http://ftp.pl.debian.org/debian/ wheezy-backports main contrib non-free

# virtualbox
deb http://download.virtualbox.org/virtualbox/debian/ wheezy contrib
_

[UPDATE]

私が試したこと:

  1. _apt-get dist-upgrade_-結果は同じです(パッケージは元に戻されています)。
  2. aptitudeを使用しましたが、それが示唆するのは、gnomeと他のいくつかのgnome関連パッケージを削除し、多くのi386パッケージ(libsのみのように見えます)をインストールすることだけです。
  3. _apt-get install libsmbclient_はlibsmbclient : Depends: samba-libs (= 2:4.1.9+dfsg-1~bpo70+1) but it is not going to be installedを与えます
  4. _apt-get install libtevent0_はlibtevent0 : Depends: libtalloc2 (>= 2.1.0) but 2.0.7+git20120207-1 is to be installedを与えます。
  5. _apt-get install samba-libs_はsamba-libs : Depends: samba-dsdb-modules (= 2:4.1.9+dfsg-1~bpo70+1) but it is not going to be installedを与えます

[UPDATE 2]

この問題の原因は、バックポートリポジトリのどこかにあるようです。私はマルハナバチといくつかのDVDリッピングを一度試していましたが、バックポートから何かをインストールする必要があったことを覚えています。もういらない。とにかくBumblebeeは私のハードウェアで失敗し、DVDは最終的にWindowsでリッピングされました:(

今、私は_aptitude search '~S ~i ~Abackports'_を実行し、これを取得しました:

_i   initramfs-tools                   - generic modular initramfs generator
i A libavutil53                       - Libav utility library
i   libldb1                           - LDAP-like embedded database - shared library
i A libnettle4                        - low level cryptographic library (symmetric and one-way cryptos)
i A libntdb1                          - New Trivial Database - shared library
i A libopus0                          - Opus codec runtime library
i   libswscale2                       - Libav video scaling library
i A libtdb1                           - Trivial Database - shared library
i A libwbclient0                      - Samba winbind client library
i A python-talloc                     - hierarchical pool based memory allocator - Python bindings
i   samba-common                      - common files used by both the Samba server and client
_

これらのパッケージをダウングレードする必要があり、すべてが正常である必要があると思います。私は正しいですか?どうすればいいですか?

[UPDATE 3]

これらのパッケージをバックポートリポジトリから削除またはダウングレードしようとしましたが、部分的にしか実行できませんでした。

_libntdb1_をダウングレードしたいと思ったとき、安定したリポジトリに存在しないことに気づきました。私がそれを削除しようとしたとき-再び、aptはgnomeも削除したかった。 _apt-cache rdepends libntdb1_を実行したとき、逆依存関係のみが_samba-libs_であることが判明しました。安定したリポジトリにも_samba-libs_はありません。また、gnomeやその他の多くのものを削除しようとするため、削除することもできません。ここで何が起こっているのですか? _samba-libs_を実行すると、_aptitude search '~S ~i ~Abackports'_がリストされないことに注意してください。このことを取り除く方法は?

また、_libldb1_と_libwbclient0_をダウングレードしようとしたとき、どちらの場合もaptがgnomeを削除したかったのでできませんでした。どうして?

そのため、_aptitude search '~S ~i ~Abackports'_でリストされたバックポートリポジトリからの3つのパッケージになりました。

_i   libldb1              - LDAP-like embedded database - shared library
i A libntdb1             - New Trivial Database - shared library
i A libwbclient0         - Samba winbind client library
_

AND _samba-libs_これもバックポートからのものと思われますが、_aptitude search '~S ~i ~Abackports'_にはリストされていません

3
SiliconMind

aptを使用して、debパッケージを特定のリポジトリにダウングレードすることができます。

# apt-get install libsmbclient/wheezy libtevent0/wheezy samba/wheezy
  • 「[package]/wheezy」構造は、ユーザーがwheezyリポジトリonlyからのパッケージを必要とし、最新のものではないことを意味します。
  • aptが依存関係を正しく解決し、他のwheezyパッケージをプルできるように、all目的のパッケージを一度に指定することが重要です。

aptが保持したい重要なパッケージの削除を要求しない場合は、行ってみてください。依存関係の問題についていくつかの警告がありますが、致命的でない限り、これらの警告は無視しても問題ありません。

ダウングレードが成功すると、libtevent0、libldb1などのライブラリは不要になります。 apt-get --purge autoremoveおよび/またはdeborphan(インストールされている場合)を使用して、システムで役に立たない孤立したパッケージを見つけてクリーンアップできます。

(私の以前の回答は無効になり、すぐに削除されます。とにかく間違っています。aptでダウングレードすることは可能です)

4
Abel Cheung

私は適性のインタラクティブパッケージソルバーを使用します:

実行Sudo aptitude。次に、U(つまり大文字のu)と入力して、すべてをアップグレードすることを伝えます。対立があることを伝え、それを解決するための提案をします。 eを使用してインタラクティブソルバーに入り、次に.(ドット)と,(コンマ)見つけたさまざまなソリューションを反復処理してから、!ソリューションの1つを受け入れます。

また、ソリューションの一部(たとえば、gnomeを削除することを提案している場合)に移動して、(Aを使用して)受け入れたいことを伝えることで、(あなたにとって)より良いソリューションを見つける手助けを試みることもできます。または、それを行うことを(Rで)拒否します。

2
Rémi

最も速くて簡単な解決策:

各パッケージを個別にインストールする必要があります。

これを参照してくださいスーパーユーザーソリューション:aptパッケージはソリューションを保持しました

警告:実行しないでくださいSudo apt-get dist-upgradeインストールする必要のあるパッケージを完全にインストールしました。その後、そしてその後のみ、Sudo apt-get updateSudo apt-get dist-upgradeを実行できますか

1

Aptを使用せずにsamba関連のパッケージを手動でダウングレードすると、問題を解決できる場合があります。ミラーからdebパッケージを取得し(wheezyリポジトリのものを選択することを忘れないでください)、dpkg -iを使用してインストールします。疑わしい場合は、packages.debian.orgで正しいバージョンを検索してください。

また、バックポートリポジトリが不要になった場合は、sources.listから削除することを忘れないでください。

(この回答は廃止されました。別の回答を投稿しました)

0
Abel Cheung
Sudo -i
apt-get update
apt-get upgrade
apt-get dist-upgrade

通常、パッケージは、依存関係/サポートされているライブラリがない場合は元に戻されませんでした。

それをしてください&私はそれがあなたを助けると確信しています。

0
rɑːdʒɑ

ターミナルを開いて、次のように入力します。

apt-cache rdepends packagename

packagenameを削除するパッケージに置き換えると、削除しようとしているパッケージが必要なパッケージが一覧表示され、最初にそれらのパッケージを削除してから、実際のパッケージを削除しようとします。

0
OverCoder