Fórum Root.cz
Hlavní témata => Software => Téma založeno: k.jarek 08. 02. 2012, 20:17:28
-
)Zdravím, chtěl bych se zeptat zda nevíte proč mi nejde spustit program? V geany napíšu nějaký kód a všecko proběhne v pořádku ale když dám spustit tak to napíše:
./geany_run_script.sh: řádek 5: ./matice: Operace zamítnuta
-------------------------------
(program exited with code: 126)
Press return to continue
tak jsem si myslel, že mám jenom špatně nastavenou Geany tak jsem to zkusil přes Konzoli a když dám ./matice tak to hodí bash: ./matice: Operace zamítnuta
a když to napíšu blbě místo ./ dám sh tak to dá tohle: matice: matice: binární soubor nelze spustit
Chybu to hází u všech souborů, i u dřívějších funkčních. Systém je openSUSE 12.1 x64. Poraďte prosím, kdo ví, zkoušel jsem psát na jejich forum ale nějak mi nejsou schopni poradit. Díky
-
chmod 755 matice
./matice
pokud to zamítne i ten chmod tak
sudo chmod 755 matice
./matice
-
to Ivorne: nefunkční, sice to neodmítlo ale výsledek spouštění je pořád stejný. je jedno kde na disku spustim nějakej zkompilovanej prográmek, nikde to prostě nejde. ale jakmile chci spustit cokoli jinýho, včetně třeba *.run souborů tak samozřejmě všechno jde.
měl jsem problém s NTFS oddílem (nešlo editovat soubory, takže vytvářet, mazat apod.) ale to se pořešilo, tak jsme myslel, že to bude tím ale nejde to ani ve složce(oddílu) /home tak nevím, čím to může být.
-
Ještě jsem zkusil to spustit pod rootem a pořád to stejný jako pod userem.
Ještě dodám že ten NTFS oddíl má tyhle parametry (upravený fstab):
users,uid=1000,gid=users,fmask=113,dmask=002,locale=cs_CZ.UTF-8 0 0
a systémem vytvořený Ext3 oddíl pro /home má parametry:
acl,user_xattr 1 2
takže to je asi zbytečné uvádět ale pro sichr, kdyby byla potřeba...
-
Ukaž 'file matice"
-
to Pindal: jak to myslíš? jako kǒd? nemá smysl, jak jsem psal, fungovalo to dříve a teď to nefunguje, stejně tak jak jsem psal, nejde o jeden soubor ale o všechny tyto soubory. pod kubuntu mi to fungovalo, pak jsem nahrál widle a teď jsem se rozhodl zkusit něco jinýho a naučit se pracovat zase s něčím, na co nejsem zvyklej. mno, problém byl nejdřív v právech disků (viz jak jsem psal ten upravenej fstab) tak pak tohle spouštění který,přiznám se, bych potřeboval co nejrychleji pořešit. díky
-
Jasny, uz mi to doslo. Potiz je v tom, ze jses na NTFS oddilu. Ten neumi uchovavat info o unix pravech. Takze pokud chces neco spoustet z ntfs oddilu, musis ho mountnout takovym zpusobem, ze se vsechny soubory tvari jako spustitelne. K toumu slouzi to fmask (a dmask pro adresare) v tech parametrech pripojeni. Prepis to "fmask=113" na "fmask=002" a melo by to ject, teda doufam. Nikdy jsem to nezkousel. Tady je o tom takovej mensi pokec: http://ubuntuforums.org/showthread.php?t=1453342 (http://ubuntuforums.org/showthread.php?t=1453342)
-
to Ivorne: zkusím a napíšu jak to dopadlu, nicméně mě přijde divný že to nešlo ani na /home kterej je Ext3 do kterýho jsem to překopíroval. Mno nic, jdu zkusit. Díky moc.
-
tak nefunguje, změnilo se myslim jenom to že když dám sudo ./matice tak napíšu heslo roota ale nic se neprovede a skočí tam rovnou prompt a čeká na novej příkaz.
ještě jak jsem psal, tak opravuju, teď to z /home nebo podadresáře jde, předtím ne, nevim proč to před tím nešlo. pořád to ale nic nemění na tom že na data oddílu ne. měl bys ještě nějakej nápad? já bych ten oddíl nechal jako před tim na Extčku ale začla bejt potřeba to s dílet s widlema takže to padá.
-
Na netu máš spoustu řešení.
1. pokud máš v /etc/fstab pro /home parametr "user(s)", pro povolení spouštění binárních souborů přidej parametr "exec"
2. Pro spustitelnost na NTFS by to mělo v /etc/fstab vypadat nějak takto:
/dev/zarizeni ntfs-3g users,exec,locale=cs_CZ.utf8,,umask=022,uid=1000uzivatel,gid=1000skupina
(http://forums.gentoo.org/viewtopic-t-708408.html)
-
Aha, to bude ono. Já myslel, že se to nastaví rovnou tou maskou. Já vůbec z NTFS nikdy nic nespouštím. Občas mě to štve, ale nechtělo se mi to nikdy řešit. :D
-
Zdravíčko pánové, tak pořád nic. po aktuální úpravě fstabu je situace následující:
jaroslav@laptop:~/Dokumenty/PROGRAMMING/all prog> ./matice
bash: ./matice: Operace zamítnuta
jaroslav@laptop:~/Dokumenty/PROGRAMMING/all prog> sudo ./matice
jaroslav@laptop:~/Dokumenty/PROGRAMMING/all prog> sh matice
matice: matice: binární soubor nelze spustit
jaroslav@laptop:~/Dokumenty/PROGRAMMING/all prog> sudo sh matice
matice: matice: binární soubor nelze spustit
nisméně když jsem v jiný složce zkusil pustit jakousi zplácaninu která je beztak špatně ale nic to pokud se dobře pamatuju při sestavení ani kompilaci nic nepsalo tak mi to hodilo tohle:
jaroslav@laptop:~/Dokumenty/PROGRAMMING/New_start> sudo sh Po*
Pokus_o_matici_1.c: řádek 5: chyba syntaxe poblíž neočekávaného tokenu „(“
Pokus_o_matici_1.c: řádek 5: `int main(){'
takže očekávám že v tohle souboru je špatně kód ale o to nejde, spíš mě zaráží jaktože tu to něco napsalo ale když příkaz napíšu na jinej soubor tak to nejde, což mě překvapilo.
jinak soubory jsou psaný kdysi na widlích ale jsou to kraviny takže se používala jenom stdio.h knihovna a stdlib.h kvůli SYSTEM("PAUSE"); což pokud se nepletu linux ignoruje ikdyž to není zakomentovaný.
měli byste ještě nějakej nápad? ještě jednou díky
mimochodem, aktuálně fstab vypadá takto:
/dev/disk/by-id/ata-WDC_WD5000BEVT-08A0RT1_WD-WX71A80H2794-part5 / ext4 acl,user_xattr 1 1
/dev/disk/by-id/ata-WDC_WD5000BEVT-08A0RT1_WD-WX71A80H2794-part6 /home ext3 acl,user_xattr 1 2
/dev/disk/by-id/ata-WDC_WD5000BEVT-08A0RT1_WD-WX71A80H2794-part7 /mount/DATA ntfs-3g users,uid=1000,gid=users,fmask=002,dmask=002,locale=cs_CZ.UTF-8 0 0
/dev/disk/by-id/ata-WDC_WD5000BEVT-08A0RT1_WD-WX71A80H2794-part2 /mount/windows ntfs-3g users,exec,gid=users,fmask=133,dmask=022,locale=cs_CZ.UTF-8 0 0
proc /proc proc defaults 0 0
sysfs /sys sysfs noauto 0 0
debugfs /sys/kernel/debug debugfs noauto 0 0
usbfs /proc/bus/usb usbfs noauto 0 0
devpts /dev/pts devpts mode=0620,gid=5 0 0
-
Smaž to
users
z fstab a přemountuj to.
-
tak se zdá že vyřešeno, pánové 8) V příspěvku vejš je vidět že jsem udělal chybu, to exec jsem napsal na jinou partition, když jsem to napsal správně k tý /DATA tak už to jede. takže ještě jednou díky moc všem, co se mi snažili pomoct. ;):)