Instalar algo no Windows leva um clique de um botão. Mas toda vez que tento instalar algo no linux, que não é encontrado no APT, fico muito confuso.
Você baixa uma pasta compactada, e depois? Se você tiver sorte, existe um README, consultando alguma documentação que pode ajudá-lo, se você tiver sorte.
Qual é o truque mágico ao "instalar" extensões e aplicativos que não são encontrados no APT?
Eu amo o Linux, mas esse problema me assombra todos os dias.
software-installation
directory-structure
Marcus Johansson
fonte
fonte
Respostas:
Se é um software que obedece o Filesystem Hierarchy Standard que você deve colocá-lo em
/usr/local
e os subdiretórios apropriados (comobin
,lib
,share
, ...).Outro software deve ser colocado em seu próprio diretório em
/opt
. Em seguida, defina suaPATH
variável para incluir obin
diretório ou qualquer diretório que contenha os executáveis ou crie links simbólicos para/usr/local/bin
.fonte
Não há uma resposta simples para esta pergunta, mas posso fornecer um esboço geral de como ela funciona:
A maioria dos softwares Linux é fornecida pelos autores (o "upstream") no formato de código-fonte. Isso permite que todos os que possuem um compilador para sua plataforma específica e configuração do sistema baixem o código-fonte e os compilem. Infelizmente para você, muitos programas dependem de funções fornecidas por outros programas e bibliotecas de software (dependências).
O software Windows geralmente vem na forma pré-compilada. Isso significa que há um arquivo executável genérico para todos os computadores Windows, e as dependências costumam acompanhá-lo no pacote de instalação.
As distribuições Linux pegam o código-fonte, pré-compilam para você e oferecem-no como um pacote também. O pacote não inclui as dependências, mas se refere a elas e força o sistema de pacotes a instalá-las também (o que às vezes pode levar a confusões que você provavelmente já experimentou).
Se não houver um pacote pré-compilado, você sempre poderá fazer o download do código-fonte e compilá-lo. Na maioria das vezes, o seguinte funcionará:
A linha ./configure define o cenário para o processo de compilação (e cospe erros se as dependências não forem atendidas). A linha make executará o Makefile, um script que compila todas as partes do programa.
Tradicionalmente, você usaria o make install para instalar o software. Isso geralmente coloca os executáveis em / usr / local / bin.
Como você está usando o apt, recomendo a instalação do checkinstall. Você pode usá-lo no lugar do make install, e ele irá gerar um pacote .deb para você. Isso facilita muito a remoção limpa do software posteriormente.
Observe que existem vários outros sistemas de compilação, por exemplo cmake; e algum software vem pré-compilado, mas não empacotado (nesse caso, você pode iniciá-lo diretamente da pasta descompactada); e alguns softwares vêm como uma coleção de scripts que você precisa executar sozinho. Às vezes, um código novo do SVN vem sem scripts de configuração, então você precisa primeiro executar o conjunto de ferramentas autoconf ... etc, etc ... você vê que há muitas exceções à regra, mas com um pouco de experiência, você poderá diga o que fazer com a maioria desses downloads misteriosos. Configure-Make-Checkinstall é um bom primeiro começo.
PS. Passe um fim de semana ou dois para aprender como se programar, e as coisas se tornarão muito óbvias :-)
PPS. Você pode se perguntar por que os autores de software Linux não fornecem apenas pacotes pré-compilados em vez do código-fonte. Bem, às vezes eles fazem. Porém, diferentes plataformas e distribuições Linux têm seus próprios formatos de pacote e regras de sistema de arquivos; portanto, como desenvolvedor, você deve fornecer pacotes para todas as configurações possíveis - o que é um problema. Porém, os pacotes Ubuntu geralmente são os mais fáceis de encontrar - você deve descobrir o que é um PPA e como ele funciona!
fonte
Você deve verificar checkinstall . Ao invés de
Você faz
e você poderá gerenciar esse pacote como se o tivesse instalado através do apt.
fonte
Há uma razão válida e sensata para isso ser tão confuso (também há uma razão de artefato irritante) ...
O Unix tem um histórico de ser multiusuário e a maioria dos usuários não tem acesso para instalar aplicativos fora de áreas às quais eles receberam acesso específico.
Portanto, a teoria seria que você criaria algo em seu diretório pessoal e depois o copiaria para uma área que você tinha controle (sua própria área de projeto ou uma área compartilhada).
Os PCs com Windows geralmente são sistemas de usuário único e não têm essa restrição, tudo fica em Arquivos de Programas, não importa o quê.
Depois, há o estúpido e irritante fato de que toda vez que uma nova versão do Unix era lançada, os criadores sentiam a necessidade de mudar de local, mas as antigas ainda precisavam estar lá para scripts automatizados. Isso fornece vários diretórios vinculados que atendem ao mesmo objetivo.
O sistema init é ainda pior.
fonte