Creazione di binari statici


14

Ho installato un'applicazione [ad esempio fdisk]. Ma per l'esecuzione erano necessarie librerie. Sto cercando utilità / strumento che mi aiuterà a creare un binario statico da binari già installati. In modo che io possa usarlo ovunque.

L'unico strumento affidabile che ho trovato è ErmineLightda qui , ma questo è shareware.

Esiste un software open source disponibile per lo stesso?

EDIT fdisk è solo un esempio. Il più delle volte lavoro su LFS, quindi se devo usare qualsiasi utility, devo seguire i passaggi come

  1. Scarica la fonte
  2. configure
  3. rendere
  4. fai un test
  5. fare installazione,

Quindi, solo per risparmiare tempo, sto cercando una soluzione in cui creerò un binario statico da debian o da fedora o da altra distribuzione, provalo su LFS e se funziona bene o secondo i miei requisiti, lo farò vai con il codice sorgente per la compilazione.


1
l'obiettivo è semplicemente la facilità di trasferimento (cioè metterlo su un usb, portarlo ovunque con quell'arco del processore)?
Mike Pennington,

Risposte:


15

Se fdisk è solo un esempio e il tuo obiettivo è davvero quello di creare eseguibili statici da eseguibili dinamici, prova lo statificatore Elf . C'è anche un confronto con Ermine (dal venditore Ermine, quindi avvertimento (non) emptor) . Nota che

  • Se si hanno molti eseguibili, è probabile che la loro dimensione combinata sia superiore alla dimensione combinata degli eseguibili collegati dinamicamente più le librerie dinamiche necessarie.
  • Esistono funzionalità di GNU libc che potrebbero non funzionare in file eseguibili collegati staticamente, come NSS (database di nomi utente, nomi host, ecc.) E funzionalità relative alle impostazioni locali.

Se il tuo obiettivo è avere una suite di strumenti di sistema piccola e portatile, stai cercando BusyBox , una suite di strumenti di base destinata ai sistemi integrati (incluso fdisk). Potresti anche essere interessato a una libreria standard più piccola di Glibc, ad esempio dietlibc o µClibc .


1
Ho provato lo statificatore degli Elfi, ma con mia sorpresa. Non ha funzionato. Segfault. Ho provato molte volte con molte distribuzioni con molte utility.
SHW,

1
Probabilmente segfault per la randomizzazione dell'indirizzo: è spiegato qui: linux-magazine.com/Issues/2009/105/Ermine-vs.-Statifier
Rmano

0

Bene ... questa sembra una pessima idea. Ma è possibile.

Poiché fdisk è open source, basta afferrarne la fonte e guardare il Makefile. Dovresti trovare un'opzione che passerà "-static" a gcc durante la compilazione.

Non sono un guru C / C ++ ma per quanto ne so non è possibile creare un binario collegato staticamente da un binario esistente collegato dinamicamente.

Se vuoi usarlo ovunque, ti consiglio di utilizzare una piccola distribuzione di manutenzione che inizia in pochi secondi e ti consente di modificare tutto.

Per me ha più senso perché probabilmente vorrai modificare il disco che esegue l'installazione di Linux / UNIX.


La tua risposta sembra contraddittoria, hai detto "... pessima idea. Ma, è possibile", e quindi anche "... non è possibile creare un binario collegato staticamente da un binario esistente collegato dinamicamente". Per favore chiarisci la tua risposta, sarebbe di grande aiuto.
JM Becker,

@TechZilla: la creazione di un binario statico è possibile, ma non solo, per tiktak, creando uno da un binario esistente collegato in modo dinamico . Tuttavia, vedi la risposta accettata per alcune possibili abilità di fare quest'ultimo. [Nota: commento destinato più ai futuri lettori che alla critica di qualsiasi cosa sia qui.]
lindes

-3

puoi anche usare ELFex Linker , è un programma piuttosto interessante che ho appena scoperto, la sua interfaccia grafica e puoi creare eseguibili statici dall'eseguibile dinamico.


il collegamento non funziona.
Jakuje,

Link funziona per me e sembra rispondere direttamente alla domanda. Suggerirei che non è spam.
roaima,

Il link funziona per me. La pagina presenta il numero di errori di battitura / grammaticali / editoriali che potresti aspettarti dal lavoro di un programmatore professionista - più di quanto ti aspetteresti da un sito Web professionale, meno di quanto ti aspetteresti da un'e-mail di phishing. Più o meno allo stesso post sopra, vieni a pensarci. Sembra sospetto che questo nuovo utente si unisca a Stack Exchange appena in tempo per pubblicare un link a quello che sembra essere un sito web nuovo di zecca.
G-Man dice "Ripristina Monica" il
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.