Sei sulla pagina 1di 38

CVS

Verso 1.0.0

Sumrio
I Sobre essa Apostila 2 4 9 18
19 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 20 20 20 20 21 21 21 22 22

II Informaes Bsicas III GNU Free Documentation License IV CVS

1 O que o CVS 2 Plano de ensino 2.1 Objetivo . . . 2.2 Pblico Alvo . 2.3 Pr-requisitos 2.4 Descrio . . 2.5 Metodologia . 2.6 Cronograma 2.7 Programa . . 2.8 Avaliao . . 2.9 Bibliograa .

3 Introduo ao CVS 23 3.1 Introduo ao CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 3.2 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23 4 Administrao do CVS 4.1 Instalao . . . . . . . . 4.2 Servidor de CVS . . . . 4.3 Criando Projetos . . . . 4.4 Arquivos Administrativos 4.5 Clientes de CVS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26 26 27 31 34 35

Parte I

Sobre essa Apostila

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Contedo
O contedo dessa apostila fruto da compilao de diversos materiais livres publicados na internet, disponveis em diversos sites ou originalmente produzido no CDTC (http://www.cdtc.org.br.) O formato original deste material bem como sua atualizao est disponvel dentro da licena GNU Free Documentation License, cujo teor integral encontra-se aqui reproduzido na seo de mesmo nome, tendo inclusive uma verso traduzida (no ocial). A reviso e alterao vem sendo realizada pelo CDTC (suporte@cdtc.org.br) desde outubro de 2006. Crticas e sugestes construtivas sero bem-vindas a qualquer hora.

Autores
A autoria deste de responsabilidade de Andr Marra G. Araujo (andremarra@cdtc.org.br) . O texto original faz parte do projeto Centro de Difuso de Tecnologia e Conhecimento que vm sendo realizado pelo ITI (Instituto Nacional de Tecnologia da Informao) em conjunto com outros parceiros institucionais, e com as universidades federais brasileiras que tem produzido e utilizado Software Livre apoiando inclusive a comunidade Free Software junto a outras entidades no pas. Informaes adicionais podem ser obtidas atravs do email ouvidoria@cdtc.org.br, ou da home page da entidade, atravs da URL http://www.cdtc.org.br.

Garantias
O material contido nesta apostila isento de garantias e o seu uso de inteira responsabilidade do usurio/leitor. Os autores, bem como o ITI e seus parceiros, no se responsabilizam direta ou indiretamente por qualquer prejuzo oriundo da utilizao do material aqui contido.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br) . Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.1 or any later version published by the Free Software Foundation; with the Invariant Chapter being SOBRE ESSA APOSTILA. A copy of the license is included in the section entitled GNU Free Documentation License.

Parte II

Informaes Bsicas

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Sobre o CDTC
Objetivo Geral O Projeto CDTC visa a promoo e o desenvolvimento de aes que incentivem a disseminao de solues que utilizem padres abertos e no proprietrios de tecnologia, em proveito do desenvolvimento social, cultural, poltico, tecnolgico e econmico da sociedade brasileira. Objetivo Especco Auxiliar o Governo Federal na implantao do plano nacional de software no-proprietrio e de cdigo fonte aberto, identicando e mobilizando grupos de formadores de opinio dentre os servidores pblicos e agentes polticos da Unio Federal, estimulando e incentivando o mercado nacional a adotar novos modelos de negcio da tecnologia da informao e de novos negcios de comunicao com base em software no-proprietrio e de cdigo fonte aberto, oferecendo treinamento especco para tcnicos, prossionais de suporte e funcionrios pblicos usurios, criando grupos de funcionrios pblicos que iro treinar outros funcionrios pblicos e atuar como incentivadores e defensores dos produtos de software no proprietrios e cdigo fonte aberto, oferecendo contedo tcnico on-line para servios de suporte, ferramentas para desenvolvimento de produtos de software no proprietrios e do seu cdigo fonte livre, articulando redes de terceiros (dentro e fora do governo) fornecedoras de educao, pesquisa, desenvolvimento e teste de produtos de software livre.

Guia do aluno
Neste guia, voc ter reunidas uma srie de informaes importantes para que voc comece seu curso. So elas: Licenas para cpia de material disponvel; Os 10 mandamentos do aluno de Educao a Distncia; Como participar dos foruns e da wikipdia; Primeiros passos. muito importante que voc entre em contato com TODAS estas informaes, seguindo o roteiro acima.

Licena
Copyright 2006, Instituto Nacional de Tecnologia da Informao (cdtc@iti.gov.br). 5

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

dada permisso para copiar, distribuir e/ou modicar este documento sob os termos da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior pblicada pela Free Software Foundation; com o Capitulo Invariante SOBRE ESSA APOSTILA. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU".

Os 10 mandamentos do aluno de educao online

1. Acesso Internet: ter endereo eletrnico, um provedor e um equipamento adequado pr-requisito para a participao nos cursos a distncia; 2. Habilidade e disposio para operar programas: ter conhecimentos bsicos de Informtica necessrio para poder executar as tarefas; 3. Vontade para aprender colaborativamente: interagir, ser participativo no ensino a distncia conta muitos pontos, pois ir colaborar para o processo ensino-aprendizagem pessoal, dos colegas e dos professores; 4. Comportamentos compatveis com a etiqueta: mostrar-se interessado em conhecer seus colegas de turma respeitando-os e se fazendo ser respeitado pelos mesmos; 5. Organizao pessoal: planejar e organizar tudo fundamental para facilitar a sua reviso e a sua recuperao de materiais; 6. Vontade para realizar as atividades no tempo correto: anotar todas as suas obrigaes e realiz-las em tempo real; 7. Curiosidade e abertura para inovaes: aceitar novas idias e inovar sempre; 8. Flexibilidade e adaptao: requisitos necessrio mudana tecnolgica, aprendizagens e descobertas; 9. Objetividade em sua comunicao: comunicar-se de forma clara, breve e transparente ponto - chave na comunicao pela Internet; 10. Responsabilidade: ser responsvel por seu prprio aprendizado. O ambiente virtual no controla a sua dedicao, mas reete os resultados do seu esforo e da sua colaborao.

Como participar dos fruns e Wikipdia


Voc tem um problema e precisa de ajuda? Podemos te ajudar de 2 formas: A primeira o uso dos fruns de notcias e de dvidas gerais que se distinguem pelo uso: . O frum de notcias tem por objetivo disponibilizar um meio de acesso rpido a informaes que sejam pertinentes ao curso (avisos, notcias). As mensagens postadas nele so enviadas a 6

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

todos participantes. Assim, se o monitor ou algum outro participante tiver uma informao que interesse ao grupo, favor post-la aqui. Porm, se o que voc deseja resolver alguma dvida ou discutir algum tpico especco do curso. recomendado que voc faa uso do Frum de dvidas gerais que lhe d recursos mais efetivos para esta prtica. . O frum de dvidas gerais tem por objetivo disponibilizar um meio fcil, rpido e interativo para solucionar suas dvidas e trocar experincias. As mensagens postadas nele so enviadas a todos participantes do curso. Assim, ca muito mais fcil obter respostas, j que todos podem ajudar. Se voc receber uma mensagem com algum tpico que saiba responder, no se preocupe com a formalizao ou a gramtica. Responda! E no se esquea de que antes de abrir um novo tpico recomendvel ver se a sua pergunta j foi feita por outro participante. A segunda forma se d pelas Wikis: . Uma wiki uma pgina web que pode ser editada colaborativamente, ou seja, qualquer participante pode inserir, editar, apagar textos. As verses antigas vo sendo arquivadas e podem ser 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 "Wikipdia", uma experincia grandiosa de construo de uma enciclopdia de forma colaborativa, por pessoas de todas as partes do mundo. Acesse-a em portugus pelos links: Pgina principal da Wiki - http://pt.wikipedia.org/wiki/ Agradecemos antecipadamente a sua colaborao com a aprendizagem do grupo!

Primeiros Passos
Para uma melhor aprendizagem recomendvel que voc siga os seguintes passos: Ler o Plano de Ensino e entender a que seu curso se dispe a ensinar; Ler a Ambientao do Moodle para aprender a navegar neste ambiente e se utilizar das ferramentas bsicas do mesmo; Entrar nas lies seguindo a seqncia descrita no Plano de Ensino; Qualquer dvida, reporte ao Frum de Dvidas Gerais.

Perl do Tutor
Segue-se uma descrio do tutor ideal, baseada no feedback de alunos e de tutores. O tutor ideal um modelo de excelncia: consistente, justo e prossional nos respectivos valores e atitudes, incentiva mas honesto, imparcial, amvel, positivo, respeitador, aceita as idias dos estudantes, paciente, pessoal, tolerante, apreciativo, compreensivo e pronto a ajudar. 7

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

A classicao por um tutor desta natureza proporciona o melhor feedback possvel, crucial, e, para a maior parte dos alunos, constitui o ponto central do processo de aprendizagem. Este tutor ou instrutor: fornece explicaes claras acerca do que ele espera e do estilo de classicao que ir utilizar; gosta que lhe faam perguntas adicionais; identica as nossas falhas, mas corrige-as amavelmente, diz um estudante, e explica porque motivo a classicao foi ou no foi atribuda; tece comentrios completos e construtivos, mas de forma agradvel (em contraste com um reparo de um estudante: os comentrios deixam-nos com uma sensao de crtica, de ameaa e de nervossismo) d uma ajuda complementar para encorajar um estudante em diculdade; esclarece pontos que no foram entendidos, ou corretamente aprendidos anteriormente; ajuda o estudante a alcanar os seus objetivos; exvel quando necessrio; mostra um interesse genuno em motivar os alunos (mesmo os principiantes e, por isso, talvez numa fase menos interessante para o tutor); escreve todas as correes de forma legvel e com um nvel de pormenorizao adequado; acima de tudo, devolve os trabalhos rapidamente;

Parte III

GNU Free Documentation License

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

(Traduzido pelo Joo S. O. Bueno atravs do CIPSGA em 2001) Esta uma traduo no ocial da Licena de Documentao Livre GNU em Portugus Brasileiro. Ela no publicada pela Free Software Foundation, e no se aplica legalmente a distribuio de textos que usem a GFDL - apenas o texto original em Ingls da GNU FDL faz isso. Entretanto, ns esperamos que esta traduo ajude falantes de portugus a entenderem melhor a GFDL. This is an unofcial translation of the GNU General Documentation License into Brazilian Portuguese. It was not published by the Free Software Foundation, and does not legally state the distribution terms for software that uses the GFDLonly the original English text of the GFDL does that. However, we hope that this translation will help Portuguese speakers understand the GFDL better. Licena de Documentao Livre GNU Verso 1.1, Maro de 2000 Copyright (C) 2000 Free Software Foundation, Inc. 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA permitido a qualquer um copiar e distribuir cpias exatas deste documento de licena, mas no permitido alter-lo.

INTRODUO
O propsito desta Licena deixar um manual, livro-texto ou outro documento escrito "livre"no sentido de liberdade: assegurar a qualquer um a efetiva liberdade de copi-lo ou redistribui-lo, com ou sem modicaes, comercialmente ou no. Secundariamente, esta Licena mantm para o autor e editor uma forma de ter crdito por seu trabalho, sem ser considerado responsvel pelas modicaes feitas por terceiros. Esta Licena um tipo de "copyleft"("direitos revertidos"), o que signica que derivaes do documento precisam ser livres no mesmo sentido. Ela complementa a GNU Licena Pblica Geral (GNU GPL), que um copyleft para software livre. Ns zemos esta Licena para que seja usada em manuais de software livre, por que software livre precisa de documentao livre: um programa livre deve ser acompanhado de manuais que provenham as mesmas liberdades que o software possui. Mas esta Licena no est restrita a manuais de software; ela pode ser usada para qualquer trabalho em texto, independentemente do assunto ou se ele publicado como um livro impresso. Ns recomendamos esta Licena principalmente para trabalhos cujo propsito seja de introduo ou referncia.

APLICABILIDADE E DEFINIES
Esta Licena se aplica a qualquer manual ou outro texto que contenha uma nota colocada pelo detentor dos direitos autorais dizendo que ele pode ser distribudo sob os termos desta Licena. O "Documento"abaixo se refere a qualquer manual ou texto. Qualquer pessoa do pblico um

10

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

licenciado e referida como "voc". Uma "Verso Modicada"do Documento se refere a qualquer trabalho contendo o documento ou uma parte dele, quer copiada exatamente, quer com modicaes e/ou traduzida em outra lngua. Uma "Seo Secundria" um apndice ou uma seo inicial do Documento que trata exclusivamente da relao dos editores ou dos autores do Documento com o assunto geral do Documento (ou assuntos relacionados) e no contm nada que poderia ser includo diretamente nesse assunto geral (Por exemplo, se o Documento em parte um livro texto de matemtica, a Seo Secundria pode no explicar nada de matemtica). Essa relao poderia ser uma questo de ligao histrica com o assunto, ou matrias relacionadas, ou de posies legais, comerciais, loscas, ticas ou polticas relacionadas ao mesmo. As "Sees Invariantes"so certas Sees Secundrias cujos ttulos so designados, como sendo de Sees Invariantes, na nota que diz que o Documento publicado sob esta Licena. Os "Textos de Capa"so certos trechos curtos de texto que so listados, como Textos de Capa Frontal ou Textos da Quarta Capa, na nota que diz que o texto publicado sob esta Licena. Uma cpia "Transparente"do Documento signica uma cpia que pode ser lida automaticamente, representada num formato cuja especicao esteja disponvel ao pblico geral, cujos contedos possam ser vistos e editados diretamente e sem mecanismos especiais com editores de texto genricos ou (para imagens compostas de pixels) programas de pintura genricos ou (para desenhos) por algum editor de desenhos grandemente difundido, e que seja passvel de servir como entrada a formatadores de texto ou para traduo automtica para uma variedade de formatos que sirvam de entrada para formatadores de texto. Uma cpia feita em um formato de arquivo outrossim Transparente cuja constituio tenha sido projetada para atrapalhar ou desencorajar modicaes subsequentes pelos leitores no Transparente. Uma cpia que no "Transparente" chamada de "Opaca". Exemplos de formatos que podem ser usados para cpias Transparentes incluem ASCII simples sem marcaes, formato de entrada do Texinfo, formato de entrada do LaTex, SGML ou XML usando uma DTD disponibilizada publicamente, e HTML simples, compatvel com os padres, e projetado para ser modicado por pessoas. Formatos opacos incluem PostScript, PDF, formatos proprietrios que podem ser lidos e editados apenas com processadores de texto proprietrios, SGML ou XML para os quais a DTD e/ou ferramentas de processamento e edio no estejam disponveis para o pblico, e HTML gerado automaticamente por alguns editores de texto com nalidade apenas de sada. A "Pgina do Ttulo"signica, para um livro impresso, a pgina do ttulo propriamente dita, mais quaisquer pginas subsequentes quantas forem necessrias para conter, de forma legvel, o material que esta Licena requer que aparea na pgina do ttulo. Para trabalhos que no tenham uma pgina do ttulo, "Pgina do Ttulo"signica o texto prximo da apario mais proeminente do ttulo do trabalho, precedendo o incio do corpo do texto.

11

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

FAZENDO CPIAS EXATAS


Voc pode copiar e distribuir o Documento em qualquer meio, de forma comercial ou no comercial, desde que esta Licena, as notas de copyright, e a nota de licena dizendo que esta Licena se aplica ao documento estejam reproduzidas em todas as cpias, e que voc no acrescente nenhuma outra condio, quaisquer que sejam, s desta Licena. Voc no pode usar medidas tcnicas para obstruir ou controlar a leitura ou confeco de cpias subsequentes das cpias que voc zer ou distribuir. Entretanto, voc pode aceitar compensao em troca de cpias. Se voc distribuir uma quantidade grande o suciente de cpias, voc tambm precisa respeitar as condies da seo 3. Voc tambm pode emprestar cpias, sob as mesmas condies colocadas acima, e tambm pode exibir cpias publicamente.

FAZENDO CPIAS EM QUANTIDADE


Se voc publicar cpias do Documento em nmero maior que 100, e a nota de licena do Documento obrigar Textos de Capa, voc precisar incluir as cpias em capas que tragam, clara e legivelmente, todos esses Textos de Capa: Textos de Capa da Frente na capa da frente, e Textos da Quarta Capa na capa de trs. Ambas as capas tambm precisam identicar clara e legivelmente voc como o editor dessas cpias. A capa da frente precisa apresentar o ttulo completo com todas as palavras do ttulo igualmente proeminentes e visveis. Voc pode adicionar outros materiais s capas. Fazer cpias com modicaes limitadas s capas, tanto quanto estas preservem o ttulo do documento e satisfaam a essas condies, pode ser tratado como cpia exata em outros aspectos. Se os textos requeridos em qualquer das capas for muito volumoso para caber de forma legvel, voc deve colocar os primeiros (tantos quantos couberem de forma razovel) na capa verdadeira, e continuar os outros nas pginas adjacentes. Se voc publicar ou distribuir cpias Opacas do Documento em nmero maior que 100, voc precisa ou incluir uma cpia Transparente que possa ser lida automaticamente com cada cpia Opaca, ou informar, em ou com, cada cpia Opaca a localizao de uma cpia Transparente completa do Documento acessvel publicamente em uma rede de computadores, qual o pblico usurio de redes tenha acesso a download gratuito e annimo utilizando padres pblicos de protocolos de rede. Se voc utilizar o segundo mtodo, voc precisar tomar cuidados razoavelmente prudentes, quando iniciar a distribuio de cpias Opacas em quantidade, para assegurar que esta cpia Transparente vai permanecer acessvel desta forma na localizao especicada por pelo menos um ano depois da ltima vez em que voc distribuir uma cpia Opaca (diretamente ou atravs de seus agentes ou distribuidores) daquela edio para o pblico. pedido, mas no obrigatrio, que voc contate os autores do Documento bem antes de redistribuir qualquer grande nmero de cpias, para lhes dar uma oportunidade de prover voc com uma verso atualizada do Documento.

12

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

MODIFICAES
Voc pode copiar e distribuir uma Verso Modicada do Documento sob as condies das sees 2 e 3 acima, desde que voc publique a Verso Modicada estritamente sob esta Licena, com a Verso Modicada tomando o papel do Documento, de forma a licenciar a distribuio e modicao da Verso Modicada para quem quer que possua uma cpia da mesma. Alm disso, voc precisa fazer o seguinte na verso modicada: A. Usar na Pgina de Ttulo (e nas capas, se houver alguma) um ttulo distinto daquele do Documento, e daqueles de verses anteriores (que deveriam, se houvesse algum, estarem listados na seo "Histrico do Documento"). Voc pode usar o mesmo ttulo de uma verso anterior se o editor original daquela verso lhe der permisso; B. Listar na Pgina de Ttulo, como autores, uma ou mais das pessoas ou entidades responsveis pela autoria das modicaes na Verso Modicada, conjuntamente com pelo menos cinco dos autores principais do Documento (todos os seus autores principais, se ele tiver menos que cinco); C. Colocar na Pgina de Ttulo o nome do editor da Verso Modicada, como o editor; D. Preservar todas as notas de copyright do Documento; E. Adicionar uma nota de copyright apropriada para suas prprias modicaes adjacente s outras notas de copyright; F. Incluir, imediatamente depois das notas de copyright, uma nota de licena dando ao pblico o direito de usar a Verso Modicada sob os termos desta Licena, na forma mostrada no tpico abaixo; G. Preservar nessa nota de licena as listas completas das Sees Invariantes e os Textos de Capa requeridos dados na nota de licena do Documento; H. Incluir uma cpia inalterada desta Licena; I. Preservar a seo entitulada "Histrico", e seu ttulo, e adicionar mesma um item dizendo pelo menos o ttulo, ano, novos autores e editor da Verso Modicada como dados na Pgina de Ttulo. Se no houver uma sesso denominada "Histrico"no Documento, criar uma dizendo o ttulo, ano, autores, e editor do Documento como dados em sua Pgina de Ttulo, ento adicionar um item descrevendo a Verso Modicada, tal como descrito na sentena anterior; J. Preservar o endereo de rede, se algum, dado no Documento para acesso pblico a uma cpia Transparente do Documento, e da mesma forma, as localizaes de rede dadas no Documento para as verses anteriores em que ele foi baseado. Elas podem ser colocadas na seo "Histrico". Voc pode omitir uma localizao na rede para um trabalho que tenha sido publicado pelo menos quatro anos antes do Documento, ou se o editor original da verso a que ela se rera der sua permisso; K. Em qualquer seo entitulada "Agradecimentos"ou "Dedicatrias", preservar o ttulo da 13

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

seo e preservar a seo em toda substncia e m de cada um dos agradecimentos de contribuidores e/ou dedicatrias dados; L. Preservar todas as Sees Invariantes do Documento, inalteradas em seus textos ou em seus ttulos. Nmeros de seo ou equivalentes no so considerados parte dos ttulos da seo; M. Apagar qualquer seo entitulada "Endossos". Tal sesso no pode ser includa na Verso Modicada; N. No reentitular qualquer seo existente com o ttulo "Endossos"ou com qualquer outro ttulo dado a uma Seo Invariante. Se a Verso Modicada incluir novas sees iniciais ou apndices que se qualiquem como Sees Secundrias e no contenham nenhum material copiado do Documento, voc pode optar por designar alguma ou todas aquelas sees como invariantes. Para fazer isso, adicione seus ttulos lista de Sees Invariantes na nota de licena da Verso Modicada. Esses ttulos precisam ser diferentes de qualquer outro ttulo de seo. Voc pode adicionar uma seo entitulada "Endossos", desde que ela no contenha qualquer coisa alm de endossos da sua Verso Modicada por vrias pessoas ou entidades - por exemplo, declaraes de revisores ou de que o texto foi aprovado por uma organizao como a denio ocial de um padro. Voc pode adicionar uma passagem de at cinco palavras como um Texto de Capa da Frente , e uma passagem de at 25 palavras como um Texto de Quarta Capa, ao nal da lista de Textos de Capa na Verso Modicada. Somente uma passagem de Texto da Capa da Frente e uma de Texto da Quarta Capa podem ser adicionados por (ou por acordos feitos por) qualquer entidade. Se o Documento j incluir um texto de capa para a mesma capa, adicionado previamente por voc ou por acordo feito com alguma entidade para a qual voc esteja agindo, voc no pode adicionar um outro; mas voc pode trocar o antigo, com permisso explcita do editor anterior que adicionou a passagem antiga. O(s) autor(es) e editor(es) do Documento no do permisso por esta Licena para que seus nomes sejam usados para publicidade ou para assegurar ou implicar endossamento de qualquer Verso Modicada.

COMBINANDO DOCUMENTOS
Voc pode combinar o Documento com outros documentos publicados sob esta Licena, sob os termos denidos na seo 4 acima para verses modicadas, desde que voc inclua na combinao todas as Sees Invariantes de todos os documentos originais, sem modicaes, e liste todas elas como Sees Invariantes de seu trabalho combinado em sua nota de licena. O trabalho combinado precisa conter apenas uma cpia desta Licena, e Sees Invariantes Idnticas com multiplas ocorrncias podem ser substitudas por apenas uma cpia. Se houver mltiplas Sees Invariantes com o mesmo nome mas com contedos distintos, faa o ttulo de 14

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cada seo nico adicionando ao nal do mesmo, em parnteses, o nome do autor ou editor origianl daquela seo, se for conhecido, ou um nmero que seja nico. Faa o mesmo ajuste nos ttulos de seo na lista de Sees Invariantes nota de licena do trabalho combinado. Na combinao, voc precisa combinar quaisquer sees entituladas "Histrico"dos diversos documentos originais, formando uma seo entitulada "Histrico"; da mesma forma combine quaisquer sees entituladas "Agradecimentos", ou "Dedicatrias". Voc precisa apagar todas as sees entituladas como "Endosso".

COLETNEAS DE DOCUMENTOS
Voc pode fazer uma coletnea consitindo do Documento e outros documentos publicados sob esta Licena, e substituir as cpias individuais desta Licena nos vrios documentos com uma nica cpia incluida na coletnea, desde que voc siga as regras desta Licena para cpia exata de cada um dos Documentos em todos os outros aspectos. Voc pode extrair um nico documento de tal coletnea, e distribu-lo individualmente sob esta Licena, desde que voc insira uma cpia desta Licena no documento extrado, e siga esta Licena em todos os outros aspectos relacionados cpia exata daquele documento.

AGREGAO COM TRABALHOS INDEPENDENTES


Uma compilao do Documento ou derivados dele com outros trabalhos ou documentos separados e independentes, em um volume ou mdia de distribuio, no conta como uma Verso Modicada do Documento, desde que nenhum copyright de compilao seja reclamado pela compilao. Tal compilao chamada um "agregado", e esta Licena no se aplica aos outros trabalhos auto-contidos compilados junto com o Documento, s por conta de terem sido assim compilados, e eles no so trabalhos derivados do Documento. Se o requerido para o Texto de Capa na seo 3 for aplicvel a essas cpias do Documento, ento, se o Documento constituir menos de um quarto de todo o agregado, os Textos de Capa do Documento podem ser colocados em capas adjacentes ao Documento dentro do agregado. Seno eles precisaro aparecer nas capas de todo o agregado.

TRADUO
Traduo considerada como um tipo de modicao, ento voc pode distribuir tradues do Documento sob os termos da seo 4. A substituio de Sees Invariantes por tradues requer uma permisso especial dos detentores do copyright das mesmas, mas voc pode incluir tradues de algumas ou de todas as Sees Invariantes em adio s verses orignais dessas Sees Invariantes. Voc pode incluir uma traduo desta Licena desde que voc tambm inclua a verso original em Ingls desta Licena. No caso de discordncia entre a traduo e a

15

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

verso original em Ingls desta Licena, a verso original em Ingls prevalecer.

TRMINO
Voc no pode copiar, modicar, sublicenciar, ou distribuir o Documento exceto como expressamente especicado sob esta Licena. Qualquer outra tentativa de copiar, modicar, sublicenciar, ou distribuir o Documento nula, e resultar automaticamente no trmino de seus direitos sob esta Licena. Entretanto, terceiros que tenham recebido cpias, ou direitos de voc sob esta Licena no tero suas licenas terminadas, tanto quanto esses terceiros permaneam em total acordo com esta Licena.

REVISES FUTURAS DESTA LICENA


A Free Software Foundation pode publicar novas verses revisadas da Licena de Documentao Livre GNU de tempos em tempos. Tais novas verses sero similares em espirito verso presente, mas podem diferir em detalhes ao abordarem novos porblemas e preocupaes. Veja http://www.gnu.org/copyleft/. A cada verso da Licena dado um nmero de verso distinto. Se o Documento especicar que uma verso particular desta Licena "ou qualquer verso posterior"se aplica ao mesmo, voc tem a opo de seguir os termos e condies daquela verso especca, ou de qualquer verso posterior que tenha sido publicada (no como rascunho) pela Free Software Foundation. Se o Documento no especicar um nmero de Verso desta Licena, voc pode escolher qualquer verso j publicada (no como rascunho) pela Free Software Foundation. ADENDO: Como usar esta Licena para seus documentos Para usar esta Licena num documento que voc escreveu, inclua uma cpia desta Licena no documento e ponha as seguintes notas de copyright e licenas logo aps a pgina de ttulo: Copyright (c) ANO SEU NOME. dada permisso para copiar, distribuir e/ou modicar este documento sob os termos da Licena de Documentao Livre GNU, Verso 1.1 ou qualquer verso posterior publicada pela Free Software Foundation; com as Sees Invariantes sendo LISTE SEUS TTULOS, com os Textos da Capa da Frente sendo LISTE, e com os Textos da Quarta-Capa sendo LISTE. Uma cpia da licena est inclusa na seo entitulada "Licena de Documentao Livre GNU". Se voc no tiver nenhuma Seo Invariante, escreva "sem Sees Invariantes"ao invs de dizer quais so invariantes. Se voc no tiver Textos de Capa da Frente, escreva "sem Textos de Capa da Frente"ao invs de "com os Textos de Capa da Frente sendo LISTE"; o mesmo para os Textos da Quarta Capa. Se o seu documento contiver exemplos no triviais de cdigo de programas, ns recomendamos a publicao desses exemplos em paralelo sob a sua escolha de licena de software livre,

16

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

tal como a GNU General Public License, para permitir o seu uso em software livre.

17

Parte IV

CVS

18

Captulo 1

O que o CVS
O CVS (Concurrent Version Software) permite que se organizem grupos de trabalho para desenvolvimento de projetos colaborativos. Um projeto pode ser desde um programa em C, documentao em equipe, etc. O uso do CVS recomendado para qualquer desenvolvimento de projeto que tenha vrios envolvidos trabalhando ao mesmo tempo.

19

Captulo 2

Plano de ensino
2.1 Objetivo
Qualicar tcnicos e programadores para utilizarem o CVS como ferramenta de versionamento de software.

2.2 Pblico Alvo


Tcnicos e Programadores que desejam trabalhar com CVS.

2.3 Pr-requisitos
Os usurios devero ser, necessariamente, funcionrios pblicos e ter conhecimentos bsicos para operar um computador.

2.4 Descrio
O curso de CVS ser realizado na modalidade EAD e utilizar a plataforma Moodle como ferramenta de aprendizagem. Ele composto de um mdulo de aprendizado que ser dado na primeira semana e um mdulo de avaliao que ser dado na segunda semana. O material didtico estar disponvel on-line de acordo com as datas pr-estabelecidas no calendrio. A verso utilizada para o CVS ser a 1.11.1 METODOLOGIA O curso est dividido da seguinte maneira: Durao 1 semana Descrio do Mdulo Lio 1 - Introduo Lio 2 - Instalao Lio 3 - Servidor de CVS Lio 4 - Criando Projetos Lio 5 - Arquivos Administrativos Lio 6 - Clientes de CVS

Todo o material est no formato de lies, e estar disponvel ao longo do curso. As lies podero ser acessadas quantas vezes forem necessrias. 20

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Ao nal de cada semana do curso ser disponibilizada a prova referente ao mdulo estudado anteriormente que tambm conter perguntas sobre os textos indicados. Utilize o material de cada semana e os exemplos disponibilizados para se preparar para prova.

2.5 Metodologia
O curso est dividido da seguinte maneira:

2.6 Cronograma
Lio 1 - Introduo; Lio 2 - Instalao; Lio 3 - Servidor de CVS; Lio 4 - Criando Projetos; Lio 5 - Arquivos Administrativos; Lio 6 - Clientes de CVS; Avaliao de aprendizagem; Avaliao do curso. As lies contm o contedo principal. Elas podero ser acessadas quantas vezes forem necessrias, desde que estejam dentro da semana programada. Ao nal de uma lio, voc receber uma nota de acordo com o seu desempenho. Responda com ateno s perguntas de cada lio, pois elas sero consideradas na sua nota nal. Caso sua nota numa determinada lio for menor que 6.0, sugerimos que voc faa novamente esta lio. Ao nal do curso ser disponibilizada a avaliao referente ao curso. Tanto as notas das lies quanto a da avaliao nal sero consideradas para a nota nal. Todos os mdulos caro visveis para que possam ser consultados durante a avaliao nal. Aconselhamos a leitura da "Ambientao do Moodle"para que voc conhea a plataforma de Ensino a Distncia, evitando diculdades advindas do "desconhecimento"sobre a mesma. Os instrutores estaro a sua disposio ao longo de todo curso. Qualquer dvida dever ser enviada ao frum. Diariamente os monitores daro respostas e esclarecimentos.

2.7 Programa
O curso de CVS oferecer o seguinte contedo: Introduo e Instalao; Uso das ferramentas mais comuns.

21

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

2.8 Avaliao
Toda a avaliao ser feita on-line. Aspectos a serem considerados na avaliao: Iniciativa e autonomia no processo de aprendizagem e de produo de conhecimento; Capacidade de pesquisa e abordagem criativa na soluo dos problemas apresentados. Instrumentos de avaliao: Participao ativa nas atividades programadas; Avaliao ao nal do curso. O participante far vrias avaliaes referentes ao contedo do curso. Para a aprovao e obteno do certicado o participante dever obter nota nal maior ou igual a 6.0 de acordo com a frmula abaixo: Nota Final = ((ML x 7) + (AF x 3)) / 10 = Mdia aritmtica das lies AF = Avaliaes

2.9 Bibliograa
Site ofcial: http://www.nongnu.org/cvs Guia em Portugus: http://focalinux.cipsga.org.br/guia/avancado/ch-s-cvs.htm

22

Captulo 3

Introduo ao CVS
Nesta lio, ser visto conceitos bsicos sobre o que CVS e os modos de uso do CVS.

3.1 Introduo ao CVS


O CVS (Concurrent Version System) permite que se organizem grupos de trabalho para desenvolvimento de projetos colaborativos. Um projeto pode ser desde um programa em C, documentao em equipe, etc. O uso do CVS recomendado para qualquer desenvolvimento de projeto que tenha vrios envolvidos trabalhando ao mesmo tempo. Para cada mudana feita no programa, solicitada uma descrio dos trabalhos realizados e o sistema registra todas as modicaes realizadas ao longo do desenvolvimento, permitindo voltar a uma verso anterior ou ver as mudanas entre elas facilmente. Imagine uma situao onde voc est desenvolvendo um programa de computador e aps a ltima modicao ele pra de funcionar. Com o CVS possvel ver o que foi modicado e voltar at a verso que estava funcionando para consertar o problema. No desenvolvimento de documentao e traduo o CVS tambm desempenha um papel importante, pois com ele o tradutor pode ver o que foi modicado entre a verso do documento original que ele usou para traduo e uma verso recente, traduzindo apenas as diferenas. Uma seo de cvs feita de modo interativo atravs do comando cvs. Por exemplo: logar no sistema - cvs login; baixar um projeto - cvs checkout projeto . Cada comando do cvs ser explicado em detalhes no decorrer deste curso.

3.2 Overview
Verso A verso do CVS documentada no curso a 1.11.1. As explicaes aqui certamente sero compatveis com verses posteriores deste programa. Histria O CVS uma substituio do sistema RCS (Revision Control System) ele possui mais recursos e foi criado sendo compatvel com o RCS. A histria do CVS (extrada de sua info page) que ele foi iniciado a partir de um conjunto de scripts shell escritos por Dick Grune que foram postados ao grupo de notcias comp.sources.unix 23

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

no volume de 6 de Dezembro de 1986. Na verso atual no esto mais presentes shell scripts porque muitos dos conitos de resoluo de algortmos vem deles. Em Abril de 1989, Brian Berliner fez o design e programou o CVS. Mais tarde, Jeff Polk ajudou Brian com o design do mdulo CVS. Contribuindo com o CVS Atravs da lista de discusso info-cvs. Para se inscrever envie uma mensagem com o subject "subscribe"para info-cvs-request@gnu.org. Outra alternativa atravs do grupo de notcias (newsgroup) da Usenet comp.software.cong-mgm. Caractersticas Abaixo uma lista de caractersticas que tornam o CVS til no gerenciamento de trabalhos em grupo: Gerenciamento de projeto em equipe; log de todas as alteraes realizadas; lock de arquivos, permitindo que somente uma determinada pessoa modique o arquivo durante o desenvolvimento do projeto; histrico de todas as mudanas feitas, isto permite voltar a uma verso anterior em caso de problemas, e ver o que houve de errado com o cdigo; os projetos podem ser hospedados em repositrios; podem ser criadas diversas equipes de trabalho para cada repositrio, e denidos quem ter ou no acesso ao repositrio individualmente. O desenvolvedor gleydson, por exemplo, podem ter acesso ao projeto x_beta e no ter acesso a projeto secret_y; permisses de acesso individuais de leitura/gravao; possvel criar um usurio com acesso annimo sem dar uma conta no sistema; pode tanto utilizar o banco de dados de contas/senhas do sistema como um banco de dados de autenticao do prprio CVS; permite utilizar diversos "mtodos"de acesso ao servidor: local, pserver, ext, etc. Cada um destes mtodos ser descrito a seguir; permite o acesso via ssh para usurios que j possuam conta na mquina servidora. Este mtodo garante segurana no envio da senha criptografada; permite visualizar facilmente o que foi modicado entre duas verses de um arquivo. Ficha tcnica Pacote: cvs Utilitrios: cvs - servidor/ferramenta cliente; cvsbug - envia um bug sobre o CVS para a equipe de suporte; rcs2log - converte arquivos de log do formato usado pelo RCS para o CVS. Utilizado na migrao desta ferramenta para o CVS;

24

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cvscong - usado pela Debian para ativar/desativar o servidor pserver. Pode tambm ser usado o dpkg-recongure cvs para desativar o servidor pserver e suas caractersticas; cvs-makerepos - script da Debian que l a lista de repositrios de /etc/cvs-pserver.conf, cria os repositrios no local apropriado, corrige as permisses do diretrio e adiciona os repositrios no servidor pserver; cvs-pserver - script da Debian responsvel por fazer uma inicializao mais inteligente do servidor de CVS via pserver, leitura e processamento de repositrios, etc. Normalmente ele chamado a partir do arquivo /etc/inetd.conf. Requerimentos de Hardware Para executar o CVS requerido pelo menos 3 vezes mais memria que o tamanho do maior arquivo usado pelo projeto (para realizao de diffs entre as atualizaes) e uma boa quantidade de espao em disco. Na realidade os requerimentos sobre o CVS dependem muito da aplicao que ser desenvolvida. recomendvel que a mquina tenha memria suciente para evitar o uso de swap, que degrada bastante a performance do sistema. Arquivos de log criados pelo CVS Problemas na inicializao do CVS so registrados no arquivo /var/log/daemon.log. Os logs de modicaes feitas nos arquivos de um projeto no CVS so armazenadas no formato arquivo.extenso,v ( adicionado o ",v"ao nal do arquivo para indicar que um arquivo de controle de modicaes do CVS).

25

Captulo 4

Administrao do CVS
Aprenda a instalar, congurar e manipular o CVS para atender as suas necessidades.

4.1 Instalao
O CVS pode ser baixado de http://www.cvshome.org/. Para pacotes Debian basta apenas executar o comando: apt-get install cvs e seguir as telas de congurao para ter o pacote CVS instalado e (opcionalmente) com o servidor sendo executado. Voc poder a qualquer momento recongurar o CVS executando: dpkg-recongure cvs. Uma boa documentao de referncia encontrada no pacote cvs-doc. Iniciando o servidor/reiniciando/recarregando a congurao. A nica congurao requerida quando o CVS executado via pserver. Para isto, necessria a seguinte linha no arquivo /etc/inetd.conf cvspserver stream tcp nowait.200 root /usr/sbin/tcpd /usr/sbin/cvs-pserver Note que o parmetro "200"indica quantas vezes o processo CVS poder ser executado por minuto no sistema. Caso esse nmero seja excedido, o servio ser desabilitado e ser necessrio reiniciar o servidor inetd com o comando killall -HUP inetd para reativar o servidor CVS pserver. Ajuste este valor de forma adequada ao seu servidor! Veja o script cvs-pserver sendo executado no nal da linha. Ele foi desenvolvido para lidar de forma mais inteligente com a congurao do servidor CVS pserver. Opes de linha de comando As seguintes opes so aceitas pelo CVS: -z [num ] utiliza o gzip para fazer a transferncia compactada dos arquivos. O valor especicado pode ser de 0 a 9, quanto maior o nmero maior o nvel de compactao e uso da CPU; exemplo: cvs -z 3 checkout teste -q oculta mensagens sobre recurso de diretrio durante os comandos do CVS; -d [repositrio ] Permite especicar o repositrio atravs da linha de comando. -e [editor ] dene qual o editor de textos usado para registrar o texto de commits; -n executa o cvs em modo "simulao"no modicando qualquer arquivo do repositrio; -t expe mensagens mostrando o processo de execuo de comandos do CVS. bastante til para aprendizado do cvs usado junto com a opo -n; 26

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

-r torna os novos arquivos criados somente para leitura. a mesma coisa que especicar a varivel CVSREAD; -w torna os novos arquivos criados leitura/gravao que o padro; -x utiliza criptograa para a transferncia dos arquivos quando utilizado em conjunto com o Kerberos.

4.2 Servidor de CVS


Servidor de CVS - congurando mtodos de acesso ao repositrio O CVS uma aplicao cliente/servidor, possuindo diversas maneiras de fazer o acesso a seu repositrio. Estes mtodos so os seguintes: local; ext; pserver; fork; GSSAPI. Eles so explicados em detalhes nas sub-sees a seguir. local Acessa o diretrio do repositrio diretamente no disco local. A vantagem deste mtodo que no requerido nem nome nem senha para acesso (voc precisa apenas ter permisses para acesso aos arquivos que deseja trabalhar) e tambm no preciso nenhuma conexo de rede. Este mtodo ideal para trabalhar na mquina local ou com os arquivos administrativos do CVS existentes no diretrio CVSROOT do repositrio. muito til tambm para congurar outros mtodos de acesso, como o pserver. Congurando o mtodo local Para utilizar o mtodo de acesso local, basta denir a varivel CVSROOT da seguinte forma (assumindo que o repositrio esteja instalado em /var/lib/cvs): export CVSROOT=/var/lib/cvs ou export CVSROOT=local:/var/lib/cvs Depois disso, basta utilizar os comandos normais do cvs sem precisar se autenticar no sistema. fork Este mtodo semelhante ao local, mas ele "simula"uma conexo de rede com o servidor. muito usado para ns de testes. Congurando o mtodo fork Para utilizar o mtodo de acesso fork, basta denir a varivel CVSROOT da seguinte forma (assumindo que o repositrio esteja instalado em /var/lib/cvs): export CVSROOT=fork:/var/lib/cvs Depois disso, basta utilizar os comandos normais do cvs, sem precisar se autenticar no sistema. 27

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ext Este mtodo de acesso lhe permite especicar um programa externo que ser usado para fazer uma conexo remota com o servidor cvs.Este programa denido na varivel CVS_RSH e caso ela no seja especicada o padro rsh. Este mtodo requer que o usurio possua um login/senha no banco de dados de autenticao /etc/passwd do servidor de destino. Suas permisses de acesso ao CVS (leitura/gravao) sero as mesmas denidas neste arquivo. O uso do acesso criptografado via ssh possvel denindo o programa ssh na varivel CVS_RSH. Congurando o mtodo ext Dena a varivel CVSROOT da seguinte forma para utilizar este mtodo de acesso (assumindo /var/lib/cvs como repositrio): export CVSROOT=:ext:conta@servidor.org.br:/var/lib/cvs cvs login A "conta" uma conta de usurio existente no servidor remoto (por exemplo, gleydson) seguido do nome do servidor remoto (separado por uma "@"). Por exemplo para acessar o servidor cvs.cipsga.org.br usando a conta michelle: export CVSROOT=:ext:michelle@cvs.cipsga.org.br:/var/lib/cvs cvs checkout OBS: A senha via mtodo de acesso "ext"ser pedida somente uma vez quando for necessrio o primeiro acesso ao servidor remoto. O uso mais freqente do ext para conexes seguras feitas via ssh, feita da seguinte forma: export CVS_RSH=ssh export CVSROOT=:ext:michelle@cvs.cipsga.org.br:/var/lib/cvs cvs checkout O acesso de leitura/gravao do usurio, denido de acordo com as permisses deste usurio no sistema. Uma maneira recomendada denir um grupo que ter acesso a gravao no CVS e adicionar usurios que possam fazer gravao neste grupo. OBS1: O acesso via ssh traz a vantagem de que as senhas trafegaro de forma segura via rede, no sendo facilmente capturadas por sniffers e outros programas de monitorao que estejam instalados na rota entre voc e o servidor. OBS2: possvel especicar a senha na varivel CVSROOT usando a sintaxe semelhante a usada no ftp: export CVSROOT=:ext:michelle:senha@cvs.cipsga.org.br:/var/lib/cvs Entretanto isto no recomendado, pois os processos da mquina podero capturar facilmente a senha (incluindo usurios normais, caso a mquina no esteja com patches de restries de acesso a processos congurados, que o padro em quase todas as distribuies de Linux). pserver (password server) Este um mtodo de acesso remoto que utiliza um banco de dados de usurios e senhas para acesso ao repositrio. A diferena em relao ao mtodo de acesso ext que o pserver roda atravs de um servidor prprio na porta 2401. O acesso dos usurios (leitura/gravao) no repositrio pode ser feito tanto atravs do banco de dados de usurios do sistema(/etc/passwd) como atravs de um banco de dados separado por repositrio. A grande vantagem deste segundo mtodo que cada projeto poder ter membros com acessos diferenciados; o membro x poder ter acesso ao projeto sgml, mas no ao projeto focalinux; ou o usurio y poder ter acesso de gravao (para trabalhar no projeto focalinux), mas somente acesso de leitura ao projeto sgml. Este o mtodo de acesso preferido para a criao de usurios annimos (uma vez que o administrador de um servidor que hospede muitos projetos no vai querer abrir um acesso annimo via ext para 28

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

todos os projetos). Tambm existe a vantagem que novos membros do projeto e tarefas administrativas so feitas por qualquer pessoa que possua acesso de gravao aos arquivos do repositrio. Congurando um servidor pserver Ativando o servidor pserver Para ativar o pserver (caso ainda no o tenha feito). Execute o comando dpkg-recongure cvs e selecione a opo Ativar o servidor pserver. Uma maneira de fazer isso automaticamente modicando o arquivo /etc/inetd.conf adicionando a seguinte linha: # na Debian cvspserver stream tcp nowait.400 root /usr/sbin/tcpd /usr/sbin/cvs-pserver # em outras Distribuies cvspserver stream tcp nowait root /usr/bin/cvs cvs -f allow-root=/var/lib/cvs pserver Na Debian, o cvs iniciado atravs do script /usr/sbin/cvs-pserver que checa os binrios e executa o cvs para todos os repositrios especicados no arquivo /etc/cvs-pserver.conf. Voc tambm poder executar o mtodo pserver sob um usurio que no seja o root, para isto, modique a entrada referente ao usurio.grupo no inetd.conf e tenha certeza que o daemon consegue fazer as operaes de suid/sgid no diretrio onde o repositrio se encontra. Servidor pserver usando autenticao do sistema Para usar o banco de dados de autenticao do sistema (/etc/passwd), para autenticar os usurios remotos, primeiro tenha certeza que o servidor pserver est ativado. Repetindo o exemplo anterior, a usuria Michelle dever ter uma conta em /etc/passwd para fazer acesso ao cvs: export CVSROOT=:pserver:michelle@cvs.cipsga.org.br:/var/lib/cvs cvs login Ser pedida a senha da usuria Michelle. Entrando com a senha correta, o sistema retornar para o aviso de comando. Uma mensagem ser mostrada caso a senha de entrada seja incorreta. Daqui em diante, o resto da seo CVS normal e voc ter as permisses de acesso ao repositrio de acordo com as suas permisses de acesso naquele diretrio. OBS1: A senha poder ser passada junto com o login da mesma forma como o ftp. OBS2: A desvantagem do mtodo pserver padro que a seo feita em texto plano, desta forma, alguns cuidados podem ser tomados para tornar o sistema um pouco mais seguro. Um deles dar /bin/false como shell de usurio (para desativar o login no sistema) ou usar o mtodo de acesso descrito em Servidor pserver usando autenticao do sistema em combinao com este. Tenha conscincia das inuncias disso se a mquina for usada para outras tarefas, como um servidor "pop3"por exemplo. Servidor pserver com autenticao prpria Esta forma de acesso armazena os usurios num banco de dados prprio, no requerendo a criao de contas locais no arquivo /etc/passwd. Para criar um servidor deste tipo siga os seguintes procedimentos: 1. Exporte a varivel CVSROOT apontando para o repositrio que deseja congurar o acesso. Como isto uma congurao administrativa, assuma o mtodo de acesso local sendo usado pelo usurio administrador do servidor: export CVSROOT=/var/lib/cvs; 2. crie um diretrio para trabalhar nos arquivos administrativos do repositrio: mkdir /tmp/repos; 29

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

3. entre no diretrio criado acima e execute o comando: cvs checkout; 4. quando terminar de baixar os arquivos, entre no subdiretrio CVSROOT, os arquivos de congurao do repositrio se encontram l; 5. edite o arquivo cong e mude a varivel SystemAuth para no. Isto diz ao servidor pserver para no usar os arquivos de autenticao do sistema, mas ao invs disso usar seu banco de dados prprio. Em algumas instalaes, caso exista o arquivo passwd no repositrio, o pserver automaticamente o utiliza ao invs do /etc/passwd. 6. Crie um arquivo passwd no diretrio CVSROOT o formato deste arquivo : usuario:senha:usuario_local Onde: usuario Nome da conta de usurio que far acesso ao CVS; senha senha que ser usada pelo usurio. Ela dever ser criptografada usando o algoritmo crypt. O comando mkpasswd senha pode ser usado para gerar a senha criptografada. Caso este campo seja deixado em branco, nenhuma senha de usurio ser utilizada. O utilitrio mkpasswd est presente no pacote whois na Debian; usuario_local usurio local que ter suas permisses mapeadas ao usurio do CVS. Como a conta de usurio do cvs no existe no sistema, necessrio que o sistema tenha uma maneira de saber que nvel de acesso este usurio ter. Caso no crie este usurio ou ele seja invlido, voc ter erros do tipo ": no such user"no momento que zer o "cvs login". Uma forma segura de se fazer isto, criar uma conta de usurio *somente* com acesso aos arquivos do CVS, sem shell e senha. Isto permitir mapear a UID/GID do usurio criado com o acesso do CVS sem comprometer a segurana do sistema de arquivos. Isto pode ser feito atravs do seguinte comando: adduser disabled-password disabled-login usuario necessrio especicar um diretrio home do usurio, pois o servidor cvs precisa ter acesso ao arquivo /home/do/cvs/.cvsignore. OBS1: Mais uma vez: leve sempre em conta a forma que os outros servios em sua mquina esto congurados (como eles fazem acesso, permisses de acesso, diretrios onde gravam arquivos, so algumas delas) antes de escolher como um servio novo na mquina funcionar. Isto poder modicar ou deixar vunervel a segurana de sua instalao. OBS2: Permita que os usurios somente tenham acesso a mquina via CVS. OBS3: Certique-se sempre que o dono/grupo do repositrio seja root.src (ou outro grupo que tenha criado) adicione somente usurios de conana no grupo src para criar novos projetos. Exemplos: gleydsonm:K32dk1234k:cvsuser anonymous::pooruser O usurio cvs gleydsonm quando logar no cvs, ter as permisses de acesso do usurio cvsuser do sistema. OBS1: Certique-se que o usurio local possui permisses de gravao no diretrio do CVS, caso contrrio ele no poder fazer commits. Lembre-se de que as permisses de leitura/gravao do usurio sero controladas atravs de arquivos do prprio

30

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

pserver, mas tambm necessria a permisso de gravao do usurio no repositrio. Isto poder ser feito atravs de grupos de sistema e garante uma dupla camada de segurana. OBS2: Caso tenha preferido usar o pserver sob um usurio diferente de root e esteja obtendo a mensagem setgid failed: Operation not permitted, signica que o servidor CVS no consegue mudar para o grupo referente ao usado no diretrio do repositrio. Verique se as permisses esto adequadas e se o grupo do usurio CVS no /etc/passwd o mesmo que especicou para acesso ao repositrio. 7. Para dar direito de leitura ao repositrio, crie um arquivo chamado readers e adicione os nomes de usurios que tero acesso ao repositrio (um por linha). O nome que dever ser usado o nome do usurio de CVS e no do sistema (usurio gleydsonm, segundo o exemplo). Exemplo: gleydsonm anonymous 8. Para dar direito de gravao ao repositrio, crie um arquivo chamado writers. Seu formato idntico ao arquivo readers. Exemplo: gleydsonm macan otavio hmh kov 9. Pronto, o acesso a CVS usando um banco de dados prprio est pronto! Basta dar o commit nos arquivos, adicionar os arquivos readers, writers e passwd no repositrio para o servidor de CVS funcionar. Note que em verses mais novas do CVS, no possvel transferir o arquivo passwd via rede, ento ser necessrio cri-lo manualmente dentro do repositrio do servidor. OBS: O arquivo passwd no transferido pelo commit por motivos de segurana, pois ele contm senhas que podem ser capturadas e usada por pessoas maliciosas. Ser necessrio transferi-lo manualmente para o repositrio do servidor remoto (voc ter que ser o usurio root ou ter permisses adequadas). O recomendvel utilizar o scp para realizar transferncias seguras. O mtodo de acesso do CVS aos arquivos readers e writers restritivo, portanto se um nome de usurio existir no arquivo readers e writers o que valer ser o menor nvel de acesso. Vendo os exemplos acima, os usurios gleydsonm e anonymous tero somente acesso a leitura do repositrio e macan, otavio, hmh, kov acesso de leitura e gravao. gssapi Quando o CVS compilado com o suporte a Kerberos 5, ele tenta estabelecer automaticamente uma conexo segura usando este mtodo. Este mtodo funciona somente se o CVS estiver compilado com o suporte a Kerberos (opo with-gssapi).

4.3 Criando Projetos


Criando projetos para serem usados no CVS

31

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

Esta seo descreve todos os passos necessrios para a implementao de um projeto para ser desenvolvido atravs do CVS, os comandos do cvs, consideraes a respeito dos comandos e sua utilizao atravs de exemplos didticos. Repositrio Um repositrio CVS o local que armazena mdulos e tambm os arquivos administrativos (que contm permisses, etc), so armazenados em um subdiretrio chamado CVSROOT. O acesso a um repositrio feito atravs de parmetros especicados na varivel CVSROOT ou pela opo -d repositrio do cvs. O Repositrio pode conter um ou mais mdulos, cada mdulo representa um projeto no servidor, criado aps o uso do comando import. Segue um exemplo da estrutura de um repositrio CVS: var/lib | +- cvs |- CVSROOT |- projeto1 +- projeto2 O subdiretrio cvs o repositrio (veja o subdiretrio CVSROOT dentro dele) e os diretrios dentro dele projeto1 e projeto2 so os mdulos criados atravs do comando cvs import ... Para acessar o projeto do CVS, ento, denido o repositrio que tem permisses de acesso na varivel CVSROOT e ento executado um comando (checkout, update, commit, etc) no mdulo que desejamos utilizar: export CVSROOT=:ext:anonymous@servidor.org.br:/var/lib/cvs (<- Repositrio "cvs") cvs checkout projeto1 (<- mdulo que desejamos pegar do servidor) Nas sees seguintes sero explicados cada um dos comandos usados para trabalhar com um projeto no cvs. Criando um repositrio Para adicionar um novo repositrio no sistema, edite o arquivo /etc/cvs-pserver.conf e dena o nome de cada repositrio na varivel CVS_PSERV_REPOS separados por ":"(exemplo: CVS_PSERV_REPOS="/var/lib/cvs:/var/lib/cvs2"). Feito isso execute o comando cvs-makerepos para que os diretrios especicados no arquivo /etc/cvs-pserver.conf sejam criados com as devidas permisses. Para adicionar manualmente um repositrio (/var/lib/cvs), execute os seguintes passos: 1. Execute o comando cvs -d /var/lib/cvs init (para criar o repositrio e os arquivos administrativos que cam armazenados dentro de CVSROOT); 2. mude as permisses do diretrio para sgid com: chmod 2775 /var/lib/cvs; 3. mude o dono/grupo com o comando: chown root.src /var/lib/cvs; 4. opcional: caso utilize o mtodo de acesso pserver ser necessrio adicionar a opo allow-root=/var/lib/cvs na linha que inicia o servidor pserver. Este parmetro deve ser usado para cada repositrio adicionado no servidor. A partir de agora, seu repositrio j est pronto para ser utilizado. Logando no servidor de CVS via pserver Quando usado o mtodo de acesso pserver, necessrio fazer login para ter acesso ao repositrio. Por exemplo, para acessar o repositrio /var/lib/cvs no servidor servidor.org.br: export CVSROOT=:pserver:anonymous@servidor.org.br:/var/lib/cvs cvs login 32

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

ou cvs -d :pserver:anonymous@servidor.org.br:/var/lib/cvs login Ento ser solicitada a senha para ter acesso ao sistema. Note que toda a seo de cvs ocorre por comandos interativos que logo aps concludos retornam para o interpretador de comandos. O restante desta seo descrever estes comandos e como utiliz-los de maneira eciente. OBS: O uso da varivel CVSROOT torna a utilizao bastante prtica, assim no precisamos especicar o repositrio, mtodo de acesso, etc. toda vez que usar um comando do cvs. Encerrando uma seo de CVS Embora no seja necessrio, aps o uso do cvs recomendvel executar o logout do servidor para encerrar sua conexo com a mquina remota. # (assumindo que a varivel CVSROOT est denida) cvs logout ou cvs -d :pserver:anonymous@servidor.org.br:/var/lib/cvs logout OBS: Para os paranicos importante encerrar uma seo de CVS, pois ele possui alguns bugs e um spoong pode tornar possvel o uso de uma seo deixada aberta. Baixando arquivos O comando checkout (ou "co") usado para fazer isto. Para utiliz-lo seguindo os exemplos anteriores: mkdir /tmp/cvs cd /tmp/cvs cvs checkout modulo cvs -d :pserver:anonymous@servidor.org.br:/var/lib/cvs Ser criado um subdiretrio chamado modulo que contm todos os arquivos do servidor de CVS remoto. necessrio apenas que tenha acesso de leitura ao servidor de CVS para executar este comando. Voc pode usar a opo -z [num] para ativar a compactao na transferncia dos arquivos, isso acelera bastante a transferncia em conexes lentas: cvs -z 3 checkout modulo. Tambm possvel especicar apenas subdiretrios de um mdulo para baix-lo via CVS e a estrutura de diretrios criada localmente ser idntica ao do servidor remoto. Adicionando um novo projeto Use o comando cvs import para adicionar um novo projeto ao CVS. As entradas nos arquivos administrativos sero criadas e o projeto estar disponvel para utilizao dos usurios. A sintaxe bsica do comando import a seguinte: cvs import [opes] [dir_modulo] [tag] start Para adicionar o projeto focalinux que reside em /usr/src/focalinux ao cvs: # Primeiro exportamos o CVSROOT para dizer onde e qual repositrio acessar export CVSROOT=:ext:usuario@servidor.com.br:2401/var/lib/cvs cd /usr/src/focalinux cvs import documentos/focalinux tag_modulo start Por padro, o import sempre utiliza a mscara * para fazer a importao dos arquivos do diretrio atual. O projeto focalinux ser acessado atravs de CVSROOT/documentos/focalinux (cvs checkout documentos/focalinux), ou seja, /var/lib/cvs/documentos/focalinux no servidor CVS ter a cpia do focalinux. tag_modulo dene o nome que ser usado como identicador nas operaes com os arquivos do CVS (pode ser usado "focalinux"em nosso exemplo). O parmetro "start"diz para criar o mdulo. 33

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

OBS: Por segurana, o diretrio que contm os arquivos dever ser sempre um caminho relativo na estrutura de diretrios, ou seja, voc precisar entrar no diretrio pai (como /usr/src/projeto) para executar o cvs import. No permitido usar / ou .., isto probe a descida em diretrios de nveis mais altos e srios incidentes de segurana em servidores CVS mal congurados pelo Administrador podero ocorrer. Sincronizando a cpia remota com a cpia local Este comando sincroniza a cpia remota do CVS (ou arquivo) com a cpia local que est trabalhando em sua mquina. Quando se trabalha nativamente no CVS em equipe recomendado a utilizao deste comando, pois algum pode ter modicado o arquivo antes de voc, ento uma incompatibilidade entre sua verso e a nova poderia causar problemas. Supondo que tenha acabado de modicar o arquivo main.c do mdulo cvsproj, ento antes de fazer o commit use o update: cvs update main.c ou cvs -d :ext:usuario@servidor.com.br:2401/var/lib/cvs update main.c Aps alguns segundos, sua cpia local car sincronizada com a cpia remota. Caso ele mostre alguma mensagem de sada, verique o arquivo para solucionar qualquer conito e ento envie o arquivo para o servidor remoto. Voc pode fazer o update de mais arquivos usando referncias globais (*, ? ou []). Enviando as mudanas para o servidor remoto O comando "commit"(ou "ci"), envia as mudanas feitas nos arquivos locais para o servidor remoto. Um exemplo de commit no arquivo main.c: cvs commit main.c cvs commit main.? cvs commit * O editor padro do sistema ser aberto e pedir uma descrio das modicaes para o commit. Esta descrio ser usada como referncia sobre as atualizaes feitas em cada etapa do desenvolvimento. A mensagem tambm pode ser especicada usando a opo -m mensagem", principalmente quando o texto explicando as alteraes pequeno. Para mudar o editor de texto padro que ser usado pelo cvs, altere a varivel de ambiente EDITOR ou especique o editor que deseja usar na linha de comando com a opo -e editor": cvs commit -e vi main.c Adicionando um arquivo ao mdulo CVS do servidor Aps criar/copiar o arquivo para seu diretrio de trabalho, use o comando add para fazer isto. O arquivo ser enviado ao servidor, bastando apenas executar o commit para salvar o arquivo: cvs add main.h cvs commit main.h

4.4 Arquivos Administrativos


Arquivos Administrativos em CVSROOT Esta seo descreve a funo de cada um dos arquivos administrativos, isto pode ser til na congurao e personalizao do CVS e de seu repositrio. Para no alongar muito o captulo, procurei colocar uma breve descrio da funo de cada um deles, os comentrios e exemplos existentes nos arquivos oferecem uma boa compreenso do contedo.

34

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cong Este arquivo segue os padres dos arquivos de congurao e possui alguns parmetros que controlam o comportamento do CVS. Segue uma lista deles: SystemAuth dene se ser utilizado a autenticao via /etc/passwd quando o mtodo pserver for utilizado. Note que se o arquivo passwd for criado no CVSROOT, o SystemAuth ser denido automaticamente para no, que a opo padro. Exemplo: SystemAuth=yes. LockDir Especica o diretrio onde sero gravados os arquivos de lock. Caso no seja especicado, ser usado o diretrio do CVS. Exemplo: LockDir=/var/lock/cvs TopLevelAdmin Permite criar ou no um diretrio chamado CVS no root do diretrio de trabalho durante o cvs checkout; LogHistory utiliza opes para especicar o que ser registrado nos arquivos de log do CVS. TOFEWGCMAR ou all - Registra todas as operaes nos logs do cvs; TMAR - registra todas as operaes que modicam os arquivos ",v". modules Especica opes e programas externos que sero usados durante a execuo de comandos no repositrio CVS; cvswrappers este arquivo dene aes de controle de caractersticas de arquivos, de acordo com seu nome. Podem ser tambm denidas aes atravs de arquivos .cvswrappers; commitinfo dene programas para fazer uma checagem baseada no diretrio e dizer se o commit permitido; verifymsg especica o programa usado para vericar as mensagens de log; loginfo programa que executado aps o commit. Ele pode ser usado para tratar a mensagem de log e denir onde ela ser gravada/enviada, etc; cvsignore tudo que constar neste arquivo no ser gravado (commit) no cvs. Referncias globais podem ser usadas para especicar estes arquivos. Veja a info page do cvs para detalhes sobre seu formato. Pode tambm ser especicado atravs de arquivos .cvsignore; checkoutlist especica os arquivos que deseja manter sobre o controle do CVS que se encontram em CVSROOT. Se adicionar um script adicional, ou qualquer outro arquivo no diretrio CVSROOT ele dever constar neste arquivo; history usado para registrar detalhes do comando history do CVS.

4.5 Clientes de CVS


Esta seo traz alguns programas clientes em modo texto/grco e visualizadores de repositrios via web. Eles facilitam o trabalho de controle de reviso por parte de iniciantes e exibilidade para pessoas mais experientes, alm de ter uma interface de navegao disponvel para todos os interessados em fazer pesquisas no repositrio.

35

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

cvs Este o cliente Unix padro, bastante poderoso e que opera em modo texto. As explicaes neste captulo do guia assumem este cliente de cvs, ento as explicaes sobre sua utilizao se encontra em Criando projetos para serem usados no CVS e os parmetros de linha de comando em Opes de linha de comando. altamente recomendvel a leitura caso deseje utilizar um cliente de cvs grco, pois os conceitos so os mesmos. gcvs - Linux Este um cliente CVS em GTK+Python para Linux que interage externamente com o cliente cvs externo, todas as opes do cvs esto disponveis atravs de checkboxes nas telas de comando, incluindo suporte a compactao, visualizador grco da rvore de releases, histrico, diffs, etc. Sua instalao bastante fcil, instale o programa com apt-get install gcvs e execute o programa atravs do menu do sistema ou do terminal. Utilize os seguintes procedimentos para congurar e utilizar o programa: 1. Dena o repositrio CVSROOT atravs do menu Admin/Preferences. Selecione o mtodo de acesso, entre com o login, servidor e repositrio. Exemplo: :pserver:anonymous@servidor:/var/lib/cvs O formato deve ser EXATAMENTE como o usado na varivel CVSROOT no shell, incluindo os ":". Caso tenha erros de login, verique o valor de CVSROOT cuidadosamente antes de contactar o administrador de sistemas; 2. Agora faa o login no sistema em: Admin, Login. Note que o status de todas as operaes do cvs so mostradas na janela de status que ca na parte inferior da tela; 3. Crie um diretrio que ser usado para armazenar as fontes baixadas do CVS, por exemplo: mkdir /projetos; 4. Acesse o menu Create, Checkout Module para baixar o projeto do CVS para sua mquina local. Ele ir te pedir o nome de diretrio para onde o cdigo fonte do servidor CVS ser baixado. Digite /projetos ou outro diretrio que foi criado no passo anterior. OBS: No utilize o nome "cvs"para o diretrio local, pois o gcvs oculta automaticamente, pois os arquivos administrativos de controle cam neste local; 5. Altere o diretrio padro do gcvs para o diretrio onde baixou o projeto ( /projetos)clicando no boto "set"no topo da coluna esquerda do gcvs; 6. Para enviar um arquivo modicado de volta ao servidor, selecione os arquivos, clique em Modify, Commit Selection, entre com a mensagem descrevendo as alteraes e clique em "OK". Note que os arquivos modicados sero identicados por um cone vermelho e seu status ser "Mod. File"(arquivo modicado). 7. Se desejar adicionar um novo projeto no CVS, entre em Create, Import Module, entre no diretrio que deseja adicionar como um projeto no servidor de CVS. Aps isto ser feita uma checagem e mostrada uma tela de possveis problemas que podem ocorrer durante a importao do novo projeto. Na prxima tela, digite o nome do mdulo e caminho no servidor remoto no primeiro campo, no segundo campo a mensagem de log para adicionar o projeto ao servidor. Em "Vendor tag"especique o nome do projeto e sua verso logo abaixo. Clique em "OK"e aguarde a transferncia dos arquivos para o servidor. OBS: Voc dever ter permisso de gravao para criar um novo projeto no servidor CVS. 36

CDTC

Centro de Difuso de Tecnologia e Conhecimento

Brasil/DF

8. A partir de agora voc poder explorar as funes do programa e fazer uso das funes habituais do CVS. Todas as funes de operao e opes extras do CVS esto disponveis na interface grca, basta se acostumar com sua utilizao. Aps isto, explore bastante as opes do programa. Todas as funcionalidades do CVS esto organizadas entre os menus do programa. Caso no entenda bem as funes do programa, leia atentamente Criando projetos para serem usados no CVS e tambm no deixe de consultar detalhes na info page do cvs. viewcvs Este um visualizador de repositrios CVS via web, ele precisa apenas de um servidor web instalado com suporte CGI. Para instalar, execute o comando apt-get install viewcvs e siga os passos para congurar programa. Para adequar melhor o viewcvs ao seu sistema, edite o arquivo /etc/viewcvs/viewcvs.conf. O viewcvs possui uma interface que se parece com a navegao de um diretrio de ftp, com recursos como a extrao de diffs coloridos entre verses de um arquivo selecionado, visualizao de commits (com data, log do commit, usurio, etc.), classicao da listagem exibida.

37

Potrebbero piacerti anche