web-dev-qa-db-ja.com

Debianベースのディストリビューションで* .run./*。binファイルを作成する方法

AMDは、Catalystドライバーを*。runファイルとして配布します。このファイルは、実行時に自分自身を抽出し、ビルドしてからビルドします。 ドライバー をインストールします。ドライバーが正常にビルドするには、パッチが必要です。パッチを適用して、runファイルを圧縮または再作成して、次回何度も実行する必要がないようにします。

ところで、実行ファイルは純粋なシェルスクリプトコマンドではなく、抽出時にファイルとフォルダーを再作成する可能性のあるバイナリコードを含むセクションがあります。

1
Nostrae

AMDは、インストールを実行するためにrootとして実行することを目的とした実行可能ファイルを配布します。その名前とその名前で終わる名前はほとんど関係ありません。

そのファイルは実行可能ファイルであるため、AMDが選択した方法で機能させることができます。シェルスクリプト(私はそうだと思います)、バイナリ実行可能ファイル、または理論的には他の実行可能ファイルのいずれかです。したがって、その構造を維持しながら、そのようなものを編集する一般的な方法は実際には存在しません。

実行ファイルは純粋なシェルスクリプトコマンドではありません

はい、システムをいじってソフトウェアをインストールすることを目的としたこのようなベンダー提供のスクリプトには、通常、シェルスクリプト内にエンコードおよび埋め込まれているバイナリアーカイブ(tarなど)を抽出する手段が含まれています。これは、「バイナリコードのセクションがある」という意味です。

繰り返しになりますが、ベンダーがそのアーカイブをエンコードして埋め込むことを選択した方法は完全に任意です。実際には、base64でエンコードされたtarファイルなどです。

AMDが提供するファイルを編集する場合は、ファイルがどのように機能するかを調べてから、その一部をデコードして抽出し、パッチを適用し、結果をアーカイブして再エンコードし、元の埋め込みファイルを置き換える必要があります。あなたのコンテンツ。

結論:このタイプのアドホックソフトウェアのインストール方法は、DebianまたはRPMパッケージのように適切に構造化されておらず、同じ種類の規則性と標準化で操作することはできません。

2
Celada

使用するソフトウェアはmakeself.shで、megastepによって配布され、makeself.runとしてダウンロードされます。パッケージをダウンロードするためのURLは次のとおりです。 http://stephanepeter.com/makeself/ ここでは、アーカイブ作成オプションについて説明しています。これを使用して、nvidiaドライバーファイルにパッチを適用し、.runファイルを再作成しました。アーカイブ内の既存のインストールプログラムを実行します。

0
user251645