Ubuntu / Debianでは、パッケージを非自動リムーバブルとしてマークするにはどうすればよいですか?


9

Synapticを使用してインストールするパッケージ(この場合はPythonパッケージ)があるとします。このパッケージのバージョンは多少古いため、Synapticで削除してから、を使用してインストールしeasy_installます。その依存関係の1つもSynapticを使用してインストールされましたが、Synapticがインストールされたバージョンをそのままにしたいのeasy_installingです。

唯一の問題は、依存関係が自動リムーバブルとしてマークされていることです。削除して再インストールする以外に、手動でインストール済みとしてマークする方法はありますか?それが違いを生むなら、私はUbuntu Jauntyを使っています。

回答:


3

Ubuntuでパッケージを「保持」できます。

パッケージを保持するということは、基本的には、パッケージマネージャーに現在のバージョンを保持するように指示することを意味します。これは、現在作業中のプログラムのより新しいバージョンが更新後に壊れた場合に役立ちます。

Synaptic経由で、またはapt / dpkg経由のコマンドラインで実行できます。パッケージを保持するコマンドラインバージョンは次のとおりです。

echo package_name hold | dpkg --set-selections

Ubuntu Community Documentationには、パッケージを固定または保持する方法説明するより完全なガイドがあります



2
保留は通常、新しいバージョンへのアップグレードを防ぐために使用されます。パッケージの保持には使用しないでください。保留を使用すると、セキュリティおよびディストリビューションの更新を受信できなくなり、アップグレード中の追加の負担になります。パッケージを手動でインストールされたものとしてマークすることは正しい方法です(私の答えを参照してください...)。
Thomas Guyot-Sionnest、2015

6

私はあなたが適性でそれを行うことができることを知っています。GUIでパッケージを選択して 'm'を押すか、[パッケージ]メニューから[手動でマーク]を選択するか、コマンドラインを使用して実行できます。

aptitude install <package_name>&m

5

apt-mark manual <package>SynapticからPackage=> を使用できます[ ] Automatically Installed(チェックを外します)。

例:

# Mark <some_package> as manually-installed:
apt-mark manual <some_package>

# Mark <other_package> as automatically-installed (ex if you know it's a
# dependency to something else and you want to make sure it'll be
# auto-removable if it's no longer used):
apt-mark auto <other_package>

また、apt-get install <package>すでにインストールされているパッケージで使用すると、暗黙的に手動としてマークされます。


これは、望みどおりの動作をするようです。それから、私のパッケージの状態を変更[installed,auto-removable]だけに[installed]
mwfearnley
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.