Ports Collectionを更新したら、ポートのアップグレードを試みる前に、/ usr / ports/UPDATINGファイルを確認する必要があります。このファイルには、ポートを更新するときにユーザーが遭遇する可能性があり、実行する必要があるさまざまな問題と追加の手順が記載されています。
ポートを最新の状態に保つのは面倒な作業になる可能性があります。たとえば、ポートをアップグレードするには、portsディレクトリに移動し、ポートをビルドし、古いポートをアンインストールし、新しいポートをインストールして、ビルド後にクリーンアップする必要があります。アップグレードが必要なポートが多数ある場合、非常に面倒になります。これはシステム管理者が対処する大きな問題であり、FreeBSDにはこれを自動的に行うユーティリティがあり、それがsysutils/portupgradeユーティリティです。
sysutils / portupgradeユーティリティをインストールするには、他のポートをインストールするのと同じようにコマンドを使用します:makeinstallclean。
次のコマンドを使用してデータベースを作成します:pkgdb -F
このコマンドは、インストールされているポートのリストを読み取り、/ var / db/pkgディレクトリにデータベースファイルを作成します。
portupgrade -aを実行します ポートの更新を開始します。
portupgradeは、pkgdb-Fによって作成されたデータベースファイルとportsINDEXファイルを読み取ります。最後に、portupgradeは、更新されたポートのダウンロード、ビルド、バックアップ、インストール、およびクリーンアップを開始します。
Portupgradeユーティリティには、さまざまな用途に対応する多くのオプションがあります。最も重要なものを以下に示します。
データベース全体ではなく、特定のアプリケーションのみをアップグレードする場合は、 portupgrade pkgnameを使用します。 、指定されたパッケージに応じてportupgradeがこれらすべてのパッケージにも作用する場合は、フラグ-rを含め、指定されたパッケージに必要なすべてのパッケージに作用する場合は-Rを含めます。
インストールにポートの代わりにパッケージを使用するには、-Pを指定します。このオプションを使用すると、portupgradeはPKG_PATHにリストされているローカルディレクトリを検索するか、ローカルに見つからない場合はリモートサイトからパッケージをフェッチします。パッケージがローカルで見つからないか、リモートでフェッチできない場合、portupgradeはポートを使用します。ポートの使用を避けるには、-PPを指定します。
何もビルドまたはインストールせずにdistfile(または-Pが指定されている場合はパッケージ)をフェッチするには、-Fを使用します。
注:特にportupgradeで要求された場合は、不整合を修正するためにpkgdb-Fを使用してパッケージデータベースを定期的に更新することが重要です。パッケージデータベースの更新中にportupgradeを中止しないでください。データベースの一貫性が失われます。