ubuntuリポジトリのパッケージはかなり古いので、NGinxをソースからインストールします。これらのタイプのインストールをアップグレードするための最良の方法は何ですか?
私の現在のワークフローは含まれています。
- 新しいソースをダウンロードする
- 同じパスでソフトウェアをインストールします。
- ソフトウェアを再起動します。
何かが私にこれが最良のルートではないことを教えてくれます。
提案?
ubuntuリポジトリのパッケージはかなり古いので、NGinxをソースからインストールします。これらのタイプのインストールをアップグレードするための最良の方法は何ですか?
私の現在のワークフローは含まれています。
何かが私にこれが最良のルートではないことを教えてくれます。
提案?
回答:
これは最善のルートではないと考えるのは当然です。このルートは多くの手動ステップを必要とし、非常にエラーが発生しやすく、適切にスケーリングされません。
Linuxディストリビューションを使用する場合は、パッケージ管理にできる限り従う必要があります。
パッケージ管理を使用する利点:
ソースのみから作業を開始すると、これらの優れた機能がすべて失われ、物事はかなりすぐに乱雑になり始めます。
特定の問題を解決するには、ubuntuバックポートレポジトリを確認する必要があります。おそらく、使用できるNGinxの更新バージョンが含まれています。
適切なバージョンがない場合は、バックポートされたubuntuパッケージを自分で作成するのが最善の解決策です。実際、それほど難しくはなく、毎回ソースから手動でコンパイルするよりも作業が少なくて済みます。バックポートには基本的に、ubuntuからソースパッケージを取得し、古いupsteam tar.gzファイルを必要な最新のものに置き換えて、パッケージを再構築する必要があります。
別の場所に別のバージョンをインストールし、使用するバージョンへのシンボリックリンクを付けると、次のように非常に便利です。
lrwxr-xr-x 1 root wheel 7B Jun 7 18:26 /usr/local/foo -> foo-1.0
drwxr-xr-x 2 root wheel 512B Jun 7 18:26 /usr/local/foo-1.0
drwxr-xr-x 2 root wheel 512B Jun 7 18:26 /usr/local/foo-1.1
利点は次のとおりです。
/usr/local/foo/bin/bar
もちろん、以前のバージョンに対して行った構成変更を再適用する必要がありますが、そのためには、バージョン管理システム(RCS / SVN / GIT)またはBcfg2などの構成管理ツールを使用できます。
そしてもちろん、これは一握りまたはそれ以下のホストにのみ適しています。