web-dev-qa-db-ja.com

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

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

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

9
Jason Baker

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

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

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

echo package_name hold | dpkg --set-selections

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

3
user4358

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

aptitude install <package_name>&m
6
danadam

Synapticからのapt-mark manual <package>を使用できます。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>を使用すると、暗黙的に手動としてマークされます。