SAR アーカイブ形式
SHAR (Shell Archive) は、ファイルを単一のシェル スクリプトにバンドルする Unix ベースのアーカイブ形式です。この形式では、ファイルをプレーン テキスト スクリプトにエンコードし、Unix 系システムで実行して元のファイルを再作成できます。 SHAR は、Unix の初期に、特に電子メールや Usenet を介したソフトウェアの配布とファイルのコレクションの共有に広く使用されていました。 SHAR は主に tar や zip などの最新の形式に取って代わられましたが、UNIX エコシステムでは依然として重要な歴史的な形式であり、そのシンプルさと、基本的なシェル コマンドを使用して作成および抽出できる機能が高く評価されています。
SAR アーカイブの一般情報
SHAR アーカイブ (シェル アーカイブ) は、複数のファイルを 1 つのプレーン テキスト スクリプトにバンドルするために使用される Unix ベースの形式です。このスクリプトを実行すると、Unix 系システム上に元のファイルとディレクトリが再作成されます。 SHAR は、Unix の初期に、ソフトウェア、ドキュメント、その他のファイル コレクションを電子メールまたは Usenet 経由で配布するために特に人気がありました。最新の圧縮形式は主に SHAR に取って代わりましたが、そのシンプルさと基本的なシェル コマンドでの使いやすさにより、今でも Unix の歴史の中で重要な形式であり続けています。
SAR アーカイブ形式の履歴
- 1980 年代: SHAR は、Unix システム上で配布するためにファイルを 1 つのスクリプトにバンドルする便利な方法として登場しました。これは、電子メールと Usenet がソフトウェアとファイルを共有する主な手段である環境で特に役立ちました。
- 1990 年代初頭: インターネットの使用が増加するにつれて、SHAR は電子メールでファイルを配布するための一般的な形式であり続け、そのシンプルなテキストベースの形式は初期のネットワーク上で簡単に送信できました。
- 1990 年代半ば: gzip などの圧縮ツールと組み合わせた tar などのより高度なアーカイブ形式の台頭により、SHAR の使用は減少しましたが、単純なテキストベースの配布には引き続き使用されていました。
- 2000 年代: SHAR はよりニッチな形式となり、主に特定の Unix コミュニティで、または歴史的な目的で使用されます。作成が簡単で、基本的なシェル コマンドと互換性があるため、特定のタスクに関連性が保たれていました。
- 現在: SHAR は、大部分が最新のアーカイブ形式に置き換えられていますが、Unix の歴史におけるその役割は依然として認識されており、レガシー システムや教育目的で使用されることもあります。
シェルアーカイブの構造
SHAR (シェル アーカイブ) ファイルの構造は、Unix 系システムで実行できる自己解凍スクリプトになるように設計されています。バイナリ アーカイブとは異なり、SHAR ファイルはプレーン テキストであり、シェルによって解釈されます。一般的な SHAR アーカイブの構造の概要は次のとおりです。
- ヘッダー: SHAR アーカイブは、通常、作成日、作成者、コンテンツの説明など、アーカイブに関するコメントを含むヘッダーで始まります。このセクションには、アーカイブを解凍する手順も含まれる場合があります。
- ファイルディレクティブ:
- SHAR アーカイブ内の各ファイルは、一連のシェル コマンドによって表されます。これらのコマンドは通常、ファイルの内容をシステム上の適切な場所に書き込む echo または cat コマンドで始まります。
- ファイル ディレクティブには、各ファイルの作成後に chmod コマンドを使用して、正しいファイル権限を設定するコマンドも含まれています。
- ファイル コンテンツ: 各ファイルの実際のコンテンツは SHAR アーカイブ内に含まれており、通常は uuencoding などのテキストベースの方法を使用してエンコードされます。これにより、バイナリ ファイルを安全にアーカイブに含めてプレーン テキストとして転送できるようになります。
- ディレクトリ構造: SHAR アーカイブにディレクトリが含まれている場合、ファイルがディレクトリに抽出される前に、mkdir コマンドを使用してこれらのディレクトリを作成するコマンドがスクリプトに含まれます。
- フッター: SHAR アーカイブはフッターで終わります。フッターには、多くの場合、抽出されたファイルの整合性を検証するための追加のコメント、チェックサム、またはその他のメタデータが含まれます。フッターには、抽出プロセスが正常に完了したことを示すメッセージが含まれる場合もあります。
SAR 圧縮方法
SHAR (シェル アーカイブ) ファイルには、形式自体に圧縮方法が本質的に含まれていません。代わりに、これらは Unix のような環境で簡単に配布および抽出できるようにファイルをパッケージ化するように設計されたプレーン テキストのシェル スクリプトです。ただし、圧縮はいくつかの異なる方法で適用できます。
- 非圧縮: デフォルトでは、SHAR アーカイブは非圧縮テキスト ファイルであるため、簡単に読み取り、シェル スクリプトとして実行できます。このアプローチではシンプルさと広範な互換性が維持され、標準のシェル コマンドを使用してファイルを簡単に解凍できます。
- 外部圧縮: SAR ファイルは、作成後に GZIP、BZIP2、ZIP などの外部圧縮ツールを使用して圧縮できます。これにより、配布または保存するためのファイル全体のサイズが削減されますが、SHAR アーカイブを実行する前に解凍する必要があります。たとえば、SHAR ファイルは .shar.gz または .shar.bz2 ファイルとして配布される場合があります。
- 解凍後の圧縮: 場合によっては、SHAR アーカイブには、抽出後に個々のファイルを圧縮するためのコマンドがスクリプト内に含まれている場合があります。これはあまり一般的ではありませんが、解凍プロセスの一部としてアーカイブ内の特定のファイルを圧縮する必要がある場合に使用できます。
- TAR との組み合わせ: SHAR 自体には圧縮が含まれていませんが、TAR アーカイブ (圧縮可能) と組み合わせて、.tar.shar.gz または同様のファイルを作成できます。この方法を使用すると、大規模なファイル コレクションのアーカイブと圧縮の両方を 1 つのステップで行うことができます。
.shar でサポートされる操作
- SHAR アーカイブの作成: SHAR ファイルは、その単純さを超えて、ソフトウェアの配布とバックアップの作成に多用途なアプローチを提供します。 Aspose.Zip を使用すると、包括的な機能セットを備えたこの形式をシームレスに活用できます。既存のファイルとディレクトリから新しい SHAR アーカイブを構築します。この機能は、ソフトウェア インストーラーや包括的なバックアップを作成するのに最適です。 Aspose.Zip は、ZIP、RAR、7Z、SHAR ファイルのその他の形式など、従来のアーカイブに関連するすべての機能をサポートしていない可能性があります。
Aspose.Zip API は、ソフトウェアの配布やバックアップの作成に一般的に使用されるディスク イメージ ファイルである .shar ファイルを操作するためのさまざまな操作をサポートしています。 Aspose.Zip API で .shar ファイルに対してサポートされている主な操作の一部を次に示します。
.shar ファイルの構造
SHAR ファイルは本質的にシェル スクリプトです。これはテキストベースの形式で、実行時に元のファイル構造を再作成するコマンドが含まれています。基本構造:
- シェル スクリプト ヘッダー: 標準のシェル スクリプト ヘッダー (例: #!/bin/sh)。
- ファイル メタデータ: ファイル名、権限、変更時刻など、各ファイルに関する情報。
- ファイル コンテンツ: 実際のファイル コンテンツ。通常は、base64 または同様の形式でエンコードされます。
- シェル コマンド: ディレクトリを作成し、ファイルの内容をディスクに書き込むコマンド。
SHARアーカイブの衰退
辞退の理由
現在、SHAR アーカイブはレガシー形式とみなされており、最新のソフトウェア配布ではほとんど使用されていません。これらは、歴史的なソフトウェア アーカイブや、非常に古いシステムとの互換性が必要なニッチな状況で依然として見つかる可能性がありますが、そのほとんどは、より効率的で信頼性の高いアーカイブ方法に取って代わられています。
- 制限された機能: SHAR アーカイブには、圧縮、エラー処理、メタデータ保存などの最新のアーカイブ形式にある機能がありません。
- セキュリティ上の懸念: シェル スクリプトとして、SHAR ファイルには悪意のあるコードが含まれる可能性があり、セキュリティ リスクが生じます。
- 効率: 新しい形式と比較すると、SHAR は一般に、ストレージと抽出速度の点で効率が低くなります。
- より優れた代替手段の出現: ZIP、TAR、7-Zip などの形式は、優れたパフォーマンス、セキュリティ、機能を提供するため、ほとんどのユーザーにとって好まれる選択肢となっています。
SHAR アーカイブの使用例
Aspose.Zip は、SHAR (シェル アーカイブ) ファイルを作成する機能を提供し、複数のファイルを 1 つのアーカイブにバンドルして、UNIX および Linux システム上で簡単に配布できるようにします。ただし、Aspose.Zip は現在、SHAR アーカイブの作成のみをサポートしており、既存の SHAR ファイルの抽出や変更などの他の操作の機能は含まれていないことに注意することが重要です。以下は、プロジェクトで Aspose.Zip を使用して SHAR アーカイブを作成する方法を示す例です。
Create SHAR Arcive via C#
using(SharArchive a = new SharArchive())
{
a.CreateEntry(“first.bin”, “data.bin”);
a.Save(“result.shar”);
}
![]() | ![]() | ![]() |
---|
追加情報
人々は尋ねてきました
1. SHAR アーカイブからファイルを抽出するにはどうすればよいですか?
SHAR アーカイブからファイルを抽出するには、SHAR ファイル自体を実行します。スクリプトはコマンドを実行して、元のファイル構造を再作成します。
2. SHAR アーカイブは現在でも使用されていますか?
現在、SHAR アーカイブはほとんど使用されていません。 ZIP、TAR、7-Zip などの最新のアーカイブ形式は、優れた機能とセキュリティを提供するため、ほとんどのユーザーにとって好まれる選択肢となっています。
3. SHAR アーカイブの制限は何ですか?
SHAR アーカイブには、圧縮の欠如、メタデータのサポートの制限、シェル スクリプトとしての性質による潜在的なセキュリティ リスク、最新のアーカイブ形式と比較した非効率など、いくつかの制限があります。