¿Que es subversion?

Subversion es un software de sistema de control de versiones diseñado específicamente para reemplazar al popular CVS, el cual posee varias deficiencias. Es software libre bajo una licencia de tipo Apache/BSD y se le conoce también como svn por ser ese el nombre de la herramienta de línea de comandos. Una característica importante de Subversion es que, a diferencia de CVS, los archivos versionados no tienen cada uno un número de revisión independiente. En cambio, todo el repositorio tiene un único número de versión que identifica un estado común de todos los archivos del repositorio en cierto punto del tiempo.

Fuente: http://es.wikipedia.org/wiki/Subversion

Instalación

Para configurar un sistema subversion necesitamos los siguientes paquetes:

aptitude install subversion subversion-tools

Aunque apache2 ya lo hace solo comprobaremos que tenemos incluidos estos dos módulos de apache:

a2enmod dav
a2enmod dav_svn

Instalamos subversion:

aptitude install libapache2-svn

Grupos y usuarios

Creamos un grupo subversion

groupadd desarrollo

Añadimos los usuarios que deban pertenecer al grupo con el siguiente comando

usermod -G desarrollo usuario1

Tener en cuenta que tenemos que crear un nuevo fichero por cada usuario del sistema subversion:

htpasswd -c /etc/apache2/dav_svn.passwd usuario1
htpasswd /etc/apache2/dav_svn.passwd usuario2

La opción ”’-c”’ crea el fichero el resto de usuarios simplemente serán insertados a ese fichero.

Crear un repositorio

Crearemos la estructura principal del repositorio:

mkdir /home/desarrollo
svnadmin create /home/desarrollo

Damos permisos al directorio:

chown -R www-data:subversion /home/svn/
chmod -R 770 /home/svn/

Configurar apache

Configuramos el fichero de gestión del modulo para poder usar subversion con nuestra configuración:

vim /etc/apache2/mods-available/dav_svn.conf

Configuración:

<Location /svn>
DAV svn
SVNPath /home/desarrollo
AuthType Basic
AuthName “Repositorio Subversion del proyecto”
AuthUserFile /etc/apache2/dav_svn.passwd
<LimitExcept GET PROPFIND OPTIONS REPORT>
Require valid-user
</LimitExcept>
</Location>

Reiniciamos el servidor apache.

/etc/init.d/apache2 restart

trashLa mayoría de los sistemas operativos solo eliminan las referencias a el archivo cuando se les pide que eliminen un archivo. El archivo - que tú crees desaparecido para siempre - permanece en el disco duro hasta que otro archivo se crea encima de él (hasta que otro archivo sobreescribe el espacio de disco donde el archivo “eliminado” está almacenado todavía), e incluso después de eso, puede que sea posible recuperar la información estudiando los campos magnéticos en la superficie de los platos del disco usando equipamiento forense.

Puedes usar wipe para eliminar archivos concretos de forma segura pero también particiones enteras o discos duros. Wipe usa por defecto 35 pasadas de sobreescritura siguiendo el documento de Peter Gutmann.

Por ejemplo para eliminar de forma segura el archivo Swap de Windows 98 de una partición windows montada (FAT) usando 35 pasadas:

wipe -D /mnt/windows/win386.swp

Fuente: SystemRescueCD

Instalación

Podemos instalar wipe desde el mismo aptitude usando el siguiente comando:

dabid@mari:~$ sudo aptitude install wipe
Password:

Pakete Zerrenda irakurtzen… Eginda
Dependentzia zuhaitza eraikitzen
Reading state information… Eginda
Hesatutako egoera argibideak irakurtzen
Pakete egoerak hasieratzen… Eginda
Etiketen datu-basea eraikitzen… Eginda
Hurrengo paketak berriak INSTALATUAK izango dira:
wipe
0 pakete eguneratorik, 1 berri instalaturik 0 kentzeko, eta 0 eguneratu gabe.
43,6kB Fitxategi eskuratu behar dira. Desenpaketatu ondoren 135kB erabiliko dira
egoera argibide hedatuak idazten… Eginda
Hartu:1 http://es.archive.ubuntu.com feisty/universe wipe 0.21-2 [43,6kB]
43,6kB 0s segundutan deskargaturik (67,7kB/s).
Aurrez desautatutako wipe paketea hautatzen.
(Datu-basea irakurtzen … 162867 fitxategi eta direktorio daude instalatuta orain.)
wipe (…/archives/wipe_0.21-2_i386.deb) deskonprimitzen…
wipe (0.21-2) konfiguratzen…

Uso de wipe

El comando estandar para usar wipe es el siguiente:

SYNOPSIS
wipe [options] path1 path2 … pathn

Usaremos algunos ejemplos de este para poder hacer pruebas antes de ponernos en marcha para ello comprobaremos unas opciones de interes. Recuerda que de perder los datos estos no se recuperaran.

-r (recursivo en subdirectorios)
-Q <numero-de-pasadas> (especificamos el numero de pasadas que le queremos dar al archivo/directorio)
-c (Pide passwd al usuario en caso de ser requerida a la hora de eliminar algún archivo)
-f (Evitamos confirmar la acción de borrado, interesante parametro cuando eliminamos directorios)

Ejemplos:

wipe -rcf /home/dabid/

Lo haremos recursivo, -c nos pedirá la pasword en caso de necesitar escalar de usuario y con -f no necesitaremos confirmar la acción. El directorio a eliminar sera /home/dabid/

Ejemplo después de terminado:

dabid@mari:~$ wipe -rcf /home/dabid/documentación_privada
Operation finished.
425 files wiped and 0 special files ignored in 19 directories, 0 symlinks removed but not followed, 0 errors occured.

April 13th, 2008Rsync

netRsync es una aplicación para sistemas de tipo Unix que ofrece transmisión eficiente de datos incrementales comprimidos y cifrados. Mediante una técnica de delta encoding, permite sincronizar archivos y directorios entre dos máquinas de una red o entre dos ubicaciones en una misma máquina, minimizando el volumen de datos transferidos.

Fuente Wikipedia

Con este manual pondremos en marcha la aplicación rsync para poder tener dos directorios remotos sincronizados los ejemplos los voy a hacer con los directorios /home de dos de mis maquinas.

Comentar que la aplicación trabaja muy bien y esta muy estimada por los administradores de sistemas, aunque yo no la conocí hasta el viernes.

Nos conectaremos por SSH a la maquina remota:

ssh ip_de_la_otra_maquina

Y verificaremos que rsync esta instalado en las maquinas, después de comprobado simplemente usaremos un comando especifico para comenzar a poner en común los dos directorios:

rsync -e ssh -zarv –delete 192.168.0.1:/home/dabid /home/dabid

rsync -e ssh -zarv –delete maquinadestino:dir_origen dir_destino

La opción –delete hace que los ficheros que hayan sido eliminado en dir_origen sean automáticamente eliminados en dir_destino, esto sucederá cuando nos conectemos a la maquina.

El comando es muy estándar y se pueden hacer muchísimas mas cosas con el, como sincronizar hacia los dos lados y que los directorios estén sincronizados a cambios hechos en cualquier de las dos maquinas… Debajo dejo un manual. Pero os pego un ejemplo mas complejo encontrado en la wikipedia:

rsync –verbose –compress –rsh=/usr/local/bin/ssh –recursive \ –times –perms –links –delete –exclude “*bak” –exclude “*~” \ /www/* webserver:/www

Este comando ejecuta rsync en modo verboso (muestra mensajes de estado por la salida estándar), con compresión, a través de ssh, preservando fechas y permisos del archivo origen, incluyendo vínculos, borrando archivos que fueron borrados en el directorio origen, excluyendo backups y archivos temporales (*bak, *~); el origen es el contenido del directorio /www y el destino el directorio /www en el host webserver.

La primera vez que hagamos el volcado de datos, se hará una copia completo del directorio origen dentro de destino, a partir de la primera solo se copiaran las actualizaciones.

Un buen tutorial

April 11th, 2008SSH File System

En el siguiente documento quedaran escritos los pasos a reproducir a la hora de montar un servidor SSH con SSHFS.

¿Que es SSHFS?

systemSecure SHell FileSystem (SSHFS) es un sistema de archivos para Linux (y otros sistemas operativos con una implementación FUSE, tal como en Mac OS X), que opera sobre archivos en una computadora remota usando un entorno seguro de acceso. En la computadora local donde se monta SSHFS, la implementación hace uso del módulo del kernel FUSE. Los efectos prácticos de esto es que el usuario final puede interactuar amigablemente con archivos remotos estando en un servidor SSH,viéndolos como si estuvieran en su computadora local. En la computadora remota se utiliza el subsistema SFTP de SSH.

La implementación actual de SSHFS usando FUSE es una versión reescrita de la anterior, realizada por Miklos Szeredi, quien también escribió FUSE.

SSHFS también se utiliza en FreeBSD debido a la disponibilidad de FUSE en esta plataforma.

Instalar el servidor

Sobre Ubuntu seguiremos los siguientes pasos:

user@host:/mnt$ sudo apt-get install openssh-server

Instala sshfs en la maquina en la que quieras montar el directorio ssh:

user@host:/mnt$ sudo apt-get install sshfs

En sistemas debian es necesario incluir la siguiente linea en el /etc/modules:

fuse

Se monta el directorio:

user@host:/mnt$ sshfs usuario@host:directorio punto_de_montaje

Para desmontarlo:

user@host:/mnt$ sudo fusermount -u /mnt/remote

Visto en:

Articulo original cyberciti


© 2007 Aske bizi bloga | iKon Wordpress Theme by TextNData | rakCha web directory