Dependencias???

Iniciado por wpspereira, 13 de Julho de 2007, 16:44

tópico anterior - próximo tópico

wpspereira

Estava lendo uns artigos ae sobre pacotes do debian existem
dependencias tem programas que depedem
de outros para serem instalados, porque essa dependencia ???

Lex Luthor

Tem programas que precisam de bibliotecas, por exemplo, o GIMP, para ler jpeg, precisa da biblioteca com as funções de JPEG. Se não tiver, ele não terá as funcões para esse tipo de arquivo.
Essa biblioteca é uma dependência para o GIMP... E pode ser para outros programas também...
E assim vai...
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

wpspereira

Bom, tem essas blibiotecas,  no caso Linuxos pacotes ou programas
são assim? e porque no Ruindows  os programas não
precisam dessas dependencias? por que?

clcampos

Acredito que como os pacotes são baixados da internet para poupar ao usuário os pacotes são separados, ai se você já tiver uma dependencia instalada ela não precisará ser baixada de novo.

Pois nos programas do windows tudo que você precisa esta dentro do arquivo .exe, então muitas vezes você recebe dll's e outras coisas que já estão disponíveis para você.

Mas isto tudo é da minha cabeça, nunca li nada sobre isto.
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

Lex Luthor

Você nunca passou por um problema de uma aplicação sobreescrever a DLL de outra ?

Normalmente, no Ruindows, ao baixar o instalador, vai ter tudo lá dentro, as DLLs tem as funções que o programa precisa, ou então, se não tiver você vai ter que instalar no Ruindows ela.

Um exemplo bem clássico é para você tocar os DIVx. Não tem que instalar os codecs e tudo mais ? Pois é.. uma dependência....

A vantagem do Linux é que é tudo separado e organizado. Você só instala se precisar, e se o pacote não estiver sendo usado por nenhuma aplicação, você pode removê-lo...

Abraços...
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

samuelbh

A explicação do Lex Luthor está perfeita. É assim mesmo que funciona.
Assinatura removida pela Equipe do Fórum

Lex Luthor

Ah, esqueci de falar também que no Linux também tem a opção de não precisar de dependências, isso é na hora da compilação do programa, o programador pode optar por incluir tudo que o programa precisa no binário dele (chama-se de estático).

A desvantagem disso é que o binário fica maior, ocupa mais memória, etc...
Analista de Redes- Segurança da Informação
Bacharel em Ciências da Computação - UnB
Ubuntu Forever - Compiz Fusion -

agente100gelo

Citação de: wpspereira online 13 de Julho de 2007, 16:55
Bom, tem essas blibiotecas,  no caso Linuxos pacotes ou programas
são assim? e porque no Ruindows  os programas não
precisam dessas dependencias? por que?

Exemplificando.

Linux


Programa A depende de biblioteca X
Programa B depende de biblioteca X

Dependências. Só quando você deseja instalar A ou B ele baixará X. Se você instalar os dois, bastará baixar X uma vez.

No Windows os instaladores instalam normalmente dezenas de bibliotecas não padrões. Ou seja, para instalar A e B você baixará duas vezes a mesma biblioteca. E pior, muitas vezes de versões diferentes. Instalando uma X de menor versão você pode atrapalhar um programa anteriormente instalado que necessitou desta biblioteca. No Linux teremos sempre a última versão, não sujeito a erros do usuário na instalação.




Advogado e analista de sistema cearense.
Twitter: @glaydson

clcampos

Explicações iguais com palavras diferentes.... isto é que é suporte de qualidade!
Cristiano/Timóteo - MG
.: Como Fazer Perguntas de Forma Inteligente :.                
Com dúvida? pesquise!

fabiovalinhos

Parabéns, gostei das explicações.

Teve uma vez que um usuário windows perguntou-me a mesma coisa. Consegui explicar, mas não tão bem quanto vocês.

7355
sudo dpkg no seu quadrado ...sudo dpkg no seu quadrado ...
http://www.youtube.com/watch?v=tHmrq0FtczM

Darcamo

Esse é um dos grandes motivos de os programas do Linux serem normalmente menores que os equivalentes do windows.
Tem muito programa de 4 ou 7Mb no Linux que faz MUITA coisa.

Claro que se preocupar com dependências é algo muito chato, mas isso fica por conta do gerenciador de pacotes que faz tudo de maneira automática.

Resumindo, o método como os programas são instalados no Linux é bem mais eficiente. Eu faço é rir quando vejo um programa para windows que ocupa centenas de Mb enquanto que o que eu uso no Linux e faço a mesma coisa num chega nem a 10Mb.

wpspereira

Citação de: agente100gelo online 13 de Julho de 2007, 17:53
Citação de: wpspereira online 13 de Julho de 2007, 16:55
Bom, tem essas blibiotecas,  no caso Linuxos pacotes ou programas
são assim? e porque no Ruindows  os programas não
precisam dessas dependencias? por que?

Exemplificando.

Linux


Programa A depende de biblioteca X
Programa B depende de biblioteca X

Dependências. Só quando você deseja instalar A ou B ele baixará X. Se você instalar os dois, bastará baixar X uma vez.

No Windows os instaladores instalam normalmente dezenas de bibliotecas não padrões. Ou seja, para instalar A e B você baixará duas vezes a mesma biblioteca. E pior, muitas vezes de versões diferentes. Instalando uma X de menor versão você pode atrapalhar um programa anteriormente instalado que necessitou desta biblioteca. No Linux teremos sempre a última versão, não sujeito a erros do usuário na instalação.






Perfeito, então isso quer dizer que o Linux é um sistema altamente otimizado, aproveitando somente o que é necessário, ocupando menos
espaço e desempenho, por isso  a diferença e o Ruindows totalmente recheado, parabens :-)

wpspereira

Você estava falando sobre programas que não precisam de dependencias, o Real Player
para Linux é um que não precisa de dependencias, pois possui todos os pacotes dependentes no binário???
e ocupa mais espaço!!!

Tota

Linux

Programa ( Arquivo executável )

Pacote ( Arquivo executável + bibliotecas )

Bibliotecas ( Arquivos acessórios )

Dependências ( o sinal de mais aí de cima - Liga o executável às suas bibliotecas )


Windows

Programa ( Arquivo executável *.exe)

Pacote ( Um CD Rom ou um arquivo ZIP com tudo dentro )

Bibliotecas ( o executável as chama para funcionar, geralmente conhecidas por DLL Dinamic Link Library)

Como foi citado pelos amigos aqui.

No Windows quando voce compra (?) um cd com um "programa" na realidade está se comprando um pacote de software. ( tudo dentro )

No Linux, como você não compra nada ( ou quase ), baixa-se geralmente um "pacote", ou seja, o executável e seus acessórios ( as tais Bibliotecas ), e como dito também, se elas já existirem em sua máquina e tiverem a mesma versão, o Gerenciador de Pacotes não as instala, deixando a que estão na máquina.

Em raríssimas ocasiões no Linux e quase sempre no Windows é possível haver conflitos de versão entre bibliotecas. O Windows as escreve por cima sem verificar qual executável estava utilizando a versão anterior ( tá certo, ele avisa, mas quem liga? ), já o Linux avisa, pede confirmação, etc. etc. )

[],s

wpspereira