Instalar aplicativo nos Linux? Por que é tão complicado???

1. Instalar aplicativo nos Linux? Por que é tão complicado???

Paulo Pacheco de Carvalho Filho
ppcarvalhof

(usa Debian)

Enviado em 02/10/2010 - 15:38h

Galera, estou a algum tempo "brigando" com o linux, mais especificamente o Ubuntu antes e agora o Debian, sabe como é, quem vem do rWindows apanha um pouco.

Estava sentado no "trono" pensando, agora vou mudar e para onde vou não terei internet por um bom tempo, lascou, como farei com o Debian??? Apt-get sem net, hummm... Pensei em criar esse tópico para expor minha idéia, então vamos a ela.

Essa história de dependências que existe no mundo linux me dixa muito triste então por que não tentar fazer a galera que é responsável pelas distros incluirem a minha idéia? Um formato de instalador (lembrando que estou usando o Debian) semelhante ao .deb sei lá um .Xtal (linuX insTAL) que carrega-se todas as dependências (sei que isso aumentaria o tamanho do pacote, mas, poderia ser uma opção de instalador) e sendo verificadas as dependências em tempo de execução, havendo nessecidade instalaria o que falta, caso contrario só instalaria o aplicativo. Claro que nessa abordagem talvez fosse preciso ter uma versão para cada plataforma/distro, mas com a integração talvez com o tempo bastaria fazer uma para cada plataforma.

Imagino o futuro assim, */# applicativo_N.xtal/* ou então clicar no arquivo e o aplicativo seria instalado sem maiores problemas e sem a nessecidade de repositórios e/ou conexão com a internet.

Que vocês acham desse meu devaneio? Seria possivel ser tão pratico instalar no Linux como vejo ser no rWindows?

Abraços. Carvalho.


  


2. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Paulo Manoel
pael

(usa openSUSE)

Enviado em 02/10/2010 - 15:51h

baixe todos os dvds do debian, e assim você terá mais de 20 mil pacotes nas palmas da tua mão, melhor que isso impossível :P


3. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/10/2010 - 16:00h


Devaneio...., hummmm.... pro seu caso o melhor é baixar (lanhouse, etc) ou compre (linuxmall ou outro) o DVD1 que a princípio você terá quase tudo o que é necessário para uma máquina Desktop.

Vamos lá na questão: formato de instalador .deb, tens idéia da quantidade de pacotes disponível pro Debian?

da página oficial:

"
O Debian GNU/Linux é mais que um simples SO: ele vem com mais de 25000 pacotes contendo softwares pré-compilados e distribuídos em um bom formato, que torna fácil a instalação deles na sua máquina.
"

Então acho que agrupar dependências num só arquivo é impraticável, veja por exemplo o KDE: no Arch Linux costumava-se usar o KDEMOD por ser modular e não um mega-pacotão como o do repositório oficial, até que felizmente o 'povo' da distro resolveu seguir o mesmo modelo.

No Windows existe isso?, você se refere aqueles instaladores tipo o oferecido pelo Google (Picasa, Norton AV e outros)?

"Essa história de dependências que existe no mundo linux me dixa muito triste"

* tente Slackware sem nenhum gerenciador de pacotes, catando dependência uma a uma pela net e verás o que é tristeza.

[]s.



4. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Perfil removido
removido

(usa Nenhuma)

Enviado em 02/10/2010 - 16:21h

Eu tb sempre pensei sobre esse assunto.

Acho que não seria nada mal, se houvesse a possibilidade de existir pacotes maiores, contendo as dependências.

É mais fácil de carregar os programas de um lugar para o outro.


5. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Rafael Umbelino
tlaloc

(usa Gentoo)

Enviado em 02/10/2010 - 16:41h

Boa galera.

Mas vamos discutir então.

Primeiro, vocês sabem o que são e para que servem as dependências?
As dependências de um programa são coisas de que ele depende (óbvio, mas nem tanto) para executar suas funções.
Vejam por exemplo o Firefox. Como é que o Firefox vai funcionar sem o XulRunner, renderizador de páginas do aplicativo?
Daí que veio a necessidade das dependências de software.

O Linux, por ser extremamente configurável ao seu gosto, tem esse "problema" das dependências por ser um "mal necessário".
Vejam, por exemplo, se vocês quiserem TIRAR o suporte de alguma coisa em um programa.
Se vocês querem tirar o suporte a Java do OpenOffice, já que o Java é pesado e o micro que vai rodar é um terminal burro destes que a Secretaria do Desenvolvimento Regional da para as escolas.

Como é que vocês fariam isso se não houvessem dependências? Vocês teriam de "abrir" o pacote do OpenOffice (com todas as dependências), retirar o pacote do Java de lá, compilar o OpenOffice sem suporte a Java, colocar o pacote do OpenOffice sem Java no lugar do original, fechar o pacote de novo e aí sim, instalar o OpenOffice.

Viu que trabalheira que daria?

E quem disser que no Windows não existem dependências de software, recomendo que volte a estudar o sistema. Já tentaram instalar o Windows Live Messenger sem o Windows Installer 4.5 instalado? Com o 3.1, ele da uma mensagem de erro e diz que falta uma dependência!

E instalar o Windows Live Mail sem o .Net Framework instalado? Impossível.
E ao instalar o Office, se você for procurar atualizações do Windows, ele vai carregar mais ou menos 40 atualizações referentes ao Office. ISSO SÃO DEPENDÊNCIAS!

Dependências existem tanto em um quanto em outro sistema.
Ah, mas no Windows acontece com menos frequência... concordo plenamente.
No Windows você não precisa instalar 10, 15 pacotes se quiser instalar o MSN. Só que isto acontece porque todas as dependências dos programas já vem instalados no sistema. Como assim?

Vamos esmiuçar o assunto.
No Linux, se usamos Gnome, usamos a biblioteca gráfica GTK como padrão. Se quisermos instalar algum aplicativo QT, como por exemplo o Amarok, teremos de instalar o QT e algumas dependências.
Neste ponto o Windows consegue ser mais simples, pois não há vários motores gráficos no Windows, apenas um. Assim, não existem softwares para esta ou aquela interface gráfica.

Outra coisa, as distros são muito diferentes de uma para outra, em questão de configuração, softwares que já venham pré-instalados e uma diversidade de aplicativos que são escolhidos diferentemente.
Veja por exemplo que no Gentoo nós temos o rc-update e no Ubuntu temos o update.rc-d.

O fato do Windows ter menos casos de dependências necessárias não se deve a completude dos pacotes e sim a falta de opção que os usuários têm ao escolher seus aplicativos.
O Linux, doutro lado, permite uma gama enorme de escolhas e estas escolhas requerem dependências.

Como no final das contas nem todo mundo usa um aplicativo da mesma maneira que outro, acabam as dependências sendo necessárias e uma virtude, não um problema, do sistema.

Agora, quanto ao seu problema em específico, o próprio site do Debian Packages informa as dependências necessárias e opcionais de cada pacote que se deseja instalar.
O negócio seria baixar por ele seguindo o índice de dependências.
Mas ainda assim, você quer instalar um único pacote, né?

Então deveríamos pensar num "Baixador de Dependências", um aplicativo multiplataforma que pudesse usar uma "source.list" fornecida pelo usuário e um repositório fornecido pelo usuário.
O usuário escolheria, por exemplo, o pacote do Google Chrome e o "Baixador" buscaria nos dados fornecidos pelo usuário pelos pacotes, inclusive dependências, e geraria um pacote "completo" para que o usuário pudesse salvar num pendrive e aí sim levar para seu micro sem internet.

Seria uma solução mais útil que exigir dos mantenedores de software que agrupassem pacotes como por exemplo OOffice.Org-Java e OOffice.Org-noJava, para quem quer o suporte a Java ou não.
Se isso fosse um pedido atendido, nem imagino o tamanho de um repositório Debian... quanto é a fatorial de 25 mil mesmo? :P


6. Ops, acho que não me fiz entender...

Paulo Pacheco de Carvalho Filho
ppcarvalhof

(usa Debian)

Enviado em 02/10/2010 - 18:11h

Acho que não me fiz entender bem. Quando me referi à um formato de instalador que contenha as dependências, quis me referir às dependências do programa que será instalado. Digamos que eu fiz um aplicativo qualquer que tenha 15 dependências esternas (números hipoéticos, não sou programador) e dentre estas esteja a função "buscar.lib" (só como exemplo), e em minha página colocaria duas versões para o Kernel 2.6.35.7 (mais atual disponível) uma seria a mais "leve" que contem apenas o programa e o fonte e uma outra versão que inclui as 15 dependências que o meu aplicativo possui, chamarei essa última de "Anailize2Defg.xtal", ao executar o citado arquivo de instalação o instalador pergunda: Tens restrições? e o arquivo devolve todas as dependências dentre as quais o Buscar.lib já citado na versão 1.8 ou superior, porém, o instalador percebe que já tem a versão 2.4, então o instalador instala todas as 14 dependências menos a que já possui (Buscar.lib), porém se o arquivo retorna-se buscar.lib somente 1.8, o instalador "colocaria" essa função ultrapassada na pasta do programa e com isso não afetaria mais ninguem...

Bem, se não consegui passar bem minha idéia, falem que tentarei outra abordagem.

Quanto ao rWindows, sei que ele não é soberano no que diz respeio à instalador, são alguns casos, no geral qundo o aplicativo não encontra uma função ou biblioteca ele instala uma cópia que costuma trazer, é isso que queria ver no Linux.

Abraços. Carvalho.


7. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Rafael Umbelino
tlaloc

(usa Gentoo)

Enviado em 02/10/2010 - 18:15h

ppcarvalhof, eu entendi seu ponto de vista, mas mesmo assim, esbarramos no que informei dos aplicativos não terem sempre o mesmo nome.
Veja o exemplo do update-rc.d e o rc-update, do Ubuntu e do Gentoo, respectivamente.
Build-essentials é único da família Debian, e quando seu app for ser instalado em uma distribuição da família Red Hat?

Isso que estou dizendo... você acabaria por não fazer apenas duas versões do seu aplicativo, teria de fazer pelo menos uma para cada família de distros diferentes.


8. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Paulo Pacheco de Carvalho Filho
ppcarvalhof

(usa Debian)

Enviado em 02/10/2010 - 18:28h

Mas será que se os responsáveis pelas distros tivessem a vontade de fazer uma compatibilização não seria possível? Essa Cisão entre as versões de Linux é que deixa as coisas mais complicadas. Ainda acredito que essas grandes diferenças internas entre as distros é mais por orgulho e egoismo que por razões técnicas, afinal eslas não derivam sempre dos mesmos Kernels?

Para mim o Linux seja em qual versão seja só teria a ganhar se ouvesse a compatibilidade a esse nível e não meramente a nível de source code. E essa história de recompilar de um para o outro é mais para quem é rato de laboratrio e está acostumado com esses serviços, convenhamos a maioria prefere o mais cômodo ào mais trabalhoso, é mais fácil ouvir um usuário pedir para isntalar o rWindows JackSparrow que aprender o Linux e esse "insondáveis" mistérios do Shell...

Abraços. Carvalho.


9. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Rafael Umbelino
tlaloc

(usa Gentoo)

Enviado em 02/10/2010 - 18:32h

Carvalho, quanto ao que precisamos de compatibilidade entre as distros, não discordo, muito pelo contrário. Concordo plenamente que deveríamos ter mais compatibilidade entre uma distro e outra.

Temos, até, hierarquicamente, entre famílias de distros. Agora, entre distros de famílias diferentes, fica complicado.

Até porque, cada distro tem sua filosofia.
Como é que você acha que este sistema de "pacotes completos" funcionaria com o Gentoo por exemplo, que trabalha com compilação e não com pacotes como deb e rpm?

Somos os melhores mas ainda temos muito a melhorar, falando das distribuições.
O kernel é o mesmo, mas cada distribuição tem seu jeito.


10. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Paulo Pacheco de Carvalho Filho
ppcarvalhof

(usa Debian)

Enviado em 02/10/2010 - 19:00h

É por ai o que eu penso, se as distros tem filosofias diferentes é uma virtude, ter uma estrutura diferênte (apesar da mesma base) é um defeito, não conheço bem o funcionamento interno de distribuições Linux (já vi o diagrama da arvore genealógica das distros), mas, continuo achando que essa divergência tão grande no funcionamento interno é mais por orgulho e egoísmo que por nessecidade. O padrão que tenho é o .deb, o .rpm já li algo, não posso dizer se este ou aquele é o melhor, isso se um deles for o melhor, talvez um novo com o melhor de cada e mais o que estes não tem. O que de fato poderia dizer tendo a mim mesmo como exemplo, é meio brochante para um usuário de rWindows entrar no mundo do pinguim e ficar perdido ao baixar de um site um programa qualquer e apanhar para instalar um tar.gz e ainda ter uma pá de dependências para resolver, para um iniciante (como eu) é um desestimulo imenso que os que fazem essas disttros querem bater no peito e dizer "-Minha distro é melhor que a sua" é a mesma coisa que falar que meu time de futebol é melhor que o seu (não gosto de futebol justamente pela falta de qualidade que a falta de um Garrincha faz, um jogador faz uma malandragem com a bola e o adversário que não é capáz quer quebrar a perna do cara, sem falar nos torcedores...), é isso que penso quando vejo esse monte de distros que "são incompativeis" entre si. Quando olho para isso vejo uma briga do tipo Linux vs Linux e não Linux vs rWindows, compreende?

Araços. Carvalho.


11. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Alberto Federman Neto.
albfneto

(usa openSUSE)

Enviado em 02/10/2010 - 19:04h

a padronização, é um bem e um mal... Não sou favorável,já pensou tudo usar.DEB?
Gentoo, Sabayon, Funtoo, Slackware, openSUSE, Debian,mesmo ficarem todos como Ubuntu? Pq usar outra distro?
como fazer linux de compilação, como gentoo, funtoo,linux clássico, "na unha", como slackware, usar DEB?

Nota: o mais usado é DEB,mas o padrão internacional é RPM!
quanto a ser complicado, lembre que Windows, quando atualiza, são patchs de segurança.
o office é 2010,o anterior, era 2007!
linux,não! Linux de um ano é velho, de três anos é obsoleto, práticamente.
Nâo é ruim, é bom,é até melhor, mas não dá para fazer isso sem internet.

ppcarvalhof, o certo não é baixar programas e caçar deps, (em slackware, sim, mas só se quiser)
mas ou outros linux, não. o certo é usar, o gerenciador de pacotes, ele resolve as deps.

o problema que os iniciantes vão para o baixaki, para o superdownloads, buscar o "software" para linux, não é assim que se usa linux.!

aquele tar.gz, que está lá, é para casos especiais,não é o geral. se vc usa ubuntu, deve usar repo de ubuntu,sevc usa mandriva, deve usar repo de mandriva, e isso, está NA DISTRO, cada uma delas tem, e é automatico!

não é difícil instalar programas em linux, não precisa nem baixar o programa. quer coisa mais fácil que kpackagekit?

em windows,vc instala xp e sai caçando antivirus, caçando adobe reader, em linux, não. Já está lá, é só procura o nome no synaptic,no rpmdrake, no yast, no portage.

compilar,é para casor especiais e se vc quiser.. Bom vc diria, Gentoo compila tudo, sim gentoo compila tudo,mas é automático, não é manual.

as deps? pq os gentoístas gostam tanto de Portage? Pq o gerenciamento de dependências de Portage é perfeito. Ele faz tudo sozinho!
a vantagem de Portage, é... se ele instalou vai funcionar!

quando dá problema, ele não instala e corta a instalação e as mensagens te dizem o que aconteceu.



12. Re: Instalar aplicativo nos Linux? Por que é tão complicado???

Andre (pinduvoz)
pinduvoz

(usa Debian)

Enviado em 02/10/2010 - 19:40h

Isso que vc quer já existe. São os instaladores de script, pacotes ".run". Vc baixa um script, dá permissão de execução e ele se encarrega de copiar tudo que o programa precisa para funcionar (bibliotecas e binários) para as pastas de três ou quatro tipos diferentes de distros (Ubuntu/Debian, Red Hat/Fedora, Suse e Mandriva).

Temos também uma distro que segue o padrão Windows, onde cada programa tem uma pasta com tudo que ele precisa para funcionar. Isso tem a vantagem que vc procura e a desvantagem de ocupar um bocado de espaço no HD, pois cada programa repete as bibliotecas.



01 02 03



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts