Aptは、ユーザーがソースからインストールしたソフトウェアに必要なパッケージを削除できますか?


14

Aptは、リポジトリまたは*.debファイルからインストールされたパッケージ間の依存関係を処理します。しかし、ユーザーが最初にファイル./configure && make && make installを作成せずにソースからコンパイルおよびインストールしたソフトウェアについてはどう.debでしょうか?Aptがそのようなソフトウェアに必要なパッケージを削除する可能性はありますか?ソースからソフトウェアをインストールしますか、/optそれとも/usr/local違いがありますか?


1
ソースからインストールされたパッケージの代用としてequivsパッケージをインストールして、依存関係を強制的にインストールしたままにすることができます。
ファヒムミタ

回答:


13

APTは、手動でインストールされたソフトウェアについては何も知りません。ソフトウェアが必要とするライブラリーなどを知りません。

APTが別のパッケージの依存関係を満たすためだけにパッケージをインストールすると、このパッケージは自動的にインストール済みとしてマークされます。自動インストールされたパッケージに依存するすべてのパッケージを削除すると、そのパッケージは実行時に削除されますapt-get autoremove。APTの上位レベルのフロントエンドは、通常、他のメンテナンス後にそれを提供します。ローカルにインストールされたソフトウェアに必要なパッケージが削除されないようにするには、これらのパッケージを手動でインストール済みとしてマークします:、またはaptitude のキー。apt-mark manual PACKAGE-NAMEm

バイナリ実行可能ファイルに必要なライブラリパッケージを見つけるには、を実行しldd /path/to/executableます。を含む各行に対して実行すると、そのライブラリを含むパッケージの名前が表示されます。スクリプトの場合、スクリプトで使用されるインタープリターを示します。このインタプリタがインストールされたままであることを確認してください。スクリプトで使用されているライブラリを見つけるのは困難な場合があり、そのための普遍的な方法はありません。/usr/lib/SOMETHINGdpkg -S /usr/lib/SOMETHINGhead -n 1 /path/to/script

ディストリビューションに存在するパッケージの最新バージョンを手動でインストールした場合は、ディストリビューションのパッケージの依存関係を調べて、手動でインストール済みとしてマークします。


apt-getDebian Jessieにはmanualオプションがありません。これらの手動と自動(マティック)インストールのヒントについては、apt-mark代わりに使用しています。(apt-mark manual pkgapt-mark showmanual pkgapt-mark auto pkg、など)
Lekensteyn

@Lekensteyn意味apt-mark、ありがとう。
ジル 'SO-悪であるのをやめる'

14

aptまたdpkg、パッケージ管理システムの範囲外にあるローカルにインストールされた他のソフトウェアに必要なソフトウェアを完全に削除できます。そのようなソフトウェアが存在する可能性があることを知る方法はaptありdpkgません。

このようなソフトウェアがインストールされている場所には違いはありません:それは可能性/opt/usr/local、本当に、どこかまたはユーザのホームディレクトリにある(その場合にも、システム管理者がその存在を認識できない場合があります)、または。

技術的にaptあるいはdpkgさらには他のソフトウェアによって必要とされているソフトウェア取り除くことができている、後者のソフトウェアは、それがかつてのソフトウェアに依存していることを宣言するために失敗した場合は、パッケージ管理システムの一部を。ただし、debパッケージを作成するプロセスには、パッケージメンテナーがそのような依存関係の宣言を忘れないようにする自動化が含まれています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.