Uso o Windows e o Mac OS há 5 anos e agora estou pensando em usar o Linux diariamente. Instalei o Ubuntu em uma máquina virtual e tentei entender como posso usar o Linux para o meu trabalho diário (como programador js / web designer).
Desculpe a pergunta do iniciante, mas me ocorre que, às vezes, quando instalo um programa make config
e make install
altera meu sistema de maneiras que não são revertíveis facilmente. Em janelas quando você instala um programa, você pode desinstalá-lo e espero que se ele joga pelo livro não haverá vestígios do programa deixado no sistema de arquivos ou registery, etc. no Mac OS você simplesmente excluir um aplicativo como um arquivo.
Mas no Linux existe apt-get
e existe make
. Eu não entendi direito como posso manter minha instalação do Linux limpa e arrumada. Parece que qualquer nova instalação de aplicativo pode danificar meu sistema. Mas o Linux tem uma reputação de ser muito robusto, então deve haver algo que não entendo sobre como a instalação e desinstalação do aplicativo afeta o sistema. Alguém pode lançar alguma luz sobre isso?
Atualização: ao instalar um aplicativo, seus arquivos podem se espalhar para qualquer lugar (os gerenciadores de pacotes lidam com parte do problema), mas há um truque interessante: use o Docker para instalar aplicativos e mantenha-os na caixa de proteção, especialmente se você não quiser use-os com muita frequência. Também é possível executar aplicativos da GUI como o Firefox inteiramente em uma "caixa de areia" do Docker.
apt-get
e nãomake
instalar software.make install
é usado quando você precisa criar a versão mais recente (possivelmente instável) de um software a partir de fontes, que ainda não está disponível como pacote.apt
é mais simples e fornece uma melhor tui do que o usoapt-get
.*.app
arquivo era insuficiente, pois as instalações de aplicativos frequentemente espalhavam outros lugares (por exemplo, o diretório da Biblioteca, da memória). Além disso, se você criar manualmente a partir da fonte no Ubuntumake install
, use-ocheckinstall
para permitir a remoção fácil../configure ; make ; make install
caminho. Tudo que você precisa é aprender a fabulosa ferramenta fpm .Respostas:
Uma nova instalação raramente interrompe seu sistema (a menos que você faça coisas estranhas como misturar código-fonte e binário).
Se você usa binários pré-compilados no Ubuntu, pode removê-los e não precisa se preocupar em quebrar seu sistema, porque um binário deve listar o que é necessário para ser executado e seu gerenciador de pacotes listará quais programas dependem desse programa para você revisar.
Ao usar o código-fonte, você precisa ter mais cuidado para não remover algo crítico (como o glib). Não há avisos ou qualquer outra coisa quando você desinstala da fonte. Isso significa que você pode quebrar completamente sua máquina.
Se você deseja desinstalar usando
apt-get
, useapt-get remove package
como indicado anteriormente. Todos os programas que dependem desse pacote também serão desinstalados e você poderá revisá-los.Se você deseja desinstalar, geralmente o processo é
make uninstall
. Não há aviso (como eu disse acima).make config
não irá alterar o seu sistema, masmake install
sim.Como iniciante, recomendo usar
apt-get
ou qualquer distro que você use para pacotes binários. Mantém as coisas legais e organizadas e, a menos que você realmente queira, isso não afetará seu sistema.Felizmente, isso esclarece tudo.
fonte
--purge
opção comapt-get
Em teoria, você
make uninstall
deve remover o que foimake install
adicionado e seu sistema não acumular lixo. O problema, é claro, é que nem todos os makefiles são criados iguais.Alguns podem omitir a
uninstall
regra, deixando para você descobrir o que ainstall
regra fez. Pior, se a regra de instalação sobrescrever uma biblioteca vinculada, umauninstall
rotina burra pode interromper as dependências de algum outro programa.A melhor solução para instalações de origem é usar prefixos diferentes dos pacotes instalados pelo gerenciador de pacotes do sistema. O Apt instala arquivos para
/usr/
usar a/usr/local/
hierarquia nas instalações de origem. Isso facilita muito o rastreamento de quais arquivos pertencem a quais pacotes e desinstalações não quebram o sistema../configure --prefix=/usr/local
funciona para muitos scripts de configuração. Caso contrário, você pode editar o Makefile manualmente. Ou apenas copie os arquivos manualmente.O Apt e outros gerenciadores de pacotes controlam quais arquivos eles instalaram e suas dependências reversas, para que suas funções de desinstalação sejam seguras.
fonte
Eu recomendo que você use
apt-get install
para instalar qualquer pacote no linux eapt-get remove
(nome do pacote) ouapt-get purge
(nome do pacote) que removerá não apenas o pacote principal que você deseja desinstalar, mas todos os pacotes ou dependências associados que foram instalados durante a instalação.Agora, para manter seu sistema mais limpo, recomendo que você use
apt-get clean
https://askubuntu.com/questions/144222/how-do-apt-get-clean-and-apt-get-clean-all-differ#144224 ( este post é interessante sobre isso), que removerá todos os arquivos baixados durante a instalação, mas que não são mais necessários.Outro comando que seria útil se você deseja remover todas as dependências instaladas no seu sistema, mas elas não foram removidas quando você o desinstalou
apt-get autoremove
.Se você instalar um pacote via make e make install, será responsável por desinstalá-lo (talvez exista um arquivo README incluído no pacote baixado que informa como fazê-lo), além de tentar desinstalar todas as dependências associadas a ele . É por isso que é sempre recomendável instalar pacotes no Linux oferecidos pelo gerenciador de pacotes da distribuição, se você fizer dessa maneira, pode ter certeza de que seu pacote foi testado o suficiente para funcionar com a distribuição (sabor do Linux) que você está usando e é muito improvável que quebre seu sistema. Além disso, você pode ter certeza de que seu pacote será atualizado quando necessário, enquanto que se você o instalar sozinho, você será o responsável por fazer tudo isso.
Eu espero que isso ajude :)
fonte
A maneira normal de gerenciar aplicativos instalados no Linux é com um gerenciador de pacotes. A escolha dos gerenciadores de pacotes é uma das principais coisas que diferenciam as distribuições. O Ubuntu, como o Debian (no qual é baseado), usa dpkg e APT ; Na maioria das vezes, você só precisa interagir com uma das interfaces do APT, como
apt-get
(linha de comando), aptitude (linha de comando ou modo de texto) ou Synaptic (GUI).Um gerenciador de pacotes controla quais arquivos pertencem a qual programa instalado. Como no Windows, os programas podem executar código arbitrário como parte do procedimento de instalação ou desinstalação, mas geralmente são bem-comportados e não quebram outros programas. Além disso, o código de (des) instalação é escrito pelo mantenedor do pacote, não pelo autor upstream (para pacotes na distribuição principal). Ao contrário do Windows, existe uma interface unificada para instalação, atualização e desinstalação: o gerenciador de pacotes. Você não precisa procurar o desinstalador (se houver), basta clicar no ícone “desinstalar” no gerenciador de pacotes gráficos ou executar
apt-get remove PACKAGENAME
.Se você precisar de um software "exótico", pode ser necessário instalá-lo manualmente, descompactando um arquivo ou compilando a partir do código-fonte. Instaladores que vêm na forma de um programa executável são raros no mundo Linux. Correndo
make install
tende a se espalhar cada programa ao longo de vários diretórios (/usr/local/bin
,/usr/local/man
,/usr/local/lib
, etc.). Para manter as coisas organizadas, eu recomendo o uso de um "gerenciador de pacotes do homem pobre", como o stow . Com o stow, cada pacote é instalado em seu próprio diretório e ostow
utilitário cuida da criação de links simbólicos para que os comandos instalados pelo pacote estejam no caminho de busca de comandos e assim por diante. Consulte Acompanhamento de programas para obter mais detalhes.fonte
apt-get
ou similar). Mas eles apenas colocam programas razoavelmente populares nos repositórios, aqueles que têm usuários suficientes para ter certeza de que eles basicamente fazem o que devem fazer.Quase todas as distros têm sua própria escolha de gerenciador de pacotes, existem várias populares. pacman, apt, rpm, emerge, ... distros baseados em debian usam o apt.
O documento parece assustador, mas na verdade não é tão difícil criar .debs para uso local , basta permanecer na tarefa.
fonte
Você deve tentar usar o gerenciador de pacotes (apt-get, aptitude, synaptic ou aptdcon, software-center, mintinstall, ..) se possível. O uso de uma tarefa make para instalação é muito simples, não é garantido que ele tenha uma
uninstall
contrapartida e que não funcione bem com o resto do sistema (é apenas um script vinculado ao sistema de compilação do make - e, diferentemente de um pacote revisado, as tarefas do make podem conter qualquer código executável, potencialmente malware).Se você não encontrar uma versão empacotada do software de que precisa, poderá achar
checkinstall
(checkinstall make install
) útil.fonte
Não sou especialista e não sei muito sobre a instalação de software a partir da fonte, mas
apt-get
, usando , você pode remover o software instaladoapt-get remove package-name
. Para remover todos os arquivos de configuração também, useapt-get purge package-name
. A maneira mais segura de manter sua instalação Linux organizada é usar apenas pacotes nos repositórios oficiais. Quando é necessário um pacote que não esteja nos repositórios oficiais, ele pode ser encontrado com frequência (desde que você esteja usando o Ubuntu) em um PPA .fonte
apt-get
não serve para o OP que está usandoconfigure
emake install
Como as outras respostas dizem, hoje em dia é comum instalar a grande maioria do seu software usando o gerenciador de pacotes preferido da sua distribuição. Isso é tão conveniente que você provavelmente sentirá falta quando voltar ao Windows! Em certo sentido, os vários "mercados" e "lojas" estão indo nessa direção também para sistemas operacionais comerciais.
Dito isso, lembro que, quando comecei a aprender sobre Linux, fiquei intrigado com a maneira como o software é normalmente instalado. Enquanto no Windows todos os arquivos estão em um único diretório
c:\Programs
, a "maneira unix" tradicional é espalhá-los em "locais padrão" (os detalhes não são tão padronizados, [dê uma olhada no LSB para obter mais informações] [1] ), como/usr/local/bin
para executáveis,/usr/local/doc
documentação e assim por diante.Em certo sentido, o Windows "não sabe" onde estão seus executáveis. Ele sabe que eles estão "em
c:\Program Files
algum lugar abaixo ", mas não muito mais. A varredura de todos esses diretórios para encontrá-los é ou costumava ser proibitivamente cara. Portanto, um link para o executável seria explicitamente colocado em um local conhecido (o menu Iniciar), e é isso que você usaria para iniciá-lo.No Unix / Linux, seu shell e a maioria dos outros programas pesquisam automaticamente executáveis ou outros recursos em um conjunto conhecido de locais. É por isso que, apenas copiando seus arquivos nos diretórios apropriados, você os "verá" automaticamente, sem ter que "registrá-los" em nenhum lugar para que os usuários saibam sobre eles.
Ambos os mecanismos têm seus prós e contras, mas você verá que a abordagem Unix é geralmente mais flexível.
Lembre-se de que existem muitas exceções e detalhes que tornam a imagem não tão clara quanto eu a descrevi, mas acho que esse tipo de introdução pode ser útil para iniciantes, pelo menos, entender a lógica básica por trás dela.
fonte
Eu acho que o melhor conselho é apenas neste post do fórum . Aqui estão suas opções (2 e 3 são mais ou menos iguais em termos de efeito):
Se você não conseguir que esse método funcione, use
checkinstall
como outros recomendaram. É uma substituição muito simples para fazer a instalação:Isso deve compilar o software normalmente e, em seguida, executar
make install
em um ambiente confinado que rastreia o que faz e cria um pacote que faria exatamente essas coisas. Em seguida, instala esse pacote com o seu gerenciador de pacotes. Remover então é como remover qualquer outro pacote, assim como em (2).make install
, eu acho. E espero que o mantenedor do software mantenha uma rotina de desinstalação.fonte