instalação e atualização automática de aplicações para ambientes corporativos

Download Instalação e Atualização Automática de Aplicações para Ambientes Corporativos

If you can't read please download the document

Upload: mauro-tapajos

Post on 31-May-2015

725 views

Category:

Documents


0 download

DESCRIPTION

Artigo apresentado na SUCESU - 2005

TRANSCRIPT

  • 1. Instalao e Atualizao Automtica de Aplicaes em Plataforma Livre para Ambientes Corporativos Mauro Tapajs Santos Renata Abadia Rodrigues de Oliveira Universidade Catlica de Braslia [email protected], [email protected] Resumo Em ambientes corporativos comum a necessidade de instalao e atualizao de aplicaes. Noambiente 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 aindano atendem s necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambientedistribudo de repositrios de software e considerar polticas de privilgios sobre usurios ou grupos queutilizaro as aplicaes sendo distribudas. Alm disso, as ferramentas que acompanham as distribuies Linux apresentam limitaesoperacionais como exigir privilgios de usurio root na estao ou, ainda, conhecimentos detalhados doprocesso de instalao de pacotes de software pelo usurio. O que se prope um mecanismo automtico de distribuio de pacotes de software para estaesde trabalho, que associa as facilidades de um gerenciador de pacotes de software APT-RPM - com ogerenciamento de privilgios baseado em usurios ou grupos. Este servio parte de uma arquitetura degerenciamento completa que possui como base um servio de diretrio OpenLDAP distribudo e jadaptado para execuo em grandes ambientes de TI.1.Introduo Em sistemas Linux, a instalao e atualizao de aplicaes no uma tarefa trivial. Com a suapopularizao, vrias empresas desenvolveram suas prprias solues para instalao, os gerenciadoresde pacotes de software. Estes gerenciadores facilitaram o processo de instalao, mas ainda no atendems necessidades de um ambiente de TI complexo, como, por exemplo, controlar um ambiente distribudo derepositrios de software considerando polticas de privilgios sobre usurios ou grupos que utilizaro asaplicaes a serem distribudas. Alm disso, para instalar aplicaes, o usurio necessita de privilgios de superusurio. Concedertais privilgios em um ambiente corporativo no uma boa prtica. O usurio leigo pode causar danosirreparveis ao sistema e ainda comprometer a segurana da organizao. Neste contexto, este artigo apresenta uma soluo que associa as facilidades de um gerenciador depacotes de software com o gerenciamento de privilgios baseados em um servio de diretrios e permitindoque 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 omais adequado para compor a soluo proposta. Dentre os gerenciadores estudados destacam-se:2.1. RPM RedHat Package ManagerO RPM foi criado pela Red Hat, e posteriormente licenciado para toda a comunidade, para queoutras distribuies o adotassem. Dessa forma o RPM hoje conhecido mais como ferramenta dacomunidade 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. Estaferramenta permite a instalao, atualizao e remoo de pacotes de software, simplificando esteprocesso, se comparado ao tradicional, o qual exigia que todos os pacotes fossem compilados e instaladosatravs 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 resoluode dependncias2 entre os pacotes de software.2.2. APT Advanced Package Tools1Usurio comum qualquer usurio diferente do superusurio (root).2Dependncias so pacotes requeridos para a instalao de outro pacote.

2. O APT um conjunto de ferramentas criado pelos desenvolvedores da distribuio Debian eutilizado para gerenciar os pacotes da distribuio de forma automtica, de maneira que, quando o usuriosolicita a instalao de um pacote, o sistema tambm instala (ou atualiza) todos os pacotes necessriospara 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 dadistribuio Debian, para distribuies baseadas no sistema de pacotes RPM. [3] O APT-RPM um avanado utilitrio de gerenciamento de pacotes que oferece ao usuriooperaes como instalao, atualizao e remoo de pacotes de uma forma bastante simples. Asdependncias so tratadas automaticamente, de modo que ao solicitar a instalao de um pacote o prprioAPT verifica e busca as dependncias necessrias de forma automtica, assim como ocorre no APT dadistribuio Debian. [3]Repositrio de SoftwareAssim como o APT da Debian, Apt-Rpm necessita de um repositrio, de onde os pacotes seroobtidos. 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 disponibilizadospodem ser previamente homologados antes de compor este repositrio. Estes pacotes de software podemser disponibilizados via ftp ou http.2.4.UrpmiO urpmi est para a distribuio Mandrake assim como o Apt-Rpm est para a Conectiva, Red Hatou Fedora. Possui caractersticas parecidas, mas no idnticas. Ao menos que seja retirado da instalao ourpmi 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 seriaimplementada. Assim o gerenciador escolhido deveria ser capaz de gerenciar pacotes no formato rpm, esolucionar dependncias de forma automtica. A configurao de um repositrio prprio, a instalao, a atualizao e a resoluo de dependnciasde 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 soluode 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 aresoluo automtica de dependncias.1.Servio de Diretrios Como Parte Integrante da Soluo Um diretrio como um banco de dados especializado e otimizado para leitura, apresentao ebusca de dados. Uma das diferenas entre um diretrio e um banco de dados que o diretrio foi projetadopara oferecer mais servios de consultas do que de escrita na base. Enquanto o banco de dados consideraa mesma quantidade de ocorrncia para as duas operaes. Desta forma, no necessrio que umdiretrio 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 osrecursos disponveis na rede. Esta modelagem permite que uma organizao controle a segurana, oarmazenamento e os relacionamentos entre um ou mais recursos na rede. Alm de permitir ogerenciamento destas informaes, esta modelagem prov a autenticao e identificao dos usurios queacessam o servio de diretrio. O processo de autenticao utilizado pelo LDAP para estabelecer os privilgios dos clientes paracada sesso. Assim, todas as operaes sero controladas pelo nvel de autorizao do usurioautenticado [5]. Para garantir os privilgios de um usurio ou grupo de usurios sobre uma aplicao ou umconjunto de aplicaes foi adotado um Servio de Diretrios baseados no OpenLDAP [6]. 3. Para implementao da soluo foram criados novos schemas3 no OpenLDAP para armazenar asinformaes sobre uma aplicao.2.Soluo Implementada Esta seo passa do domnio do problema para o domnio da soluo. Visando atender, principalmente, ambientes corporativos, onde manter um grande nmero demquinas com suas aplicaes atualizadas no uma tarefa simples, implementou-se um mecanismo dedistribuio automtica de aplicaes cujos privilgios sobre estas aplicaes esto armazenados noOpenLDAP.4.1. Arquitetura da Soluo HomologadorSDS-Pacotes RPMAdm inaCSPolicy232homologados aCSPolicy23 ApacheaCSPolicy2LDAPServio de Diretrio Administrador AdministraoGATILDAPSSH openLDAP-Clientapt-RPM rpmapt-rpmFTP-Servidoclient r FTP RPM adsaCSPolicy232UsurioaCSPolicy23aCSPolicy2 FTP Estao de usurioADS SDS-CoreRepositrio de Software figura 1 Arquitetura da Soluo A soluo implementada foi dividida em mdulos, conforme mostra a figura acima. Cada um destesmdulos est descrito a seguir.4.2. SDS-Core O SDS-Core o repositrio onde os pacotes de software so includos e disponibilizados para queo 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 servidorWeb (Apache), e conseqentemente a necessidade de um mais um servio ativo no servidor. Com istopretende 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 comdistribuio Fedora Core.3 Definem quais so as classes de objetos e os atributos que podem ser armazenados em um servio de diretriosque utiliza o protocolo LDAP 4. SSHDRPMapt-rpm Servidor FTP aCSPolicy232aCSPolicy23 aCSPolicy2 SDS-CoreRepositrio de Softwarefigura 2 Repositrio de Software4.3. SDS-Admin Este mdulo possui uma interface web, que permite ao administrador incluir os pacotes de softwareno 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 paraefetuar tarefas como remoo e incluso de novas aplicaes. Ao remover o software do repositrio, as informaes referentes ao mesmo so removidas doservio de diretrios. No momento da incluso, o pacote de software enviado ao repositrio e em seguida, atravs deum interface web (Apache), as informaes como nome, verso, release, descrio e caminho de execuodos pacotes, includa no Servio de Diretrio, o que possibilita a sua disponibilizao para o usurio. Estemdulo da soluo parte integrante de uma Ferramenta para a Administrao de Servios de DiretrioDistribudos Baseados no OpenLDAP.[7] Homologador Administrador do SDS-AdminSDS-Admin ApacheaCSPolicy232aCSPolicy23aCSPolicy2Pacotes de software.rpm homologados a serem inseridos no SDS-CoreAdministraoGATI figura 3 SDS-Admin4.4. ADS Agente de Distribuio de Soluo O ADS o mdulo instalado na estao do cliente e permite ao usurio executar tarefas comoinstalar, atualizar, reparar e executar aplicaes. O objetivo principal do ADS ser um facilitador para ousurio, evitando que o mesmo tenha a necessidade de procurar por um software, bem como suasdependncias, e instal-los. importante salientar que todas as tarefas executadas pela interface do ADStomam por base os comandos do APT-RPM. Antes de disponibilizar as funcionalidades para os usurios, o ADS consulta o Servio de Diretrio eobtm 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 podeinstalar, atualizar, reparar e executar suas aplicaes de maneira transparente. O ADS um aplicativo desenvolvido utilizando a linguagem Tcl-tk, e suas funcionalidades estodescritas na prxima seo. 5. openLDAP- Clientapt-rpm FTP- client RPM ads Usurio Autentica o usurio e obtmEstao de usurioa lista de aplicaes com o Agente dedisponveis para o usurio. Oferece estas aplicaes noDistribuio de Launcher (lanador deSoftware - ADSaplicaes).Linguagens Previstas:Scripts: shell e tcl/tk Figura 4 Estao de Trabalho ADS instalado3.Funcionalidades do Sistema Modulo ADSEsta seo descreve de forma resumida as funcionalidades do ADS5.1. Listar Aplicaes do UsurioEsta funo busca junto ao Servio de Diretrios, informaes relativas ao perfil do usurio, como ogrupo 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, possibilitandoa 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.3Atualizar Software Conforme citado no item anterior, esta funcionalidade ser disponibilizada conforme o statusatribudo 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 naestao.5.4 Instalar Software Esta funcionalidade permite ao usurio instalar um software, disponvel num repositrio sempre queo mesmo no est instalado na sua estao.5.5.Reparar Software Esta funcionalidade permite ao usurio reparar um software que esteja apresentando algumproblema durante sua execuo. Esta funo consiste em reinstalar o software existente na estao dousurio.5.6 Executar Aplicao Esta funcionalidade permite ao usurio executar um software, a partir de uma lista de softwaresexecutveis. O principal objetivo desta funo facilitar o trabalho dos usurios, visto que os softwares queele poder executar so apresentados de forma automtica.5.6 Tela Inicial do ADSA figura abaixo mostra uma das telas do ADS. Neste exemplo a aplicao est instalada, maspossui uma atualizao disponvel. 6. Figura 5 Tela Inicial do ADS1.Concluso O tema tratado neste artigo mostrou-se bastante novo, no encontrando uma literatura especficaque tratasse do assunto aqui abordado, como um todo. Em ambientes coorporativos, o controle e distribuio de pacotes de software se mostraram comouma necessidade e j so implementados em vrios ambientes proprietrios. A grande diferena entre omecanismo aqui implementado e as solues proprietrias que este mecanismo se apresenta como umfacilitador, no havendo qualquer preocupao no que se refere ao controle de licenas de sofware, por setratar de softwares livres. Para viabilizar a implementao foi utilizado um gerenciador de pacotes de software. Nota-se queos gerenciadores aqui apresentados esto em um processo constante de evoluo e h um esforo porparte 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 deacesso, de acordo com o perfil de cada usurio s foi possvel atravs da expanso de alguns schemascriando 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, vistoque o Linux e o software livre em geral vem sendo aceito como parte da infra-estrutura de informtica dealgumas organizaes.2.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. 7. 1.Referncias Bibliogrficas[1] BMC Software. Managing and Deploying Software in a Linux Environment. Disponvel em: Acessado em Dez. de 2004.[2] Silva, Gustavo Noronha. Como usar o APT v1.8.5. Disponvel em:. 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. 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: Acessado em Dez de 2004.[7] CRUZ, Fernando; SANTOS, Giovanni; MEDEIROS, Raissa; et al. Uma Ferramenta para a Administraode Servios de Diretrio Distribudos Baseados no OpenLDAP. Anais do 5 Frum Internacional de SoftwareLivre, pg 91, Porto Alegre, 2004. Anais.