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
PATHnos 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 updateseguido porsudo apt-get install cpanminus. Se estiver instalado , você não deve executar esse script (como está escrito) porque provavelmente substituiria ocpanmexistente, 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 pacotecpanminusnão está instalado antes de usar este script. - Se o pacote
cpanminusestiver instalado, você poderá removê-lo ou modificar o script para não baixar ocpanmem si. (Se isso vai ou não funcionar depende de quão específicas são suas necessidades para a versão específica decpanmque ele baixa, mas provavelmente ele funcionará.) Ou você pode modificar o script para baixar o pacotecpanmpara outro diretório, como/usr/local/binou/opt/bin. Para garantir que ocpanmbaixado por script seja o que é executado, verifique se o diretório para o qual ele é baixado aparece emPATHbefore/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 ecurlnã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 usewgetecurl- 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 decpanmoficialmente 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,zef) são suportados por praticamente todos ostarde implementação. -
rm: Comochmod, este é um comando padrão que funciona quase exatamente o mesmo em todos os sistemas do tipo Unix. -
ln: comochmoderm, este é um comando padrão que funciona quase exatamente da mesma forma em todos os sistemas semelhantes ao Unix.