Jump to content
Rui Carlos

Problema ao tentar executar um binário

Recommended Posts

Rui Carlos

Quando tento executar uma aplicação (afpd), obtenho sempre o seguinte erro: -sh: afpd: not found

Isto acontece mesmo que eu indique o caminho completo para o ficheiro, e não é só com este ficheiro, é também com outros que fazem parte da mesma package (netatalk).

Os ficheiros estão no disco, e não consigo perceber que é o problema. Já coloquei a hipótese de ter instalado os binários da arquitectura errada, mas um dos ficheiros é uma script perl, que consigo ver com o Vim, mas que também não dá para executar.

Alguma ideia sobre qual é o problema?

PS: Não faço ideia de qual o nome da distribuição :P É a que é usada no firmware do Oleg para routers da Asus.

Share this post


Link to post
Share on other sites
djthyrax

Onde tens o tal binário? Se está fora da /usr/bin, cria um symlink na /usr/bin.


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
djthyrax

Experimentaste o symlink?


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites
Rui Carlos

Não há muito para mostrar, mas aqui fica:

[admin@router root]$ ls -l /opt/sbin/
-rwxr-xr-x    1 admin    root       385152 Jan 25  2008 afpd
-rwxr-xr-x    1 admin    root       139064 Jan 25  2008 atalkd
-rwxr-xr-x    1 admin    root        30340 Jan 25  2008 cnid_dbd
-rwxr-xr-x    1 admin    root        18868 Jan 25  2008 cnid_metad
-rwxr-xr-x    1 admin    root        78396 Aug  1  2007 cron
-rwxr-xr--    1 admin    root        12826 Jun 17  2006 makewhatis
-rwxr-xr-x    1 admin    root       154740 Jan 25  2008 papd
[admin@router root]$ /opt/sbin/afpd 
-sh: /opt/sbin/afpd: not found
[admin@router root]$ /opt/sbin/cron 
[admin@router root]$

Se eu tentar executar mais algum comando dos que tem data "Jan 25  2008" dá o mesmo resultado que o afpd (são todos parte da package netatalk). Os outros funcionam normalmente.

Share this post


Link to post
Share on other sites
falco
cd /opt/sbin; ./afpd;

Já agora que distribuição estás a usar?

Tens Selinux, ou AppArmor ligado?

Share this post


Link to post
Share on other sites
Rui Carlos

[admin@router sbin]$ cd /opt/sbin/; ./afpd 
-sh: ./afpd: not found
[admin@router sbin]$

Não sei o nome da distro (como referi no post inicial, é a distro que corre no firmware Oleg para routers da Asus). Mas de certeza que não tenho AppArmor, e mesmo o Selinux não me parece.

Share this post


Link to post
Share on other sites
falco

Não conheço o firmware em causa...  E não sei como te ajudar.

Mas o facto de não encontrar muita informação na WWW, sobre ele faz-me logo ficar de pé atrás em relação a esse firmware... E não entendo porque é que que não estás a utilizar algo em relação ao qual há mais informação, como por exemplo OpenWRT.

Faz-me uma confusão enorme cometerem erros de escrita como chamar uma script, a um script... Script traduz-se para guião... E diz-se o Guião e não a guião...

Share this post


Link to post
Share on other sites
Rui Carlos

Não conheço o firmware em causa...  E não sei como te ajudar.

Mas o facto de não encontrar muita informação na WWW, sobre ele faz-me logo ficar de pé atrás em relação a esse firmware... E não entendo porque é que que não estás a utilizar algo em relação ao qual há mais informação, como por exemplo OpenWRT.

O firmware é largamente utilizado por quem tem routers da ASUS. No caso de routers deste marca, penso que deve ser bem mais usado OpenWRT, pois tem a particularidade de ter uma interface web idêntica à do firmware original, e de manter praticamente todos as funcionalidades originais.

Vou tentar ler alguma coisa sobre o OpenWRT, e ver até que ponto o poderei utilizar.


Quanto à questão do/da script, isso é como discutir o sexo dos anjos ;) Quando a palavra estiver no meu dicionário de português, assinalado como sendo masculino, eu começo a tentar mudar a forma como escrevo.

Share this post


Link to post
Share on other sites
falco

<off-topic>Utilizar a língua de forma correcta não é discutir sexo dos anjos. Podes chamar discutir sexo dos anjos ao que quiseres, mas isso é só uma forma de evitares a verdade</off-topic>

Qual é o status da situação?

Experimentaste meter o path completo (e não usar o ./)?

Share this post


Link to post
Share on other sites
Rui Carlos

Qual é o status da situação?

Experimentaste meter o path completo (e não usar o ./)?

Já tinha experimentado, e não tinha funcionado.

Acabei por conseguir usar o SMB para o que queria (apesar de ter algumas limitações comparativamente com o AFP, para o efeito pretendido).


Standard também se traduz por norma. Vais passar a dizer a standard?

Não estou a ver o que é que obriga uma palavra a ter o mesmo género que um sinónimo (que é isso que guião seria/será quando a palavra script estiver no dicionário).

Share this post


Link to post
Share on other sites
falco

Norma é uma tradução possível de standard, padrão é outra, modelo é outra, padrão normativo é outra, etc... E ao que sei standard é um substantivo que pode ser quer masculino, quer feminino.

Share this post


Link to post
Share on other sites
pedrotuga

Viva... parece que o problema já foi contornado. Fica a informação de qualquer das formas, esse erro é causado por uma chamada à shell de um ficheiro ou comando inexistente.

Isso pode acontecer se te esqueceres por exemplo da shebang line que informa o sistema em relação ao que fazer com o programa.

Isso é mesmo um binário? Não é um shellscript? Se for um script experimenta abri-lo com um editor de texto e ver se tem a shebang line.

Ou então experimenta correr isso usando a sintaxe completa, tipo

sh afpd

perl afpd

python afpd

ou o que quer que seja que interprete esse script.

Share this post


Link to post
Share on other sites
Rui Carlos

Viva... parece que o problema já foi contornado. Fica a informação de qualquer das formas, esse erro é causado por uma chamada à shell de um ficheiro ou comando inexistente.

Isso pode acontecer se te esqueceres por exemplo da shebang line que informa o sistema em relação ao que fazer com o programa.

Isso é mesmo um binário? Não é um shellscript? Se for um script experimenta abri-lo com um editor de texto e ver se tem a shebang line.

Ou então experimenta correr isso usando a sintaxe completa, tipo

sh afpd

perl afpd

python afpd

ou o que quer que seja que interprete esse script.

Aquilo uma script não deve ser de certeza... Abrindo com o vi, o conteúdo não tem qualquer sentido.


Para mim, standard também não se traduz por padrão ou o que quer que seja.

Como já disse, quando a palavra estiver no meu dicionário de português, assinalado como sendo masculino, eu começo a tentar mudar a forma como escrevo.

E outro exemplo: backup traduz-se por "cópia de segurança" (e diz-se a cópia de segurança), mas aparentemente é um substantivo comum masculino. E haverá certamente mais casos semelhantes (input ou link).

Assim, parece que a regra de adoptar o género da tradução para os estrangeirismos não existe.

Share this post


Link to post
Share on other sites
falco

Para saberes de que tipo de ficheiro se trata basta fazeres: file /o/ficheiro

Quanto ao significado das palavras. O significado das palavras não é uma questão de opinião pessoal! O significado das palavras é algo que está normalizado. Não é aquilo que te apetece que seja, é o que está determinado que é.

Se consultares um dicionário da Língua portuguesa, vais ver que standard significa entre outras coisas: padrão e norma.

Share this post


Link to post
Share on other sites
Rui Carlos

afpd: ELF 32-bit LSB executable, MIPS, version 1 (SYSV), dynamically linked (uses shared libs), stripped

Assim à primeira vista, é um binário.

No entanto, encontrei uma ligeira diferença em relação ao output desse comando para outros binários.

/usr/sbin/pptp: ELF 32-bit LSB executable, MIPS, MIPS-I version 1 (SYSV), dynamically linked (uses shared libs), stripped

Se não me engano, esta aplicações não estava nos repositórios, e tive que procurá-la na net. Provavelmente a arquitectura não é exactamente a correcta.


Quanto ao significado das palavras. O significado das palavras não é uma questão de opinião pessoal! O significado das palavras é algo que está normalizado. Não é aquilo que te apetece que seja, é o que está determinado que é.

Se consultares um dicionário da Língua portuguesa, vais ver que standard significa entre outras coisas: padrão e norma.

As traduções é que já não estão normalizadas. Por isso da mesma forma a tradução "guia", eu posso não aceitar "padrão". Mas tens mais 3 exemplos que não vão ao encontro da justificação que apresentaste.

Share this post


Link to post
Share on other sites
djthyrax

Podem parar com a discussão paralela?


Não peças ajuda por PM! A tua dúvida vai ter menos atenção do que se for postada na secção correcta do fórum!

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
×
  • Create New...

Important Information

By using this site you accept our Terms of Use and Privacy Policy. We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.