Página anterior Voltar ao início do trabalhoPágina seguinte 

 

Como host do repositório apt, você pode também usar os mirrors (espelhos) disponíveis, como listado na página do http://apt.freshrpms.net :

...Ou você pode criar seu próprio mirror, como explicado mais a frente neste tutorial.

3. Utilizando o APT

Agora é hora de colocar a ferramenta pra funcionar. Antes de mais nada precisamos atualizar os índices do repositório APT, armazenando-o no nosso sistema. Para fazer isso, você só precisa de um comando:

# apt-get update

E ele irá atualizar o índice do repositório configurado no arquivo /etc/apt/sources.list como explicado antes. Se tudo ocorrer bem, tudo ira seguir mais ou menos como mostro abaixo:

# apt-get update

Get:1 http://ayo.freshrpms.ne redhat/9/en/i386 release [714B]

Fetched 714B in 0s (4010B/s)

Hit http://ayo.freshrpms.net redhat/9/en/i386/os pkglist

Hit http://ayo.freshrpms.ne redhat/9/en/i386/os release

Get:1 http://ayo.freshrpms.ne redhat/9/en/i386/updates pkglist [434kB]

Hit http://ayo.freshrpms.ne redhat/9/en/i386/updates release

Fetched 434kB in 2s (208kB/s)

Reading Package Lists... Done

Building Dependency Tree... Done

Depois do indice atualizado no sistema, é hora de você começar a colocar as coisas pra funcionar. Vamos agora por exemplo, tentar atualizar o sistema:

# apt-get upgrade

Reading Package Lists... Done

Building Dependency Tree... Done

The following packages will be upgraded

libxml2

1 packages upgraded, 0 newly installed, 0 removed and 0 not upgraded.

Need to get 584kB of archives.

After unpacking 160B of additional disk space will be used.

Do you want to continue? [Y/n] y

Get:1 http://ayo.freshrpms.net redhat/9/en/i386/updates libxml2 2.5.4-3.rh9 [584kB]

Fetched 584kB in 0s (4262kB/s)

Executing RPM (-Uvh)...

warning: /var/cache/apt/archives/libxml2_2.5.4-3.rh9_i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:libxml2 ########################################### [100%]

Como você pôde ver acima, eu utilizei o comando apt-get upgrade para procurar por pacotes mais novos e atualizar o sistema com eles. Na minha configuração, eu coloquei o módulo updates no /etc/apt/sources.list, então isso quer dizer que as atualizações que estiverem neste local do repositório serão reconhecidas pelo APT. É assim que fica fácil de se atualizar o sistema.

Se eu fizer novamente o processo acima, olha o que vou conseguir:

# apt-get upgrade

Reading Package Lists... Done

Building Dependency Tree... Done

0 packages upgraded, 0 newly installed, 0 removed and 0 not upgraded.

Ou seja, todos os pacotes estão atualizados no meu sistema.

Suponhamos agora que você queira instalar uns pacotes do PHP, mas não sabe ao certo como eles se chamam. Com o APT, você pode procurar no índice por pacotes que tenham em sua descrição certas palavras, como por exemplo PHP. Para fazer isso, utilizamos o comando apt-cache, veja só:

# apt-cache search php

asp2php - Converts WWW Active Server Pages to PHP pages

asp2php-gtk - gtk+ frontend for asp2php

quanta - K Desktop Environment - core files

php - The PHP HTML-embedded scripting language. (PHP: Hypertext Preprocessor)

php-devel - Files needed for building PHP extensions.

php-imap - An Apache module for PHP applications that use IMAP.

php-ldap - A module for PHP applications that use LDAP.

php-manual - The PHP manual, in HTML format.

php-mysql - A module for PHP applications that use MySQL databases.

php-odbc - A module for PHP applications that use ODBC databases.

php-pgsql - A PostgreSQL database module for PHP.

php-snmp - A module for PHP applications that query SNMP-managed devices.

squirrelmail - SquirrelMail webmail client

Viu só? Estes são os pacotes relacionados com o PHP. Que tal a gente instalar o php-manual e dar uma lida pra aprender? Veja só como se faz:

# apt-get install php-manual

Reading Package Lists... Done

Building Dependency Tree... Done

The following NEW packages will be installed:

php-manual

0 packages upgraded, 1 newly installed, 0 removed and 0 not upgraded.

Need to get 13.7MB of archives.

After unpacking 92.7MB of additional disk space will be used.

Get:1 http://ayo.freshrpms.net redhat/9/en/i386/updates php-manual 4.2.2-17.2 [13.7MB]

Fetched 13.7MB in 1s (10.9MB/s)

Executing RPM (-Uvh)...

warning: /var/cache/apt/archives/php-manual_4.2.2-17.2_i386.rpm: V3 DSA signature: NOKEY, key ID db42a60e

Preparing... ########################################### [100%]

1:php-manual ########################################### [100%]

Uma coisa muito legal do APT é que se você quer instalar ou remover um pacote, e este pacote depende de outros pacotes, o APT sabe disso e resolve isso pra você: ele pergunta se você quer também instalar/remover os pacotes dependentes. Ou seja, se você não tiver o PHP instalado em sua máquina e tentar instalar o php-imap, o APT vai querer instalar também o pacote principal php, pois o php-imap é dependente dele. Teste para ver.

E agora que eu já li o manual do PHP inteiro em apenas alguns segundos, eu quero removê-lo. Você pode remover muito bem utilizando o RPM, mas aqui estamos aprendendo sobre o APT, então utilizaremos:

# apt-get remove php-manual

Reading Package Lists... Done

Building Dependency Tree... Done

The following packages will be REMOVED:

php-manual

0 packages upgraded, 0 newly installed, 1 removed and 0 not upgraded.

Need to get 0B of archives.

After unpacking 92.7MB disk space will be freed.

Do you want to continue? [Y/n] y

Executing RPM (-e)...

E lá se vai o manual do PHP. Como eu disse acima, se algum outro pacote depender do manual do PHP, o APT perguntará a você se deseja remover o outro pacote também.

E agora como nota final de uso, você pode atualizar uma versão de distribuição inteira através do APT. Para isso você só precisa mudar a versão do seu repositório (arquivo /etc/apt/sources.list) para uma versão superior a sua e executar o comando apt-get dist-upgrade.

E pra terminar essa seção, vamos à tabelinha básica dos comandos e suas funções:

Comando

Função

apt-get install <pacote>

Instala um pacote e suas dependências.

apt-get remove <pacote>

Remove um pacote e suas dependências.

apt-get upgrade

Procura por pacotes mais novos para fazer atualizações.

apt-get dist-upgrade

Faz uma atualização de versão da distribuição.

apt-cache search <termo>

Procura por termo nas descrições dos pacotes disponíveis.

E basicamente é isso. Utilizar o APT é muito simples e não requer muito segredo, nem esforço. Mas uma coisa é certa: uma vez que você começa a usar o APT, não quer parar nunca por causa de sua praticidade.

4. Montando um repositório local do APT/RedHat

Se você é um usuário doméstico ou tem poucas máquinas em sua mão rodando Linux, já é muito prático você utilizar o APT com os repositórios disponíveis por aí na Internet. Mas para os administradores de Rede que possuem várias máquinas Linux, seja na mesma rede ou não, pedir para cada uma delas instalar ou atualizar pacotes da Internet é um desperdício de banda, além de um péssimo favor para os servidores externos. Então por que não fazer um repositório APT local?

O método aqui utilizado criará um mirror (espelho) do FTP da RedHat no seu sistema local, e scripts irão criar os índices do APT em sua máquina. Para fazer o espelho, precisaremos do pacote lftp, então se você não o possue, o que está esperando? apt-get install lftp!

Criando o espelho da distribuição

Baixe o script make-redhat-mirror disponível nesta página e coloque-o no diretório /usr/local/bin. Então rode inicialmente o seguinte comando:

# /usr/local/bin/make-redhat-mirror full 9

E espere. Espere bastante. O script irá baixar todo o conteúdo do RedHat 9 (inclusive as atualizações) para o diretório /var/mirror/redhat. Este diretório de destino pode ser configurado dentro do script, editando-o. Inclusive você pode editar também o FTP onde o mirror vai tirar seus arquivos. Tente achar um mirror da RedHat mais próximo de você.

Só será necessário rodar este comando uma vez. Mas depois você vai querer se manter atualizado com os novos pacotes, então para atualizar apenas a parte de updates, utilize o seguinte comando:

# /usr/local/bin/make-redhat-mirror quick 9

Mais tarde iremos também colocar no crontab para rodar as atualizações de índice com o FTP da RedHat automaticamente todo dia.

Preparando o território do APT

Antes de criar os índices, você precisará primeiro de um método para os clientes do APT baixarem as coisas. O método pode ser HTTP e FTP (Pode ser CD-ROM também, mas isso não vem ao caso). Fica ao seu critério escolher o método. No meu caso eu prefiro criar um host virtual no Apache chamado de apt.meudominio.com.br. Ou se você não tem domínio, pode usar seu próprio IP.

Isto será extremamente necessário, e a configuração disto está fora do escopo deste tutorial. Se você não sabe, procure saber como configurar um servidor HTTP ou FTP. Provavelmente você sabe um pouco, senão não estaria lendo esta parte do tutorial :)

Aqui, como eu disse, o lugar do repositório APT vai ser apt.meudominio.com.br, e o diretorio real no sistema vai ser /var/www/dominios/apt.meudominio.com.br/html.

Criando o repositório APT

Agora é a hora de criar o repositório do APT em sua máquina. Para isso, baixe o script make-apt disponível nesta página e coloque-o em /usr/local/bin. Edite o script e você verá algumas variáveis no começo para serem configuradas:

# Absolute directory for top of redhat mirror

MIRRORDIR=/var/mirror/redhat

# Absolute directory for top of apt repository

APTDIR=/var/www/dominios/apt.meudominio.com.br/html

# URL of repository

ORIGINURL=apt.meudominio.com.br

Veja aí o que você precisa. A variável MIRRORDIR indica onde você colocou o mirror do RedHat (isto está configurado também no script make-redhat-mirror). A variável APTDIR indica o diretório no sistema onde vai ficar o repositório do APT, que no nosso caso ficou sendo como /var/www/dominios/apt.meudominio.com.br/html. E por último a variável ORIGINURL indica a URL onde vai estar disponível o repositório, que no nosso caso ficou sendo apt.meudominio.com.br.

Depois de configurado estas três variáveis, é hora de finalmente criar o repositório. Na primeira vez que você for fazer isso, utilize o comando:

# /usr/local/bin/make-apt full 9

Isso irá iniciar o processo de criação do repositório, que deve demorar um pouquinho. Depois de feito, está pronto! Agora seus usuários já podem acessar o seu repositório APT através do seu servidor HTTP.

Configurando os clientes para usar seu repositório

Tudo que você precisará fazer para configurar os clientes do APT para utilizar o seu repositório será alterar o arquivo /etc/apt/sources.list e utilizar a seguinte linha:

rpm http://apt.meudominio.com.br redhat/9/en/i386 os updates

E pronto! Se você estiver rodando várias máquinas numa rede interna, apenas uma terá o repositório e o resto irá baixar tudo localmente :)

Atualizando o repositório diariamente

Como existem as atualizações de segurança, é sempre bom você estar sempre atualizando seu repositório. Para fazer isso diariamente, crie um arquivo chamado /usr/local/bin/mirror-apt com o seguinte conteúdo:

#!/bin/bash

/usr/local/bin/make-redhat-mirror quick 9

/usr/local/bin/make-apt quick 9

Depois edite o arquivo /etc/crontab, e adicione as seguintes linhas:

# Atualizacao do Mirror RedHat e APT

01 1 * * * root /usr/local/bin/mirror-apt

Isso fará com que o sistema verifique as atualizações no FTP da RedHat e crie o repositório APT caso necessário todo dia às 1:00 da manhã. Se você quiser aprender mais sobre como agendar as tarefas através do crontab, visite meu outro tutorial: Utilizando o crontab.

E pronto! Seu trabalho está feito. Experimente e modifique as coisas para aprender mais. Não é tão difícil adaptar estas informações para criar um repositório do Fedora por exemplo, ou de outra versão do RedHat. A única coisa que irá mudar será a localização do mirror, entre outras pequenas coisas.

5. Conclusão e Referências

Espero que você tenha gostado desse tutorial, e que ele possa ter te ajudado a lidar melhor com sua distribuição. Críticas e Sugestões podem ser mandadas para o meu e-mail. E agora os créditos para este tutorial:

  • http://www.webmo.net/support/apt_repository.html - Foi daí que peguei os scripts make-redhat-mirror e make-apt, e foi aí que aprendi basicamente como se monta o repositório. Créditos TOTAIS para este endereço, muito bom.
  • FreshRPMS - Ótimo site com os recursos necessários para o APT ou YUM no RedHat. Um dos pioneiros, e o que trouxe a popularidade do APT no RedHat.
  • AptRpm @ Conectiva - Site do APT na Conectiva, idealizadora do projeto.

Hugo Cisneiros
hugo[arroba]devin.com.br



 Página anterior Voltar ao início do trabalhoPágina seguinte 



As opiniões expressas em todos os documentos publicados aqui neste site são de responsabilidade exclusiva dos autores e não de Monografias.com. O objetivo de Monografias.com é disponibilizar o conhecimento para toda a sua comunidade. É de responsabilidade de cada leitor o eventual uso que venha a fazer desta informação. Em qualquer caso é obrigatória a citação bibliográfica completa, incluindo o autor e o site Monografias.com.