2012-09-12, 21:02
  #1
Medlem
Hej!

Har ett problem där jag får "Permission Denied" när jag försöker köra en fil som enligt utgivare ska vara körbar genom att skriva "./filnamn". När jag försöker köra "sudo ./filnamn" får jag istället "command not found".

Läste mig till att man kan behöva göra filen körbar om den inte är det genom "chmod +x filnamn". Ingen skillnad dessvärre.

Vad kan vara fel?
Citera
2012-09-12, 21:23
  #2
Medlem
klipp gärna texten från en fönster där du skriver det så att det komemr ut EXAKT så som det ser ut i fönstret.
Jag vet inte vad det är som du försöker att köra, därför kan jag inte säga vad som är fel.
Test gärna med följande och klipp in vad som händer..

ls -l filename
# Borde ge 1 rad output, exakt vilka bitar och rättigheter filen har..
file filename
# Borde få något i stil med "POSIX shell script text executable" (Gissar jag)
head filename
# Borde visa de 10 första raderna i från filen (Detta kan hjälpa oss se vad det är för något)
ldd filename
# Borde nog ge något felmeddelande.. men kan testas.(Ger info om dynamiskt länkade program)

strace -e open filename
# Antagligen "överkurs"..(Kanske ger för mycket data för att posta..)

EDIT: Det kan var något program som körs som du inte har rätt att köra. Tex behöver scriptet köra som root ? (rekommenderar dig INTE att testa)
om det är någon "installer" så kanske programmet försöker skapa filer där det inte har tillstånd.
Det kan försöka öppna portar som det inte får (< 1024)
Om du vil se exakt vad som händer så kan du aknske testa med
strace ./filename
OBS ger mycket text output...
__________________
Senast redigerad av sagonar 2012-09-12 kl. 21:28.
Citera
2012-09-12, 21:52
  #3
Medlem
Citat:
Ursprungligen postat av sagonar
klipp gärna texten från en fönster där du skriver det så att det komemr ut EXAKT så som det ser ut i fönstret.
Jag vet inte vad det är som du försöker att köra, därför kan jag inte säga vad som är fel.
Test gärna med följande och klipp in vad som händer..

ls -l filename
# Borde ge 1 rad output, exakt vilka bitar och rättigheter filen har..
file filename
# Borde få något i stil med "POSIX shell script text executable" (Gissar jag)
head filename
# Borde visa de 10 första raderna i från filen (Detta kan hjälpa oss se vad det är för något)
ldd filename
# Borde nog ge något felmeddelande.. men kan testas.(Ger info om dynamiskt länkade program)

strace -e open filename
# Antagligen "överkurs"..(Kanske ger för mycket data för att posta..)

EDIT: Det kan var något program som körs som du inte har rätt att köra. Tex behöver scriptet köra som root ? (rekommenderar dig INTE att testa)
om det är någon "installer" så kanske programmet försöker skapa filer där det inte har tillstånd.
Det kan försöka öppna portar som det inte får (< 1024)
Om du vil se exakt vad som händer så kan du aknske testa med
strace ./filename
OBS ger mycket text output...

Outputen blev exakt som du skrev ovan på alla kommandon. Det är en fil som används i ett skolarbete. Den är utdelad av skolan för att installera en simulator att jobba med hemma. Dock lyckas jag inte med att köra filen som ska installera hela paketet!

Att tillägga är att filen ligger på en extern ntfs-disk och kommer installera programmet under /usr/local

EDIT: output från rättigheter "-rw------- 1 adde adde 220221 Sep 11 2008 configure"
Citera
2012-09-12, 22:05
  #4
Medlem
Alfaslangs avatar
Citat:
Ursprungligen postat av Matte-fraga
EDIT: output från rättigheter "-rw------- 1 adde adde 220221 Sep 11 2008 configure"

Som du ser på rättigheterna så är filen inte körbar, fastän att du har kört chmod +x på den. Troligtvis beror det på att den ligger på ett NTFS-filsystem som har monterats utan stöd för exekverbara filer. Enklaste lösningen på problemet är att du kopierar katalogen från din NTFS-disk till din hemkatalog och gör filen körbar där istället och därefter kör den därifrån.

configure-script hittar man oftast i program som distribueras som källkod. Om du har hela källkoden nerpackad i t.ex. en tar-fil så rekommenderar jag att du bara packar upp den i din hemkatalog istället för på NTFS-disken. Då kommer alla filer, inklusive configure-filen troligtvis att ha rätt rättigheter satta på sig och du behöver inte göra något mer än att köra den.
Citera
2012-09-12, 22:33
  #5
Medlem
Citat:
Ursprungligen postat av Alfaslang
Som du ser på rättigheterna så är filen inte körbar, fastän att du har kört chmod +x på den. Troligtvis beror det på att den ligger på ett NTFS-filsystem som har monterats utan stöd för exekverbara filer. Enklaste lösningen på problemet är att du kopierar katalogen från din NTFS-disk till din hemkatalog och gör filen körbar där istället och därefter kör den därifrån.

configure-script hittar man oftast i program som distribueras som källkod. Om du har hela källkoden nerpackad i t.ex. en tar-fil så rekommenderar jag att du bara packar upp den i din hemkatalog istället för på NTFS-disken. Då kommer alla filer, inklusive configure-filen troligtvis att ha rätt rättigheter satta på sig och du behöver inte göra något mer än att köra den.

Det hjälpte att flytta över den! Dock kom nästa problem nu då jag tydligen ska ladda in lite bibliotek ett heter "Xaw" och kan inte hittas står det när jag kör "sudo apt-get install Xaw" så där tar det stopp igen då jag inte vet hur man löägger in ett nytt library, eller var man lägger in det!
Citera
2012-09-12, 22:42
  #6
Medlem
Alfaslangs avatar
Ok, det verkar som att din skola har lite bristfällig dokumentation. libXaw hittar du i paketet libxaw7, och eftersom du försöker kompilera ett program mot det så behöver du utvecklingspaketet, nämligen libxaw7-dev. Det installeras således genom att skriva så som du gjorde innan, fast med ett litet annan namn; sudo apt-get install libxaw7-dev

I Ubuntu/Debian-världen så heter generellt utvecklingspaketet av olika bibliotek "-dev" på slutet. Kan vara bra att känna till.

Om du stöter på fler saknade bibliotek så kan du söka efter dem i med dpkg --get-selections och ett namn, t.ex.:

sudo dpkg --get-selections *xaw*
Citera
2012-09-12, 22:42
  #7
Moderator
vhes avatar
Citat:
Ursprungligen postat av Matte-fraga
Det hjälpte att flytta över den! Dock kom nästa problem nu då jag tydligen ska ladda in lite bibliotek ett heter "Xaw" och kan inte hittas står det när jag kör "sudo apt-get install Xaw" så där tar det stopp igen då jag inte vet hur man löägger in ett nytt library, eller var man lägger in det!

Gissar att paketet du behöver heter libxaw7-dev. Den här dansen kan fortsätta rätt länge... följde det med en README som listar dependencies, tro?
Citera
2012-09-12, 22:47
  #8
Medlem
Citat:
Ursprungligen postat av vhe
Gissar att paketet du behöver heter libxaw7-dev. Den här dansen kan fortsätta rätt länge... följde det med en README som listar dependencies, tro?

The program requires the following libraries (and their headers):
Xaw Xt Xmu X11 Xext

Dock har jag ingen aning om hur man får tag i dem. Ursäkta för mina antagligen ganska dumma frågor! Men har aldrig använt Linux tidigare i princip!

EDIT: Har löst det. Insåg att det bara var att skriva "lib" framför varje
__________________
Senast redigerad av Matte-fraga 2012-09-12 kl. 23:04.
Citera

Skapa ett konto eller logga in för att kommentera

Du måste vara medlem för att kunna kommentera

Skapa ett konto

Det är enkelt att registrera ett nytt konto

Bli medlem

Logga in

Har du redan ett konto? Logga in här

Logga in