Vous êtes sur la page 1sur 7

Instalao e Atualizao Automtica de Aplicaes em Plataforma Livre para Ambientes Corporativos Mauro Tapajs Santos Renata Abadia Rodrigues

de Oliveira Universidade Catlica de Braslia tapajs@abordo.com.br, renatarodrigues@ucb.br Resumo Em ambientes corporativos comum a necessidade de instalao e atualizao de aplicaes. No ambiente Linux isto nem sempre uma tarefa trivial. As vrias distribuies linux criaram diferentes gerenciadores de pacotes de software, como o RPM, APT, Apt-Rpm, etc. Estes gerenciadores facilitam consideravelmente o processo de instalao, mas ainda no atendem s necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribudo de repositrios de software e considerar polticas de privilgios sobre usurios ou grupos que utilizaro as aplicaes sendo distribudas. Alm disso, as ferramentas que acompanham as distribuies Linux apresentam limitaes operacionais como exigir privilgios de usurio root na estao ou, ainda, conhecimentos detalhados do processo de instalao de pacotes de software pelo usurio. O que se prope um mecanismo automtico de distribuio de pacotes de software para estaes de trabalho, que associa as facilidades de um gerenciador de pacotes de software APT-RPM - com o gerenciamento de privilgios baseado em usurios ou grupos. Este servio parte de uma arquitetura de gerenciamento completa que possui como base um servio de diretrio OpenLDAP distribudo e j adaptado para execuo em grandes ambientes de TI. 1. Introduo Em sistemas Linux, a instalao e atualizao de aplicaes no uma tarefa trivial. Com a sua popularizao, vrias empresas desenvolveram suas prprias solues para instalao, os gerenciadores de pacotes de software. Estes gerenciadores facilitaram o processo de instalao, mas ainda no atendem s necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribudo de repositrios de software considerando polticas de privilgios sobre usurios ou grupos que utilizaro as aplicaes a serem distribudas. Alm disso, para instalar aplicaes, o usurio necessita de privilgios de superusurio. Conceder tais privilgios em um ambiente corporativo no uma boa prtica. O usurio leigo pode causar danos irreparveis ao sistema e ainda comprometer a segurana da organizao. Neste contexto, este artigo apresenta uma soluo que associa as facilidades de um gerenciador de pacotes de software com o gerenciamento de privilgios baseados em um servio de diretrios e permitindo que um usurio comum1 instale as aplicaes. 2. Gerenciadores de Pacotes de Software Fez-se necessrio o estudo preliminar dos gerenciadores de pacotes de software para definir qual o mais adequado para compor a soluo proposta. Dentre os gerenciadores estudados destacam-se: 2.1. RPM RedHat Package Manager O RPM foi criado pela Red Hat, e posteriormente licenciado para toda a comunidade, para que outras distribuies o adotassem. Dessa forma o RPM hoje conhecido mais como ferramenta da comunidade de software livre do que da prpria Red Hat [1]. O gerenciamento de pacotes de software em sistemas Red Hat feito por meio do RPM. Esta ferramenta permite a instalao, atualizao e remoo de pacotes de software, simplificando este processo, se comparado ao tradicional, o qual exigia que todos os pacotes fossem compilados e instalados atravs de um processo relativamente difcil e com grande consumo de tempo [1]. Com o RPM a instalao de software se torna mais simples, requerendo, na maioria dos casos, apenas a execuo de um comando. Vale ressaltar que o RPM no trata de forma automtica a resoluo de dependncias2 entre os pacotes de software. 2.2. APT Advanced Package Tools

1 2

Usurio comum qualquer usurio diferente do superusurio (root). Dependncias so pacotes requeridos para a instalao de outro pacote.

O APT um conjunto de ferramentas criado pelos desenvolvedores da distribuio Debian e utilizado para gerenciar os pacotes da distribuio de forma automtica, de maneira que, quando o usurio solicita a instalao de um pacote, o sistema tambm instala (ou atualiza) todos os pacotes necessrios para o funcionamento deste. Para seu funcionamento o APT utiliza um arquivo que lista as fontes de onde ele obter os pacotes [2]. Estas fontes so chamadas de repositrios de software. 2.3. APT-RPM O APT-RPM um porte, escrito e mantido pela Conectiva, da tradicional ferramenta APT da distribuio Debian, para distribuies baseadas no sistema de pacotes RPM. [3] O APT-RPM um avanado utilitrio de gerenciamento de pacotes que oferece ao usurio operaes como instalao, atualizao e remoo de pacotes de uma forma bastante simples. As dependncias so tratadas automaticamente, de modo que ao solicitar a instalao de um pacote o prprio APT verifica e busca as dependncias necessrias de forma automtica, assim como ocorre no APT da distribuio Debian. [3] Repositrio de Software

Assim como o APT da Debian, Apt-Rpm necessita de um repositrio, de onde os pacotes sero obtidos. Cada distribuio tem seus repositrios espalhados pela Internet. Nesse caso ao instalar o Apt-Rpm, pode-se escolher qual deles ser utilizado, de acordo com a distribuio. [3] possvel ainda configurar um repositrio prprio, num servidor local. Os softwares disponibilizados podem ser previamente homologados antes de compor este repositrio. Estes pacotes de software podem ser disponibilizados via ftp ou http. 2.4.Urpmi O urpmi est para a distribuio Mandrake assim como o Apt-Rpm est para a Conectiva, Red Hat ou Fedora. Possui caractersticas parecidas, mas no idnticas. Ao menos que seja retirado da instalao o urpmi automaticamente instalado no Mandrake [4]. 2.5. Fatores que contriburam para escolha do gerenciador de pacotes de software Foi adotada Fedora Core como a primeira distribuio Linux para a qual a soluo seria implementada. Assim o gerenciador escolhido deveria ser capaz de gerenciar pacotes no formato rpm, e solucionar dependncias de forma automtica. A configurao de um repositrio prprio, a instalao, a atualizao e a resoluo de dependncias de forma automtica foram alguns dos testes feitos com o Apt-Rpm. O resultado satisfatrio destes testes, levou escolha deste conjunto de ferramentas como ponto de partida para implementao de uma soluo de distribuio automtica de aplicaes em ambiente livre. Vale ressaltar que o principal motivo que contribuiu para que o RPM (Red Hat Package Manager), gerenciador que acompanha a distribuio Fedora Core, no fosse adotado foi o fato de no possibilitar a resoluo automtica de dependncias. 3. Servio de Diretrios Como Parte Integrante da Soluo Um diretrio como um banco de dados especializado e otimizado para leitura, apresentao e busca de dados. Uma das diferenas entre um diretrio e um banco de dados que o diretrio foi projetado para oferecer mais servios de consultas do que de escrita na base. Enquanto o banco de dados considera a mesma quantidade de ocorrncia para as duas operaes. Desta forma, no necessrio que um diretrio d suporte a muitas das operaes realizadas em banco de dados [5]. Um servio de diretrio fornece uma maneira de encontrar, identificar e controlar os usurios e os recursos disponveis na rede. Esta modelagem permite que uma organizao controle a segurana, o armazenamento e os relacionamentos entre um ou mais recursos na rede. Alm de permitir o gerenciamento destas informaes, esta modelagem prov a autenticao e identificao dos usurios que acessam o servio de diretrio. O processo de autenticao utilizado pelo LDAP para estabelecer os privilgios dos clientes para cada sesso. Assim, todas as operaes sero controladas pelo nvel de autorizao do usurio autenticado [5]. Para garantir os privilgios de um usurio ou grupo de usurios sobre uma aplicao ou um conjunto de aplicaes foi adotado um Servio de Diretrios baseados no OpenLDAP [6]. Para implementao da soluo foram criados novos schemas3 no OpenLDAP para armazenar as
3

Definem quais so as classes de objetos e os atributos que podem ser armazenados em um servio de diretrios que utiliza o protocolo LDAP

informaes sobre uma aplicao. 4. Soluo Implementada Esta seo passa do domnio do problema para o domnio da soluo. Visando atender, principalmente, ambientes corporativos, onde manter um grande nmero de mquinas com suas aplicaes atualizadas no uma tarefa simples, implementou-se um mecanismo de distribuio automtica de aplicaes cujos privilgios sobre estas aplicaes esto armazenados no OpenLDAP. 4.1. Arquitetura da Soluo

Homologador Pacotes RPM homologados


SDSAdmin Apache

aCSPolicy232 aCSPolicy23 aCSPolicy2

LDAP
Administrador Administrao GATI

Servio de Diretrio

LDAP SSH

openLDAP -Client apt-rpm Servido r FTP ads


aCSPolicy232 aCSPolicy23 aCSPolicy2

RPM FTPclient RPM

aptrpm

Usurio

FTP

Estao de usurio ADS

SDS-Core Repositrio de Software

figura 1 Arquitetura da Soluo

A soluo implementada foi dividida em mdulos, conforme mostra a figura acima. Cada um destes mdulos est descrito a seguir. 4.2. SDS-Core O SDS-Core o repositrio onde os pacotes de software so includos e disponibilizados para que o usurio possa instal-lo, atualiz-lo e repar-lo. A distribuio dos pacotes de software deste repositrio pode ser feita via HTTP ou FTP. Para esta soluo foi utilizado um servidor FTP, buscando evitar a configurao de um servidor Web (Apache), e conseqentemente a necessidade de um mais um servio ativo no servidor. Com isto pretende evitar problemas relativos segurana causados pela abertura de mais uma porta do sistema. Os pacotes de software so disponibilizados no formato rpm para atender estaes de trabalho com distribuio Fedora Core.

SSHD apt-rpm Servidor FTP RPM

aCSPolicy232 aCSPolicy23 aCSPolicy2

SDS-Core Repositrio de Software


figura 2 Repositrio de Software

4.3. SDS-Admin Este mdulo possui uma interface web, que permite ao administrador incluir os pacotes de software no repositrio, bem como as informaes referentes no servio de diretrios. So disponibilizadas ainda, algumas funcionalidades para o administrador como consultar as aplicaes contidas no repositrio para efetuar tarefas como remoo e incluso de novas aplicaes. Ao remover o software do repositrio, as informaes referentes ao mesmo so removidas do servio de diretrios. No momento da incluso, o pacote de software enviado ao repositrio e em seguida, atravs de um interface web (Apache), as informaes como nome, verso, release, descrio e caminho de execuo dos pacotes, includa no Servio de Diretrio, o que possibilita a sua disponibilizao para o usurio. Este mdulo da soluo parte integrante de uma Ferramenta para a Administrao de Servios de Diretrio Distribudos Baseados no OpenLDAP.[7]

Homologador Administrador do SDS-Admin


aCSPolicy232 aCSPolicy23 aCSPolicy2

SDSAdmin

Apache

Pacotes de software .rpm homologados a serem inseridos no SDS-Core

Administrao GATI figura 3 SDS-Admin

4.4. ADS Agente de Distribuio de Soluo O ADS o mdulo instalado na estao do cliente e permite ao usurio executar tarefas como instalar, atualizar, reparar e executar aplicaes. O objetivo principal do ADS ser um facilitador para o usurio, evitando que o mesmo tenha a necessidade de procurar por um software, bem como suas dependncias, e instal-los. importante salientar que todas as tarefas executadas pela interface do ADS tomam por base os comandos do APT-RPM. Antes de disponibilizar as funcionalidades para os usurios, o ADS consulta o Servio de Diretrio e obtm uma lista de software de acordo com as permisses de cada usurio. Com estas informaes disponibilizado para o usurio da estao um lanador de aplicaes (launcher), de onde o usurio pode instalar, atualizar, reparar e executar suas aplicaes de maneira transparente. O ADS um aplicativo desenvolvido utilizando a linguagem Tcl-tk, e suas funcionalidades esto descritas na prxima seo.

openLDAPClient apt-rpm FTPclient RPM ads

Usurio

Estao de usurio com o Agente de Distribuio de Software - ADS

Autentica o usurio e obtm a lista de aplicaes disponveis para o usurio. Oferece estas aplicaes no Launcher (lanador de aplicaes).

Linguagens Previstas: Scripts: shell e tcl/tk

Figura 4 Estao de Trabalho ADS instalado

5. Funcionalidades do Sistema Modulo ADS Esta seo descreve de forma resumida as funcionalidades do ADS 5.1. Listar Aplicaes do Usurio Esta funo busca junto ao Servio de Diretrios, informaes relativas ao perfil do usurio, como o grupo ao qual o mesmo pertence e a lista com os softwares a que o usurio tem permisso para utilizar. 5.2. Verificar Status da Aplicao Selecionada Esta funcionalidade permite ao usurio verificar a situao dos softwares na mquina, possibilitando a identificao das operaes que podero ser efetuadas para cada software da lista. O pacote de software analisado pode apresentar trs diferentes estados: Instalvel: situao assumida pelo software quando o mesmo no foi encontrado na mquina do usurio. Atualizvel: nesta situao o software encontra-se instalado na mquina do cliente, mas em verso e/ou release inferior quela que est no repositrio de software (SDS-core). Executvel: um software executvel quando est instalado na mquina do usurio. 5.3 Atualizar Software Conforme citado no item anterior, esta funcionalidade ser disponibilizada conforme o status atribudo ao pacote. O objetivo desta funo permitir ao usurio atualizar um software quando a verso e/ou release do pacote disponvel no repositrio for diferente da verso e/ou release do pacote instalada na estao. 5.4 Instalar Software Esta funcionalidade permite ao usurio instalar um software, disponvel num repositrio sempre que o mesmo no est instalado na sua estao. 5.5.Reparar Software Esta funcionalidade permite ao usurio reparar um software que esteja apresentando algum problema durante sua execuo. Esta funo consiste em reinstalar o software existente na estao do usurio. 5.6 Executar Aplicao Esta funcionalidade permite ao usurio executar um software, a partir de uma lista de softwares executveis. O principal objetivo desta funo facilitar o trabalho dos usurios, visto que os softwares que ele poder executar so apresentados de forma automtica. 5.6 Tela Inicial do ADS A figura abaixo mostra uma das telas do ADS. Neste exemplo a aplicao est instalada, mas possui uma atualizao disponvel.

Figura 5 Tela Inicial do ADS

6. Concluso O tema tratado neste artigo mostrou-se bastante novo, no encontrando uma literatura especfica que tratasse do assunto aqui abordado, como um todo. Em ambientes coorporativos, o controle e distribuio de pacotes de software se mostraram como uma necessidade e j so implementados em vrios ambientes proprietrios. A grande diferena entre o mecanismo aqui implementado e as solues proprietrias que este mecanismo se apresenta como um facilitador, no havendo qualquer preocupao no que se refere ao controle de licenas de sofware, por se tratar de softwares livres. Para viabilizar a implementao foi utilizado um gerenciador de pacotes de software. Nota-se que os gerenciadores aqui apresentados esto em um processo constante de evoluo e h um esforo por parte de desenvolvedores em tornar as distribuies Linux cada vez mais amigveis. Vale ainda ressaltar que a distribuio de pacotes de software realizada segundo uma poltica de acesso, de acordo com o perfil de cada usurio s foi possvel atravs da expanso de alguns schemas criando novos tipos de atributos e classes de objetos para adequao das necessidades da soluo. O objetivo principal desta soluo compor um processo de migrao para plataforma livre, visto que o Linux e o software livre em geral vem sendo aceito como parte da infra-estrutura de informtica de algumas organizaes. 7. Trabalhos Futuros O mdulo do ADS (Agente de Distribuio de Software) poder ser reescrito em outra linguagem, possivelmente JAVA. Realizao da anlise da compatibilidade entre os pacotes de software armazenados no repositrio e as configuraes de hardware, verificando se a estao do usurio tem espao em disco disponvel, memria e processador suficiente para suportar a instalao de um pacote. Distribuio de pacotes no apenas para estaes, mas tambm para servidores. Atualizaes de Kernel e patchs. Possibilitar instalaes automticas para atender o caso de atualizaes de antivrus, por exemplo. Portar este mecanismo para outras distribuies, no ficando limitado ao Fedora Core 1 como nesta primeira verso.

8. Referncias Bibliogrficas [1] BMC Software. Managing and Deploying Software in a Linux Environment. Disponvel em: <http://documents.bmc.com/products/documents/14/98/41498/41498.pdf> Acessado em Dez. de 2004. [2] Silva, Gustavo Noronha. Como usar o APT v1.8.5. Disponvel em: <http://www.debian.org/doc/manuals/apthowto/index.pt-br.html>. Acessado em Dez de 2004 [3] Niemeyer, Gustavo. Tutorial: APT-RPM, aplicativo que facilita o download e instalao de pacotes. Revista do Linux, v. 50, p. 46-49, fev. 2004. [4] Ferreira, Marco Antnio. Utilizando o urpmi. Disponvel em <http://www.vivaolinux.com.br/artigos/impressora.php?codigo=214>. Acessado em Abril de 2004 [5] Carter, Gerald. LDAP: System Administration. 1.ed. Sebastopol: ORielly & Associates, Inc, 2003. 294 p. [6] Community developed LDAP software. Disponvel em: <www.openldap.org> Acessado em Dez de 2004. [7] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a Administrao de Servios de Diretrio Distribudos Baseados no OpenLDAP. Anais do 5 Frum Internacional de Software Livre, pg 91, Porto Alegre, 2004. Anais.

Vous aimerez peut-être aussi