Por que o Linux força os gerenciadores de pacotes?

1

Sou novo no Linux e ainda não vejo benefícios suficientes para os gerentes de pacotes entenderem como eles se tornaram dominantes.

Por exemplo: digamos que ouvi o Emacs ser incrível e quero testá-lo. Eu vou ao Ubuntu Software Center e procuro o Emacs.

Eu recebo 11 resultados, metade dos quais parecem não ter nada a ver com emacs ou estão em holandês. Então, há 5 resultados que parecem plausíveis, todos com quase nenhuma crítica e documentação horrível. Então, eu não tenho como saber qual é o verdadeiro Emacs ou o que eu quero.

Eu digo que acho que vou usar a linha de comando. Aqui, novamente, obtenho 8 resultados. Pelo menos aqui 6 deles realmente dizem emacs no nome, mas não há maneira de saber qual é o verdadeiro negócio.

Eu entendo que a falta de problemas de dependência e o conhecimento correto do sistema operacional são grandes benefícios.

Mas como isso é melhor do que ir a um navegador, procurar pelo Emacs, encontrar a página de downloads, clicar no botão do meu sistema operacional e deixá-lo ir. Dessa forma, eu sei que é o que eu quero, posso ver e percorrer o site do desenvolvedor, então tenho uma ideia de como o programa é suportado e documentado.

Gerentes de pacotes oferecem alguns recursos interessantes, mas não vejo que eles façam o suficiente para se tornarem basicamente a única maneira de obter software no Linux.

    
por tafoya77n 14.11.2015 / 01:19

3 respostas

2

Por que os gerenciadores de pacotes são predominantes? Porque as pessoas não gostam de ter que baixar a fonte para cada programa que desejam executar, a fonte de todas as dependências (tempo de compilação e tempo de execução) e compilar tudo sozinha (o que geralmente envolve diferenças nas configurações e remendando o próprio código para funcionar corretamente com as versões específicas dos outros pacotes que você possui. É muito melhor quando alguém compilou o programa para você, suas dependências de tempo de execução, e o gerenciador de pacotes descobre o que precisa fazer o download e instalar para você.

Outra maneira de olhar a partir de uma posição mais centrada no Windows é pensar em "dll hell". No Windows, você faz o download do programa A e usa a biblioteca Z. O instalador do programa A coloca uma cópia da biblioteca Z no diretório do sistema. Você então faz o download do programa B, que também usa a biblioteca Z, mas uma versão ligeiramente diferente. Ele substitui a cópia da biblioteca Z no diretório do sistema por sua versão. Mas essa versão não funciona com o programa A, por isso quebra. Eliminar esse tipo de quebra, assim como eliminar a necessidade de ambos os programas incluírem uma cópia (seja ela compatível ou não) é o que os gerenciadores de pacotes fazem. Eles descobrem quais bibliotecas cada programa precisa e instalam a (s) versão (ões) correta (s), substituindo as mais antigas quando são compatíveis e instalando ambas, se não forem.

A maioria dos softwares do Windows tem a abordagem de apenas incluir a biblioteca Z com ambos os programas e instalá-lo em seu próprio diretório privado. Isso interrompe a quebra, mas significa que baixar os dois programas requer fazer o download da mesma biblioteca duas vezes e ocupar mais espaço em disco e mais memória RAM, pois eles não estão compartilhando a biblioteca, o que anula o objetivo original de ter a biblioteca comum na biblioteca. primeiro lugar.

    
por 14.11.2015 / 04:18
3

Encontrando um único binário pré-compilado que funcionará no seu Linux sistema, sem usar um gerenciador de pacotes, geralmente não é viável. Lá são simplesmente muitos tipos de Linux por aí.

No Windows, você pode encontrar um único binário pré-compilado que funcionará, porque o Windows é controlado por uma única corporação e, portanto, é relativamente monolítico e consistente. Sobre a única coisa que varia de uma caixa do Windows para a próxima é a versão do Windows que está sendo executado, e talvez os service packs.

Mas o Linux é muito mais diversificado. Qualquer um pode criar sua própria distribuição, e muitos indivíduos e grupos fizeram isso. Existem centenas de eles, variando do popular ao obscuro; de uso geral para altamente especializado. Ninguém poderia compilar um binário que trabalhar com todos eles.

Assim, gerenciadores de pacotes. Os criadores de uma distribuição, sendo intimamente familiarizado com os componentes dessa distribuição, software para trabalhar com esses componentes. Eles configuram as dependências e identificar conflitos. Eles estão preparados para lidar com qualquer problema que a cultura , desde que surjam em sua própria distribuição. Eles acompanham mudanças a montante. Eles lidam com relatórios de bugs derivados de seus próprios erros, e passar o resto a montante.

Você não tem para usar esses serviços, é claro. Você pode sempre faça o download do tarball de origem e compile você mesmo. Vale bem a pena fazendo isso, pelo menos uma vez, para obter alguma apreciação das complexidades envolvido em software de embalagem. Os mantenedores fazem muito trabalho para fazer coisas fáceis para os usuários finais. Não desvalorize esse trabalho.

Se você está tendo problemas para encontrar o pacote certo no Ubuntu, eu sugiro você pede ajuda em Ask Ubuntu .

    
por 14.11.2015 / 03:58
2

Não instale software que você baixou da Internet antes de fazer o check-in do gerenciador de pacotes para ver se o mesmo software está disponível nos repositórios de software padrão de sua distribuição. Instalar software a partir de fontes não confiáveis é a maneira mais fácil de gerenciar seu sistema operacional.

Os gerenciadores de pacotes no Linux são projetados para resolver problemas de dependência automaticamente e para tornar a seleção de software o mais fácil possível. No entanto, restringe a liberdade de escolha do usuário para fornecer apenas as versões mais recentes de todos os pacotes de software nos repositórios de software. No caso do Emacs, você pode ver o GNU Emacs 24, bem como algumas versões mais antigas do Emacs, mas é uma escolha segura selecionar a última versão GUI do Emacs e instalar essa versão. Normalmente, uma versão GUI de um pacote terá um belo ícone à esquerda da descrição do pacote no gerenciador de pacotes para fornecer uma sugestão visual de que é uma versão da GUI.

Usar o gerenciador de pacotes é a melhor maneira para um novo usuário selecionar pacotes para instalação. Instalar pacotes a partir do terminal dá ao usuário muito mais opções para escolher, mas pode ser confuso para um novo usuário.

Como você é um novo usuário, também tenho alguns conselhos sobre o uso do Emacs. O Emacs tem alguns recursos que outros editores de texto em meus repositórios de software padrão não possuem, e instalar o Emacs é a maneira mais fácil de obter um editor de texto com esses recursos. Eu normalmente uso apenas dois recursos que são exclusivos do Emacs, então eu uso o Emacs quando preciso usar esses recursos, e um editor de texto mais fácil de usar. O Emacs é muito personalizável, e eu personalizo meu Emacs para facilitar o uso das tarefas que normalmente faço no Emacs.

    
por 14.11.2015 / 01:42