Skip to content


Formas de instalação de software em Linux

Uma das principais diferenças no uso do Linux em relação ao Windows é a maneira de se instalar softwares no primeiro. Como muitas pessoas próximas a mim estão começando a usar Linux, resolvi dedicar um tempo para explicar de forma clara as principais coisas a se saber sobre isto no mesmo.No Windows todos estão acostumados ao famosíssimo Install Shield, que após a tradicional seqüência de Next -> Next -> Next deixa as aplicações prontas para utilização. No Linux, embora até exista o Install Anywhere (http://www.macrovision.com/products/installation/installanywhere.htm?link_id=rightnav), irmão do Install Shield, ele definitivamente não é muito popular, e portanto não entrarei em maiores detalhes sobre o mesmo.

Começarei então a falar sobre as formas clássicas de instalação de software no Linux.

Old School/Advanced

Esta forma era a mais comum inicialmente, e ainda é utilizada por algumas pessoas, principalmente quando se deseja instalar o software de forma otimizada para o hardware específico no qual ele irá rodar. Esta forma consiste em obter o código fonte da aplicação e executar os 3 passos mágicos:
./configure
make
make install

Isto respectivamente irá gerar um makefile para a aplicação, realizar o processo de construção(build) da aplicação e realizar os passos necessários para a efetiva instalação do software. Este processo otimiza a instalação da aplicação para o hardware específico da máquina, pois o compilador consegue identificar as propriedades do hardware e efetuar algumas otimizações baseadas na arquitetura do mesmo. Instalar desta forma é recomendado quando você quer otimizar a execução de uma aplicação ou serviço específico, como um servidor de banco de dados ou o Apache por exemplo. Conheço um cara da Globo(um tal de Coró… hehehehe) que usa a distribuição Gentoo, que instala TODOS os softwares compilando e construindo as aplicações de forma otimizada. Isso é purismo demais para mim, prefiro formas mais fáceis :)

Arquivo shell auto-suficiente

Uma outra forma de instalar softwares no Linux é com o uso de um instalador em formato shell (.sh). Tipicamente este arquivo conterá nele mesmo tudo o que ele precisa para instalar a aplicação. Uma execução simples do arquivo normalmente instala o programa perguntando algumas informações como local de instalação e uma ou outra opção de configuração. Entretanto, não é raro encontrar instaladores que ao serem executados fazem tudo sozinhos (a não ser que você mande-o fazer diferente) e instalam o software com opções padrão. Esta forma de instalação é quase sempre oferecida por aplicações que suportem múltiplos formatos de instalação, pois esta forma atende a qualquer versão de Linux.

Instalação através de gerenciadores de pacotes (package managers)

Esta é sem dúvida a forma mais fácil e recomendada de instalar a grande maioria dos softwares no Linux. Uma das coisas mais importantes que um novo usuário Linux deve aprender é como funciona o gerenciamento de pacotes. Existem 2 formatos principais de pacotes, os rpms e os debs (arquivos .rpm e .deb). A maioria das distribuições escolhe um destes 2 formatos para adotar como padrão, e acredito que a adoção de ambos seja parecida, sem haver um predominante.

O gerenciamento de pacotes no Linux armazena uma lista de fontes de pacotes. Esta lista contém repositórios de pacotes no quais poderão ser obtidos os instaladores das aplicações já no formato que a sua distribuição específica adotar como padrão. As distribuições derivadas do Debian (como Ubuntu e Kubuntu) guardam a lista de repositórios de pacotes no arquivo /etc/apt/sources.list. Não sei dizer onde ficam guardadas as listas de repositórios de rpm nas distribuições que utilizam este formato como padrão, mas geralmente as distribuições oferecem uma interface gráfica para gerenciamento destas listas de repositórios, então não é nada muito complicado de se acessar.

Para conseguir instalar uma determinada aplicação através do gerenciador de pacotes, você precisa basicamente saber se o pacote que você deseja instalar está contido nos repositórios cadastrados e então solicitar a instalação do pacote específico. Como exemplo, o comando que solicita a instalação do firefox no Kubuntu/Ubuntu é “sudo apt-get install firefox”. Caso o pacote do firefox por acaso não estivesse presente em nenhum dos repositórios cadastrados, seria exibida uma mensagem de falha na instalação com a descrição “no installation candidate for firefox”.

Além de instalar através dos repositórios cadastrados é possível instalar pacotes obtidos individualmente também. Você pode ter obtido diretamente o arquivo .deb ou .rpm da aplicação que deseja instalar, e aí você pode instalar diretamente a partir deste pacote obtido, em vez de baixar arquivos do gerenciador de pacotes. Para instalar diretamente um pacote .deb, você faz dpkg –install nome_pacote.deb. Para instalar diretamente um pacote .rpm você faz rpm –install nome_pacote.rpm.

Instalando as aplicações através do gerenciador de pacotes, você consegue remover e atualizar as aplicações pelo gerenciador, e então as instalações ficam sob controle centralizado e a manutenção do sistema fica mais fácil e padronizada.

Embora saiba que não ofereci nem de longe uma referência completa deste amplo tema, espero ter sido capaz de esclarecer um pouco do processo de instalação de softwares no Linux para usuários novos. Caso eu tenha deixado algum ponto mal explicado ou vocês desejem trocar alguma idéia a respeito disso, não hesitem em entrar em contato!

Posted in linux, open source, posts em português.

Tagged with , , , , , , , , .


4 Responses

Stay in touch with the conversation, subscribe to the RSS feed for comments on this post.

  1. Silvano says

    Bruno,

    2 coisas que julgo importante:
    1. No subtópico “Old School/Advanced”, compilar o código com ./configure e make não necessáriamente gera um código mais otimizado para a máquina. Na maioria das vezes não gera. Se quiser otimizar o código para sua máquina, seja ela pentium 4, athlon, etc… vc precisa informar isto para o compilador, gcc em geral. Para isto basta digitar na linha de comando, antes do ./configure:
    export CFLAGS=”-march=pentium4 -fomit-frame-pointer -O3″
    Isto vai permitir o compilador utilizar um conjunto de instrução mais adequado para o seu processador, mas pode deixar o executável incompatível com outros processadores da mesma arquitetura. Para conseguir o máximo da aplicação, consulte a documentação do gcc e os parâmetros de compilação possiveis de acordo com os recursos do seu processador (como mmx, sse3 etc…)

    2. Em “Arquivo shell auto-suficiente”, vai uma dica: muitas vezes o instalador pode não executar pois está sem permissão de execução, isto acontece principalmente quando se baixa uma aplicação através do browser. Para dar permissão de execução a um arquivo digite na linha de comando:
    chmod 755 NOME_DO_ARQUIVO
    Daí “./NOME_DO_ARQUIVO” deve funcionar! ;-)

    abs

  2. blpsilva says

    Opa, boas observações Silvano. Repare que no meu post do DBVisualizer eu mencionei explicitamente a questão das permissões de execução, portanto concordo contigo que é importante lembrar disso. Vou editar o post em breve para que ele fique mais preciso.

    Quanto ao lance do compilador, vc é o guru! Eu acredito que em boa parte dos casos a compilação na máquina gere uma instalação tão boa ou melhor do que se você já obtiver os binários pré-compilados, mas realmente para a otimização extrema, é preciso especificar bem para o compilador, o que pouca gente sabe fazer (eu sou um dos que não sabe! hehehehe).

  3. Silvano says

    Aí que tá… compilar na máquina não gera nada diferente do que baixar os binários. Na prática a compilação tradicional compila para arquitetura i386 e roda em qualquer maquina padrão intel i386 :-) , o mesmo que é feito na compilação genérica. Se quiser gerar um código um pouco mais otimizado, só passandos os flags… e são muitos, mas nem sempre utilizar todos dá a melhor perfomance. Depende de cada caso. Eu já fiz diversos testes com eles. Os flags que escrevi, são os que geram desempenho melhor em praticamente todos os casos.

Continuing the Discussion

  1. 10 principais barreiras para o sucesso do desktop Linux « Bruno Pereira linked to this post on 29/03/2008

    [...] instalar na internet, baixar o instalador e Next -> Next -> Next. No Linux isto é diferente, como já falei previamente. As pessoas estranham inicialmente o conceito de repositórios de pacotes, mas isso na verdade [...]



Some HTML is OK

or, reply to this post via trackback.



  • anxiety medications
  • buy augmentin
  • treatment of congestive heart failure
  • prescription pills
  • skin care treatment
  • naturally lower cholesterol
  • natural teeth whitening
  • how does levitra work
  • hard stool constipation treatment
  • hepatitis b symptoms treatment
  • anti-smoking websites
  • tadalafil professional
  • alcoholism treatment program
  • dog thyroid
  • antibiotics pregnancy
  • generic for zocor
  • body building product
  • hair loss
  • zoloft 50mg
  • buy body building prescription
  • how sleeping helps
  • muscle spasms
  • cancer medication
  • cholesterol zocor
  • parkinson's drugs
  • arrhythmias and treatments
  • muscle pain treatment
  • osteoporosis help
  • cialis cheap
  • natural dog remedies
  • hypertension medications pharmacy
  • elavil dose
  • most effective weight loss products
  • celebrex buy online
  • health product woman
  • living with heart failure
  • weight loss after preganancy
  • diabetes treatment drugs
  • low back pain relief
  • prevention of lung diseases
  • treatment of aids
  • viagra on-line
  • online medications without a prescription
  • buy acto plus
  • antidiabetic medications
  • generic plavix
  • pain med without a prescription
  • levaquin urinary
  • on line pharmacy
  • osteoarthritis medicine knees
  • 5mg cialis generic
  • discount viagra generic
  • canadian pharmacies
  • treating hair loss
  • new drug for arthritis
  • help with snoring problems
  • natural medicine for bone loss
  • pravastatin
  • alcoholism treatment
  • antibiotics no prescription
  • order perscription drugs online
  • discount birth control perscriptions
  • cheap phentermine online
  • arthritis of the neck
  • womens hair loss
  • buy diabetes drugs
  • propecia for hair loss
  • zantac prevacid
  • weight loss supplements that work
  • little penis
  • buy kamagra jelly
  • heart attack woman
  • dog skin remedies
  • cholesterol reducing medicines
  • cost of clomid
  • drugs used for hypertension
  • pain cure
  • over-the-counter diuretics
  • women body building
  • propecia pharmacy
  • levitra facts
  • discount medicine
  • attention deficit hyperactive disorder
  • prescription drugs on line
  • online medication
  • drugs that reduce swelling
  • tramadol generic name
  • cat hairball remedies
  • alternative hair loss cures
  • women taking viagra
  • drugs fda
  • viagra and buy
  • treatment of breast cancer
  • benefits of vitamin d
  • cure acne
  • what are the effects of klonopin
  • list of free prescription drugs
  • anxiety celexa
  • problems breathing
  • prescription clonazepam
  • cure hypertension
  • prescription drugs without prescription
  • infertility treatment
  • muscle burning pain
  • menopause cures
  • med orders
  • dementia treatment
  • types of blood pressure medicine
  • bodybuilding drugs
  • aids treatment
  • buy valium in uk
  • buy 10 mg cialis
  • buy medication
  • metronidazole dose
  • prozac and pregnancy
  • rapid hair loss
  • side effects of valium
  • treatment for hepatitis c
  • sildenafil kamagra
  • viagra with out prescription
  • help for sleeping problems
  • phentermine without prescription
  • fast weight loss cheap pills
  • sleep aids
  • next day medication
  • diet pills without a prescription
  • online generic drugs
  • retin a buy
  • buy viagra soft online
  • control blood pressure
  • online pharmacies no prescriptions
  • withdrawal zoloft
  • sleep disorders
  • cialis cheap
  • blood cholesterol
  • dog antibiotics
  • trental drug
  • where to get viagra
  • cures for hair loss
  • list of antibiotics drugs
  • order diovan
  • claritin versus zyrtec
  • drug discount codes
  • viagra cheap prescription
  • discount stop smoking prescription
  • allegra drug
  • viagra users
  • obesity diet help
  • hair loss product treatment price
  • phentermine pills
  • prozac pill
  • retin a cheap
  • strong erection
  • zoloft discount
  • prescription pain medicines
  • best male enhancement drugs
  • help with snoring problems
  • prevention of lung diseases
  • canada drug pharmacy
  • female sexual enhancement pills
  • where to buy ambien
  • effects side viagra
  • buy all drugs
  • healthy dog foods
  • plan b pregnancy
  • new adhd drugs
  • body building sites
  • cheap pain medications
  • alzheimers drugs
  • levitra effect
  • phentermine 90 pills
  • smoking cessation drugs
  • online drug stores
  • how do you prevent bone loss
  • mexican pharmacy online
  • thyroid pill pet
  • medical heart failure
  • viagra for sale without a prescription
  • diabetes meds
  • cholesterol and health
  • chronic itching and swelling in skin
  • discount anxiety drugs
  • cheap viagra in uk
  • quitting zyban
  • order phentermine diet pill
  • online pharmacy carisoprodol
  • how to relieve back pain
  • medications to help clot blood
  • new adhd drugs
  • what is valium used for
  • taking zoloft
  • doxycycline dose
  • order diovan
  • gaining muscle mass
  • discount medicine
  • coreg dosage
  • drugs for pain
  • cheap no prescription viagra
  • coupon claritin
  • soma price