Você está perguntando se há partes do código diferentes de yum
calls que devem ser modificadas.
Às vezes é difícil saber disso com certeza, já que o software que seu script automaticamente faz download e usa ( cpanm
) poderia ter erros ou outros problemas que o fazem funcionar de maneira diferente em distribuições diferentes. Eu suspeito que não seja o caso, mas não tenho certeza.
Pode haver outros problemas também. Por exemplo, seu script faz o download de cpanm
para /usr/bin
, o que é bom, mas:
- Se o script tiver sido baixado para um diretório que normalmente é listado em
PATH
nos sistemas RHEL / Fedora, mas não no Ubuntu, isso pode causar falha no script. Esse não é o caso aqui. -
cpanm
é fornecido nas fontes oficiais de software do Ubuntu. Você pode instalá-lo comsudo apt-get update
seguido porsudo apt-get install cpanminus
. Se estiver instalado , você não deve executar esse script (como está escrito) porque provavelmente substituiria ocpanm
existente, fazendo com que um arquivo diferente fosse instalado do que o banco de dados de pacotes local acredita estar instalado. Portanto, eu recomendo verificar se o pacotecpanminus
não está instalado antes de usar este script. - Se o pacote
cpanminus
estiver instalado, você poderá removê-lo ou modificar o script para não baixar ocpanm
em si. (Se isso vai ou não funcionar depende de quão específicas são suas necessidades para a versão específica decpanm
que ele baixa, mas provavelmente ele funcionará.) Ou você pode modificar o script para baixar o pacotecpanm
para outro diretório, como/usr/local/bin
ou/opt/bin
. Para garantir que ocpanm
baixado por script seja o que é executado, verifique se o diretório para o qual ele é baixado aparece emPATH
before/usr/bin
. - Pode haver outras diferenças sutis.
Com isso dito, podemos ver se há outras mudanças óbvias (além de alterar yum install -y ...
para apt-get update
seguido por apt-get install -y ...
e alterando os nomes dos pacotes como kraxor explica ) que são necessários, enumerando todos os comandos que você está usando - exceto yum
- e vendo se algum deles está faltando ou funciona em um substancialmente diferente caminho no Ubuntu a partir do modo como eles trabalham no RHEL / Fedora.
Você tem (em ordem de primeira aparição):
-
set
: Este é um shell embutido e funciona da mesma forma na maioria dos shells estilo Bourne; não precisa ser alterado. -
cd
: Este é um shell embutido e funciona basicamente em todos os shell Unix de todos os tempos. -
curl
: Enquantowget
é mais comumente usado em sistemas Ubuntu ecurl
não é instalado por padrão, se não estiver instalado, você pode simplesmente instalá-lo comsudo apt-get update && sudo apt-get install curl
. Eu não recomendo adicionar isso ao seu script; basta executá-lo antes de usar o script pela primeira vez. É um pouco estranho que seu script usewget
ecurl
- a maioria dos scripts escolhe um - mas não há nada de errado em usar os dois, desde que ambos estejam instalados. -
chmod
: Este é um comando padrão que funciona quase exatamente da mesma maneira todos os sistemas semelhantes ao Unix. -
cpanm
: Este é o comando que o script baixa e instala antes de usar. A menos que tenha idiossincrasias que façam funcionar de forma diferente no Ubuntu, ele deve funcionar da mesma forma. Veja acima sobre a possibilidade de usar a versão decpanm
oficialmente fornecida no Ubuntu. -
tar
: Este é um comando padrão e, enquanto alguns sinalizadores são GNU / Específico para Linux, ele funciona basicamente da mesma forma em todos os sistemas GNU / Linux recentes, incluindo qualquer versão do Ubuntu, RHEL ou Fedora na última década. Além disso, os sinalizadores usados (x
,z
ef
) são suportados por praticamente todos ostar
de implementação. -
rm
: Comochmod
, este é um comando padrão que funciona quase exatamente o mesmo em todos os sistemas do tipo Unix. -
ln
: comochmod
erm
, este é um comando padrão que funciona quase exatamente da mesma forma em todos os sistemas semelhantes ao Unix.