Archive for October, 2006

APTonCD - Relato de desenvolvimento

Sunday, October 8th, 2006

Introdução

Desde quando usava Debian, tenho adoração pelo APT, sinto que não seria nada sem ele. Esta fantástica e espetacular ferramenta que possibilita a fácil/rápida/simples instalação de pacotes com apenas um único comando (ou alguns poucos cliques, se for adepto do Synaptic).

No entanto, desde quando era usuário de conexão discada, sempre tive problemas quanto à instalação dos pacotes vindos diretamente da Internet, pois era dependente de uma conexão rápida e a conexão deveria estar ativa no momento em que eu quisesse instalar o pacote, o que nem sempre era possível. O que acontece com muitos usuários é a indisponibilidade de conexão para a instalação de determinados pacotes que se encontram no repositório do Ubuntu.

Para acabar com este e muitos outros problemas, de todos os usuários do Ubuntu, resolvi criar uma ferramenta capaz de gerenciar/salvar/restaurar estes pacotes baixados através do APT, abrindo um leque de possibilidades para os usuários e administradores de sistemas.

O Que É

O APTonCD é um programa escrito em Python e com interface em GTK, com uma usabilidade atrativa e GUI projetada para o uso intuitivo e para ser operado tanto por usuários leigos quanto administradores de sistemas.

Esta mídia APTonCD gerada é um repositório removível do APT, ou seja, adicionando-a como fonte do APT (com o conhecido comando ‘apt-cdrom add’ ou pela própria interface gráfica do APTonCD) é possível instalar qualquer programa contido na mídia, juntamente com suas dependências, usando o apt-get, aptitude ou até mesmo pela interface gráfica do Synaptic.

Recursos

Bom, mas é difícil explicar o que é o APTonCD, poucas palavras dificilmente o descreveriam, então citarei algumas coisas que você pode fazer com o APTonCD:

  • Criar um CD-Repositório com todos os pacotes baixados através do apt-get, aptitude ou Synaptic;
  • Instalar os mesmos pacotes em diversas máquinas, usando o mesmo CD-Repositório gerado pelo APTonCD (APTonCD mídia);
  • Atualizar os softwares/pacotes de diversas máquinas, baixando somente uma vez os pacotes;
  • Adicionar à mídia pacotes previamente salvos, juntamente com os pacotes do apt-cache;
  • Fazer atualizações de segurança em uma máquina sem conexão à Internet;
  • Criar um CD/DVD personalizado com todas as aplicações mais comuns, incluindo codecs multimídia e outros pacotes não inclusos por padrão no Ubuntu ou nem mesmo nos repositórios oficiais

Features”

    Mas não é somente o que o APTonCD pode fazer por você que o torna uma ambiciosa ferramenta, é a forma como ele faz. Eis algumas “features” dele:

    • Exibe uma lista dos pacotes disponíveis no cache do APT;
    • Mostra as informações do pacote como tamanho, versão e descrição;
    • Exibe o número de pacotes disponíveis/selecionados bem como tamanho total;
    • Para evitar ter versões obsoletas ou pacotes duplicados de versões diferentes, se houverem duas versões do mesmo pacote, por padrão, o APTonCD seleciona somente a versão mais nova, mas possibilitando ainda você inserir duas (ou mais) versões do mesmo pacote;
    • Lhe permite adicionar à mídia, juntamente com os outros, pacotes .deb previamente salvos/baixados, como por exemplo, a ultima versão daquele seu programa predileto mas que ainda não está nos repositórios, para você instalá-lo posteriormente pelo apt-get ou synaptic;
    • O APTonCD cria, por padrão, um meta-pacote contendo como dependência todos os pacotes selecionados que foram para a mídia APTonCD, possibilitando assim a fácil instalação de todos eles, caso você não se lembre quais pacotes colocou na mídia, ou simplesmente quer instala-los todos de uma vez;
    • Você pode ainda enviar este meta-pacote (ele é pequeno, normalmente menos de 30 kb) para um amigo, ou então distribuí-lo, assim qualquer um pode instalar estes pacotes dependentes a partir dos repositórios, já que ele procurará pelos mesmos pacotes nas fontes disponíveis. Tudo isto de forma automática;
    • O APTonCD ainda lhe permite escolher o tipo de mídia em que será gravado, CD ou DVD; e caso o tamanho total dos pacotes selecionados ultrapasse o tamanho da mídia, ele automaticamente divide os pacotes dentro de quantas imagens forem preciso;
    • Ele também pode fazer o caminho inverso: Adicionar os pacotes de um CD/DVD de volta para o apt-cache, estando eles assim disponíveis em uma futura mídia gerada e/ou para a instalação destes pacotes sem a necessidade de ficar inserindo o CD/DVD;

    Casos de uso

    O APTonCD é uma ferramenta flexível e extensível, seu uso pode ser para os mais variados fins, e ainda assim consegue ser consistente e adequado para cada um deles, sendo intuitivo e de fácil operação. Com um pouco de imaginação você pode logo pensar em usa-lo para fazer backup dos seus pacotes; Compartilhar tudo que instalou com seus amigos; Usa-lo no trabalho para levar os pacotes para casa; Fazer um CD/DVD personalizado com todos os codecs multimídia e todos seus pacotes prediletos… etc. Sua imaginação é o limite ;)

    Desenvolvimento

    O APTonCD ainda se encontra em fase de desenvolvimento e testes, ainda não alcançou seu primeiro alpha. Atualmente o time de desenvolvimento é constituído por Laudeci Oliveira (aka Pretto), Og Maciel e Rafael Proença (aka CypherBIOS, eu). O projeto já está registrado no SourceForge.net e Launchpad. O repositório subversion está ativo e pode ser checado com o comando:

    svn co https://svn.sourceforge.net/svnroot/aptoncd aptoncd

    Graças ao Rosetta e alguns contribuidores ao redor do globo, o APTonCD já conta com o suporte à 7 idiomas, e as traduções podem ser feitas diretamente pelo Launchpad.

    A página do projeto contém alguns detalhes de como contribuir.

    Feedback

    Todo e qualquer comentário sobre o projeto é bem vindo, críticas construtivas, sugestões, também são bem vindas!

    O bugtracker oficial do APTonCD é o Malone. Quando o primeiro beta for lançado, estaremos abertos à relatos de bugs, para assim manter a qualidade e aprimoramento do projeto e a sincronia com a comunidade.

    Screenshots

    Alguns screenshots. Na página de especificação do projeto no Wiki, tem mais alguns screenshots.

    As telas estão em inglês por ser mais “genérico”, mas o APTonCD, como já disse já conta com suporte à 7 idiomas, e português do Brasil e lusitano, são alguns deles ;)

    Resources

    Home do APTonCD

    Projeto no SourceForge

    Projeto no Launchpad

    SpecPage no Wiki do Ubuntu