追跡プログラム

追跡プログラム

簡単なプログラムをインストールすると、頻繁に使用されたり、頻繁にmake && make install使用されたりすることはありません。削除ターゲット。

以前のプログラムをスムーズに書き直すと仮定してプログラムをアップグレードしたい場合、これは標準プロトコルですか?

これらのプログラムをどのように追跡しますか?ほとんどの人はただ「設定して忘れますか?」そうでない場合削除ターゲットを指定したすべてのアイテムを手動で削除する必要がありますか?

答え1

専用ディレクトリツリーに各プログラムをインストールして使用する拾って入れるまたはXストーすべてのプログラムが共通階層に表示されるようにします。 Stowは、プログラム固有のディレクトリからパブリックツリーへのシンボリックリンクを作成します。

詳細については、最上位ディレクトリを選択してください。たとえば、/usr/local/stowその下に各プログラムをインストールします/usr/local/stow/PROGRAM_NAME。たとえば、実行可能ファイルを にインストールし、/usr/local/stow/PROGRAM_NAME/binマニュアルページを にインストールする/usr/local/stow/man/man1などの操作を実行します。プログラムがautoconfを使用している場合./configure --prefix /usr/local/stow/PROGRAM_NAMEは、次にmake install実行しますstow

./configure --prefix /usr/local/stow/PROGRAM_NAME
make
sudo make install
cd /usr/local/stow
sudo stow PROGRAM_NAME

これで、次のシンボリックリンクが作成されます。

/usr/local/bin/foo -> ../stow/PROGRAM_NAME/bin/foo
/usr/local/man/man1/foo.1 -> ../../stow/PROGRAM_NAME/man/man1/foo.1
/usr/local/lib/foo -> ../stow/PROGRAM_NAME/lib/foo

ディレクトリの内容を一覧表示することで、インストールされたプログラムを簡単に追跡でき、ファイルがそのプログラムディレクトリの下の場所stowへのシンボリックリンクであるため、ファイルが属するプログラムを常に知ることができます。stow -D PROGRAM_NAMEプログラムディレクトリを実行したら、削除してプログラムを削除します。実行してプログラムを一時的に無効にすることができますstow -D PROGRAM_NAMEstow PROGRAM_NAME再利用可能にするには実行)。

同じプログラムの異なるバージョンをすばやく切り替えるには、/usr/local/stow/PROGRAM_NAME-VERSIONプログラムディレクトリとして使用してください。バージョン3からバージョン4にアップグレードするには、バージョン4をインストールしてくださいstow -D PROGRAM_NAME-3; stow PROGRAM_NAME-4

Stowの以前のバージョンは、この回答で説明した基本を超えていませんでした。最新バージョンとXstow(最近はメンテナンスされていない)には、特定のファイルを無視する機能、stowディレクトリ外の既存のシンボリックリンクに対する改善された処理(例:)、いくつかの競合のman -> share/man自動処理(2つの場合)などの高度な機能があります。プログラムは同じファイルを提供します)など

ルートアクセス権がない場合や使用したくない場合は、ホームディレクトリの下からディレクトリを選択できます。たとえば、マン~/software/stowページが自動的に見つからない場合。 yours、yoursなどに追加してください(該当する場合)。~/software/binPATHman~/software/manMANPATH~/software/infoINFOPATH~/software/lib/pythonPYTHONPATH

答え2

あなたはそれを使用することができますインストールの確認デプロイパッケージマネージャを使用してアプリケーションを追加および削除できるようにパッケージ(RPM、Deb、またはSlackware互換パッケージ)を作成します(アップデートは除く)。

checkinstall代わりに、次のコマンドを使用できますmake install(Debの場合は-Dパラメータを使用し、RPMの場合は-R、Slackwareの場合は-Sを使用します)。

root@nowhere# ./configure
root@nowhere# make
root@nowhere# checkinstall -D

checkinstallはデフォルトでパッケージをビルドしてインストールするか、パッケージをインストールせずにビルドのみを実行させることができます。

checkinstall は、ほとんどの配備リポジトリで使用できます。

答え3

通常、これは、この種のことが発生しないようにするパッケージ、ポート、および他の種類の管理者の背後にあるものです。

他の人がこれに対するより良い答えを提供しない限り、手動アンインストールが手動でインストールする唯一の方法であると言いたいと思います。

答え4

  1. 通知で空のRPMを作成できます。
  2. ソフトウェアをRPMで適切にパッケージ化することを検討できます。
  3. tar通知を使用してインストールファイルのコピーをアーカイブできます/usr/src/non-rpms(通常はそうします)。

関連情報