Wie betrüge ich die Ubuntu-Version aus der Sicht einer Anwendung?


17

Ich versuche Intel Beacon Mountain auf Ubuntu 13.10 (Saucy Salamander) 64-Bit zu installieren .

Der beklagte Installer ist jedoch kein unterstütztes Betriebssystem. Der Installer unterstützt nur 12.04, 12.10 und 13.04. Ich habe mir das Skript angesehen, aber irgendwann wird ein anderes Installationsprogramm (ausführbare Binärdatei) ausgeführt, und es scheint die Ubuntu-Version selbst zu überprüfen. Ich habe es nur einen Versuch zu ändern /etc/issueund /etc/issue.net, aber wie erwartet, ich hatte kein Glück.

Ich bin nicht sicher, welchen Mechanismus das Installationsprogramm verwendet, um die Betriebssystemversion zu überprüfen. Vielleicht lsb_release ?

Gibt es einen allgemeinen Ansatz, um die Betriebssystemversion auszutricksen?

Eigentlich habe ich kein großes Interesse daran, Beacon Mountain zu installieren, aber ich möchte wissen, wie man die Betriebssystemversion überlistet.


Warum machst du nicht eine, grep lsb_release {executable}wenn es einen Treffer zeigt, von dem du weißt, dass es die Datei ist;)
Rinzwind

@ Rinzwind habe ich gemacht. aber es gibt kein Vorkommen. Vielleicht funktioniert es nicht so lsb_releasewie es ist.
Younggun Kim

3
Haben Sie sichergestellt, dass das Erzwingen einer Installation keine Probleme mit dem betreffenden Programm verursacht? Es ist wahr, dass es oft kein Problem gibt, ein Programm zu verwenden, das für eine ältere Version eines Betriebssystems auf einer nur geringfügig neueren Version erstellt wurde, aber Sie sollten sich darüber im Klaren sein, dass Sie möglicherweise ein Problem haben könnten (die sicherste Lösung, wenn der Quellcode verfügbar ist). Es wäre natürlich, das Programm selbst zu kompilieren, aber das hat möglicherweise mehr mit Compilerunterschieden als mit Kernelunterschieden zu tun. Ich bin noch ein bisschen unerfahren in Bezug auf die Portabilität von Linux-Programmen.
JAB

@JAB Ich habe naiv damit gerechnet, dass es gut funktionieren würde und wusste, dass das Erzwingen einer Installation potenzielle Probleme verursachen könnte. Tatsächlich wurde es nicht erfolgreich installiert, aber ich konnte die Installation fortsetzen, ohne mich über die Version zu beschweren.
Younggun Kim

Antworten:


20

Der Schlüssel ist /etc/lsb-release.

Ich ändere gerade /etc/lsb-releaseund lasse Sachen arbeiten. Ich wusste vorher nichts über diese Datei, aber /etc/issue. Nach meinem Verständnis wird die /etc/issueDatei jedoch für die Shell-Begrüßungsnachricht und die /etc/issue.netDatei für die Remote-Shell-Begrüßung verwendet. (FIXME)

Ich habe es mit herausgefunden strace lsb_release -aund festgestellt, dass es eine /etc/lsb-releaseDatei liest .


ausgezeichnet :) verdient eine positive Bewertung.
Rinzwind
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.