Manipulando Pacotes

48
Manipulando Pacotes 18 de dezembro de 2006

Transcript of Manipulando Pacotes

Page 1: Manipulando Pacotes

Manipulando Pacotes18 de dezembro de 2006

Page 2: Manipulando Pacotes

Sumário

I Sobre essa apostila 2

II Informações Básicas 4

III Manipulando Pacotes 9

1 Manipulando Pacotes 10

2 Plano de ensino 112.1 Objetivo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Público Alvo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Pré-requisitos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 Descrição . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.5 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.6 Cronograma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.7 Programa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.8 Avaliação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 132.9 Bibliografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14

3 Lição 1 - Introdução 153.1 Pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

3.1.1 O que são pacotes? . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 153.1.2 O que é um gerenciador de pacote? . . . . . . . . . . . . . . . . . . . . . . . 153.1.3 Programas auxiliares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15

4 Liçao 2 - dpkg 174.1 dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.1.2 Encontrando pacotes .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.2 dpkg : primeiros passos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 174.2.1 Os comandos do dpkg . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

4.3 Instalação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.4 Listar pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 184.5 Remover pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

4.5.1 Remover pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 194.5.2 Remover completamente um pacote . . . . . . . . . . . . . . . . . . . . . . . 19

4.6 Obter informações de um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

1

Page 3: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.6.1 Obter informações de um pacote . . . . . . . . . . . . . . . . . . . . . . . . . 204.7 Relacionamento entre pacote e seus arquivos . . . . . . . . . . . . . . . . . . . . . 21

4.7.1 Relacionamento entre pacote e seus arquivos . . . . . . . . . . . . . . . . . 214.7.2 Arquivos em um pacote não instalado . . . . . . . . . . . . . . . . . . . . . . 22

4.8 Listar/Configurar pacotes com problema de instalação . . . . . . . . . . . . . . . . . 234.8.1 Configurar pacotes manualmente . . . . . . . . . . . . . . . . . . . . . . . . . 234.8.2 Manipular pacotes com o arquivo gerado . . . . . . . . . . . . . . . . . . . . 23

4.9 Obter Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 234.9.1 Obter Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23

5 Lição 3 - APT 245.1 APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.1.1 Introdução ao APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2 Repositórios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24

5.2.1 Repositórios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2.2 O arquivo sources.list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 245.2.3 Repositórios do CD-ROM . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

5.3 O apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.3.1 O apt-get . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 255.3.2 Atualizando a lista de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . 26

5.4 Instalação de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.4.1 Instalação de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 265.4.2 Reinstalar um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4.3 Outros comandos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4.4 Remover pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 275.4.5 Remover um pacote e seus arquivos de configuração . . . . . . . . . . . . . 285.4.6 Comandos mesclados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29

5.5 Atualizações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.5.1 Atualizações de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 295.5.2 Atualizações da distribuição . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.6 Remover arquivos .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.6.1 Remover arquivos .deb . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.6.2 Comando interessante . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

5.7 O apt-cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.7.1 O apt-cache . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 305.7.2 Buscando um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 315.7.3 Informações sobre um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . 31

5.8 O código fonte de um pacote . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 325.9 Ajuda com o APT . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

6 Lição 4 - Aptitude 356.1 Introdução : O Aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.1.1 Introdução : O Aptitude . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 356.1.2 Navegação . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

6.2 Instalação de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2.1 Instalação de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2.2 Remoção de pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 376.2.3 Executando as operações . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38

2

Page 4: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

7 Lição 5 - Synaptic 407.1 O Synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

7.1.1 O Synaptic . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.2 Operações básicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 407.3 Manipulando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

7.3.1 Manipulando pacotes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 437.3.2 Executando as atividades marcadas . . . . . . . . . . . . . . . . . . . . . . . 44

7.4 Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 457.4.1 Ajuda . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

3

Page 5: Manipulando Pacotes

Parte I

Sobre essa apostila

4

Page 6: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Conteúdo

O conteúdo dessa apostila é fruto da compilação de diversos materiais livres publicados na in-ternet, disponíveis em diversos sites ou originalmente produzido no CDTC em http://www.cdtc.org.br.

O formato original deste material bem como sua atualização está disponível dentro da licençaGNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seção demesmo nome, tendo inclusive uma versão traduzida (não oficial).

A revisão e alteração vem sendo realizada pelo CDTC ([email protected]), desde outubrode 2006. Criticas e sugestões construtivas são bem-vindas a qualquer tempo.

Autores

A autoria deste conteúdo, atividades e avaliações é de responsabilidade de Carlos AugustoLima Borges ([email protected]) .

O texto original faz parte do projeto Centro de Difusão de Tecnolgia e Conhecimento, que vemsendo realizado pelo ITI em conjunto com outros parceiros institucionais, atuando em conjuntocom as universidades federais brasileiras que tem produzido e utilizado Software Livre, apoiandoinclusive a comunidade Free Software junto a outras entidades no país.

Informações adicionais podem ser obtidas atráves do email [email protected], ou dahome page da entidade, atráves da URL http://www.cdtc.org.br.

Garantias

O material contido nesta apostila é isento de garantias e o seu uso é de inteira responsabi-lidade do usuário/leitor. Os autores, bem como o ITI e seus parceiros, não se responsabilizamdireta ou indiretamente por qualquer prejuízo oriundo da utilização do material aqui contido.

Licença

Copyright ©2006,Carlos Augusto Lima Borges ([email protected]) .

Permission is granted to copy, distribute and/or modify this document under the termsof the GNU Free Documentation License, Version 1.1 or any later version published bythe Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOS-TILA. A copy of the license is included in the section entitled GNU Free DocumentationLicense.

5

Page 7: Manipulando Pacotes

Parte II

Informações Básicas

6

Page 8: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Sobre o CDTC

Objetivo Geral

O Projeto CDTC visa a promoção e o desenvolvimento de ações que incentivem a dissemina-ção de soluções que utilizem padrões abertos e não proprietários de tecnologia, em proveito dodesenvolvimento social, cultural, político, tecnológico e econômico da sociedade brasileira.

Objetivo Específico

Auxiliar o Governo Federal na implantação do plano nacional de software não-proprietário ede código fonte aberto, identificando e mobilizando grupos de formadores de opinião dentre osservidores públicos e agentes políticos da União Federal, estimulando e incentivando o mercadonacional a adotar novos modelos de negócio da tecnologia da informação e de novos negóciosde comunicação com base em software não-proprietário e de código fonte aberto, oferecendotreinamento específico para técnicos, profissionais de suporte e funcionários públicos usuários,criando grupos de funcionários públicos que irão treinar outros funcionários públicos e atuar comoincentivadores e defensores de produtos de software não proprietários e código fonte aberto, ofe-recendo conteúdo técnico on-line para serviços de suporte, ferramentas para desenvolvimento deprodutos de software não proprietários e de seu código fonte livre, articulando redes de terceiros(dentro e fora do governo) fornecedoras de educação, pesquisa, desenvolvimento e teste de pro-dutos de software livre.

Guia do aluno

Neste guia, você terá reunidas uma série de informações importantes para que você comeceseu curso. São elas:

• Licenças para cópia de material disponível

• Os 10 mandamentos do aluno de Educação a Distância

• Como participar dos foruns e da wikipédia

• Primeiros passos

É muito importante que você entre em contato com TODAS estas informações, seguindo oroteiro acima.

Licença

Copyright ©2006, Carlos Augusto Lima Borges ([email protected]) .

É dada permissão para copiar, distribuir e/ou modificar este documento sob os termosda Licença de Documentação Livre GNU, Versão 1.1 ou qualquer versão posterior

7

Page 9: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

públicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSAAPOSTILA. Uma cópia da licença está inclusa na seção entitulada "Licença de Docu-mentação Livre GNU".

Os 10 mandamentos do aluno de educação online

• 1. Acesso à Internet: ter endereço eletrônico, um provedor e um equipamento adequado épré-requisito para a participação nos cursos a distância.

• 2. Habilidade e disposição para operar programas: ter conhecimentos básicos de Informá-tica é necessário para poder executar as tarefas.

• 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distân-cia conta muitos pontos, pois irá colaborar para o processo ensino-aprendizagem pessoal,dos colegas e dos professores.

• 4. Comportamentos compatíveis com a etiqueta: mostrar-se interessado em conhecer seuscolegas de turma respeitando-os e fazendo ser respeitado pelo mesmo.

• 5. Organização pessoal: planejar e organizar tudo é fundamental para facilitar a sua revisãoe a sua recuperação de materiais.

• 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigações erealizá-las em tempo real.

• 7. Curiosidade e abertura para inovações: aceitar novas idéias e inovar sempre.

• 8. Flexibilidade e adaptação: requisitos necessário à mudança tecnológica, aprendizagense descobertas.

• 9. Objetividade em sua comunicação: comunicar-se de forma clara, breve e transparente éponto - chave na comunicação pela Internet.

• 10. Responsabilidade: ser responsável por seu próprio aprendizado. O ambiente virtual nãocontrola a sua dedicação, mas reflete os resultados do seu esforço e da sua colaboração.

Como participar dos fóruns e Wikipédia

Você tem um problema e precisa de ajuda?

Podemos te ajudar de 2 formas:

A primeira é o uso dos fóruns de notícias e de dúvidas gerais que se distinguem pelo uso:

. O fórum de notícias tem por objetivo disponibilizar um meio de acesso rápido a informaçõesque sejam pertinentes ao curso (avisos, notícias). As mensagens postadas nele são enviadas atodos participantes. Assim, se o monitor ou algum outro participante tiver uma informação queinteresse ao grupo, favor postá-la aqui.Porém, se o que você deseja é resolver alguma dúvida ou discutir algum tópico específico docurso. É recomendado que você faça uso do Forum de dúvidas gerais que lhe dá recursos mais

8

Page 10: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

efetivos para esta prática.

. O fórum de dúvidas gerais tem por objetivo disponibilizar um meio fácil, rápido e interativopara solucionar suas dúvidas e trocar experiências. As mensagens postadas nele são enviadasa todos participantes do curso. Assim, fica muito mais fácil obter respostas, já que todos podemajudar.Se você receber uma mensagem com algum tópico que saiba responder, não se preocupe com aformalização ou a gramática. Responda! E não se esqueça de que antes de abrir um novo tópicoé recomendável ver se a sua pergunta já foi feita por outro participante.

A segunda forma se dá pelas Wikis:

. Uma wiki é uma página web que pode ser editada colaborativamente, ou seja, qualquer par-ticipante pode inserir, editar, apagar textos. As versões antigas vão sendo arquivadas e podemser recuperadas a qualquer momento que um dos participantes o desejar. Assim, ela oferece umótimo suporte a processos de aprendizagem colaborativa. A maior wiki na web é o site "Wikipé-dia", uma experiência grandiosa de construção de uma enciclopédia de forma colaborativa, porpessoas de todas as partes do mundo. Acesse-a em português pelos links:

• Página principal da Wiki - http://pt.wikipedia.org/wiki/

Agradecemos antecipadamente a sua colaboração com a aprendizagem do grupo!

Primeiros Passos

Para uma melhor aprendizagem é recomendável que você siga os seguintes passos:

• Ler o Plano de Ensino e entender a que seu curso se dispõe a ensinar;

• Ler a Ambientação do Moodle para aprender a navegar neste ambiente e se utilizar dasferramentas básicas do mesmo;

• Entrar nas lições seguindo a seqüência descrita no Plano de Ensino;

• Qualquer dúvida, reporte ao Fórum de Dúvidas Gerais.

Perfil do Tutor

Segue-se uma descrição do tutor ideal, baseada no feedback de alunos e de tutores.

O tutor ideal é um modelo de excelência: é consistente, justo e profissional nos respectivosvalores e atitudes, incentiva mas é honesto, imparcial, amável, positivo, respeitador, aceita asidéias dos estudantes, é paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar.A classificação por um tutor desta natureza proporciona o melhor feedback possível, é crucial, e,para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem.’ Este tutorou instrutor:

• fornece explicações claras acerca do que ele espera, e do estilo de classificação que iráutilizar;

9

Page 11: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• gosta que lhe façam perguntas adicionais;

• identifica as nossas falhas, mas corrige-as amavelmente’, diz um estudante, ’e explica por-que motivo a classificação foi ou não foi atribuída’;

• tece comentários completos e construtivos, mas de forma agradável (em contraste com umreparo de um estudante: ’os comentários deixam-nos com uma sensação de crítica, deameaça e de nervossismo’)

• dá uma ajuda complementar para encorajar um estudante em dificuldade;

• esclarece pontos que não foram entendidos, ou corretamente aprendidos anteriormente;

• ajuda o estudante a alcançar os seus objetivos;

• é flexível quando necessário;

• mostra um interesse genuíno em motivar os alunos (mesmo os principiantes e, por isso,talvez numa fase menos interessante para o tutor);

• escreve todas as correções de forma legível e com um nível de pormenorização adequado;

• acima de tudo, devolve os trabalhos rapidamente;

10

Page 12: Manipulando Pacotes

Parte III

Manipulando Pacotes

11

Page 13: Manipulando Pacotes

Capítulo 1

Manipulando Pacotes

A instalação de um programa pode ser bastante complexa, envolvendo um processo de compila-ção, cópia de arquivos e configuração do programa. O processo torna-se ainda mais complexodevido a grande quantidade de arquivos que um programa possui: arquivos de lógica, de confi-guração, documentação, imagens e bibliotecas. O uso desse método pode ser muito cansativoquando tratamos da instalação de vários programas ou de atualização de aplicativos podendo le-var muito tempo e aumentar a chance de erros. Para resolver esse problema foi criado o sistemade pacotes.

12

Page 14: Manipulando Pacotes

Capítulo 2

Plano de ensino

2.1 Objetivo

Qualificar técnicos e programadores a utilizarem o CVS como ferramenta de versionamento desoftware.

2.2 Público Alvo

Técnicos e Programadores que desejam trabalhar com CVS.

2.3 Pré-requisitos

Os usuários deverão ser, necessariamente, funcionários públicos e ter conhecimentos básicospara operar um computador.

2.4 Descrição

Curso será realizado na modalidade Educação a Distância e utilizará a Plataforma Moodle comoferramenta de aprendizagem. O curso tem duração de uma semana e possui um conjunto deatividades (lições, fóruns, glossários, questionários e outros) que deverão ser executadas deacordo com as instruções fornecidas. O material didático está disponível on-line de acordo comas datas pré-estabelecidas em cada tópico. Todo o curso foi feito para o sistema operacionalGNU/Linux usando a distribuição Debian.

O curso está dividido da seguinte maneira:

Duração Descrição do Módulo2 semanas Lição 1 - Introdução

Lição 2 - DpkgLição 3 - aptLição 4 - AptitudeLição 5 - Synaptic

13

Page 15: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Todo o material está no formato de lições, e estará disponível ao longo do curso. As liçõespoderão ser acessadas quantas vezes forem necessárias. Aconselhamos a leitura de "Ambien-tação do Moodle", para que você conheça o produto de Ensino a Distância, evitando dificuldadesadvindas do "desconhecimento"sobre o mesmo.

Ao final de cada semana do curso será disponibilizada a prova referente ao módulo estudadoanteriormente que também conterá perguntas sobre os textos indicados. Utilize o material decada semana e os exemplos disponibilizados para se preparar para prova.

Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deve serdisponibilizada no fórum ou enviada por e-mail. Diariamente os monitores darão respostas eesclarecimentos.

2.5 Metodologia

O curso está dividido da seguinte maneira:

2.6 Cronograma

• Semana 1

Lição 1 - Introdução

Lição 2 - Dpkg

Lição 3 - apt

• Semana 2

Lição 4 - Aptitude

Lição 5 - Synaptic

As lições contém o contéudo principal. Elas poderão ser acessadas quantas vezes forem neces-sárias, desde que esteja dentro da semana programada. Ao final de uma lição, você receberáuma nota de acordo com o seu desempenho. Responda com atenção às perguntas de cada lição,pois elas serão consideradas na sua nota final. Caso sua nota numa determinada lição for menordo que 6.0, sugerimos que você faça novamente esta lição.Ao final do curso será disponibilizada a avaliação referente ao curso. Tanto as notas das liçõesquanto a da avaliação serão consideradas para a nota final. Todos os módulos ficarão visíveispara que possam ser consultados durante a avaliação final.Aconselhamos a leitura da "Ambientação do Moodle"para que você conheça a plataforma de En-sino a Distância, evitando dificuldades advindas do "desconhecimento"sobre a mesma.Os instrutores estarão a sua disposição ao longo de todo curso. Qualquer dúvida deverá serenviada no fórum. Diariamente os monitores darão respostas e esclarecimentos.

2.7 Programa

O curso oferecerá o seguinte conteúdo:

• Conhecimentos básicos em gerenciamento de pacotes

14

Page 16: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• APT

Repositório APT

Instalando pacotes

Removendo pacotes

Atualizando pacotes

Lidando com pacotes fontes

Como lidar com erros

• Dpkg

Instalação de pacotes

Remoção de pacotes

Listar pacotes existentes no sistema

Descrição do pacotes

Procura por pacote

Configurando pacotes

Listando arquivos de um pacote

• Aptitude

Interfac gráfica

Linha de Comando

• Synaptic

Interface - Principais Comandos

Listsa de pacotes

Informações de pacotes

Gerenciando pacotes

2.8 Avaliação

Toda a avaliação será feita on-line.Aspectos a serem considerados na avaliação:

• Iniciativa e autonomia no processo de aprendizagem e de produção de conhecimento;

• Capacidade de pesquisa e abordagem criativa na solução dos problemas apresentados.

Instrumentos de avaliação:

• Participação ativa nas atividades programadas.

• Avaliação ao final do curso.

• O participante fará várias avaliações referente ao conteúdo do curso. Para a aprovação eobtenção do certificado o participante deverá obter nota final maior ou igual a 6.0 de acordocom a fórmula abaixo:

15

Page 17: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

• Nota Final = ((ML x 7) + (AF x 3)) / 10 = Média aritmética das lições

• AF = Avaliações

2.9 Bibliografia

• Foca GNU/Linux, http://focalinux.cipsga.org.br/

• Conectiva, http://www.conectiva.com/

• Debian-BR-CDD, http://cdd.debian-br.org/

• Debian, http://www.debian.org/

• Wikipedia, http://www.wikipedia.org/

16

Page 18: Manipulando Pacotes

Capítulo 3

Lição 1 - Introdução

Nesta lição, você vai ver conceitos básicos sobre o que é CVS e os modos de uso do CVS.

3.1 Pacotes

3.1.1 O que são pacotes?

A instalação de um programa pode ser bastante complexa, envolvendo um processo de compila-ção, cópia de arquivos e configuração do programa. O processo torna-se ainda mais complexodevido a grande quantidade de arquivos que um programa possui: arquivos de lógica, de confi-guração, documentação, imagens e bibliotecas. O uso desse método pode ser muito cansativoquando tratamos da instalação de vários programas ou de atualização de aplicativos podendo le-var muito tempo e aumentar a chance de erros. Para resolver esse problema foi criado o sistemade pacotes.

Um pacote é o "empacotamento"de um ou mais arquivos que são necessários para o funcio-namento de um programa ou para atualização de um programa já existente. O pacote pode serinstalado usando um programa de gerenciamento de pacotes que já vem instalado no sistemaoperacional ou pode vir junto com um programa auto-suficiente de instalação. A última aborda-gem é mais utilizada no Windows, já a outra é a que trataremos nesse curso e é amplamenteutilizadas em sistemas Linux.

3.1.2 O que é um gerenciador de pacote?

Um gerenciador de pacotes é uma ferramenta utilizada pelo sistema operacional para instalar,atualizar, configurar e apagar um pacote de software. Além dos arquivos necessários para ainstalação do programa, um pacote também possui informações desse programa: descrição,nome, pré-requisitos, versão e produtor do programa.

Nesse curso trataremos dos pacotes Debian (.deb) e do gerenciador de pacote dpkg (DebianPackage). O dpkg é um programa que manipula os pacotes com extensão .deb e inicialmente, foicriado para o Debian, porém, atualmente, é utilizado em outros sistemas.

3.1.3 Programas auxiliares

Grande parte dos programas possuem bibliotecas ou arquivos em comum. Se cada pacote fosseenglobar todos os arquivos necessários para o funcionamento do programa ele acabaria ocu-

17

Page 19: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

pando muito espaço em disco. Para resolver esse problema os arquivos comumente utilizadosforam separados em pacotes. Isso acaba gerando um encadeamento de pacotes separadosfazendo com que para instalarmos um pacote, antes tenhamos que instalar vários outros.

Para resolver o problema de dependência entre pacotes e para facilitar, ainda mais, o manu-seio de pacotes foram criados alguns programas. Os que serão abordados nesse curso são:

• APT (Advanced Packaging Tool) que é em linha de comando e front-end do dpkg;

• Aptitude que é uma interface mais amigável e front-end do APT;

• Synaptic que utiliza uma interface gráfica e também front-end do APT.

Todos esses auxiliam a gerência de pacotes Debian.

18

Page 20: Manipulando Pacotes

Capítulo 4

Liçao 2 - dpkg

4.1 dpkg

4.1.1 Introdução

O dpkg é o gerenciador de pacotes criado, em 1993, pelo criador e desenvolvedor do Debian,Ian Jackson. Primeiramente foi criado para manipular pacotes nos sistemas Debian, daí o nomeDebian Package, atualmente é usado em vários outros sistemas. O uso do programa é feitoatravés do terminal, sendo capaz de instalar, desinstalar e fornecer informações de pacotes comextensão .deb. No entanto, antes de manipularmos um pacote, primeiramente, devemos baixá-loda internet, a seção a seguir ensina como encontrar grande parte dos pacotes existentes.

4.1.2 Encontrando pacotes .deb

Alguns programas são fornecidos no formato .deb pela comunidade que o desenvolveu, outrossão "empacotados"pela comunidade de usuários. Então, como encontraremos o pacote de cadaprograma? Para facilitar esse processo, o site do Debian (http://www.debian.org/) mantém umsistema de busca bastante eficiente que contém grande parte dos pacotes existentes, além deinformações sobre as dependências, descrição e um controle de versões para cada um. Paraacessar o sistema de busca visite: http://www.debian.org/distrib/packages.

4.2 dpkg : primeiros passos

4.2.1 Os comandos do dpkg

Já sabemos o que são pacotes e como encontra-los, então vamos aprender agora sobre o as-sunto principal do curso: como manipulá-los? O primeiro manipulador de pacotes que veremosé o dpkg, que normalmente vem instalado em distribuições Debian. Veremos os comandos maisutilizados, o que eles fazem e alguns exemplos.

Os comandos do dpkg, normalmente, seguem a seguinte sintaxe:# dpkg <comando> <argumento>#: é o tipo de acesso necessário para executar o comando, sendo "#"para acesso root, e

"$"para usuários. dpkg: chamada ao programa. <comando>: comandos que serão explicados aseguir. <argumento>: não é obrigatório, sendo que normalmente é uma informação necessáriapara que o comando funcione.

19

Page 21: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Observação: Lembre-se que «"e »"não fazem parte da sintaxe.

4.3 Instalação

Os possíveis comandos para instalação de um pacote são:

# dpkg -i NomeDoPacote.deb# dpkg --install NomeDoPacote.deb

Na figura abaixo, primeiramente, foi utilizado o wget para baixar o pacote lynx_2.8.5-2sarge2_i386.deb($ wget http://security.debian.org/debian-security/pool/updates/main/l/lynx/lynx_2.8.5-2sarge2_i386.deb),e e depois utilizado o dpkg para instalá-lo (# dpkg -i lynx_2.8.5-2sarge2_i386.deb).

4.4 Listar pacotes

Os possíveis comandos para listagem de pacotes são:

$ dpkg -l [NomeDoPacote]$ dpkg --list [NomeDoPacote]

O comando para listar pacotes mostra na tela, o nome, a versão e a descrição do pacote,alémdo status, que é mostrado na coluna mais à esquerda, sendo que os status mais comuns são:

• ii: pacote instalado;

• rc: pacote removido, mas arquivos de configuração mantidos;

• pn: pacote e arquivos de configuração removidos.

20

Page 22: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

e o nome do pacote for omitido, o sistema irá listar todos os pacotes, nesse caso é recomen-dado o uso do comando "$ dpkg -l |less"para uma melhor visualização, já que é mostrado umagrande quantidade de pacotes. Use a tecla "q"para sair da tela de listagem.

A figura mostra parte de um exemplo de saída do comando: $ dpkg -l |less

4.5 Remover pacotes

4.5.1 Remover pacotes

Para removermos um pacote do nosso sistema podemos utilizar um dos seguintes comandos:

# dpkg -r nomeDoPacote# dpkg --remove

Por exemplo, se quisessemos remover o pacote "lynx", bastaria digitar:

# dpkg -r lynx

Porém com esse comando os arquivos de configuração do pacote permanecem. Isso é muitoútil caso o usuário pretenda instalar o pacote novamente mas se não for esse o desejo do usuárioexiste a opção de apagar tanto o pacote quanto seus arquivos de configuração.

4.5.2 Remover completamente um pacote

Para removermos um pacote por completo, inclusive os arquivos e pastas de configuração deve-mos utilizar um dos seguintes comandos:

# dpkg -P nomeDoPacote# dpkg --purge nomeDoPacote

21

Page 23: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Se usarmos esse comando depois de já termos usado o "# dpkg -r" então ele apagará so-mente os arquivos de configuração, mas se usarmos o comando diretamente ele primeiro remo-verá o pacote e depois removerá os arquivos e pastas de configuração.

Por exemplo, veja a figura, onde utilizamos o comando "# dpkg -P lynx" diretamente.

4.6 Obter informações de um pacote

4.6.1 Obter informações de um pacote

Os possíveis comandos para obter informações sobre um pacote são:

$ dpkg -I NomeDoPacote.deb$ dpkg --info NomeDoPacote.deb

Várias informações sobre o pacote serão mostradas quando esse comando for usado, porexemplo: as dependências, os pacotes recomendados, o espaço ocupado após a instalação euma descrição bastante completa do pacote.

A figura a seguir mostra parte de um exemplo de saída do comando: dpkg -I lynx_2.8.5-2sarge2_i386.deb

22

Page 24: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.7 Relacionamento entre pacote e seus arquivos

4.7.1 Relacionamento entre pacote e seus arquivos

O comando dpkg -S é útil tanto para saber quais arquivos estão relacionados a um pacote, quantopara saber a quais pacotes um arquivo está relacionado. Por exemplo:

e quisermos saber quais pacotes são relacionados a um determinado arquivo, devemos usarum dos comandos:

$ dpkg -S NomeDoArquivo$ dpkg --search NomeDoArquivo

Podemos usar também o mesmo comando para saber a quais arquivos um determinado pa-cote está relacionado, mas agora teremos que substituir o nome do arquivo pelo nome do pacote,com a seguinte sintaxe:

$ dpkg -S NomeDoPacote$ dpkg --search NomeDoPacote

A figura a seguir mostra um exemplo de saída gerada pelo comando dpkg -S rgb.txt :

23

Page 25: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.7.2 Arquivos em um pacote não instalado

Para sabermos em que pasta e quais os arquivos serão instalados por um pacote devemos utilizarum dos seguintes comandos:

$ dpkg -c NomeDoPacote.deb$ dpkg --contents NomeDoPacote.deb

A figura a seguir mostra um exemplo de saída gerada pelo comando $ dpkg -c lynx_2.8.5-2sarge2_i386.deb |less:

24

Page 26: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

4.8 Listar/Configurar pacotes com problema de instalação

Para sabermos quais pacotes estão com problema de instalação, devemos usar um dos seguintescomandos:

$ dpkg -C$ dpkg --audit

4.8.1 Configurar pacotes manualmente

Na maioria dos casos a configuração do pacote é executada logo após sua instalação. Se, poralgum motivo, isso não ocorreu, podemos então usar o comando a seguir para configurar-lo:

$ dpkg --configure NomeDoPacote

ex.:

$ dpkg --configure lynx

4.8.2 Manipular pacotes com o arquivo gerado

Usando o arquivo pacotes.lista (criado com o comando explicado anteriormente) e o comandodpkg –set-selections, podemos configurar o sistema atual da mesma forma que o sistema quegerou o arquivo. Para isso devemos utilizar o seguinte comando:

# dpkg --set-selections < arquivoGerado

ex.:

# dpkg --set-selections < pacotes.lista

Esse comando configurará todos os pacotes da mesma forma que o sistema que gerou oarquivo pacotes.lista

4.9 Obter Ajuda

4.9.1 Obter Ajuda

A maioria dos programas no Linux possuem um comando de ajuda, o dpkg não é exceção, paramostrar uma ajuda resumida na tela utilize o comando:

$ dpkg --help

Para uma ajuda mais detalhada utilize o comando:

$ man dpkg

Os comandos de ajuda são sempre importante, na maioria das vezes é o único comando querealmente precisa ser lembrado.

25

Page 27: Manipulando Pacotes

Capítulo 5

Lição 3 - APT

5.1 APT

5.1.1 Introdução ao APT

sigla APT, vem do inglês Advanced Packaging Tool que significa Ferramenta Avançada de Em-pacotamento. O APT veio para facilitar, ainda mais, a manipulação de pacotes sendo ele, inicial-mente elaborado para ser um back-end

Mas como o APT facilita a manipulação de pacotes? O APT, na verdade é uma bibliotecade funções que é usada por outros programas para executar várias atividades. Sendo útil parainstalar, remover e atualizar pacotes, e fazer buscas em repositórios. Quando for feita a insta-lação de um, ou mais pacotes, verifica as dependências e os pacotes sugeridos, instalando asdependências necessárias para que os pacotes funcionem perfeitamente. Verifica conflito entrepacotes e entre versões para que um pacote não seja instalado mais de uma vez, ou que umpacote mais antigo não seja instalado, sobrepondo um pacote mais atual, além disso é capaz deatualizar automaticamente todo o sistema.

O apt-get e o apt-cache são programas que funcionam no modo texto e utilizam essa biblio-teca. Ambos serão tratados nesse curso. do dpkg. Porém foi criado o apt-rpm que é capaz demanipular pacotes rpm.

5.2 Repositórios

5.2.1 Repositórios

Para que o apt funcione é necessário que um arquivo contendo "repositórios"esteja configurado.Repositórios são diretórios que contém pacotes e informações de instalação do mesmo. O Debianmantém um repositório central com cerca de 17.000 pacotes prontos para serem baixados einstalados. Ainda assim, repositórios extras podem ser adicionados. O arquivo, que armazenaas informações sobre um repositório, é nomeado sources.list, e normalmente fica localizado napasta /etc/apt/. Vamos entender um pouco mais sobre esse arquivo na seção seguinte.

5.2.2 O arquivo sources.list

O arquivo sources.list permite que as informações para baixar um pacote sejam obtidas de re-positórios, sendo que esse repositório pode ser tanto um servidor http ou ftp, quanto um CD. O

26

Page 28: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

arquivo contém um repositório por linha, sendo que o preferido é listado primeiro. Cada linhaobedece o seguinte formato:

deb uri distribuição [componente1] [componente2] [...]

pode ser usado tanto deb, quanto deb-src, a diferença é que o primeiro armazena os pacotes.deb, já o segundo armazena o código fonte do programa. URI, em inglês significa UniversalResource Identifier, que é o endereço onde o APT irá localizar as informações necessárias. Dis-tribuição se refere a qual distribuição o pacote pertence, por exemplo stable e test.

Se o caractere "#"for adicionado antes de uma linha, a linha será ignorada pelo APT, servindoapenas como um comentário para quem for editar o arquivo.

Exemplo de arquivo sources.list:

# See sources.list(5) for more information, especialy# Remember that you can only use http, ftp or file URIs

# CDROMs are managed through the apt-cdrom tool.deb http://http.us.debian.org/debian stable main contrib non-freedeb http://non-us.debian.org/debian-non-US stable/non-US main contrib non-freedeb http://security.debian.org stable/updates main contrib non-free# Uncomment if you want the apt-get source function to work#deb-src http://http.us.debian.org/debian stable main contrib non-free#deb-src http://non-us.debian.org/debian-non-US stable/non-US main contrib non-free

O exemplo mostra um arquivo sources.list básico, contendo algumas linhas comentadas, orepositório oficial do debian, o repositório non-US (para distribuições que não são americanas),o repositório de atualizações de segurança e os repositórios para obter o código-fonte estãocomentados.

5.2.3 Repositórios do CD-ROM

Para configurar o repositório de um CD, utilizamos o aplicativo apt-cdrom. O CD deve conter infor-mações que permitam o apt gerenciar os pacotes, caso contrário o programa recusará adiciona-loao repositório. Para adicionarmos um CD ao sources.list utilizamos o seguinte comando:

# apt-cdrom add

Para conhecer outros comandos do apt-cdrom utilize o comando:

$ apt-cdrom -h

5.3 O apt-get

5.3.1 O apt-get

O apt-get é um programa manipulado por linha de comando e é baseado na biblioteca APT.Ele utiliza o arquivo sources.list para saber onde encontrar as informações necessárias paramanipulação dos pacotes. O apt-get é um dos aplicativos mais utilizados no Debian, já que elefacilita bastante a instalação/manutenção de um programa. Sobre esse aplicativo que iremos falarnas próximas seções.

27

Page 29: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.3.2 Atualizando a lista de pacotes

A primeira coisa que deve ser feita assim que alteramos o arquivo sources.list é a execução doseguinte comando:

# apt-get update

Esse comando atualizará o banco de dados utilizado pelo sistema de empacotamento. Essebanco de dados contém informações sobre quais pacotes estão instalados e quais estão disponí-veis e é utilizado pelo apt-get para obter informações para instalar um pacote de forma funcional.

A figura a seguir mostra parte do resultado da execução do comando # apt-get update:

5.4 Instalação de pacotes

5.4.1 Instalação de pacotes

Agora que já atualizamos o banco de dados utilizado pelo apt-get podemos instalar qualquerpacote disponível nos repositórios contidos no arquivo sources.list, para isso utilizamos o seguintecomando:

# apt-get install nomeDoPacote

Com isso, o apt-get verificará se existe alguma dependência para que esse arquivo seja insta-lado e, se o usuário concordar, ele instalará as dependências e em seguida instalará o pacote emsi. Antes de instalar o pacote, o apt-get salva os arquivos baixados na pasta /var/cache/apt/archives.//// Ex.:

# apt-get install emacs21-nox

28

Page 30: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Esse comando instalará o editor de textos emacs para console, porém esse pacote precisade outros para que funcione corretamente. O apt-get, então, verificará quais os pacotes sãonecessários para que o programa seja instalado e perguntará se deseja instala-los. Veja a figura:

O apt-get informa que além do pacote emacs21-nox, os pacotes emacs21-bin-common, emacs21-common e emacsen-common serão instalados. E pergunta se o usuário deseja continuar com aoperação.

5.4.2 Reinstalar um pacote

Caso seja necessário reinstalar algum pacote, devemos utilizar o seguinte comando:

# apt-get --reinstall install nomeDoPacote

5.4.3 Outros comandos

-h : comando de ajuda-d : apenas baixa os pacotes, não os instala;-f : conserta erros de instalações de pacotes;-s : simula a instalação;-y : responde "sim" a todas as perguntas;

5.4.4 Remover pacotes

O apt-get é capaz de remover pacotes de uma forma bastante completa utilizando o comando:

#apt-get remove nomeDoPacote

29

Page 31: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Quando o apt-get vai remover um pacote, ele verifica os pacotes que são dependentes dopacote a ser removido e remove-os também. Dessa forma a integridade do sistema é mantida.Veja o exemplo:

# apt-get remove emacs21-common

Esse comando irá remover o pacote emacs21-common e todos os pacotes dependentes dele.Mas antes o apt-get pergunta se deseja realmente remove-los. Veja a figura:

5.4.5 Remover um pacote e seus arquivos de configuração

Da mesma forma que o dpkg, quando o comando de remoção de pacotes é utilizado os arquivosde configuração do pacote permanecem no sistema. Para remover tanto o pacote quanto oarquivo de config uração, o comando de remoção deve ser utilizado com a opção –purge seguindoa sintaxe a seguir:

# apt-get remove --purge nomeDoPacote

Assim como o comando de remoção, esse comando também removerá os arquivos de confi-guração dos pacotes dependentes do pacote a ser removido. Veja o exemplo:

# apt-get remove --purge emacs21-common

Para informar ao usuário que tanto o pacote quanto seus arquivos de configuração serãoremovidos o apt-get adiciona o caractere "*"após o nome do pacote. Como mostra a figura:

30

Page 32: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.4.6 Comandos mesclados

Com o apt-get é possível remover um pacote enquanto utilizamos o comando de instalação einstalar um pacote enquanto utilizamos o comando de remoção. Para remoção, durante o co-mando de instalação deve-se adicionar o nome do pacote a ser removido e em seguida adicionaro caractere -"(menos), o comando de instalação segue a mesma forma mas utiliza-se o caractere"+"(mais). Veja os exemplos:

Os seguintes comandos executam a mesma tarefa:

# apt-get install emacs21-nox lynx-# apt-get remove lynx emacs21-nox+

Tanto um comando quanto o outro instala o pacote emacs21-nox e suas dependências eremove o pacote lynx e seus dependentes.

5.5 Atualizações

5.5.1 Atualizações de pacotes

Manter o sistema atualizado é muito importante, tanto para a segurança, quanto para uma utili-zação mais satisfatória. O apt-get é capaz de atualizar todos os pacotes do sistema. Para isso, oseguinte comando deve ser utilizado:

# apt-get upgrade

O comando compara os pacotes instalados no computador com os pacotes existentes nosrepositórios citados no arquivo sources.list e caso exista um pacote mais recente, no repositório,o apt-get atualiza o sistema.

Para que a atualização seja feita de uma forma mais transparente a opção -u deve ser utili-zada, da seguinte forma:

# apt-get -u upgrade

Com essa opção o apt-get mostrará os pacotes que serão atualizados.Uma possível saída do comando é:

# apt-get -u upgradeReading Package Lists... DoneBuilding Dependency Tree... DoneThe following packages have been kept backcpp gcc liloThe following packages will be upgradedadduser ae apt autoconf debhelper dpkg-dev esound esound-common ftp indent ipchains isapnptools libaudiofile-dev libaudiofile0 libesd0 libesd0-dev libgtk1.2 libgtk1.2-dev liblockfile1 libnewt0 liborbit-dev liborbit0 libstdc++2.10-glibc2.2 libtiff3g libtiff3g-dev modconf orbit procps psmisc29 packages upgraded, 0 newly installed, 0 to remove and 3 not upgraded.Need to get 5055B/5055kB of archives. After unpacking 1161kB will be used.Do you want to continue? [Y/n]

Quando o apt-get mostra alguns pacotes na lista de "kept-back"quer dizer que por algummotivo aquele pacote não pôde ser atualizado. Provavelmente devido alguma dependência quenão pôde ser atualiza

31

Page 33: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.5.2 Atualizações da distribuição

Utilizamos a atualização da distribuição, normalmente quando uma nova versão é lançada. Porexemplo quando adquirimos um CD com uma versão mais recente da distribuição que utilizamos.Esse tipo de atualização pode ser feito por meio do seguinte comando:

# apt-get dist-upgrade

Da mesma forma que o comando upgrade, podemos adicionar a opção -u para que o apt-getmostre quais atualizações serão feitas. Como mostra o comando a seguir:

# apt-get -u dist-upgrade

5.6 Remover arquivos .deb

5.6.1 Remover arquivos .deb

Quando instalamos um pacote, o apt-get baixa os arquivos .deb para o computador, para quenão seja necessário sempre buscar os arquivos em um repositório. Porém isso acaba ocupandomuito espaço em disco, o que torna necessário a remoção desses arquivos de vez enquanto.Para remover esses arquivos utilizamos o seguinte comando:

# apt-get clean

Antes de remover todos os arquivos na máquina local, o apt-get primeiro verificará se o arquivoestá disponível em algum dos repositórios contidos no sources.list, dessa forma os arquivos quenão estiverem disponíveis serão mantidos localmente.

5.6.2 Comando interessante

O apt-get é muito útil para várias atividades, porém existe um comando bastante interessante queé utilizado da seguinte forma:

$ apt-get moo

Quando utilizamos esse comando, o apt-get imprimirá uma vaquinha na tela. :-)

5.7 O apt-cache

5.7.1 O apt-cache

O apt-cache não é usado para manipular o pacote em si, porém é muito útil para obter infor-mações e gerar dados importantes sobre o pacote. Alguns comandos desse aplicativo serãomostrados nessa seção.

32

Page 34: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

5.7.2 Buscando um pacote

Muitas vezes queremos baixar um programa, porém não sabemos qual o nome de seu pacote.As vezes queremos encontrar algum programa de acordo com sua funcionalidade ou descrição.Para isso devemos usar o seguinte comando:

$ apt-cache search dadoASerBuscadoNoPacote

Por exemplo, suponha que você está procurando alguns plugins para o Eclipse, então utiliza-remos o comando:

$ apt-cache search eclipse plugin

Como mostra a figura:

O programa mostra os pacotes e uma descrição breve que são relacionados a palavra pes-quisada.

5.7.3 Informações sobre um pacote

Agora que já sabemos como localizar um pacote podemos obter mais informações sobre umpacote utilizando o seguinte comando:

$ apt-cache show nomeDoPacote

Ainda seguindo o exemplo dado, supondo que eu me interessei pelo pacote de desenvol-vimento em C/C++ para o Eclipse (eclipse-cdt), então, para obter mais informações utilizarei oseguinte comando:

$apt-cache show eclipse-cdt

Várias informações sobre o pacote eclipse-cdt serão exibidos na tela, como mostra a figura:

33

Page 35: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Agora se desejamos saber quais as dependências do pacote usamos o seguinte comando:

$ apt-cache depends nomeDoPacote

Agora já conhecemos vários comandos para obter informações diversas sobre um pacote.

5.8 O código fonte de um pacote

Uma das grandes vantagens do software livre é o compartilhamento de informações. Um soft-ware livre sempre terá o código fonte disponível para que possamos alterá-lo, visualiza-lo ecompartilha-lo. Com o apt-get é possível obter o código fonte de um pacote que seja livre, in-clusive os arquivos de criação do pacote .deb. Para isso utilizamos o seguinte comando:

$ apt-get source nomeDoPacote

Para que o comando funcione, devemos primeiro configurar o arquivo sources.list, adicio-nando um servidor com a diretiva deb-src, como foi explicado no em seções anteriores. Essecomando irá baixar um arquivo com terminação .tar.gz e um com terminação .dsc. O primeiro éo código fonte do pacote, e o segundo é utilizado pelo dpkg-source para descompactar o pacotefonte. Na pasta /debian do pacote fonte estão os arquivos para criação do pacote .deb.

Veja a figura a seguir que utiliza o comando "$ apt-get source":

34

Page 36: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Na figura acima o comando "apt-get source emacs21-nox" foi utilizado, e os arquivos "emacs21_21.4a-3ubuntu3.diff.gz", "emacs21_21.4a-3ubuntu2.dsc", emacs21_21.4a.orig.tar.gz"foram baixados paraa pasta em que o usuário estava quando utilizou o comando.

Como a figura acima foi tirada de uma distribuição baseada no Debian, porém não o Debian,os arquivos baixados são diferentes, repare que o arquivo .tar.gz possui também a terminação.orig. Isso significa que é o pacote fonte original da distribuição Debian. Outra diferença é aaparição de um arquivo com terminação .diff.gz, que é o pacote com as diferenças entre o pacoteoriginal e o alterado pela distribuição que está sendo usada.

5.9 Ajuda com o APT

O Linux possui uma documentação bastante detalhada sobre o APT e seus front-ends, paraacessar essa ajuda deve-se utilizar os seguintes comandos:

$ man apt

(esse comando mostrará a documentação do apt)

$ man apt-get

(esse comando mostrará a documentação específica do apt-get)

$ man apt-cache

(esse comando mostrará a documentação específica do apt-cache)

$ man sources.list

(esse comando mostrará a documentação específica do arquivo sources.list)O comando man vem de "manual"e é útil para qualqer programa do Linux. Além do "man"podemos

obter uma ajuda mais objetiva com os seguintes comandos:

35

Page 37: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

$ apt-get --help

$ apt-cache --help

(esse comando mostrará uma ajuda específica do apt-cache)Se mesmo com esses comandos sua dúvida não for resolvida, o site do Debian (http://www.debian.org)

possui uma documentação bastante detalhada de todo o sistema, que pode ser acessada emhttp://www.debian.org/doc/.

Lembre-se também de utilizar o fórum para sugestões, dúvidas, curiosidades ou qualqueroutra coisa que tenha interesse.

36

Page 38: Manipulando Pacotes

Capítulo 6

Lição 4 - Aptitude

6.1 Introdução : O Aptitude

6.1.1 Introdução : O Aptitude

O Aptitude é uma interface para o terminal que permite o usuário manipular pacotes Debian. Comele é possível visualizar a lista de pacotes e executar algumas tarefas de manipulação de pacotes,como instalar, atualizar e remover pacotes. Essas ações podem ser executadas utilizando a linhade comando, ou uma interface amigável do terminal.

Assim como os outros programas estudados anteriormente, o aptitude é um front-end paraa biblioteca APT. Ele possui um sistema de busca poderoso que utiliza padrões de busca flexí-veis, tornando mais fácil a visualização da complexa relação entre vários pacotes. Além disso,o aptitude possui um sistema que grava quais são as dependências de um pacote, e caso essadependência não seja mais necessária para nenhum pacote ele a removerá.

As próximas seções irão ensinar como utilizar esse programa. Bom aprendizado!

6.1.2 Navegação

A interface do aptitude pode ser acessada utilizando o seguinte comando:

$ aptitude

A primeira coisa que devemos aprender sobre uma interface é como navegar por ela. Paraisso algumas teclas serão utilizadas, veja a tabela:

37

Page 39: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Teclas AçãoSetas para direita, esquerda, cima e baixo Navega nas direções pressionadas, tanto no

menu quanto na lista de pacotes.Enter Abre/Fecha/Ativa um ítem ou seleciona uma

opção do menuCtrl + T Ativa o menu+ Marca um pacote para instalação- Marca um pacote pare remoçãod Mostra dependências do pacote selecionadou Atualiza lista de pacotesg Executa as ações marcadas para instalação/remoção/

atualização de um pacote.q Sai do modo de visualização atual.? Mostra tela de ajuda./ Abre caixa de pesquisa de pacotes.

O Aptitude separa os pacotes em seções para melhor visualização, a figura a seguir mostra ovisual do programa e suas seções:

Quando selecionamos qualquer uma dessas seções, uma breve descrição sobre ela apare-cerá no frame inferior do programa.

38

Page 40: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

6.2 Instalação de pacotes

6.2.1 Instalação de pacotes

Agora que já sabemos como navegar pelo programa, exemplificarei como seria a instalação deum pacote.

Passo 1: a primeira coisa que devemos fazer é entrar na seção de pacotes não instalados.Passo 2: os pacotes estão divididos em sub-seções, sendo que cada uma possui uma breve

descrição do lado direito. Como pretendo instalar um editor de texto entrarei na seção "edi-tors"depois entrarei na seção "principal"já que o meu programa é um software livre bastanteconhecido.

Passo 3: navegarei até o pacote emacs21 e lendo sua descrição (frame inferior) verificarei seo programa satisfaz minhas necessidades.

Passo 4: Agora que já sei que esse realmente é o pacote que desejo instalar, pressionarei obotão "+"para que o pacote seja marcado para instalação.

A figura a seguir mostra os caminhos seguidos pelos passos, e o pacote "emacs21" selecio-nado para instalação:

6.2.2 Remoção de pacotes

Continuando com o exemplo, agora que eu marquei o editor de textos emacs para instalação pre-tendo remover meu antigo editor de textos. Então para isso, alguns passos devem ser seguidos:

Passo 1: a primeira coisa a ser feita é navegar até a seção de pacotes já instalados.Passo 2: navegaremos até a seção "editors"e depois "principal".Passo 3: o pacote que eu desejo remover chama-se "vim", então procurarei ele na lista de

editores e verificarei se esse é o programa que desejo remover olhando a descrição dele.

39

Page 41: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Passo 4: agora que tenho certeza que realmente desejo remover esse programa, utilizarei atecla -"para marca-lo para remoção.

A figura a seguir mostra os passos e o programa "vim"marcado para remoção:

Os passos citados poderiam ser simplificados se procurássemos pelo pacote utilizando a telade busca que aparece quando pressionamos a tecla "/".

6.2.3 Executando as operações

Agora que já marquei as alterações que eu gostaria que fossem feitas, utilizarei a tecla "g"paraexecuta-las. A figura a seguir mostra o resultado:

40

Page 42: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Repare na figura que outros pacotes também serão removidos pois quebram a dependênciados pacotes marcados ou porque não serão mais utilizados.

Se pressionarmos a tecla "g"novamente, as operações serão executadas.

41

Page 43: Manipulando Pacotes

Capítulo 7

Lição 5 - Synaptic

7.1 O Synaptic

7.1.1 O Synaptic

O Synaptic é um programa com interface gráfica bastante intuitiva e utiliza a biblioteca APT paraexercer diversas funções de manipulação de pacote, como por exemplo instalação, remoção,atualização de pacotes e até mesmo a atualização de todo o sistema.

Normalmente o Synaptic é usado para manipular pacotes .deb, porém, é capaz de manipularpacotes .rpm. Com o Synaptic a manipulação de pacotes fica muito mais fácil e intuitiva, asseções a seguir irão ensinar como utilizar essa ótima ferramenta. Bom aprendizado!

7.2 Operações básicas

Antes de mostrar a interface do programa e suas utilidades, é importante que seja lembrado queo Synaptic só funcionará corretamente se for executado por um superusuário. Para abrirmos oSynaptic, então podemos abrir o console e digitar o seguinte comando:

# synaptic

Assim que abrimos o programa vemos uma tela parecida com a da figura a seguir:

42

Page 44: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Na parte inferior esquerda existem alguns botões que selecionam como será a separaçãodos pacotes, podendo ser por Seções e por Status e Personalizado. O botão "Procurar"só é útilquando utilizamos a função de busca do programa, sendo que essa seção irá mostrar as buscasrealizadas recentemente.

Logo acima dos botões está a divisão das seções que foram selecionadas com o botão.Quando selecionamos uma seção, uma lista de pacotes será mostrada a direita, e selecionandoum pacote sua descrição será mostrada em um frame inferior como mostra a figura a seguir.

43

Page 45: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Repare na figura que a lista de pacotes está dividida em algumas colunas, que serão explica-das a seguir:

S: mostra o status do pacote seguindo a legenda a seguir:

Essa legenda pode ser obtida no menu Ajuda -> Legenda de Ícones.

44

Page 46: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Coluna em branco: mostra uma figura que representa a distribuição a qual o pacote pertence.Versão Instalada: se o pacote já estiver instalado, mostra a versão do pacote.Versão Recente: mostra a versão mais recente que foi encontrado nos repositórios do arquivo

sources.list.Descrição: mostra uma descrição breve do pacote.Logo acima da lista de pacotes existem alguns botões, como mostra a figura a seguir:

As funções dos botões serão explicadas abaixo: Recarregar: atualiza a lista dos pacotes(mesma função do apt-get update) Marcar Todas Atualizações: marca todas as possíveis atua-lizações de acordo com o repositório existente. Aplicar: executa as alterações que foram marca-das para ser feitas. Propriedades: abre a tela com informações sobre as propriedades do pacoteselecionado. Procurar: abre a janela de busca de pacotes.

7.3 Manipulando pacotes

7.3.1 Manipulando pacotes

A manipulação de pacotes com o Synaptic é feita de uma maneira bastante fácil e intuitiva, vamosaprender agora como atualizar, remover, instalar e reinstalar um pacote.

Quando clicamos com o botão direito do mouse em algum pacote da lista de pacotes, vemosum menu parecido com o da figura:

As seguintes opções podem ser selecionadas para um pacote dependendo do status de cadaum:

_Desmarcar: essa opção é utilizada caso tenhamos marcado alguma atividade a ser execu-tada com aquele pacote e tenhamos desistido de executa-la.

Marcar para instalação: com essa opção marcamos o pacote e seus dependentes paraserem instalados, caso os mesmos já não estejam instalados.

Marcar para reinstalação: caso um pacote já esteja instalado, porém o usuário queira reinstala-lo, essa opção deve ser escolhida.

Marcar para atualização: caso o pacote já esteja instalado no sistema, porém esteja desatu-alizado de acordo com o do repositório, então selecionando essa opção o programa irá atualizaro pacote.

45

Page 47: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Marcar para remoção: com essa opção marcamos o pacote para ser removido, porém seusarquivos de configuração serão mantidos.

Marcar para remoção completa: com essa opção tanto o pacote quanto os arquivos deconfiguração dele serão removidos.

Propriedades: mostra as propriedades do pacote selecionado.Marcar Recomendados para Instalação: caso algum pacote tenha sido recomendado para

instalação então com esse menu podemos marcar quais pacotes recomendados desejamos ins-talar.

Marcar Sugeridos para Instalação: com essa opção selecionamos quais pacotes sugeridosdeverão ser instalados.

Com apenas um clique do botão direito do mouse todas as opções de manipulação de umpacote serão exibidas, agora basta selecionar o que deseja fazer com cada pacote e marcar aatividade a ser executada.

7.3.2 Executando as atividades marcadas

Para executar as atividades marcadas utilizamos o botão "Aplicar"que está na parte superior doprograma. Uma tela então aparecerá confirmando as atividades que serão executadas, comomostra a seguinte figura:

Repare na opção "Apenas obter arquivos dos pacotes", caso seja selecionada, o programaapenas baixará os arquivos .deb sem instalá-los.

Clicando em "Aplicar"as operações serão executadas e uma tela mostrando a porcentagemde cada atividade aparecerá. Assim que as atividades forem concluídas uma tela de confirmaçãoaparecerá, como mostra a figura:

46

Page 48: Manipulando Pacotes

CDTC Centro de Difusão de Tecnologia e Conhecimento Brasil/DF

Caso não queira que essa janela aparece, a opção "Fechar automaticamente após as mudan-ças terem sido aplicadas"deverá ser marcada.

7.4 Ajuda

7.4.1 Ajuda

Grande parte das dúvidas que surgirem poderão ser sanadas olhando o menu Ajuda do programaou pressionando a tecla F1, que mostra uma documentação bastante completa do programa.

Caso você tenha alguma dúvida, curiosidade, sugestão utilize o fórum! Lembre-se de fazer aavaliação para saber se você realmente entendeu o assunto abordado no curso e para receber ocertificado.

Obrigado, e até o próximo curso!

47