web-dev-qa-db-ja.com

標準で命名された.debファイルの名前を変更しても安全ですか?

_.deb_ファイル名の確立された構造は_package_version_architecture.deb_です。
this 段落によると:

一部のパッケージは、名前構造_package_version_architecture.deb_に従いません。 dpkg-nameによって名前が変更されたパッケージは、この構造に従います。通常、これはdselect/dpkgによるパッケージのインストール方法には影響しませんが、他のインストールツールはこの命名構造に依存する場合があります。

質問:

ただし、_.deb_パッケージファイルの名前の変更が非常に推奨される場合unに実際の状況はありますか?ソフトウェアにカスタムの_.deb_ファイル名を指定するのは通常の方法ですか?

例:

  • My Program for Linux v1.0.0 (Pro).deb —カスタムの命名
  • _my-program_1.0.0-1_AMD64.deb_ —適切な正式名称

注意:

私はではなくリポジトリの作成を計画しています。直接ダウンロードできるように、Webサイトでソフトウェアの_.deb_パッケージをホストしています。

13
kefir500

長年にわたり、私はたくさんの.deb標準以外の名前のパッケージ。問題が発生したことを覚えていません。人々が今日遭遇する可能性のある非標準の名前を持つ「有名な」パッケージには、google-chrome-stable_current_AMD64.debおよびSteam.deb。 (どちらの場合も、バージョン番号のない固定名により、ダウンロードに安定したURLを使用でき、インストール手順に安定した名前を使用できます。)

ただし、私はしないでください名前にスペースが含まれているものに出くわすことを覚えています。ツールで問題が発生することはありませんが、ユーザーが混乱する可能性があります(シェルベースのツールを使用している場合は、ファイル名を引用するかスペースをエスケープする必要があるため)。

注意すべきもう1つの点は、(controlファイルに格納されている)パッケージ名と同じではない非標準の名前を使用すると、混乱を招く可能性があることですegパッケージを削除します(パッケージ名はインストールに使用した名前と同じではないため)。

このすべての結果として、正規の名前を使いたくない場合は、my-program.debまたはmy-program_AMD64.deb(複数のアーキテクチャをサポートするかどうかによって異なります)。古いバージョンのダウンロードを許可したい場合は、バージョン管理されたファイル名へのシンボリックリンクを作成することもできます。

26
Stephen Kitt

ファイル名は、主にアーカイブメンテナンスソフトウェアとローカルキャッシュのために標準化されています。

昔、m68kアーキテクチャがDebianに追加される前は、ファイル名に「package_versionが使用されていました。問題はありません。アーカイブソフトウェアが同じパッケージとバージョンのi386およびm68kパッケージを同じディレクトリに保存する必要がある場合、アーキテクチャ名がファイル名に追加されました。パッケージリストには常に 長いファイル名と8.3ファイル名 の両方が含まれているため、クライアントを壊すことなく実装できます。

Dpkgは通常、パッケージのファイル名をまったく気にしません。インストール実行中、APTは、このインストール実行のすべてのパッケージファイルを含むディレクトリを生成します。各ファイルには、現在の実行でファイル名の前に番号が付加されます(つまり、パッケージfooバージョン1、およびパッケージbarバージョン2(fooが依存する)、aptは0-bar_2_all.debおよび1-foo_1_AMD64.debをdpkgに渡します)。

APTは通常、名前がキャッシング目的で一意であると想定しています。名前を再利用する場合、キャッシュにこのファイルがあるユーザーは、新しいファイルが大きい場合、ダウンロードを再開しようとします。これにより、チェックサムテストに失敗したため、後で破棄される無効なファイルが残ります。ただし、このエラーはユーザーに表示され、インストールの実行を再開する必要があります。

10
Simon Richter