PROPRIEDADES E FUNCIONALIDADES DO SISTEMA LINUX PARA INICIANTES FACULDADE DE TECNOLOGIA SENAC PELOTAS Material desenvolvido pelos alunos do Curso Superior de Tecnologia em Redes de Computadores na Unidade Curricular de Introdução a Informática em 2010/1. Docente Responsável: André Luiz Silva de Moraes Alunos: Turma de 1º Semestre Manha/Noite do Curso Superior em Redes de Computadores Gerenciamento de Pacotes Marcelo Luiz Bueno Lemes
Sumário 10.1 Conceito de Pacotes...4 10.2 Gerenciamento de Pacotes...4 10.2.1 Gerenciadores de s...5 10.2.2 Repositórios e sistemas de gerenciamento de s...5 10.2.3 Slackware (pkgtool)...5 10.2.4 Debian (Advanced Packaging Tool -apt )...6 10.2.5 Mandriva (urpmi)...7 10.2.6 opensuse (ZYpp)...8 10.3 O comando RPM...9 10.3.1 Como instalar s RPM...9 10.4 Instalando Pacotes...10 Referencias bibliográficas...11
Índice de ilustrações Ilustração 1: O Gslapt é uma interface GTK+ para o slapt-get, um sistema de gerenciamento de s no estilo do APT, só que para o Slackware Linux...6 Ilustração 2: O Synaptic, uma popular ferramenta de gerenciamento de s para distribuições baseadas no Debian, mas que também pode ser usado em outras distribuições...7 Ilustração 3: O Rpmdrake do Mandriva é uma interface gráfica para o urpmi, que é o gerenciador de s padrão da distribuição...8 Ilustração 4: O YaST2 é o utilitário de administração de sistema do opensuse, que inclui um avançado gerenciador gráfico de pac...9
10.1 Conceito de Pacotes A primeira coisa que precisamos saber é: o que é um? Há duas maneiras de se instalar um programa. A primeira é compilando o código fonte. A segunda é instalando um. Um contém o código fonte pré-compilado e empacotado como um arquivo binário de instalação (executável). Nele podem estar ícones, bibliotecas, arquivos de configuração, binários, man pages, atalhos de desktop, headers, fontes etc. Além disso, um pode conter metadados, como informações sobre versão, mantenedor do, autor do software, informações de contato, licenciamento, alterações, READMEs e o site do projeto e do código fonte. Cada formato de tem sua estrutura de arquivos para armazenar dados e é compactado. Quando o é executado, seus dados são descompactados e copiados para o sistema de arquivos do sistema operacional, criando links simbólicos onde for necessário, atalhos no menu e no desktop e, às vezes, oferecendo opções de configuração ao usuário. Os s são criados para uma versão específica de uma determinada distribuição, pois as dependências podem variar entre distribuições e versões de uma distribuição. Às vezes é possível baixar e instalar programas como no Windows, bastando clicar no, desde que ele seja compatível com o sistema operacional. Há muitos formatos de s. Os mais comuns são.tgz,.deb e.rpm. Dentre os menos comuns,.pup,.pisi,.tazpkg e.mo. O código fonte costuma ser distribuído como um arquivo tar.gz ou tar.bz2, mas algumas distribuições também distribuem seus s nesses formatos. A maioria de nós usa s.deb ou.rpm. 10.2 Gerenciamento de Pacotes O gerenciamento de s é provavelmente a característica que mais diferencia as distribuições Linux. Embora a tendência em boa parte dos grandes projetos seja oferecer uma interface gráfica na qual os usuários possam selecionar um e instalá-lo com um clique do mouse (como no Synaptic do Debian ou no Drakrpm do Mandriva), esses programas costumam ser apenas interfaces gráficas para os utilitários de baixo nível que gerenciam as tarefas associadas à instalação de s nos sistemas Linux. Ainda que muitos usuários do Linux sintam-se bem mais à vontade instalando s com essas ferramentas gráficas intuitivas, não dá para negar que o gerenciamento de s pela linha de comando oferece dois excelentes recursos que não estão disponíveis em nenhum utilitário gráfico para gerenciamento de s: poder e velocidade. Um problema enfrentado por muitos daqueles que estão sempre mudando de distro e por entusiastas de sistemas operacionais é a necessidade de dominar (ou de aprender novamente) um novo grupo de comandos para gerenciamento de s sempre que mudam de distribuição. Além disso, as ferramentas de gerenciamento de s tendem a evoluir, com novos recursos e comandos sendo adicionados nas novas versões. Algumas distribuições até desenvolvem utilitários de gerenciamento de s completamente novos, como foi o caso do opensuse com o ZYpp. Outras, como o Debian, desencorajam o uso de utilitários consolidados (como o apt-get) em prol de alternativas melhores (como o aptitude) para a atualização do sistema. Essas mudanças todas complicam as coisas para quem quer acompanhar as diferentes distribuições e suas ferramentas de gerenciamento de s. Faculdade Senac Pelotas Página 4
10.2.1 Gerenciadores de s Um gerenciador de s instala, remove e atualiza s. Essa é uma definição simples, mas um gerenciador de s moderno pode fazer bem mais do que isso. Ele pode se conectar automaticamente a um repositório, baixar um programa, verificar e resolver suas dependências, listar s, listar dependências, fazer buscas na lista de s, ordenar a lista e adicionar e remover repositórios. Pode ainda especificar um repositório para um específico e bloquear atualizações de outros s, verificar os checksums e as assinaturas digitais para garantir a integridade dos s, fazer atualizações automáticas e remover dependências ao desinstalar programas. Nem todos os gerenciadores de s fazem tudo isso, ou se saem bem em todas essas tarefas. Isso levou ao surgimento de diferentes gerenciadores de s e, ao contrário do que se imagina, eles não fazem todos as mesmas coisas, a não ser em um nível muito superficial. 10.2.2 Repositórios e sistemas de gerenciamento de s Os repositórios são coleções de s tipicamente armazenados em um servidor remoto, mas que também podem residir localmente em um HD, CD-ROM, DVD e outras mídias de armazenamento. O importante é saber que os repositórios armazenam dados sobre s em um formato específico, dependendo do gerenciador de s. Por exemplo, o urpmi do Mandriva não consegue ler o repositório yum do Fedora, embora ambos contenham s.rpm, e o APT do Debian não lê os repositórios do Mandriva e do Fedora. O gerenciador de s, o formato dos s e o repositório compõem um sistema de gerenciamento de s. 10.2.3 Slackware (pkgtool) O Slackware e seus derivados usam esse sistema. Os s estão no formato tar.gz, com extensão.tgz. Ou seja, trata-se de um arquivo tar (tape archive) compactado com o gzip (gz). Na verdade, ele não é bem um gerenciador de s. É só um formato de e algumas ferramentas de linha de comando para criar, exibir, instalar, remover e atualizar. O sistema de empacotamento permite que scripts de instalação sejam embutidos no arquivo. Esses scripts são a única diferença entre a instalação de uma tarball (um tar compactado) e a instalação um do Slackware. Não há verificação de dependências, nem conexão automática a repositórios, atualizações automáticas do sistema ou verificação de checksums. Com o pkgtool, é possível acessar uma lista de s instalados e removê-los, instalar s ou executar scripts de instalação. Os s são baixados manualmente de um repositório. Esse era o sistema que todos os gerenciadores de s tentavam aperfeiçoar na época em que o Slackware Linux era a distribuição Linux dominante. O Slackware permite navegar entre os s pela internet, além de oferecer feeds RSS. Os dois recursos parecem ter sido adicionados recentemente. Há também ferramentas desenvolvidas por terceiros, como SWareT, slapt-get, slackpkg e o pkgsrc do NetBSD, que ajudam no gerenciamento de s do Slackware e de seus derivados. Todas essas ferramentas oferecem resolução de dependências e algumas funções avançadas. Faculdade Senac Pelotas Página 5
Ilustração 1: O Gslapt é uma interface GTK+ para o slapt-get, um sistema de gerenciamento de s no estilo do APT, só que para o Slackware Linux. 10.2.4 Debian (Advanced Packaging Tool -apt ) O APT é usado principalmente no Debian e em seus derivados. O APT é uma biblioteca de rotinas que agem como uma interface para o dpkg, que é um gerenciador de s de baixo nível (no sentido de programação, e não de qualidade) que permite instalar, desinstalar e atualizar s.deb. O APT traz funções avançadas ao dpkg, dentre as quais está a resolução de dependências. O APT de hoje trilhou um longo caminho desde suas origens, mas manteve seu parentesco com o dpkg. Todos os derivados do Debian usam o APT por padrão. O desenvolvimento de novas capacidades tem se mantido num ritmo semelhante ao de outros gerenciadores de s mais recentes. Não há como duvidar que o APT é um dos melhores e mais completos gerenciadores de s. O APT já foi portado para o OpenSolaris e o Mac OS X, e pode ser usado em distribuições baseadas em RPM por meio do apt4rpm ou do apt-rpm. Faculdade Senac Pelotas Página 6
Ilustração 2: O Synaptic, uma popular ferramenta de gerenciamento de s para distribuições baseadas no Debian, mas que também pode ser usado em outras distribuições. 10.2.5 Mandriva (urpmi) O Mandriva é a única distribuição a usar o urpmi, assim como só o opensuse usa o ZYpp. O formato do é o.rpm. O urpmi é um dos primeiros (talvez o primeiro) gerenciador de s RPM. Ele consiste de vários utilitários diferentes que realizam funções diversão: o urpme desinstala programas, o urpmq faz consultas ao banco de dados em busca de arquivos, o urpmi instala s e por aí vai. Uma função interessante do urpmi é que ele adiciona metadados aos RPMs instalados a partir de diretórios locais. Você deve se lembrar que eu mencionei a instalação do plugin do Flash da Adobe. Eu só tive que clicar no RPM, e uma caixa de diálogo surgiu perguntando se eu queria instalar, salvar ou cancelar. Eu escolhi instalar, e o urpmi adicionou o RPM a minha lista de software instalado. Com isso, eu posso usar o urpmi para desinstalar ou atualizar o plugin, desde que eu mantenha o arquivo RPM original. Faculdade Senac Pelotas Página 7
Ilustração 3: O Rpmdrake do Mandriva é uma interface gráfica para o urpmi, que é o gerenciador de s padrão da distribuição. 10.2.6 opensuse (ZYpp) O opensuse oferece um amplo cardápio de utilitários para o gerenciamento de s. Entram-se os dados pelo rug (uma ferramenta de linha de comando) ou pelo zen-updater (uma interface gráfica), e eles são direcionados ao Zenworks Management Daemon (ZMD). O ZMD espera os comandos e os transmite aos assistentes ZMD do libzypp, que se comunicam com o banco de dados de software, processam os metadados e os transmitem ao libzypp. O libzypp resolve dependências, instala, remove e atualiza s, usando o utilitário de gerenciamento de s RPM. O YaST e o zipper (este último pela linha de comando) podem ser usados para comunicação direta com o libzypp. É o extremo oposto do pkgtool do Slackware. Três interfaces, dois sistemas de gerenciamento de s e dois repositórios. O sistema zen-updater também acrescenta o daemon e uma camada de auxiliares (que nenhum outro sistema possui) até que o gerenciador de s entre em ação para resolver as dependências e rotinas de instalação. Eu usei o sistema quando ele estreou no opensuse 10.0. Muitos devem se lembrar que ele era bem lento, mas relatos recentes dão conta de um notável aumento na velocidade. Faculdade Senac Pelotas Página 8
Ilustração 4: O YaST2 é o utilitário de administração de sistema do opensuse, que inclui um avançado gerenciador gráfico de pac 10.3 O comando RPM RPM Package Manager é um formato e um gerenciador de s. É tão popular quanto o APT. Embora muitas funções de alto nível tenham sido implementadas diretamente no RPM desde o início, como a verificação de dependências (mas não sua resolução), parece que não é tão fácil adicionar ao padrão RPM os recursos encontrados em outros sistemas de gerenciamento de s modernos. Isso levou ao surgimento de novas ferramentas de gerenciamento de s, como o YUM, urpmi, YaST, up2date e o apt-rpm, que oferecem resolução de dependências e outros recursos avançados, deixando as rotinas de baixo nível por conta do RPM. Essas rotinas são por vezes chamadas de Meta Package Managers, ou metagerenciadores de s, porque gerenciam o RPM que já é um gerenciador de s. O RPM foi portado para a arquitetura AIX da IBM e é o formato de s padrão da LSB (a Linux Standard Base). 10.3.1 Como instalar s RPM Para instalar um RPM use o comando: rpm -i nome_do_.rpm Faculdade Senac Pelotas Página 9
Você tem um instalado, mas acaba de pegar uma versão mais nova do programa. O que fazer? Desinstalar o antigo e instalar o novo? Não! Não é preciso que se faça isso! Você pode atualizar para uma versão mais recente de um já instalado com o comando: rpm -U nome_do_.rpm Remover um já instalado use o comando: rpm -e nome_do_ OBS: Veja que agora não colocamos a extensão rpm. Não é necessário que se coloque a extensão! Para ver a lista de s instalados em seu sistema use o comando: rpm -qa Verificar se algum já está instalado em nosso sistema. Para isso utilize o comando: rpm -qa grep nome_do_ OBS: O nome do não precisa ser digitado inteiramente! Para maiores informações sobre o rpm use o comando: # man rpm 10.4 Instalando Pacotes Gerenciando o software apt (deb) Debian, Ubuntu zypp (rpm) opensuse urpmi (rpm) Mandriva pkgtools Slackware Instalar um novo software usando os repositórios de s Instalar um novo software usando um arquivo de Atualizar um software instalado Remover um software instalado apt-get install zypper install dpkg -i zypper install apt-get install apt-get remove zypper update -t zypper remove urpmi urpmi urpmi urpme installpkg installpkg upgradepkg upgradepkg Faculdade Senac Pelotas Página 10
Referencias bibliográficas Site do Viva o Linux: http://www.vivaolinux.com.br Site Clube do hardware: http://www.clubedohardware.com.br/ Br Linux: www.br-linux.org Faculdade Senac Pelotas Página 11