私は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]
私が試したこと:
apt-get dist-upgrade
_-結果は同じです(パッケージは元に戻されています)。aptitude
を使用しましたが、それが示唆するのは、gnomeと他のいくつかのgnome関連パッケージを削除し、多くのi386パッケージ(libsのみのように見えます)をインストールすることだけです。apt-get install libsmbclient
_はlibsmbclient : Depends: samba-libs (= 2:4.1.9+dfsg-1~bpo70+1) but it is not going to be installed
を与えますapt-get install libtevent0
_はlibtevent0 : Depends: libtalloc2 (>= 2.1.0) but 2.0.7+git20120207-1 is to be installed
を与えます。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'
_にはリストされていません
apt
を使用して、debパッケージを特定のリポジトリにダウングレードすることができます。
# apt-get install libsmbclient/wheezy libtevent0/wheezy samba/wheezy
apt
が依存関係を正しく解決し、他のwheezyパッケージをプルできるように、all目的のパッケージを一度に指定することが重要です。apt
が保持したい重要なパッケージの削除を要求しない場合は、行ってみてください。依存関係の問題についていくつかの警告がありますが、致命的でない限り、これらの警告は無視しても問題ありません。
ダウングレードが成功すると、libtevent0、libldb1などのライブラリは不要になります。 apt-get --purge autoremove
および/またはdeborphan
(インストールされている場合)を使用して、システムで役に立たない孤立したパッケージを見つけてクリーンアップできます。
(私の以前の回答は無効になり、すぐに削除されます。とにかく間違っています。apt
でダウングレードすることは可能です)
私は適性のインタラクティブパッケージソルバーを使用します:
実行Sudo aptitude
。次に、U
(つまり大文字のu)と入力して、すべてをアップグレードすることを伝えます。対立があることを伝え、それを解決するための提案をします。 e
を使用してインタラクティブソルバーに入り、次に.
(ドット)と,
(コンマ)見つけたさまざまなソリューションを反復処理してから、!
ソリューションの1つを受け入れます。
また、ソリューションの一部(たとえば、gnomeを削除することを提案している場合)に移動して、(A
を使用して)受け入れたいことを伝えることで、(あなたにとって)より良いソリューションを見つける手助けを試みることもできます。または、それを行うことを(R
で)拒否します。
最も速くて簡単な解決策:
各パッケージを個別にインストールする必要があります。
これを参照してくださいスーパーユーザーソリューション:aptパッケージはソリューションを保持しました
警告:実行しないでくださいSudo apt-get dist-upgrade
インストールする必要のあるパッケージを完全にインストールしました。その後、そしてその後のみ、Sudo apt-get update
&Sudo apt-get dist-upgrade
を実行できますか
Aptを使用せずにsamba関連のパッケージを手動でダウングレードすると、問題を解決できる場合があります。ミラーからdebパッケージを取得し(wheezyリポジトリのものを選択することを忘れないでください)、dpkg -i
を使用してインストールします。疑わしい場合は、packages.debian.orgで正しいバージョンを検索してください。
また、バックポートリポジトリが不要になった場合は、sources.list
から削除することを忘れないでください。
(この回答は廃止されました。別の回答を投稿しました)
Sudo -i
apt-get update
apt-get upgrade
apt-get dist-upgrade
通常、パッケージは、依存関係/サポートされているライブラリがない場合は元に戻されませんでした。
それをしてください&私はそれがあなたを助けると確信しています。
ターミナルを開いて、次のように入力します。
apt-cache rdepends packagename
packagenameを削除するパッケージに置き換えると、削除しようとしているパッケージが必要なパッケージが一覧表示され、最初にそれらのパッケージを削除してから、実際のパッケージを削除しようとします。