Instalar programa com nome de execução diferente

2

Eu recentemente instalei o gfortran com apt-get install gfortran , mas acabou sendo a última versão 4.9, que não é compatível com software que exigiu gfortran em primeiro lugar. Então eu removi e tentei apt-get install gfortran-4.8 . O problema é que agora ele pode ser executado com gfortran-4.8 (obviamente) em vez de gfortran , o que é esperado pelo outro software.

Posso executá-lo com o comando gfortran ?

editar:

Eu li sobre aliases e tentei configurar ~/.bash_aliases contendo

alias gfortran='gfortran-4.8'

mas sem efeito.

    
por alex 19.12.2014 / 23:41

2 respostas

0

Suponho que você esteja usando algo posterior a Trusty. Este não é um problema em Trusty, pois o gfortran ainda está em 4.8.

Assumindo que um downgrade não seja uma solução real, mostrarei a você como o Trusty tem as coisas definidas. Você pode querer verificar se é semelhante ao que está executando para garantir que minhas conclusões sejam boas:

$ dpkg -S $(which gfortran) $(which gfortran-4.8)
gfortran: /usr/bin/gfortran
gfortran-4.8: /usr/bin/gfortran-4.8

$ file /usr/bin/gfortran
/usr/bin/gfortran: symbolic link to 'gfortran-4.8'

Então basicamente aqui, o comando gfortran está apenas redirecionando para /usr/bin/gfortran-4.8 . Espero que na sua versão ele esteja redirecionando para /usr/bin/gfortran-4.9 .

Podemos substituir os binários do caminho empacotado sem tocá-los. Eu sugiro (e isso pode prejudicar as coisas que usam gfortran , então tenha cuidado) criamos um novo symlink em /usr/local/bin (observe o local ). Quando você chamar gfortran , o sistema encontrará a versão /usr/local/bin/gfortran primeiro. Note que qualquer coisa chamando /usr/bin/gfortran explicitamente ainda terá a versão 4.9.

De qualquer forma, criar o link simbólico é fácil:

sudo ln -s /usr/bin/gfortran-4.8 /usr/local/bin/gfortran

Isso tem o efeito colateral agradável em que você pode deixar seus pacotes no lugar, satisfazendo quaisquer dependências que você possa precisar preencher. E as atualizações para o pacote gfortran não afetarão nossas alterações.

    
por Oli 20.12.2014 / 00:24
0

O que você pode fazer é criar um link simbólico (ou um "atalho") para gfortran-4.8 e nomear o atalho gfortran .

Primeiro, descubra onde gfortran-4.8 está realmente localizado. Você faz isso executando o comando which gfortran-4.8 . Digamos que você receba uma saída assim:

/usr/bin/gfortran-4.8

O que você faria é executar o seguinte comando para criar o atalho:

sudo ln -s /usr/bin/gfortran-4.8 /usr/bin/gfortran

Agora você (e outros programas que estavam procurando) devem ser capazes de executar o programa usando gfortran .

    
por Alaa Ali 20.12.2014 / 00:21