静的バイナリの作成


13

アプリケーション[fdiskなど]をインストールしました。しかし、実行にはライブラリが必要でした。既にインストールされいるバイナリから静的バイナリを作成するのに役立つユーティリティ/ツールを探しています。どこでも使えるように。

私が見つけた唯一の信頼できるツールはここErmineLightから ですが、これはシェアウェアです。

同じために利用可能なオープンソースソフトウェアはありますか?

EDIT fdiskは単なる例です。私はほとんどの場合LFSで作業しているので、ユーティリティを使用する必要がある場合は、次の手順に従う必要があります。

  1. ソースをダウンロードする
  2. 構成、設定
  3. 作る
  4. テストする
  5. インストールする、

だから時間を節約するために、DebianまたはFedoraまたは他のディストリビューションから静的バイナリを作成し、LFSで試して、それがうまく機能するか、私の要件に従っている場合、私は解決策を探していますコンパイルにはソースコードを使用します。


1
目標は単に転送を容易にすることです(つまり、USBに置いて、そのプロセッサアーチでどこにでも持ち運べます)。
マイクペニントン

回答:


15

fdiskが単なる例であり、目標が動的実行可能ファイルから静的実行可能ファイルを作成することである場合は、Elf statifierを試してください。Ermineとの比較すらあります(Ermineベンダーによる、警告(非)使用者)。ご了承ください

  • 実行可能ファイルが多数ある場合、それらの合計サイズは、動的にリンクされた実行可能ファイルと必要な動的ライブラリの合計サイズよりも大きくなる可能性があります。
  • NSS(ユーザー名、ホスト名などのデータベース)やロケール関連の機能など、静的にリンクされた実行可能ファイルでは動作しない可能性のあるGNU libcの機能があります。

小さくて移植性の高いシステムツールスイートを作成することが目的の場合は、組み込みシステム(を含む)向けのコアツールスイートであるBusyBoxを探していますfdiskdietlibcµClibcなど、Glibcよりも小さな標準ライブラリにも興味があるかもしれませ


1
Elf statifierを試しましたが、驚きました。それは動かなかった。セグメンテーション違反です。多くのユーティリティを備えた多くのディストリビューションで何度も試しました。
SHW

1
おそらくアドレスのランダム化のためにセグメンテーション違反が発生しています:ここで説明されています:linux-magazine.com/Issues/2009/105/Ermine-vs.-Statifier
Rmano

0

まあ...これは非常に悪い考えのように見えます。しかし、それは可能です。

fdiskはオープンソースなので、ソースを取得してMakefileを見てください。コンパイル時にgccに「-static」を渡すオプションを見つける必要があります。

私はC / C ++の第一人者ではありませんが、既存の動的にリンクされたバイナリから静的にリンクされたバイナリを作成することはできません。

どこでも使用したい場合は、数秒以内に開始し、すべてを変更できる小さなメンテナンス配布を使用することをお勧めします。

Linux / UNIXインストールを実行しているディスクを変更したいと思うかもしれないので、それは私にとってより賢明です。


あなたの答えは矛盾しているようで、「...非常に悪い考えです。しかし、それは可能です」、そして「...既存の動的にリンクされたバイナリから静的にリンクされたバイナリを作成することは不可能です」。あなたの答えを明確にしてください、それは最も役立つでしょう。
JMベッカー

@TechZilla:静的バイナリの作成は可能ですが、ティクタクごとではなく、既存の動的にリンクされたバイナリから作成します。ただし、後者を行う可能性のある能力については、受け入れられている回答を参照してください。[注:コメントは、ここにあるものを批判するよりも、将来の読者を対象としています。]
リンデス

-3

ELFex Linkerを使用することもできます。これは、私が今発見したかなりクールなプログラムであり、GUIであり、動的実行可能ファイルから静的実行可能ファイルを作成できます。


リンクが機能しません。
-Jakuje

リンクは私のために動作し、質問に直接答えているようです。スパムではないことをお勧めします。
ロアイマ

リンクは私のために機能します。このページには、プロのプログラマーの仕事から予想されるタイプミス/文法的/編集上のエラーの数があります。プロのWebサイトから予想されるよりも多く、フィッシングメールから予想されるよりも少ないです。上記の投稿と同じくらい、考えてみてください。この新しいユーザーが、新しいWebサイトのように見えるものへのリンクを投稿するのに間に合うようにStack Exchangeに参加するのは疑わしいようです。
G-Manは「Reinstate Monica」と言います
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.