Jeden nośnik na różne systemy (Windows, OS X i Android)

Witam

Czy można osiągnąć taki efekt, by po włożeniu tego samego nośnika np. CD, USB do komputera był uruchamiany samoczynnie program pod różnymi systemem operacyjnymi?  Tzn. dopuszczam, sytuację w której trzeba napisać n-programów dla każdego systemu operacyjnego z osobna, i wszystkie je umieścić na nośniku, ale chciałbym by system operacyjny samoczynnie potrafił właściwy dla siebie uruchomić.

Z góry dziękuję za wszystkie sugestie.

Na Windowsie użyjesz autorun.inf, co do Maca pewny nie jestem (mam go tylko w VMce), a w Linuksie użytkownik musi sam uruchomić program. W przypadku Androida, musiałbyś zainstalować apk, czego raczej nie da się bezpiecznie zautomatyzować (zwłaszcza bez roota; nie zaprogramujesz usługi, by instalowała apk bez uprawnień roota).

Co do GNU/Linux, to autorum można aktywować pod KDE, ale użytkownik musi to zrobić samemu, a pod GNOME kiedyś była możliwość odpalania autorun, tylko że użytkownik musiał otworzyć katalog główny nośnika, po czym kliknąć w odpowiedni przycisk.

Takich opcji nie ma z pewnego ważnego powodu - nie widać innego zastosowania, niż tworzenie malware.

Użyłem stwierdzenia ‘samoczynnie’, bo pamiętam czasy kiedy wkładało się płytkę z CD i gra/program automatycznie się uruchamiał : )  Zapytam więc inaczej…

Czy trzeba jakoś specjalnie przygotować nośnik (DVD, USB) żeby programy pod różne systemy na nim zawarte, dawały się uruchomić użytkownikowi? Wystarczy nagrać: program.exe, program.app, program.deb i użytkownik danego systemu będzie mógł właściwy dla swojego systemu program uruchomić?

Na CD/DVD, system plików iso9660 jest uniwersalny dla każdego systemu operacyjnego, tak? A jaki najbardziej uniwersalny będzie dla USB pod Windows’y, OS X’y i Linux’y?

A może dałoby się na USB pozakładać różne partycje, specyficzne dla danego systemu operacyjnego i na nie ponagrywać odpowiednie wersje programów, tak żeby ukryć programy pod inne systemy.

Dziękuję Wszystkim. 

Odchodzi się od _autorun_u ze względów wymienionych w poprzednich postach (malware). Już nawet Windows domyślnie nie uruchamia plików z dysków zewnętrznych (Win7(?) w górę wyświetla odpowiednie powiadomienie chyba, że wybierze się domyślną akcję). Tak więc nawet jak specjalnie spreparujesz nośnik to nie możesz liczyć, że cokolwiek Ci się uruchomi.

Tak, ISO-9660 jest uniwersalny, ale to tylko format plików. Na USB najbardziej uniwersalny będzie FAT-32, bo chyba jako jedyny nie jest obwarowany licencjami (w jakimś większym stopniu) i jest wspierany przez Windows.

Klucze USB można partycjonować, ale nie jest to przyjemne doświadczenie na Windowsie (który ma bardzo duże problemy z tego typu kluczami - IIRC pierwszą partycję jest w stanie odczytać, ale dawno tego nie sprawdzałem). Nie widzę też większego sensu przy Twoich zastosowaniach.

Podsumowując - autorun jest zły, ale jeśli musisz, to dla Windowsa można stosować odpowiedni plik autorun.inf (ale raczej dla USB nie zadziała i tak), a dla Linuksa - plik wykonywalny autorun (autorun.sh też czasami działa), który czasami jest respektowany przez systemy (Mint chyba je respektuje, jak z resztą jest - nie wiem), ale nie wolno na nich polegać. OS X potrafi wyświetlać okienko z prośbą o instalacje aplikacji (czy raczej - skopiowanie do folderu Applications) dla plików DMG. Aha - to tyczy się tylko płyt CD/DVD/BR, klucze USB raczej nie zadziałają i tak.

Właśnie z niego piszę (xfce), więc wygląda to tak, że jak włożę usb, to muszę je jeszcze zamontować (albo mount, albo kliknięcie w Thunarze), natomiast każdy plik ponieważ pochodzi z niezaufanego źródła ma ustawiony bit wykonywalny na 0. Trzeba zmienić chmod-em.

@kostek135: zależnie od ustawień - Ubuntu z Unity, KDE i Gnome chyba wyświetlają powiadomienie czy się chce go uruchomić (bo montuje automatycznie), Cinnamon wykrywa płyty CD, ale USB nigdy nie testowałem. To Linux, więc wszystko można nadpisać (tak samo ustawianie bitu wykonywalności dla plików z nieznanych źródeł). Między innymi z tych powodów napisałem, że to raczej z kluczami USB nie działa.