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
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
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
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 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
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
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
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
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
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 ☺ Linux-Binaries (Programme) können gestartet werden, indem auf der Kommandozeile <Pfad>/<Programmname> eingegeben wird. 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" 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. 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. 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.
|