Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

1. Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Ghoost User
ghoostuser

(usa Arch Linux)

Enviado em 09/07/2015 - 11:30h

Gente, tem como saber se um distro usa pacotes rpm ou deb através da linha de comando, shell script?

É porque eu quero usar um script shell, onde vai ter uma comparação, verificando se a distro é base do pacote .deb, ai roda o comando "apt-get", se a distro for a base de .rpm, roda o "yum", entenderam?



  


2. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

José
digitalx

(usa Debian)

Enviado em 09/07/2015 - 11:38h

Basta verificar a existência ou não dos executáveis apt ou yum.


3. Re: Como saber se uma distro é .rpm ou .deb?

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 09/07/2015 - 13:03h

Olá,

Existem algumas formas de se fazer, mas eu usaria assim:


#!/bin/bash
#
if [ -f /usr/bin/dpkg ]
then pkg="deb"
elif [ -f /usr/bin/rpm ]
then pkg="rpm"
else echo -e "\nArquitetura de pacotes não suportada!\n"
fi

##### TESTE:

echo -e "\nSua arquitetura é $pkg"




Abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


4. Re: Como saber se uma distro é .rpm ou .deb?

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/07/2015 - 13:06h

digitalx escreveu:

Basta verificar a existência ou não dos executáveis apt ou yum.


Embora em geral isto funcione e possa usar, nem sempre é valido:
No PClinuxOS por exemplo, encontra os dois(Como o finado conectiva), eles usam o apt para gerenciar pacotes .rpm!

A melhor coisa é sempre ler a documentação da distribuição, se for uma "de verdade" deve existir la tópico relacionado ao gerenciamento de pacotes.
Se for uma distribuição "baseada" em outra, vulgo "remaster", sabendo o nome da distribuição de origem também consegue esta informação facilmente.

*Nem so de rpm e apt vive o linux, existem outros sistemas gerenciadores de pacotes e formatos para estes conforme a distribuição que estiver utilizando, embora eles sejam realmente os mais utilizados.


--------------------------------------------
povo@brasil ~$ sudo su -
root@brasil ~# find / -iname corrupção -exec rm -rfv {}\;



5. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 09/07/2015 - 16:15h

tonyhts escreveu:

Olá,

Existem algumas formas de se fazer, mas eu usaria assim:


#!/bin/bash
#
if [ -f /usr/bin/dpkg ]
then pkg="deb"
elif [ -f /usr/bin/rpm ]
then pkg="rpm"
else echo -e "\nArquitetura de pacotes não suportada!\n"
fi

##### TESTE:

echo -e "\nSua arquitetura é $pkg"






No gentoo tem os dois entre outros se precisar. Então, acredito que a melhor maneira seria lendo a documentação da distro. O script teria que contemplar TODAS as distros. Talvez verificando em cada uma delas se existe por exemplo o arquivo /etc/apt/sources.list.

Sei não...



---
Hail Hydra!


6. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 09/07/2015 - 16:43h

zhushazang escreveu:

No gentoo tem os dois entre outros se precisar. Então, acredito que a melhor maneira seria lendo a documentação da distro. O script teria que contemplar TODAS as distros. Talvez verificando em cada uma delas se existe por exemplo o arquivo /etc/apt/sources.list.

Sei não...


Tem razão.
vou bater um rango e ja posto alguma solução melhor.

Abs

---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


7. Re: Como saber se uma distro é .rpm ou .deb?

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 09/07/2015 - 17:20h

O que acham de fazer assim:

#!/bin/bash

releases=("/etc/debian_version" "/etc/SuSE-release" "/etc/mandrake-release" \
"/etc/fedora-release" "/etc/redhat-release" "/etc/gentoo-release"\
"/etc/slackware-version" "/etc/arch-release")

for i in ${releases[*]}
do if [ -f $i ]
then pkg=$(echo $i | sed 's/\/etc\///1;s/_version//1;s/-release//1')
else echo -e "Distribuição não suportada!"
fi
done


### TESTE
echo $pkg


abs
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


8. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Perfil removido
removido

(usa Nenhuma)

Enviado em 09/07/2015 - 18:13h


Talvez manter uma pequena base de dados sobre as principais distros seja a solução

Mas, como já foi dito aqui não é uma regra. Eu posso instalar o rpm em um sistema debian ou slackware ou mesmo não ter um sistema de pacotes como algumas distros.

Algumas distros mantém a arvore de diretórios para ambas soluções, inviabilizando checar por diretórios existentes.


Agora a melhor solução seria perguntar ao usuário HUMANO e gravar isso como uma variável em seu sistema....

Ou seja é preciso fazer uma configuração manual antes de usar do modo que precisa.... Isso ficaria a prova de erros.

Algo do tipo..

Para executar esse programa preciso que informe seu sistema de pacotes (.deb ou .rpm)




9. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 09/07/2015 - 19:08h

kyetoy escreveu:


Talvez manter uma pequena base de dados sobre as principais distros seja a solução

Mas, como já foi dito aqui não é uma regra. Eu posso instalar o rpm em um sistema debian ou slackware ou mesmo não ter um sistema de pacotes como algumas distros.

Algumas distros mantém a arvore de diretórios para ambas soluções, inviabilizando checar por diretórios existentes.


Agora a melhor solução seria perguntar ao usuário HUMANO e gravar isso como uma variável em seu sistema....

Ou seja é preciso fazer uma configuração manual antes de usar do modo que precisa.... Isso ficaria a prova de erros.

Algo do tipo..

Para executar esse programa preciso que informe seu sistema de pacotes (.deb ou .rpm)



E se fizermos assim:

cat /etc/[A-Za-z]*[_-][rv]e[lr]* 2> /dev/null | grep DISTRIB_ID |awk -F"=" '{print$2}'


P.S:: Preciso da ajuda de vcs para testarem em outras distros..

No Mint e Debian, funcionaram, e na d vcs?
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


10. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Zhu Sha Zang
zhushazang

(usa Gentoo)

Enviado em 09/07/2015 - 19:34h


[rodolfo@asgard ~]$ cat /etc/[A-Za-z]*[_-][rv]e[lr]* 2> /dev/null | grep DISTRIB_ID |awk -F"=" '{print$2}' 18:26
"Gentoo"


Gentoo OK!


---
Hail Hydra!


11. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Wellingthon Dias Queiroz - @tonyhts
tonyhts

(usa Arch Linux)

Enviado em 09/07/2015 - 19:38h

zhushazang escreveu:


[rodolfo@asgard ~]$ cat /etc/[A-Za-z]*[_-][rv]e[lr]* 2> /dev/null | grep DISTRIB_ID |awk -F"=" '{print$2}' 18:26
"Gentoo"


Gentoo OK!


---
Hail Hydra!


Boa!! vlw, vvamos aguarda mais algumas distros, dai sugerimos essa forma ao amigo que abriu o tópico.

VLW!
---
Eu Acredito, que ás vezes são as pessoas que ninguém espera nada que fazem as coisas que ninguém consegue imaginar.

--- Mestre dos Mestres - Alan Turing ---


12. Re: Como saber se uma distro é .rpm ou .deb? [RESOLVIDO]

Eric
Grinder

(usa Slackware)

Enviado em 09/07/2015 - 19:42h

No Slackware não tem nenhuma resposta. Não aparece nada



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts