Membuat Biner Statis


13

Saya menginstal aplikasi [misalnya fdisk]. Tapi itu membutuhkan perpustakaan untuk dieksekusi. Saya mencari utilitas / alat yang akan membantu saya membuat biner statis dari binari yang sudah diinstal. Sehingga saya bisa menggunakannya di mana saja.

Satu-satunya alat tepercaya yang saya temukan berasal ErmineLightdari sini , tetapi yang ini adalah perangkat berbagi.

Apakah ada perangkat lunak sumber terbuka yang tersedia untuk hal yang sama?

EDIT fdisk hanyalah sebuah contoh. Saya sebagian besar waktu bekerja pada LFS, Jadi Jika saya harus menggunakan utilitas apa pun, saya harus mengikuti langkah-langkah sebagai

  1. Unduh sumbernya
  2. konfigurasikan
  3. membuat
  4. lakukan tes
  5. melakukan instalasi,

Jadi hanya untuk menghemat waktu, saya mencari solusi di mana saya akan membuat biner statis dari debian atau dari fedora atau dari distrbution lain, coba di LFS, dan Jika itu berfungsi dengan baik atau sesuai kebutuhan saya, saya akan pergi dengan kode sumber untuk kompilasi.


1
Apakah tujuannya hanya kemudahan transfer (mis. letakkan di usb, bawa ke mana saja dengan lengkungan prosesor)?
Mike Pennington

Jawaban:


15

Jika fdisk hanyalah sebuah contoh dan tujuan Anda benar-benar untuk membuat executable statis dari executable dinamis, coba Elf statifier . Bahkan ada perbandingan dengan Ermine (oleh vendor Ermine, jadi peringatan (bukan) emptor) . Catat itu

  • Jika Anda memiliki banyak file yang dapat dieksekusi, ukuran gabungannya cenderung lebih dari ukuran gabungan dari file executable yang terhubung secara dinamis plus perpustakaan dinamis yang diperlukan.
  • Ada fitur GNU libc yang mungkin tidak berfungsi di executable yang terhubung secara statis, seperti NSS (basis data nama pengguna, nama host, dll.) Dan fitur terkait lokal.

Jika tujuan Anda adalah memiliki seperangkat alat sistem portabel yang kecil, Anda mencari BusyBox , rangkaian alat inti yang ditujukan untuk sistem tertanam (termasuk fdisk). Anda mungkin juga tertarik dengan pustaka standar yang lebih kecil dari Glibc, misalnya dietlibc atau µClibc .


1
Saya mencoba Elf lebih sabar, tetapi saya terkejut. Tidak berfungsi. Segfaults. Saya mencoba banyak waktu dengan banyak distribusi dengan banyak utilitas.
SHW

1
Ini mungkin segfaults untuk pengacakan alamat: itu dijelaskan di sini: linux-magazine.com/Issues/2009/105/Ermine-vs.-Statifier
Rmano

0

Yah ... ini sepertinya ide yang sangat buruk. Tapi itu mungkin.

Karena fdisk adalah open source, ambil saja sumbernya, dan lihat Makefile. Anda harus menemukan opsi yang akan meneruskan "-static" ke gcc pada saat kompilasi.

Saya bukan seorang guru C / C ++ tetapi sejauh yang saya tahu membuat biner yang terhubung secara statis dari biner yang terhubung secara dinamis tidak mungkin.

Jika Anda ingin menggunakannya di mana saja, saya akan merekomendasikan untuk menggunakan distribusi pemeliharaan kecil yang dimulai dalam hitungan detik dan memungkinkan Anda memodifikasi semuanya.

Itu lebih masuk akal bagi saya karena Anda mungkin ingin memodifikasi disk yang menjalankan instalasi Linux / UNIX Anda.


Jawaban Anda tampaknya bertentangan, Anda mengatakan "... ide yang sangat buruk. Tapi, itu mungkin", dan kemudian juga "... membuat biner yang terhubung secara statis dari biner yang terhubung secara dinamis yang ada tidak mungkin". Harap jelaskan jawaban Anda, itu akan sangat membantu.
JM Becker

@ TechZilla: membuat biner statis dimungkinkan, tidak hanya, per tiktak, membuatnya dari biner yang terkait secara dinamis . Namun, lihat jawaban yang diterima untuk beberapa kemungkinan kemampuan untuk melakukan yang terakhir. [Catatan: Komentar lebih ditujukan untuk pembaca masa depan daripada mengkritik apa pun yang ada di sini.]
lindes

-3

Anda juga dapat menggunakan ELFex Linker , program yang cukup keren yang baru saya temukan, gui dan dapat membuat executable statis dari executable dinamis.


tautannya tidak berfungsi.
Jakuje

Tautan berfungsi untuk saya dan sepertinya menjawab pertanyaan secara langsung. Saya sarankan itu bukan spam.
roaima

Tautan ini berfungsi untuk saya. Halaman ini memiliki jumlah kesalahan ketik / tata bahasa / editorial yang mungkin Anda harapkan dari pekerjaan seorang programmer profesional - lebih dari yang Anda harapkan dari situs web profesional, lebih sedikit dari yang Anda harapkan dari email phising. Hampir sama dengan posting di atas, kalau dipikir-pikir itu. Tampaknya mencurigakan bahwa pengguna baru ini akan bergabung dengan Stack Exchange tepat waktu untuk mengirim tautan ke situs web yang tampaknya baru.
G-Man Mengatakan 'Reinstate Monica'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.