簡単なプログラムをインストールすると、頻繁に使用されたり、頻繁に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_NAME
(stow 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/bin
PATH
man
~/software/man
MANPATH
~/software/info
INFOPATH
~/software/lib/python
PYTHONPATH
答え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
- 通知で空のRPMを作成できます。
- ソフトウェアをRPMで適切にパッケージ化することを検討できます。
tar
通知を使用してインストールファイルのコピーをアーカイブできます/usr/src/non-rpms
(通常はそうします)。