Node:Iniciando un repositorio, Next:El servidor de autentificacion de contrasen~as, Previous:Anatomia de una distribucion CVS, Up:Administracion del Repositorio
Una vez que el ejecutable CVS esté instalado en su sistema, podrá empezar
a usarlo en seguida como cliente para acceder a repositorios remotos, siguiendo
los procedimientos descritos en Una introduccion a CVS. Sin embargo,
si quiere servir revisiones desde su máquina, tendrá que crear un repositorio
en ella. La orden para hacerlo es
floss$ cvs -d /usr/local/nuevorepos init
donde /usr/local/nuevorepos
es la ruta a donde usted quiera que esté
el repositorio (por supuesto, deberá tener permiso de escritura en ese
directorio, lo que podría implicar ejecutar la orden como root). En cierto
modo puede parecer poco intuitivo que la localización del repositorio nuevo se
especifique antes de la suborden init en lugar de después de él, pero usando
la opción -d sigue siendo consistente con otras órdenes CVS.
La orden acabará silenciosamente después de ejecutarse. Vamos a examinar el
nuevo directorio:
floss$ ls -ld /usr/local/nuevorepos drwxrwxr-x 3 root root 1024 Jun 19 17:59 /usr/local/nuevorepos/ floss$ cd /usr/local/nuevorepos floss$ ls CVSROOT floss$ cd CVSROOT floss$ ls checkoutlist config,v history notify taginfo,v checkoutlist,v cvswrappers loginfo notify,v verifymsg commitinfo cvswrappers,v loginfo,v rcsinfo verifymsg,v commitinfo,v editinfo modules rcsinfo,v config editinfo,v modules,v taginfo floss$
El único subdirectorio del repositorio nuevo - CVSROOT/ - contiene varios ficheros de administración que controlan el comportamiento de CVS. Más adelante examinaremos esos ficheros uno a uno; por ahora, nuestro objetivo sólo es conseguir que el repositorio funcione. En este caso, "funcionar" significa que los usuarios puedan importar, actualizar, obtener copias de trabajo y enviar cambios a los proyectos.
No hay que confundir la variable de entorno CVSROOT introducida en Una introduccion a CVS con este subdirectorio CVSROOT del repositorio. No tienen
nada que ver - es una coincidencia desafortunada que compartan el mismo
nombre. La primera es una forma de evitarles a los usuarios tener que teclear
-d <situación-del-repositorio>
cada vez que usen CVS; el segundo
es el directorio de administración de un repositorio.
Una vez que el repositorio se haya creado, deberá ocuparse de sus permisos. CVS no requiere de ningún permiso estándar particular o sistema de propiedad de ficheros; simplemente necesita acceso de escritura al repositorio. Sin embargo - en parte por razones de seguridad, pero sobre todo por su propia salud como administrador - recomiendo encarecidamente que siga los siguientes pasos:
cvs
a su sistema. Cualquier usuario que
necesite acceder al repositorio debería estar en el grupo. Por ejemplo,
la línea del fichero /etc/group
de mi máquina es:
cvs:*:105:kfogel,sussman,jimb,noel,lefty,fitz,craig,anonymous,jluis
floss$ cd /usr/local/nuevorepos floss$ chgrp -R cvs . floss$ chmod ug+rwx . CVSROOT
Ahora cualquiera de los usuarios listados en el grupo podrá empezar un
proyecto ejecutando cvs import
como se describió en
Una introduccion a CVS. Las órdenes "checkout", "update" y "commit"
también deberían funcionar. También podrán entrar en el repositorio desde
localizaciones remotas usando el método :ext:
, asumiendo
que tienen acceso por rsh o ssh a la máquina del repositorio.
(Se habrá percatado de que las órdenes "chgrp" y "chmod" en el ejemplo de
arriba le dieron acceso de escritura a un usuario llamado anonymous
,
que no es lo que uno esperaría. La razón es que incluso los usuarios
anónimos y de sólo lectura del repositorio necesitan acceso de escritura
a nivel del sistema, para que sus procesos CVS puedan crear ficheros de
bloqueo temporales dentro del repositorio. CVS no asegura la restricción
de "sólo lectura" del acceso anónimo por medio de permisos de ficheros Unix
sino por otros medios, de lo que se hablará en Acceso anonimo.)
Si su repositorio está destinado a servir proyectos al público en general, en cuyo caso los contribuidores no tendrán necesariamente cuentas en la máquina del repositorio, debería configurar ahora el servidor de autentificación de contraseñas (see El servidor de autentificacion de contrasen~as). Es necesario para acceso anónimo de sólo lectura, y seguramente sea la manera más fácil de asegurar acceso al envío de cambios a ciertas personas sin tener que darles cuentas completas en la máquina.