ct

    Uma revisão sobre gerenciamento de pacotes e serviços

    Artigos

    Carlos E. Morimoto
    19/05/2006


    Graças aos sistemas de gerenciamento de pacotes usados nas distribuições, instalar e remover cada programa ou servidor, assim como inicializar e reinicializar cada um, ativando mudanças na configuração, tornou-se uma tarefa bastante simples. Isso permite que você se concentre na configuração propriamente dita, deixando as tarefas mecânicas a cargo dos mantenedores.

    As distribuições derivadas do Debian, incluindo o Ubuntu, Kurumin, Knoppix e muitos outros, utilizam o apt-get como gerenciador de pacotes.

    O uso do apt-get é bastante simples. Ele trabalha baixando pacotes a partir dos repositórios oficiais do Debian, de forma que você obtém sempre a versão mais atualizada. Para que o sistema funcione, é preciso baixar periodicamente uma lista com os pacotes disponíveis em cada servidor, permitindo que o apt-get mantenha seu banco de dados local. Isto é feito usando o comando:

    # apt-get update

    Ele deve ser executado regularmente, de preferência antes de fazer cada instalação, já que num servidor, por exemplo, é crítico trabalhar com as versões mais atuais dos pacotes, devido à questão das atualizações de segurança.

    Para instalar qualquer pacote pelo apt-get, use o comando "apt-get install", como em:

    # apt-get install apache2

    O apt-get instala automaticamente todas dependências do pacote, pedindo sua confirmação. Leia tudo antes de confirmar, pois em alguns casos raros o apt-get pode propor soluções um tanto quanto desastrosas para conflitos de pacotes. Pode acontecer dele propor remover todo o KDE para instalar uma biblioteca antiga, que conflite ou substitua algum dos pacotes base, por exemplo. Mesmo em casos extremos como este, você sempre tem a chance de abortar a instalação, basta ficar atento às mensagens ;).

    Para remover um pacote, use o comando "apt-get remove", como em:

    # apt-get remove apache2

    Para atualizar um pacote, rode o comando "apt-get update" e em seguida use o "apt-get install", como se estivesse instalando-o novamente. O apt-get sabe que o pacote já está instalado, por isso se limita a atualizá-lo, mantendo as configurações. É importante atualizar periodicamente os pacotes relacionados a servidores, por causa das atualizações de segurança.

    É possível também atualizar de uma vez todos os pacotes do sistema. Isso só é recomendável se você está utilizando uma distribuição baseada numa versão estável do Debian. Por exemplo, o Kurumin 5.0 é baseado no Sarge, que foi finalizado em 2003, enquanto o Kurumin 6.2 será baseado no Etch, cujo lançamento está planejado para o final de 2006.

    Para isso, use o comando:

    # apt-get upgrade

    Muitas distribuições (como o Kanotix e o Knoppix) são baseados no Debian Sid (a versão instável) e a maioria das versões do Kurumin são baseadas no Debian Testing. Nestes casos, você precisa tomar bastante cuidado ao rodar o "apt-get upgrade", pois as atualizações viram um alvo em movimento.

    Para instalar um pacote .deb que você baixou manualmente, use o comando "dpkg -i", como em:

    # dpkg -i sarg_2.0.5.dfsg-1_i386.deb

    Os pacotes instalados manualmente através do dpkg não passam pela verificação de dependências do apt-get, abrindo margem para problemas diversos. Para que o apt-get verifique a instalação e coloque ordem na casa, é recomendável rodar logo em seguida o comando:

    # apt-get -f install

    O apt-get trabalha com dois arquivos de configuração. O principal é o arquivo "/etc/apt/sources.list", onde vai a lista dos servidores utilizados. Imagine que na sua máquina o arquivo contém a linha:
    deb http://ftp.br.debian.org/debian etch main contrib non-free
    Por algum motivo, o servidor está inacessível no momento, o que faz com que você receba mensagens de erro ao rodar o "apt-get update" ou ao instalar pacotes. Para resolver o problema, você precisaria apenas alterar o arquivo, especificando outro servidor, como em:
    deb http://ftp.us.debian.org/debian etch main contrib non-free
    Aqui substituímos o "br" por "us", fazendo com que passe a ser utilizado o mirror dos EUA. Os servidores disponíveis são identificados pelos códigos de país, como "de", "uk", "es", "it", etc.

    No caso do Ubuntu, existe uma pegadinha. A maioria dos pacotes, incluindo quase todos os pacotes para servidores estão concentrados no "Universe", um repositório extra que vem desabilitado por padrão. Antes de mais nada, você precisa editar o arquivo "/etc/apt/sources.list", descomentando a linha referente ao Universe e rodar o "apt-get update".


    No Fedora é usado por padrão o "yum", que funciona de forma bem similar ao apt-get, baixando os pacotes da Internet, junto com as dependências. Existem muitas diferenças entre o Fedora e o Debian, uma delas é o formato dos pacotes utilizados: o Fedora utiliza pacotes .rpm, enquanto o Debian utiliza pacotes .deb.

    Ambos também utilizam repositórios separados, com pacotes construídos especificamente para cada uma das duas distribuições, de forma que existem algumas diferenças nos nomes dos pacotes e arquivos de configuração usados.

    Voltando ao uso do yum, comece baixando as listas dos pacotes disponíveis, usando o comando:

    # yum check-update

    Ele funciona de forma análoga ao "apt-get update", com a diferença que de a lista dos servidores usados não vai no arquivo sources.list, mas é dividida em diversos arquivos (um para cada servidor usado), organizados na pasta "/etc/yum.repos.d/".

    Para instalar um pacote, use o comando "yum install", como em:

    # yum install wpa_supplicant

    Para removê-lo posteriormente, use:

    # yum remove wpa_supplicant

    O yum possui também um recurso de busca, que é bastante útil quando você está procurando por um pacote, mas não sabe o nome exato, ou em casos de pacotes que possuem nomes diferentes em relação a outras distribuições. Use o comando "yum search", seguido por alguma palavra ou expressão, que faça parte do nome do pacote ou descrição, como em:

    # yum search apache

    Ele retorna um relatório contendo todos os pacotes relacionados, incluindo o texto de descrição de cada um.

    Para atualizar um pacote, use o comando "yum update", como em:

    # yum update wpa_supplicant

    Se usado sem especificar um pacote, o "update" vai atualizar de uma vez só todos os pacotes do sistema, de forma similar ao "apt-get upgrade" do Debian:

    # yum update

    Existe ainda o comando "yum upgrade", que é um pouco mais incisivo, incluindo também pacotes marcados como obsoletos (que não existem mais na versão atual). Ele é útil em casos onde é necessário atualizar uma versão antiga do Fedora:

    # yum upgrade

    O yum é utilizado também em distribuições derivadas do Fedora, ou do Red Hat Enterprise, como o CentOS.

    Embora também seja derivado do Red Hat, o Mandriva utiliza um gerenciador próprio, o "urpmi", que é também bastante simples de usar. Para instalar um pacote, você usa o comando "urpmi pacote", como em:

    # urpmi samba

    Para removê-lo, use o comando "urpme", como em:

    # urpme samba

    Um dos pontos fortes do Mandriva é que todo o gerenciamento de pacotes pode ser feito usando as opções dentro do Mandriva Control Center, o que permite dispensar a linha de comando para a maioria das operações.

    Nas distribuições derivadas do Debian, você tem algo similar usando o Synaptic, que (quando não vem instalado por padrão), pode ser instalado via apt-get:

    index_html_m4985cbf
    Temos em seguida a questão dos serviços:

    Servidores como o Apache são também chamados de "daemons" ou "serviços de sistema", abreviação do termo "system services". Ambos os termos indicam um programa que fica residente, respondendo a requisições de outros micros ou executando tarefas de forma automatizada. É o caso não apenas de servidores como o Squid, Samba, Postfix e tantos outros, mas também de programas como o Cron e de ferramentas de detecção de hardware, como o Udev e o Hotplug.

    A tarefa de iniciar, parar e reiniciar estes serviços é automatizada por um conjunto de scripts localizados na pasta "/etc/init.d" (ou "/etc/rc.d/init.d", dependendo da distribuição usada).

    Nas distribuições derivadas do Debian, você inicia um serviço usando o comando "/etc/init.d/nome start", como em:

    # /etc/init.d/apache2 start

    Para parar, é usado o mesmo comando, com o parâmetro "stop":

    # /etc/init.d/apache2 stop

    Muitos serviços suportam também os parâmetros "restart" e "reload" (ou "force-reload"), usados para ativar mudanças na configuração. A diferença entre os três é que o "restart" é simplesmente uma combinação do "stop" e "start", enquanto o ""reload ou "force-reload" (quando disponíveis) fazem com que o serviço releia o arquivo de configuração, porém sem interromper sua atividade. Isso é importante no caso de um servidor web com muitos acessos, por exemplo.

    Temos ainda o comando "update-rc.d", que permite definir se um serviço vai ser ativado ou não durante o boot.

    Imagine o caso de um servidor onde você utiliza um servidor FTP para disponibilizar arquivos esporadicamente, ativando-o e desativando-o manualmente. Ao instalar o Proftpd, ele fica configurado para inicializar automaticamente durante o boot. Para desativar a inicialização automática, você usaria o comando:

    # update-rc.d -f proftpd remove

    Se mudar de idéia e quiser que ele volte a ser inicializado durante o boot, use:

    # update rc.d -f proftpd defaults

    No caso das distribuições derivadas do Fedora (e também no Mandriva), usamos os comandos "service" e "chkconfig".

    O primeiro permite ativar, desativar e reiniciar um serviço, como em:

    # service sshd start
    # service ssh stop
    # service ssh restart

    ... enquanto o segundo permite definir se ele vai ser inicializado ou não durante o boot, de forma análoga ao "update-rc.d" do Debian. Para fazer com que o SSH seja ativado durante o boot, você usaria:

    # chkconfig sshd on

    E para desativar, usaria:

    # chkconfig sshd off

    A maioria das distribuições se enquadra num destes dois sistemas. A principal exceção é o Slackware. Ele usa uma estrutura simplificada, onde para ativar ou desativar a inicialização de um serviço, você simplesmente adiciona ou retira a permissão de execução do script correspondente, dentro da pasta "/etc/rc.d".

    Para ativar o SSH você usaria:

    # chmod +x /etc/rc.d/rc.ssh

    E para desativá-lo, usaria:

    # chmod -x /etc/rc.d/rc.ssh

    Para iniciar ou parar o serviço, você executa o mesmo script, usando os parâmetros "start" ou "stop", como em:

    # /etc/rc.d/rc.ssh start
    # /etc/rc.d/rc.ssh stop



    Blog:

    Add to Google

    » Gostou do texto? Veja nossos livros impressos:
    Hardware | Redes | Servidores | Kurumin 7

    ... ou encontre o que procura usando a busca:

cb
ct
Atualizações

[11/10] Linux: Aplicativos em modo texto
[11/10] HDs: Entendendo a formatação e os sistemas de arquivos
[11/10] Opções de VoIP para smartphones
[10/10] Artigo: Criando comunidades produtivas com ferramentas livres
[09/10] Mini-review do Satux
[09/10] Placas 3D para notebooks
[08/10] Processadores da AMD para notebooks
[08/10] Slackware: Baixando e instalando
[08/10] Artigo: 'Bootando' o Linux em cinco segundos
[07/10] Baterias: Li-ion e células de combustível
[07/10] Tutorial: Nokia S40: o elo perdido (atualizado)
[07/10] Um lugar para o Slackware
[06/10] Baterias e transmissão de energia sem fios
[06/10] Navegadores móveis: Opera Mini, Safari e Nokia Browser
[06/10] Dica: Pirando na batatinha com o Blender e Python
[05/10] Navegadores móveis: IE Mobile e Opera Mobile
Leia mais sobre: Smartphones, GPS, Manutenção de micros, configuração do Setup, RAID, Linux, drivers no Linux, shell script, cabeamento de rede, TCP/IP, IPV6, aplicativos Linux, solução de problemas no Linux, configuração do Samba, configuração do Apache, configuração do Squid, firewall
Destaques



» Hackeando as senhas no Windows XP
» Usando o DansGuardian
» Estática
» Softmodems no Linux: Intel AC'97 e ATI IXP
» Instalando o Apache
» Entendendo o IPV6
» AMR e CNR
» Instalando o Apache + PHP + MySQL no Windows
» Configurando a rede no Windows
» IPv6: Um exemplo prático
» Entendendo a Internet sob rede elétrica
» Dicas de segurança
» Configurando rapidamente uma rede entre dois micros
Assine o RSS Veja todas as atualizações... Add to iGoogle
cb
Livros de Carlos E. Morimoto HOME