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

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

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

Criando, monitorando e terminando processos

Usando partições e sistemas de arquivos

Trabalhando com shell e variáveis de ambiente

Leitura recomendada

A vida em preto e branco II - Orpheus, música no console

Escolhendo pacotes durante a instalação do Slackware 10.2

Balanceamento simples com BALANCE

As vulnerabilidades do IRC

Mplayer - Instalação e utilização

  
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