Gerenciadores de pacotes e dependências
A maioria das distribuições Linux usa gerenciadores de pacotes para instalação e remoção de software. Os gerenciadores de pacotes oferecem alguns benefícios, como a possibilidade de usar um repositório central a partir do qual (quase) qualquer parte do software pode ser baixada, a organização de partes do software em pacotes configuráveis que podem ser instalados como um grupo coeso e os principais benefícios: automático manipulação de dependência e rastreamento do que os pacotes de alterações fazem para que possam ser desinstalados.
Determinadas peças de software podem exigir que determinadas bibliotecas ou outros programas executem tarefas que seriam redundantes se fossem reimplementadas nessa peça de software. Pacotes permitem a expressão dessas dependências.
Diferenças: formatos e estratégias de pacotes
Existem vários gerenciadores de pacotes diferentes. Cada um foi criado porque os existentes não atendiam às necessidades de algumas pessoas. Cada gerenciador de pacotes requer pacotes em seu próprio formato.
Além disso, diferentes distribuições têm requisitos diferentes do software incluído. Existem vários softwares que podem ter recursos diferentes, dependendo das opções fornecidas quando compiladas do código-fonte para o executável de uma máquina. Algumas distribuições desejam fornecer conjuntos completos de recursos e uma experiência rica, enquanto outras desejam fornecer uma experiência o mais enxuta e simples possível, e há tudo no meio. Além disso, a distribuição pode decidir formatar sua estrutura de diretórios de maneira diferente ou usar um sistema init diferente. Eles podem decidir agrupar o software de maneira diferente: pode haver um pacote chamado "dev-utils" em duas distribuições diferentes, mas uma versão incluiyacc
enquanto o outro não. Devido a essas diferentes necessidades, as distribuições optam por compilar o software de maneiras diferentes.
É por isso que, mesmo que você tenha um pacote no formato correto para o seu gerenciador de pacotes, ele poderá não funcionar se o pacote for destinado a uma distribuição diferente. Por exemplo, esse pacote pode depender da yacc
instalação, e expressou essa dependência exigindo o pacote "dev-utils", mas o seu "dev-utils" não inclui yacc
. Agora há um pacote instalado com uma dependência não atendida.
Não é realmente um problema.
Uma grande parte de ser uma distribuição Linux é manter um repositório de software central. A distribuição cuida de manter tudo isso para você. Isso realmente facilita a instalação do software. Você normalmente usa o gerenciador de pacotes para procurar e selecionar alguns pacotes e, em seguida, pede para instalá-los; cuida do resto para você. O processo de instalação do software Windows inclui a busca de software em sites de terceiros, tentando localizar o link de download apropriado, o download, a verificação de vírus e a execução de um programa de instalação que, em seguida, faz várias perguntas irrelevantes. Toda essa bagunça não é o padrão no Linux.
O repositório não pode incluir tudo
Agora, pode haver casos em que um software necessário não esteja no repositório da sua distribuição. Os pacotes fornecidos por um repositório de software são um dos recursos diferenciadores das distribuições. Quando você não consegue encontrar o software necessário nos repositórios de sua distribuição, existem três caminhos possíveis (na verdade, dois mais uma maneira de realmente estragar tudo).
Repositórios da Comunidade
Muitas distribuições têm repositórios não oficiais que são mantidos por pessoas não associadas à distribuição. O Ubuntu os chama de PPAs, o Fedora os chama de Repositórios de Pessoas do Fedora. O Arch Linux não possui um nome específico para repositórios de terceiros , mas possui seu AUR, que é uma coleção de "receitas" para pacotes (nota: existe apenas um AUR). Você pode primeiro tentar instalar um pacote de uma dessas fontes, pois é fácil desinstalá-las se elas não funcionarem.
Compilar a partir do código-fonte
Se você não conseguir encontrar um repositório não oficial com o que precisa, compilar a partir do código-fonte não será difícil. Você precisa ter o pacote de desenvolvimento da sua distribuição instalado; isso inclui itens básicos como um compilador, vinculador, analisador e outras ferramentas geralmente necessárias para a compilação de software. Em seguida, você encontra o código-fonte do projeto (que quase sempre é empacotado em um .tgz
ou .tbz
(chamado de "tarball"). Faça o download em seu próprio diretório em algum lugar, extraia-o (use tar -xf filename.tgz
e, geralmente, vá para o diretório que ele criou. esse diretório pode ser um arquivo chamado README
ou INSTALL
. Se existir, vá em frente e leia-o; a maioria deles pede para você fazer a mesma coisa. As próximas etapas são executadas em uma linha de comando. Execute ls
e procure um arquivo executável chamadoconfigure
. Se existir, execute-o fazendo ./configure
; às vezes, pode demorar alguns minutos. Isso geralmente executa alguns testes para descobrir como a sua distribuição tem as coisas configuradas e garante que você tenha as ferramentas necessárias para compilar esse software. O próximo passo é executar make
. Na verdade, isso compila o software e provavelmente levará algum tempo - de alguns minutos a horas, dependendo do tamanho do software que você está compilando. Feito isso, você corre make install
. Isso instala o software, que envolve a cópia dos produtos da compilação para os locais apropriados no seu sistema de arquivos. Depois disso, o software estará disponível para uso.
Esta foi uma seção longa, mas está resumida como "README, ./configure, make, make install" . Essa é a rotina para lembrar.
Instale um pacote de outra distribuição (não faça isso)
Listo isso apenas porque é uma alternativa, mas quase certamente não terminará bem. É possível instalar pacotes para outras distribuições, e você pode querer fazer isso. Bem, não. Não faça isso até entender seu sistema muito bem. Na verdade, não vou colocar nenhum comando aqui mostrando como fazê-lo, mesmo que seja possível. Se você chegar a esse ponto em que parece ser a única opção, não instale o pacote usando o gerenciador de pacotes; em vez disso, retire as coisas do pacote e coloque-as no sistema manualmente, juntamente com as notas sobre o que você fez para que você possa desfazê-lo, se necessário.
O bit da linha de comando
Algumas pessoas preferem a linha de comando pelas vantagens que ela oferece. Estes podem ser resumidos em três coisas:
- Facilidade de automação
- Velocidade (em comparação com clicar em todo o lugar em uma GUI)
- Expressividade
O maior deles é a expressividade; existem coisas que podem ser feitas em uma linha de comando que não são possíveis em uma interface gráfica.
Por fim, as instruções da linha de comando são frequentemente fornecidas em fóruns úteis como este, porque é muito mais fácil transmitir as informações corretas do que dar instruções do tipo "clique aqui, depois, ali e então".
Distros diferentes têm pré-requisitos de instalação diferentes. No entanto, existem RPMs ou DEBs (ou outros pacotes para outros sistemas de gerenciamento de pacotes), que funcionam para mais de uma distribuição. A filosofia do Linux torna os códigos-fonte prontamente disponíveis. Ao compilar seu próprio software, é praticamente a mesma rotina em todas as distribuições, e é sempre o mesmo
.tar.gz
arquivo que você usa.RPMs compilados são mais como parte do sistema; um aplicativo em si, como uma entidade autônoma, deve ser distribuído e compilado em todos os destinos.
Suas segundas perguntas são algo completamente diferente ... Bem, "muitos usuários de Linux" preferem aplicativos CLI por vários motivos diferentes, o espaço reduzido de memória é apenas um motivo. Ao usar o SSH, os aplicativos CLI fazem mais sentido, especialmente ao trabalhar fora do local em servidores. Frequentemente, esses servidores não têm ambientes gráficos instalados. Ao executar programas não daemonizados, eles são muito fáceis de abortar. Ctrl- c, e o programa acabou. Além disso, muitos programas se registram no console, tornando mais fácil a depuração. Ao programar, você está fazendo a maior parte da compilação no console. Faz mais sentido para a depuração rápida de compilação. É isso ou, ao ler os arquivos de log, às vezes, a leitura do console é mais rápida.
fonte
Arco. Ou FreeBSD, que é desenvolvido como um todo. (RHEL, SLES e similares são $ upported como um todo.)
Uso do laptop: hortelã
Hackabilidade utilizável: Arch.
Hackabilidade sádica: Genoo.
Hackabilidade divertida: LFS.
Capacidade de suporte (servidor): RHEL, Ubuntu LTS, FreeBSD (diferente do Linux).
fonte