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.627 ]

Por: Cristian Alexandre Castaldi em 04/09/2008


Diferenças entre versões de arquivos, status e histórico



Visualizando diferenças entre versões de arquivos no servidor CVS

Para visualizar as diferenças de versões entre os arquivos remoto e local podemos usar o comando diff.

cvs diff -c -r1.1 -r1.2 nomes.txt
Index: nomes.txt
==========================================
RCS file: /home/cvs/RODER/Geral/nomes.txt,v
retrieving revision 1.1
retrieving revision 1.2
diff -c -r1.1 -r1.2
*** nomes.txt 1 Sep 2008 13:13:48 -0000 1.1
--- nomes.txt 1 Sep 2008 13:14:31 -0000 1.2
***************
*** 1 ****
--- 1,2 ----
Cristian
+ Alexandre

Podemos observar que o nome Alexandre foi adicionado ao arquivo nomes.txt no dia 01 de setembro as 13:14:31.

Visualizando o status das versões dos arquivos no servidor CVS

Para visualizar qual versão de arquivo está disponível localmente usamos o comando status. Observe:

cvs status nomes.txt
==========================================
File: nomes.txt Status: Up-to-date

   Working revision:    1.3
   Repository revision: 1.3     /home/cvs/roder/geral/nomes.txt,v
   Sticky Tag:          (none)
   Sticky Date:         (none)
   Sticky Options:      (none)

Visualizando o histórico de um arquivo

O comando "cvs log" exibe informações sobre arquivos, diretórios ou módulos.

cvs log README.txt

RCS file: /home/cvs/RODER/Geral/README.txt,v
Working file: README.txt
head: 1.2
branch:
locks: strict
access list:
symbolic names:
keyword substitution: kv
total revisions: 2; selected revisions: 2
description:
----------------------------
revision 1.2
date: 2008/08/29 12:55:13; author: cristian; state: Exp; lines: +9 -0
Arquivo alterado para teste no CVS
----------------------------
revision 1.1
date: 2008/08/29 12:50:25; author: cristian; state: Exp;
Criando arquivo README.txt para teste 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 shell e variáveis de ambiente

Gerenciando quotas de disco

Criando, monitorando e terminando processos

Autenticando usuários

Lynis: Sistema de auditoria e segurança para Linux

Leitura recomendada

Compilando PHP 5 com suporte a Oracle sem mistérios

Máquinas virtuais

Instalação do Webmin no Slackware Linux

Linguagem LOGO: Crianças programando de maneira divertida

Instalação e configuração do Hylafax (servidor de FAX)

  
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