Como configuro o acesso ao repositório?
Só exite um repositório para compiladores e está em compiladores.rnl.ist.utl.pt no directório /cvs.
A variavel CVSROOT deve ser definida de uma das seguintes formas:
- /cvs (quando o acesso for feito do mega)
- :ext:<user>@compiladores.rnl.ist.utl.pt:/cvs (acesso remoto). Neste caso, pode ser necessário definir também a variável de ambiente CVS_RSH, cujo valor deverá ser o programa que se pretende usar para efectuar a ligação ao servidor (ex.: 'export CVS_RSH=ssh' ou 'setenv CVS_RSH ssh')
Como resolvo locks no CVS?
Fazer login no servidor e procurar no directório /cvs/NNN (onde NNN é o número de grupo) por possiveis ficheiros de lock: remover esses ficheiros.Exemplo: find /cvs/NNN -name #\*
Os ficheiros nestas condições podem normalmente ser removidos em segurança desde que nenhum elemento do grupo esteja a operar com o cvs. Estas situações tendem a ocorrer quando uma operação de cvs é abortada.
NOTA: É necessário cuidado, pois os outros ficheiros dentro de /cvs/NNN são os ficheiros do projecto sob o controlo de versões.
É necessário executar 'cvs init'?
Não! O repositório já está inicializado e é único: está em /cvs.Não está em /cvs/NNN; isto é a localização do módulo NNN dentro do repositório /cvs.
Posso fazer login no mega sem usar password?
Sim. A solução consiste em usar o mecanismo de autenticação por chave pública. Este mecanismo é ainda mais seguro que o uso de password pois evita que a password seja enviada na ligação. Embora por ssh esta já seja transmitida cifrada, com o mecanismo de autenticação por chave pública a password nem sequer é transmitida. Deixamos a explicação do funcionamento deste mecanismo para outras disciplinas ;)No caso da cadeira de compiladores, o interesse de fazer login sem usar password, é o de poder executar os comandos cvs numa máquina cliente sem estar sempre a introduzir a password a cada comando. Vamos ao procedimento, supondo que nos pretendemos ligar à máquina A a partir da máquina B sem password (usando o ssh):
- Gerar um par de ficheiros <Chave pública, Chave privada>:
ssh-keygen -t rsa -b 2048
Aceitar a proposta de omissão para guardar os ficheiros (em $HOME/.ssh) e deixar a passphrase vazia. - Colocar a chave pública na máquina A dentro do ficheiro $HOME/.ssh/authorized_keys.
ex.cat id_rsa.pub >> $HOME/.ssh/authorized_keys
- Colocar a chave privada no directório $HOME/.ssh da máquina B (*);
- testar a ligação:
ssh
@A
Neste momento é suposto o login em A ser feito automaticamente.
(*) MUITA ATENÇÃO! a chave privada permite o acesso imediato à máquina A sem password! Devem ter muito cuidado com os sítios onde guardam este ficheiro. Em particular se trabalharem num computador de acesso a muitos utilizadores (caso da RNL) NUNCA deixem lá ficar a vossa chave privada, sob pena de estarem a oferecer acesso livre à vossa área a quem apanhar tal ficheiro. Mesmo quando guardado num local seguro, deve ser protegido contra acessos de terceiros:
chmod 600 id_rsa
Mais info: man ssh-keygen