新しいソースは既存のソースの上にインストールされます。

新しいソースは既存のソースの上にインストールされます。

私のコンピュータにはSlackwareがインストールされており、ソースから多くのソフトウェアがインストールされています。今ffmpegより多くのオプションを使用して再コンパイルするためにソースからインストールしたいと思います。しかし、ffmpeg私のコンピュータにすでにインストールされていますが、どうなりますか?

以前のインストールを上書きしますか、それとも新しいファイルを作成しますか?それでは、インストールされている2つのバージョンをどのように区別しますか?

また、Slackでプログラムを再コンパイルするより良い方法がある場合は、教えてください。とても興味があるからです。

答え1

configure、、、makeルーチンを使用してLinuxディストリビューションにソフトウェアをインストールする場合、make install新しいバージョンは通常古いものを上書きします。注意すべき唯一のことは、新しいバージョンがインストール場所または一部のファイルの名前を変更した場合、コンピュータに古いバージョンまたはその一部が残っている可能性があることです。

したがって、Slackwareはこの方法でプログラムをインストールすることをお勧めしません。推奨されるアプローチは、.txz標準のSlackwareパッケージインストーラを使用してインストールできるパッケージを作成することです。これはまた、.NETを使用してパッケージを完全に削除したり、新しいバージョンにアップグレードしたりできることを意味します。パッケージをコンパイルして生成するための多くのスクリプト(ffmpeg用のスクリプトを含む)は、以下にあります。.tgzinstallpkgremovepkgupgradepkgSlackビルド。同じディレクトリのソースから提供されたスクリプトを実行すると.txz

ほとんどのSlackwareユーザーは、非公式ソフトウェアをインストールするために多くのSlackbuildsを使用しています。

答え2

ソースコード(つまり、ディストリビューションのパッケージではない)をダウンロードする場合は、通常、コンパイルされたソフトウェアをインストールする場所を指定できる設定スクリプトが含まれます。通常、デフォルトは/usr/local次のオプションを使用してこの設定を変更できます。

$ ./configure --prefix=/foo

すべてのソフトウェアがこのように実行されるわけではありませんが、そうでない場合はまれです。ディストリビューションは/usrの下にソフトウェアをインストールするので、システムに2つのバージョンがあることを意味します。 ffmpegを/opt/ffmpegにインストールした場合は、バイナリディレクトリ(おそらく/opt/ffmpeg/bin)をPATHに追加するだけです。

ソースコードに本当に興味がある場合は、Linux From ScratchとGentooをチェックしてください。

答え3

(インストールは不要)を使用makeしてソースコードをコンパイルしてテストできます。その後、それを使用してmake install新しいビルドファイルをシステムに配置できます。

関連情報