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: 107.897 ]

Por: Cristian Alexandre Castaldi em 04/09/2008


Adicionando arquivos e diretórios no módulo do servidor CVS



Entre no diretório aonde será adicionado o arquivo. Suponha que foi criado o arquivo texto001.txt:

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

Agora devemos comitar o arquivo adicionado no CVS:

cvs commit texto001.txt

Arquivo texto001.txt adicionado no CVS
CVS: --------------------------------------------------
CVS: Enter Log. Lines beginning with `CVS:' are removed automatically
CVS:
CVS: Committing in .
CVS:
CVS: Added Files:
CVS: texto001.txt
CVS: --------------------------------------------------

O log é gerado para inserção de comentários, tecle [ESC] e depois :x para salvar o arquivo.

RCS file: /home/cvs/RODER/Geral/texto001.txt,v
done
Checking in texto001.txt;
/home/cvs/RODER/Geral/texto001.txt,v <-- texto001.txt
initial revision: 1.1
done

Podemos adicionar vários arquivos de uma vez utilizando *, ? ou [], observe:

cvs add texto00[2-5].txt
cvs add: scheduling file `texto002.txt' for addition
cvs add: scheduling file `texto003.txt' for addition
cvs add: scheduling file `texto004.txt' for addition
cvs add: scheduling file `texto005.txt' for addition
cvs add: use 'cvs commit' to add these files permanently

Foram adicionados os arquivos texto de 2 até 5 de uma única vez.

Agora vamos comitar os arquivos adicionados todos de uma vez também, observe:

cvs commit -m "Adicionando arquivos texto002 a texto005 no CVS" texto00[2-5].txt RCS file: /home/cvs/RODER/Geral/texto002.txt,v
done
Checking in texto002.txt;
/home/cvs/RODER/Geral/texto002.txt,v <-- texto002.txt
initial revision: 1.1
done
RCS file: /home/cvs/RODER/Geral/texto003.txt,v
done
Checking in texto003.txt;
/home/cvs/RODER/Geral/texto003.txt,v <-- texto003.txt
initial revision: 1.1
done
RCS file: /home/cvs/RODER/Geral/texto004.txt,v
done
Checking in texto004.txt;
/home/cvs/RODER/Geral/texto004.txt,v <-- texto004.txt
initial revision: 1.1
done
RCS file: /home/cvs/RODER/Geral/texto005.txt,v
done
Checking in texto005.txt;
/home/cvs/RODER/Geral/texto005.txt,v <-- texto005.txt
initial revision: 1.1
done

Para adicionar um diretório ao módulo devemos seguir as mesmas etapas utilizadas para adicionar arquivos, a única diferença é que o diretório deve ser adicionado primeiro e depois os arquivos existentes dentro dele, observe.

Vou criar o diretório java e nele adicionarei dois arquivos para fazer este exemplo.

mkdir java
$ ls -l java/

-rw-rw-r-- 1 cristian cristian 0 Ago 29 10:21 OracleFaturamentoDAO.java
-rw-rw-r-- 1 cristian cristian 0 Ago 29 10:21 OracleFaturamentoReportDAO.java

Agora vou adicionar o diretório e seus arquivos no servidor CVS.

cvs add java
? java/OracleFaturamentoDAO.java
? java/OracleFaturamentoReportDAO.java
Directory /home/cvs/RODER/Geral/java added to the repository

cvs commit -m "Diretório java adicionado" java
cvs commit: Examining java

Pronto, o diretório foi inserido no CVS agora vamos inserir os seus arquivos.

cvs add java/*
cvs add: scheduling file `OracleFaturamentoDAO.java' for addition
cvs add: scheduling file `OracleFaturamentoReportDAO.java' for addition
cvs add: use 'cvs commit' to add these files permanently

cd java/
$ cvs commit -m "Arquivos .java adicionados" *

cvs commit: warning: directory CVS specified in argument
cvs commit: but CVS uses CVS for its own purposes; skipping CVS directory
RCS file: /home/cvs/roder/geral/java/OracleFaturamentoDAO.java,v
done
Checking in OracleFaturamentoDAO.java;
/home/cvs/roder/geral/java/OracleFaturamentoDAO.java,v <-- OracleFaturamentoDAO.java
initial revision: 1.1
done
RCS file: /home/cvs/roder/geral/java/OracleFaturamentoReportDAO.java,v
done
Checking in OracleFaturamentoReportDAO.java;
/home/cvs/roder/geral/java/OracleFaturamentoReportDAO.java,v <-- OracleFaturamentoReportDAO.java
initial revision: 1.1
done

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

Trabalhando com shell e variáveis de ambiente

Instalando e configurando o servidor Samba

Usando partições e sistemas de arquivos

Lynis: Sistema de auditoria e segurança para Linux

Leitura recomendada

Nagios - Um poderoso programa de monitoramento de rede (parte final)

MainActor: Edição de vídeo profissional (Adobe Premiere) em Linux

Instalando o Nagios Core 3.2, Plugins, NRPE, NSClient (Ubuntu 10.4)

Testando o Librix da Itautec

Comando: journalctl - Monitoramento de LOGs

  
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:[email protected]:/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:[email protected]:/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:[email protected]: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