Servidor CVS: Instalando, configurando e gerenciando no Linux

Neste artigo procurarei mostrar de maneira prática e eficiente como instalar, configurar e gerenciar um servidor CVS no Linux. Nele serão abordados os seguintes temas: introdução; instalando, configurando e administrando o servidor CVS no Linux; CVSROOT; clientes CVS; bibliografia.

[ Hits: 112.491 ]

Por: Cristian Alexandre Castaldi em 04/09/2008


Movendo arquivos e diretórios



O recomendado para mover ou renomear arquivos no CVS é utilizar o comando "cvs remove" e depois "cvs add" utilizando-se de mensagens avisando que os arquivos estão sendo movidos ou renomeados. Este método preservará o histórico e permitirá uma reversão para as versões mais antigas do arquivo, observe:

Entre no diretório no qual você ira mover/renomear o arquivo:

cd roder/geral
$ mv texto002.txt textoRenomeado002.txt


Agora remova o arquivo antigo que você acabou de mover/renomear do CVS.

cvs remove texto002.txt
cvs remove: scheduling `texto002.txt' for removal
cvs remove: use 'cvs commit' to remove this file permanently

Adicione no CVS o arquivo movido/renomeado:

cvs add textoRenomeado002.txt
cvs add: scheduling file `textoRenomeado002.txt' for addition
cvs add: use 'cvs commit' to add this file permanently

Comite as mudanças no CVS informando que o arquivo está sendo movido/renomeado.

cvs commit
cvs commit: Examining .
Movendo /roder/geral/texto002.txt /roder/geral/textoRenomeado002.txt

CVS: --------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Added Files:
CVS: textoRenomeado002.txt
CVS: Removed Files:
CVS: texto002.txt
CVS: --------------------------------------------------

Saia [ESC] e salve x.

Removing texto002.txt;
/home/cvs/RODER/Geral/texto002.txt,v <-- texto002.txt
new revision: delete; previous revision: 1.1
done
RCS file: /home/cvs/RODER/Geral/textoRenomeado002.txt,v
done
Checking in textoRenomeado002.txt;
/home/cvs/RODER/Geral/textoRenomeado002.txt,v <-- textoRenomeado002.txt
initial revision: 1.1
done

Pronto, o arquivo texto002.txt foi renomeado para textoRenomeado002.txt.

O recomendado para mover diretórios é criar o diretório no novo destino e usar o comando "cvs add" para adicioná-lo. Depois devemos usar as técnicas descritas acima para mover os arquivos para o novo destino.

Vamos criar o diretório arquivo para receber os arquivos texto do diretório /roder/geral/prefeitura.

cd roder/geral
$ mkdir arquivo
$ cvs add arquivo

Directory /home/cvs/roder/geral/arquivo added to the repository

Agora vamos mover todos os arquivos do diretório /roder/geral/prefeitura para /roder/geral/arquivo.

mv -fv /roder/geral/prefeitura/* /roder/geral/arquivo/
`/RODER/Geral/Prefeitura/0103.TXT' -> `/RODER/Geral/arquivo/0103.TXT'
`/RODER/Geral/Prefeitura/0104.txt' -> `/RODER/Geral/arquivo/0104.txt'
`/RODER/Geral/Prefeitura/0105.TXT' -> `/RODER/Geral/arquivo/0105.TXT'

Entre no diretório /roder/geral/prefeitura e use o comando "cvs remove":

cd roder/geral/prefeitura
$ cvs remove

cvs remove: Removing .

Entre no diretório /roder/geral/arquivo e adicione os arquivos movidos:

cd roder/geral/arquivo
$ cvs add *

cvs add: cannot add special file `CVS'; skipping
cvs add: scheduling file `0103.TXT' for addition
cvs add: scheduling file `0104.txt' for addition
cvs add: scheduling file `0105.TXT' for addition

Agora comite os arquivos no CVS:

cvs commit

Arquivos movidos do diretório /roder/geral/prefeitura /roder/geral/arquivo
CVS: --------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Added Files:
CVS: 0103.TXT 0104.txt 0105.TXT 0106.txt 010607.RET 010708.ret
CVS: 0108.txt 010808.ret 010908.txt 011007.ret 0111.txt 011107.ret
CVS: 020207.ret 020307.ret 020407.ret 0206.TXT 020608.ret
CVS: --------------------------------------------------

Tecle [ESC] e depois x para sair e salvar.

RCS file: /home/cvs/roder/geral/arquivo/1014.txt,v
done
Checking in 1014.txt;
/home/cvs/roder/geral/arquivo/1014.txt,v <-- 1014.txt
initial revision: 1.1
done

Observe que os arquivos vão sendo adicionados um a um no CVS.

Página anterior     Próxima página

Páginas do artigo
   1. 1. Introdução
   2. Instalando, configurando e administrando o servidor CVS no Linux
   3. Login e logout no servidor pserver
   4. Importando um novo projeto
   5. Baixando, sincronizando, editando e enviando arquivos para o servidor CVS
   6. Adicionando arquivos e diretórios no módulo do servidor CVS
   7. Removendo arquivos e diretórios no módulo do servidor CVS
   8. Movendo arquivos e diretórios
   9. Diferenças entre versões de arquivos, status e histórico
   10. Removendo um módulo do servidor CVS
   11. CVSROOT
   12. Clientes CVS
   13. Bibliografia
Outros artigos deste autor

Trabalhando com coringas, filtros e expressões regulares no shell

Usando partições e sistemas de arquivos

Criando, monitorando e terminando processos

Instalando e configurando o servidor Samba

Sistema de boot, níveis de execução e shutdown

Leitura recomendada

Business Intelligence - Pentaho 3.5 com PostgreSQL

Rundeck - Um Poderoso Agendador de Tarefas

Dicionário pt-BR no Firefox 2.0

Compilando PHP 5 com suporte a Oracle sem mistérios

Um olhar sobre o Portage-tools - Parte I

  
Comentários
[1] Comentário enviado por marcelo_10araujo em 04/09/2008 - 16:50h

massa, tah de parabéns

[2] Comentário enviado por grandmaster em 04/09/2008 - 21:58h

Hummm

Bem legal. Não conhecia.

Renato de Castro Henriques
CobiT Foundation 4.1 Certified ID: 90391725
http://www.renato.henriques.nom.br

[3] Comentário enviado por danilo.roger em 05/09/2008 - 15:10h

Muito bom mesmo! Utilizo o CVS e o SVN mas as informações sobre os produtos são sempre fragmentadas, um pedaço em um site e outro pedaço em outro lugar. Achei legal o fato de todas as informações estarem neste único artigo. Esperamos em breve um artigo seu sobre o SVN. Até mais!

[4] Comentário enviado por crildo em 05/09/2008 - 15:14h

Obrigado a todos... Comecei a ler o livro do Subversion hoje, em breve postarei o artigo de minha pesquisa sobre ele. Até mais e obrigado ao Viva o Linux pelo espaço.

[5] Comentário enviado por removido em 07/09/2008 - 14:32h

o crildo-banguela voltou......
seja bem-"revindo" cachorrão!
Grande trabalho, merece 10!
;-)

[6] Comentário enviado por removido em 09/09/2008 - 12:54h

Gostaria de saber porque quando dou o comando cvs login, depois de usar o export cvs ..., dá a mensagem de connection refuse. Será que ele não instalou o cvs server.
Instalei das duas formas a primeira foi atraves do tar e ./configure, make, etc . Na segunda foi através do apt-get. ambas não abrem as portas 2401 do computador, embora eu tenha descomentado o arquivo inet e services. Será que falta alguma coisa para abrir as portas.

[7] Comentário enviado por removido em 09/09/2008 - 14:23h

Ola a solução que eu encontrei por ai foi instalar o cvsd instalei. Mas agora a mensagem que tá dando é authorization failed :server 10.7.2.xxx rejected access to /home/cvs for user alex. Eu antes criei esse usuário (alex) no writers e dei uma senha para ele ,usando mkpasswd,e coloquei essa senha no passwd do diretorio de repositorios. Criei tambem a pasta cvs e o grupo cvs, coloquei o usuario no grupo cvs. quando uso o comando cvs -d :p:server:alex@10.7.2.xxx:/home/cvs login e ponho a senha dá esse erro.

[8] Comentário enviado por crildo em 09/09/2008 - 15:02h

Acho que o problema está na configuração do inet...

Primeiro vamos ver aonde está o comando cvs
# find / -name cvs -print
/usr/share/doc/lm_sensors-2.10.0/doc/cvs
/usr/share/cvs
/usr/bin/cvs
/root/programas/cvs
/home/cvs
/var/lock/cvs
/var/cvs
/etc/pam.d/cvs

Como verificado acima o comando está em /usr/bin/cvs

Como instalei o CVS em um Red Hat EL5 usei o xinetd para configurar o meu por aqui e aquela do inetd é uma configuração antiga do CVS quando estava instalado no Debian.

No arquivo /etc/inetd.conf insira a seguinte linha:

# vi /etc/inetd.conf

cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvs/seu repositorio pserver

Vê se agora você consegue!!

[9] Comentário enviado por crildo em 09/09/2008 - 15:11h

Alex você verificou as permissões de acesso para o seu diretório /home/cvs??? Dê uma olhada nas permissões do grupo...

[10] Comentário enviado por removido em 10/09/2008 - 12:46h

Primeiramente o programa está em /usr/bin/cvs . Eu uso o Ubuntu 8.04.. Depois comentei a linha atual do arquivo inet.conf, e coloquei a que voce pôs aí em cima com as devidas alterações. verifique as permissões e usuários e grupo do repositorio. as permissoes são totais exceto de escrita para outros. o proprietario e o grupo é o proprio cvs. no grupo cvs eu adicionei meu login de ubuntu. Mas ainda nao consegui entra no servidor cvs.

[11] Comentário enviado por crildo em 10/09/2008 - 14:22h

Verifique no seu repositório, imagino que seja /home/cvs, no diretório CVSROOT, o arquivo config. Se você estiver utilizando a autenticação pelo arquivo /etc/passwd o parâmetro SystemAuth deve estar setado como SystemAuth=yes.

Se você criou um arquivo passwd dentro do diretório CVSROOT o parâmetro deve ser setado como SystemAuth=no

Crie o arquivo passwd no CVSROOT, caso não tenha criado
usuário:senha:usuario_local

Exemplo:
alex:brasil2bolivia0:cvs

conforme as minhas configurações e a documentação do FocaLinux pode ser isso... Testa ai e me fala o que aconteceu...

# export CVSROOT=:pserver:alex@10.7.2.XXX:/home/cvs
# cvs login

Até mais...

[12] Comentário enviado por removido em 10/09/2008 - 22:40h

Ola Cristiano . Eu fiz pelo SystemAuth=no, ai criei o arquivo passwd dentro de CVSROOT criei o usuário com a senha e no final:cvs , reiniciei tudo . Usei o export e ainda não funcionou.

[13] Comentário enviado por removido em 11/09/2008 - 09:16h

A mensagem de erro é essa:
Logging in to :pserver:alex@10.7.2.xxx:2401/home/cvs
CVS password:
cvs login: authorization failed: server 10.7.2.xxx rejected access to /home/cvs for user alex

Meu arquivo inet.conf:
cvspserver stream tcp nowait root /usr/bin/cvs cvs -f --allow-root=/home/cvs/ pserver

o grupo cvs :
$ cat /etc/group|grep cvs
cvs:x:1002:alex

o arquivo /home/cvs/CVSROOT/passwd
alex:0203senhatola:cvs


Arquivo cvsd.conf em /etc/cvs.
RootJail /var/lib/cvsd

mais embaixo:

Listen * 2401
Repos /home/cvs

a versão do cvs é a 1.12.13-9 . Instalado a partir do apt-get

ps: atraves de outro pc , usando o eclipse, a mensagem que dá é que o usuário ou senha são inválidos.

[14] Comentário enviado por crildo em 11/09/2008 - 10:06h

Alex, você está usando Firewall ou o módulo SELinux? Este módulo é utilizado para controle de acesso. No Red Hat, quando tentava acessar dava o mesmo problema de autenticação. Como não conheço ainda este módulo de segurança eu desabilitei ele e adicionei a porta TCP:2401 e a UDP:2401 no firewall e o meu usuário cristian conectou. Então sugiro que você dê uma olhada nas regras do firewall e se você está usando o módulo SELinux. Imagino que a interface gráfica que você está usando é o Gnome... Se for vá até a aba Sistema -> Administração -> Nível de Segurança e Firewall e faça as mudanças e depois teste-as... Até mais...

[15] Comentário enviado por removido em 02/11/2008 - 01:43h

Oi me esqueci de falar a solução é que a porta 2401 (49²,hehehe ) não tava aberta. para abrir ela não basta apenas editar o inet.conf como mostrado. Como uso o ubuntu o inet.conf não abre sozinho é necessário então instalar o programa openbsd-inetd ele funciona como uma espécie de servidor do inet. Ai com o programa configurado ele vai la e lê o arquivo e abre as portas descomentadas.

[16] Comentário enviado por guuholi em 23/04/2013 - 13:48h

Sou novo nesta parte de cvs, ja subi svn e utilizei, porem como faço para acessar o CVS pelo wicvs e repositorios.. tenho esta duvida por nunca utilizei.. tem algum tutorial ou algo?


Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts