アーカイブファイルには、圧縮および/または暗号化された1 つ以上のコンピュータ ファイルの内容と、ファイル名、ディレクトリ構造、エラー検出および訂正情報、コメントなどの関連メタデータが格納されます。アーカイブ ファイルは、移植性、配布、バックアップを容易にし、ストレージの使用を削減するためによく使用されます。[ 1 ] [ 2 ] [ 3 ]アーカイブ ファイルは通常、ファイル アーカイバユーティリティによって生成および変更されます。
アーカイブファイルは、ファイルの内容やメタデータなどのファイルシステム情報を格納するため、異種システム間でのファイルシステムコンテンツの移植性に活用できます。たとえば、ディレクトリツリーを電子メールで送信したり、ターゲットシステムでサポートされていない名前のファイルを抽出時に名前変更したり、タイムスタンプをデータ転送中に失うことなく保持したりできます。[ 4 ]また、単一のアーカイブファイルの転送は、ファイルごとのオーバーヘッドのため、複数のファイルを処理するよりも高速になる場合があり、[ 5 ] [ 6 ]圧縮するとさらに高速になります。
アーカイブファイルは、アーカイブ以外にもソフトウェアの配布によく使用されます。パッケージマネージャと連携して使用される場合、アーカイブはパッケージ形式に準拠する必要があり、パッケージと呼ばれます。特に、この形式では通常マニフェストファイルが必要です。[ 7 ]例としては、 Debianのdeb、JavaのJAR、AndroidのAPK、自己解凍型Windows インストーラ実行ファイルなどがあります。
各種アーカイブでサポートされている主な機能は以下のとおりです。
アーカイブファイルには、エラー検出のためにパリティチェックやその他のチェックサムが含まれていることが多く、たとえばzipファイルは巡回冗長検査(CRC)を使用します。RARアーカイブには、追加のエラー訂正データ(リカバリレコードと呼ばれる)が含まれている場合があります。 [ 8 ]
回復レコードをネイティブにサポートしていないアーカイブファイルは、追加のエラー訂正と複数ファイルアーカイブ内の欠落ファイルの回復を可能にする別個のアーカイブ(PAR)ファイルを使用できます。 [ 9 ]
アーカイブファイル形式の中には明確に定義されているものもあれば、複数のベンダーやコミュニティによってサポートされている慣例となっているものもあります。[ 10 ]すべてのファイルに共通することですが、アーカイブの形式は通常、ファイル名の拡張子やファイルヘッダーによって示されます。[ 11 ]
一般的に使用される形式には、zip、rar、7z、tarなどがあります。[ 12 ] Javaでは、 jar(Javaのj )やwar( Webのw )などのアーカイブ形式が導入され、通常は圧縮された実行可能なデプロイメント全体が格納されます。[ 13 ]
{{cite book}}: CS1メンテナンス: 場所の発行元が見つかりません (リンク)