ubuntuusers.de

Es geht also doch: Programme ausführen von USB-Stick mit FAT32

Status: Ungelöst | Ubuntu-Version: Ubuntu 11.10 (Oneiric Ocelot)
Antworten |

stn21

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Hallo,

abweichend von populären Gerüchten ist es doch möglich, Programme von USB-Sticks ausführen

  • ohne root-rechte

  • ohne in fstab zu basteln

  • ohne remount

  • ohne irgendetwas in /etc zu konfigurieren

  • und ohne vorher alles ins Home-Verzeichnis zu kopieren

  • also einfach nach einstecken und automount vom stick 😬

Klar: Scripte sind kein Problem, die ruft man mit

bash <scriptname>

auf. Für normale Programme geht das aber nicht, da kommt "bash: ./<programmname>: Keine Berechtigung"

Wie macht man das? Etwa so:

/media/meinstick $ # erst mal linux-programm aus stick kopieren:
/media/meinstick $ cp /bin/ls .

/media/meinstick $ # dann vergeblich versuchen, es auszuführen:
/media/meinstick $ ./ls
bash: ./ls: Keine Berechtigung

/media/meinstick $ # dann so:
/media/meinstick $ cp ls ls.exe
/media/meinstick $ ./ls.exe 
... Läuft, Dateiliste wird angezeigt ...

Yeehaw 👍

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Das geht wahrscheinlich aber nur unter größeren DEs. Wenn du Gleiches auf einer etwas primitiveren Installation testest, geht es nicht. Nicht?

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Yanneck schrieb:

Das geht wahrscheinlich aber nur unter größeren DEs. Wenn du Gleiches auf einer etwas primitiveren Installation testest, geht es nicht. Nicht?

Kann ich gerne testen. An was hattest Du dabei konkret gedacht?

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Installiere dir irgendeinen kleinen Windowmanager, schalte den Displaymanager ab (weiß nicht genau, wie das bei Ubuntu aktuell läuft, bei Debian 6 kann man das einfach in /etc/init.d), lege eine ~/ .xinitrc an, in die du nur den Windowmanager schreibst, starte System auf der Kommandozeile und eröffne eine X-Sitzung mit startx, wobei du eigentlich auch gleich auf der tty testen, also dir den Kram mit X sparen kannst.

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Also kannst du auch eigentlich nur den Displaymanager abschalten. 😀

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Yanneck schrieb:

Also kannst du auch eigentlich nur den Displaymanager abschalten. 😀

Geht alles:

  • Test ohne DM (ziemlich kompliziert mit Ubuntu 11.10) : automounter läuft nicht, Stick muss manuell gemountet werden. Dann funktioniert es, wie oben beschrieben.

  • Test mit DM als User ohne jede Admin-Rechte (so wie wenn man an einem fremden Rechner sitzt) : Stick NACH Login einschieben, automounter mountet Stick mit Rechten für angemeldeten (non-admin)-User, alles funktioniert wie oben beschrieben.

Jemand könnte dies noch mal probieren auf Ubuntu Server ohne Graphische Oberfläche. Den habe ich nicht, aber der Test ist nur mit wenig Aufwand verbunden. Bitte Rückmeldung ...

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Dann funktioniert es, wie oben beschrieben.

Mit einem in ext3 formatierten Medium geht es auch ohne Umbenennen.

Nur, warum sollte das auch nicht funktionieren?

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Yanneck schrieb:

Nur, warum sollte das auch nicht funktionieren?

Programme vom FAT32-Stick ausführen funktioniert normalerweise nicht. Siehe oben. Warum auch immer...

Mit einem in ext3 formatierten Medium geht es auch ohne Umbenennen.

Das ist richtig. Leider sitze ich häufig vor Windows-Rechnern, auch vor denen anderer Leute, Internetcafé, Uni-Bibliothek etc.

Und die Eigentümer sind einfach nicht bereit mir Admin-Rechte zu geben, damit ich endlich überall einen Ext3-Treiber für Windows installieren kann. Ich versteh das ja auch nicht 😉

Antiqua Team-Icon

Avatar von Antiqua

Anmeldungsdatum:
30. Dezember 2008

Beiträge: 4533

Hab mal eine Frage, dient zum Verständnis des Casus meinerseits:

Was bringt es, ELF-Binarys oder Linux-Shell-Scripte unter Windows-Rechnern auszuführen?

Im anderen Fall (Linux-Rechner) ist ja ein geeignetes Filesystem für Linux-ELFs sowieso sinnvoller. Man kann auch einen USB-Stick mit Partitionen ausstatten, das Win-Zeugs auf der FAT-Part. und das Linux-Zeug auf der ext2-Part. Die FAT-Part. muss da nur die erste sein, sonst findet Windows die nicht (Win findet imho nur die erste Part. auf USB-Sicks).

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Programme vom FAT32-Stick ausführen funktioniert nicht

Vermutlich, weil FAT32 aus Redmond kommt und .exe die Namenserweiterung für ausführbare Dateien in Redmond ist.

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Antiqua schrieb:

Hab mal eine Frage, dient zum Verständnis des Casus meinerseits:

Ein Stick ist nützlich wenn er auf jedem Computer verwendet werden kann. Mit Windows, Linux, und an anderer Leuts Computern, d.h. ohne Admin-Rechte.

Es ist nützlich, Software zu verwenden, die ohne Installation vom Stick gestartet werden kann, z.B. Browser, Editoren, Crypto-Software, Compiler u.v.m

Es gibt Programme, die ohne Installation vom Stick starten und als Binaries für Windows UND Linux vorliegen. Beide Versionen können die selben Dateien bearbeiten, z.B. Profile oder Crypto-Container. Dafür muss natürlich ein ELF-Binary und ein Windows-Binary des selben Programms auf dem Stick sein.

Selbstverständlich werden ELF-Binaries nicht unter Windows ausgeführt. An Windows-PCs verwendet man das entsprechende Windows-Binary.

Die ELF-Binaries werden verwendet, wenn man sich aktuell an einem Linux-PC befindet.

Dann allerdings hat man das im ersten Post beschriebene Problem, das besagte Binaries vom USB-Stick nicht starten. Wenn man es versucht bekommt man nur ein "bash: ./<Programmname>: Keine Berechtigung". Das lässt sich mit verschiedenen Methoden lösen, die aber leider alle sehr umständlich sind und i.d.R. Root-Rechte erfordern, siehe ersten Post von diesem Thread.

Durch einfaches Umbenennen des ELF-Binaries in "*.exe" erreicht man, daß es auch unter Linux von einem FAT32-formatierten Stick startet.

So bekommt man einen USB-Stick, der überall und mit beiden OS funktioniert.

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

Yanneck schrieb:

Programme vom FAT32-Stick ausführen funktioniert nicht

Vermutlich, weil FAT32 aus Redmond kommt und .exe die Namenserweiterung für ausführbare Dateien in Redmond ist.

Ich muss darum bitten, den Ausgangspost dieses Threads im Gedächtnis zu behalten.

Da steht, daß Linux-Binaries von FAT32-Sticks sehr wohl ausgeführt werden können, wenn und nur wenn sie vorher in die Erweiterung ".exe" umbenannt werden. Linux-Binaries mit ihrem Originalnamen werden dagegen nicht ausgeführt.

Im ersten Post dieses Threads wird beschrieben, wie man sehr einfach eine sehr lästige Sache beheben kann.

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Hä? Ich meinte, vielleicht kann eben von FAT32 ein Binary nur dann gestartet werden, wenn es eine Datei ist, die auf eine Windows-Namenserweiterung endet. So genau weiß ich das aber nicht.

Yanneck

Avatar von Yanneck

Anmeldungsdatum:
25. September 2009

Beiträge: 1216

Jedenfalls funktionieren auch andere Redmond-Namenserweiterungen, ".com", ".bat". Linux kümmert es nicht, ob die Datei jetzt Jacke oder Hose heißt. Kannst auch ein Python-Script Nudel.mp3 nennen.

stn21

(Themenstarter)

Anmeldungsdatum:
25. Oktober 2007

Beiträge: 217

So, nachdem wir in einem langen Thread möglicherweise den roten Faden verloren haben, hier eine Zusammenfassung für diejenigen, die erst mal den letzten Post eines Threads lesen ☺

  1. Linux-Binaries (Programme) können gestartet werden, indem auf der Kommandozeile <Pfad>/<Programmname> eingegeben wird.

  2. Linux-Binaries können nicht gestartet werden, nachdem man sie auf einen USB-Stick mit FAT32-Dateisystem kopiert hat. Das heißt: man kann Linux-Programme nicht sinnvoll auf einem Stick mit sich führen. Man kann also seine Lieblingssoftware nicht auf dem Stick dabei haben und hoffen, daß sie auf anderen Linux-Rechner läuft. Ein Startversuch führt zur Fehlermeldung "bash: ./<Programmname>: Keine Berechtigung"

  3. Für diese Situation gibt es mutmaßlich einige Tricks, siehe andere Threads zum Thema. Diese sind immer sehr umständlich und erfordern meist root-Rechte. Letztere sind genau das, was man normalerweise nur auf eigenen Rechnern hat. Vergleiche den ersten Post von diesem Thread sowie die anderen Threads.

  4. Es gibt eine sehr einfache Möglichkeit, diese Beschränkung zu beheben. Man muss nur das Linux-Programm umbenennen und der Datei die Erweiterung ".exe" geben. Auch OK sind ".bat" und ".com". Andere Erweiterungen funktionieren nicht.

  5. Auf diese Weise kann man viele (nicht alle!) Programme "portabel" machen, also auf dem USB-Stick speichern statt auf der eingebauten Festplatte (Sehr hilfreich z.B. wenn man Dateien auf dem Stick verschlüsseln möchte). Portable Programme für Windows gibt es massenhaft (zb von http://www.portableapps.com ). Linux ist in der Hinsicht noch etwas entwicklungsbedürftig 😛

Disclaimer: Dieser Thread ist nur relevant, wenn man sowohl Linux als auch Windows verwendet. Reine Linux-Anwender können Sticks einfach mit ext3 formatieren.

Antworten |