Come ingannare la versione di Ubuntu vista da un'applicazione?


17

Sto cercando di installare Intel Beacon Mountain su Ubuntu 13.10 (Saucy Salamander) a 64 bit.

Ma l'installatore si è lamentato del fatto che non è un sistema operativo supportato. Il programma di installazione supporta solo 12.04, 12.10 e 13.04. Ho guardato lo script, ma alla fine esegue un altro programma di installazione (eseguibile binario) e sembra controllare la stessa versione di Ubuntu. Ho appena provato a modificare /etc/issuee /etc/issue.net, come previsto, non ho avuto fortuna.

Non sono sicuro del meccanismo utilizzato dall'installer per verificare la versione del sistema operativo. Forse lsb_release ?

Esiste un approccio generale per ingannare la versione del sistema operativo?

In realtà, non ho molto interesse nell'installazione di Beacon Mountain, ma voglio sapere come ingannare la versione del sistema operativo.


Perché non lo fai grep lsb_release {executable}se mostra un successo che sai che è il file;)
Rinzwind

@Rinzwind l'ho fatto. ma non c'è nessun evento. Forse non viene eseguito lsb_releasecosì com'è.
Younggun Kim,

3
Ti sei assicurato che forzare un'installazione non causerà problemi con il programma in questione? È vero che spesso non ci sono problemi nell'utilizzare un programma creato per una versione precedente di un sistema operativo su una versione solo leggermente più recente, ma devi essere consapevole che potresti potenzialmente avere un problema (la soluzione più sicura, se il codice sorgente è disponibile, sarebbe compilare il programma da soli, ovviamente, ma ciò potrebbe avere più a che fare con le differenze del compilatore rispetto alle differenze del kernel, sono ancora un po 'inesperto in termini di portabilità dei programmi Linux).
JAB

@JAB Mi aspettavo ingenuamente che funzionasse bene e sapevo che forzare un'installazione poteva causare potenziali problemi. In effetti, non è stato installato con successo ma ho potuto procedere con l'installazione senza lamentarmi della versione.
Younggun Kim,

Risposte:


20

La chiave è /etc/lsb-release.

Modifico /etc/lsb-releasee faccio funzionare le cose. Prima non sapevo di quel file /etc/issue. Tuttavia, a mio /etc/issueavviso , il file viene utilizzato per il messaggio di saluto della shell e il /etc/issue.netfile è per il saluto della shell remoto. (AGGIUSTAMI)

L'ho capito e ho strace lsb_release -ascoperto che leggeva il /etc/lsb-releasefile.


eccellente :) degno di un voto.
Rinzwind,
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.