lunes, 21 de marzo de 2011

Editor de texto VIM

Vamos a ver una mini guía, con los comandos mas normales o que mas suelo usar con este potente editor de texto.

Arrancar el vim es muy sencillo. vim nombre_fichero. Nos aparecerá una ventana en negro, donde nos aparecerá el contenido del fichero, o en negro si está vacío.

Vim tiene varios modos de uso:

El modo normal, en el que podremos introducir atajos/comandos para realizar operaciones.

:q         Salir del editor sin guardar.
:q!        Salir del editor sin guardar ni pedir confirmación.
:wq!     Salir del editor guardando sin pedir confirmación.
:num    No posiciona en la línea num del fichero.

Como podemos observar, estos atajos/comandos, van siempre precedidos de : para poder usarlos, pulsaremos la tecla ESC (Escape).

Hay otros atajos/comandos, en los que no tendremos que usar : y nos serviran para realizar determinadas operaciones, como por ejemplo:

i               Insertar texto / empezar a escribir.
dd            Suprimir línea actual.
u              Deshacer el último cambio en el fichero.
CTRL+R  Rehacer el último cambio en el fichero.
guu          Convertir a minúsculas la línea actual.
gUU         Convertir a mayúsculas la línea actual.
gg            Ir al principio del fichero.
G             Ir al final del fichero.
v              Entramos en modo visual, y con las flechas de cursor seleccionamos.
c              Cortar texto seleccionado.
y              Copiar texto seleccionado.
p              Pegar la selección.
/               /texto nos buscara "texto" dentro del documento y se posicionara en el primero vea.
n             Nos buscara la siguiente coincidencia de la búsqueda.


El modo inserción/edición, pulsaremos la tecla i (directamente), y en la parte de abajo aparecerá el texto -- INSERTAR --. Ahora todo lo que que se escriba estará dentro del fichero de texto. Para volver al modo normal sólo hay que pulsar la tecla ESC (Escape).


Registrado en Safe Creative

viernes, 18 de marzo de 2011

Convertir paquetes a Debian

Primero, tendremos que instalar el paquete alien
#apt-get install alien

Una vez instalado, lo usaremos de la siguiente manera:
#alien -d fichero.rpm convierte fichero rpm a deb
#alien -d fichero.tgz convierte fichero tgz a deb
#alien -i fichero.rpm convierte fichero rpm a deb y lo instala
#alien -i fichero.tgz convierte fichero tgz a deb y lo instala


Registrado en Safe Creative

jueves, 17 de marzo de 2011

Copiar / mover / borrar / crear directorios / borrar directorios.

Copia archivos y directorios

cp Archivo Destino

Copia de /home/pedro a /home/carlos el archivo prueba.txt

#cp /home/pedro/prueba.txt /home/carlos/ (siempre que no estemos dentro del directorio de partida)

#cp prueba.txt /home/carlos/ (si nos encontramos dentro del directorio donde esta el fichero que queremos copiar)

Copia de /home/pedro a /home/carlos del directorio ventas

#cp -r /home/pedro/ventas/ /home/carlos/
-r : indica que copia recursivamente el directorio

--

Mover archivos y directorios

mv Archivo Destino

Mueve de /home/pedro a /home/carlos el archivo prueba.txt

#mv /home/pedro/prueba.txt /home/carlos/ (siempre que no estemos dentro del directorio de partida)

#mv prueba.txt /home/carlos/ (si nos encontramos dentro del directorio donde esta el fichero que queremos copiar)

Copia de /home/pedro a /home/carlos del directorio ventas

#mv /home/pedro/ventas/ /home/carlos/

--

Borrado de archivos ¡¡¡mucho cuidado con este comando!!! ;)

rm Archivo
rm -r directorio

Borrar archivos prueba.txt prueba1.txt prueba2.txt

#rm /home/pepe/prueba.txt prueba1.txt prueba2.txt
#rm /home/pepe/prueba*
#rm /home/pepe/*.txt

#rm -r /home/pepe/ventas/
-r : indica que borra el directorio y su contenido recursivamente

--

Creación de directorios

mkdir Nombre

Creamos el directorio ventas dentro de nuestra carpeta de trabajo

#mkdir /home/pepe/ventas

En esta parte, queda pendiente el tema de los permisos (próximo link aquí a su guía)

Borrado de directorios

rm -r directorio

Borramos el directorio ventas ¡¡¡mucho cuidado con este comando!!! ;)

#rm -r /home/pepe/ventas/
-r : indica que borra el directorio y su contenido recursivamente


Registrado en Safe Creative

Empaquetación y compresión de archivos/directorios.

Ficheros .tar

Empaquetar:
#tar cvf archivo.tar /home/usuario/
c : indica a tar que cree un fichero.
v : indica a tar que muestre lo que va empaquetando.
f : indica a tar que el siguiente argumento es el nombre del fichero.tar.

Desempaquetar:
#tar -xvf archivo.tar
-x : indica a tar que descomprima el fichero.tar.
-v : indica a tar que muestre lo que va desempaquetando.
-f : indica a tar que el siguiente argumento es el nombre del fichero a desempaquetar.

--

Ficheros .gz

Comprimir:
#gzip -9 fichero
-9 : le indica a gz que utilice el mayor factor de compresión posible.

Descomprimir:
#gzip -d fichero.gz
-d : indica descompresión

gz no comprime directorios, solo archivos, si queremos comprimir directorios y archivos, tendremos que usar los dos comandos juntos.

--

Ficheros .tar.gz

Empaquetar y comprimir:
#tar czfv archivo.tar.gz /home/usuario/
c : indica a tar que cree un fichero.
z : indica que use el compresor gzip
f : indica a tar que el siguiente argumento es el nombre del fichero.tar
v : indica a tar que muestre lo que va empaquetando

Descomprimir y desempaquetar:
#tar -xzvf archivo.tar.gz
-x : le dice a tar que extraiga el contenido del fichero tar.gz
-z : le indica a tar que esta comprimido con gzip
-v : va mostrando el contenido del fichero
-f : le dice a tar que el siguiente argumento es el fichero a descomprimir.

--

Veamos ahora el caso, de querer empaquetar y comprimir un directorio, en el cual, hay mas directorios dentro y no queremos meter todos.

#/home
            /juan
            /carlos
            /pedro
            /felipe

En este caso, empaquetaremos y comprimiremos juan y pedro.
#tar cvzpf archivo.tar.gz home/ --exclude='carlos' --exclude='felipe'


Registrado en Safe Creative

Busquedas en línea de comando

Como buscar en linea de comando.

Sintaxis:

find Ruta -name Archivo

Un par de ejemplos:

#find / -name archivo.exe (buscara archivo.exe desde la raiz /)
#find /home/usuario -name *.jpg (buscara todos los jpg dentro de la carpeta usuario)


Registrado en Safe Creative

lunes, 7 de marzo de 2011

Añadir un disco nuevo a nuestro sistema

Como instalar un disco nuevo en nuestro sistema una vez formateado.

Creamos el punto donde se va a montar.

#mkdir /media/prueba (Donde prueba es el nombre que queramos)

Modificamos el fichero fstab.

#vim /etc/fstab

Añadimos al final nuestro disco.

/dev/sdXX /media/prueba ext3 default 0 2

Guardamos y salimos. En este punto, podríamos hacer un reboot para comprobar que cargar en su sitio el disco, aunque también, podremos montarlo a mano la primera vez.

#mount /dev/sdXX /media/prueba
#ls /media/prueba
lost.fount (o si tienes algún contenido ya el disco)


Registrado en Safe Creative

Formateo de discos a linea de comando

Formateo de un disco a linea de comando.

#fdisk /dev/sdb (donde sdX es el punto que le dio el equipo)
opcion p (lista las tablas de particiones)
opcion n (añade una nueva partición)
opcion p (para partición primaria)
opcion 1 (para el numero de la partición)
opcion 1 (en este caso 1 uno representa el comienzo del disco)
opcion (tamaño)(intro tomara todo el tamaño o le daremos el tamaño a mano "ejemplo +40GB")
opcion p (lista las tablas de particiones)
opcion w (Escribe la tabla en el disco y sale)

Si quisiéramos y tuviéramos espacio en el disco para añadir mas particiones, repetiríamos los pasos.

Ahora formateamos la partición nueva
#mkfs.ext3 /dev/sdXX (XX representa el disco)

cuando termine el mkfs, pedirá hacer esto:
#tune2fs -c0 -i0 /dev/sdXX (XX representa el disco)

Ya tenemos nuestro nuevo disco formateado.


Registrado en Safe Creative

Raid 1 en debian

Raid 1 en debian, versión 5 hacia atrás.

Disco original - /dev/sda
Disco nuevo - /dev/sdb

Tendréis que sustituir la nomenclatura de vuestros discos donde yo tengo sda y sdb, por los vuestros.

Partimos de un disco /dev/sda particionado en tres, y unos discos, en este caso virtuales, de 12 gb de capacidad, repartidos de la siguiente manera:

(swap de 1 gb)
/dev/sda1 swap
(partición raiz / de 8 gb)
/dev/sda2 /
(partición de datos /datos de aproximadamente 4 gb)
/dev/sda3 /datos

Hay que tener en mente el orden del particionado, para poder formatear y montar bien las raid

Primero hay que instalar las herramientas de administración.

# apt-get install mdadm

Copiamos al disco nuevo la información del particionado.

# sfdisk -d /dev/sda | sfdisk /dev/sdb

Comprobamos que estén iguales los discos.

# fdisk -l

Disco /dev/sda: 1566 cilindros, 255 cabezas, 63 sectores/pista
Unidades = cilindros de 8225280 bytes, bloques de 1024 bytes, contando desde 0

Disp. Inic. Princ. Fin Nºcil Nºbloq. Id Sistema
/dev/sda1 0+ 121 122- 979933+ fd swap
/dev/sda2 * 122 1094 973 7815622+ fd /
/dev/sda3 1095 1565 471 3783307+ fd /datos

Disco /dev/sdb: 1566 cilindros, 255 cabezas, 63 sectores/pista
Unidades = cilindros de 8225280 bytes, bloques de 1024 bytes, contando desde 0

Disp. Inic. Princ. Fin Nºcil Nºbloq. Id Sistema
/dev/sdb1 0+ 121 122- 979933+ fd swap
/dev/sdb2 * 122 1094 973 7815622+ fd /
/dev/sdb3 1095 1565 471 3783307+ fd /datos

Cambiamos el tipo de particiones del disco original a raid autodetected.

# fdisk /dev/sdb

Orden (m para obtener ayuda): t
Número de partición (1-4): 1
Código hexadecimal (escriba L para ver los códigos): fd

Orden (m para obtener ayuda): t
Número de partición (1-4): 2
Código hexadecimal (escriba L para ver los códigos): fd

Orden (m para obtener ayuda): t
Número de partición (1-4): 3
Código hexadecimal (escriba L para ver los códigos): fd

Orden (m para obtener ayuda): w (para finalizar y grabar)

Comprobamos.

# fdisk -l

Disco /dev/sda: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00097ef1

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sda1 1 122 979933+ 82 Linux swap / Solaris
/dev/sda2 * 123 1095 7815622+ 83 Linux
/dev/sda3 1096 1566 3783307+ 83 Linux

Disco /dev/sdb: 12.8 GB, 12884901888 bytes
255 heads, 63 sectors/track, 1566 cylinders
Units = cilindros of 16065 * 512 = 8225280 bytes
Disk identifier: 0x00000000

Disposit. Inicio Comienzo Fin Bloques Id Sistema
/dev/sdb1 1 122 979933+ fd Linux raid autodetect
/dev/sdb2 * 123 1095 7815622+ fd Linux raid autodetect
/dev/sdb3 1096 1566 3783307+ fd Linux raid autodetect


Ahora creamos las raid.

# mdadm --create /dev/md0 --level 1 --raid-devices=2 missing /dev/sdb1
mdadm: array /dev/md0 started.
# mdadm --create /dev/md1 --level 1 --raid-devices=2 missing /dev/sdb2
mdadm: array /dev/md1 started.
# mdadm --create /dev/md2 --level 1 --raid-devices=2 missing /dev/sdb3
mdadm: array /dev/md2 started.

formateamos las particiones.
# mkswap /dev/md0 (esta es la swap)
# mkfs.ext3 /dev/md1
# mkfs.ext3 /dev/md2

Copiamos el contenido de nuestra partición / en /mnt/
# mount /dev/md1 /mnt
# cp -dpRx / /mnt

En el caso de que nuestra partición /datos tuviera algo lo copiaríamos de la misma manera.
# umount /dev/mnt
# mount /dev/md2 /mnt
# cp -dpRx / /mnt/datos

Ahora editamos el fstab para configurar los dispositivos, pero usaremos el que acabamos de montar en /mnt/ para mayor seguridad.

# vim /mnt/etc/fstab

¡¡¡¡original!!!!
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/sda2 / ext3 errors=remount-ro 0 1
/dev/sda3 /datos ext3 defaults 0 2
/dev/sda1 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0


¡¡¡¡así tendrá que quedar!!!!
# /etc/fstab: static file system information.
#
#
proc /proc proc defaults 0 0
/dev/md1 / ext3 errors=remount-ro 0 1
/dev/md2 /datos ext3 defaults 0 2
/dev/md0 none swap sw 0 0
/dev/hdc /media/cdrom0 udf,iso9660 user,noauto 0 0

Ahora editaremos el menu.lst para usar el raid a la hora de arrancar, también modificaremos de momento el que acabamos de montar en /mnt para mayor seguridad.

# vim /mnt/boot/grub/menu.lst

¡¡¡¡original!!!!
## ## End Default Options ##

title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda2 ro quiet
initrd /boot/initrd.img-2.6.26-2-686

title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/sda2 ro single
initrd /boot/initrd.img-2.6.26-2-686

¡¡¡¡asi tendra que quedar!!!!

## ## End Default Options ##

title Debian GNU/Linux, kernel 2.6.26-2-686
root (hd0,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/md1 md=1,/dev/sda2,/dev/sdb2 ro
initrd /boot/initrd.img-2.6.26-2-686

title Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root (hd1,1)
kernel /boot/vmlinuz-2.6.26-2-686 root=/dev/md1 md=1,/dev/sdb2 ro
initrd /boot/initrd.img-2.6.26-2-686

Configuramos el grub.

# grub-install /dev/sda
Searching for GRUB installation directory ... found: /boot/grub
Installation finished. No error reported.
This is the contents of the device map /boot/grub/device.map.
Check if this is correct or not. If any of the lines is incorrect,
fix it and re-run the script `grub-install'.

(hd0) /dev/sda
(hd1) /dev/sdb

grub
grub> device (hd0) /dev/sdb
grub> root (hd0,1)
Filesystem type is ext2fs, partition type 0xfd
grub> setup (hd0)
Checking if "/boot/grub/stage1" exists... yes
Checking if "/boot/grub/stage2" exists... yes
Checking if "/boot/grub/e2fs_stage1_5" exists... yes
Running "embed /boot/grub/e2fs_stage1_5 (hd0)"... 17 sectors are embedded.
succeeded
Running "install /boot/grub/stage1 (hd0) (hd0)1+17 p (hd0,1)/boot/grub/stage2 /boot/grub/menu.lst"... succeeded
Done.
grub> quit

Ahora pasaremos la informacion del GRUB y del fstab al disco original /dev/sda.
# cp -dp /mnt/etc/fstab /etc/fstab

una vez copiado el fstab comprobar si estan los cambios realizados ¡¡¡SUPER IMPORTANTE!!!
# cat /etc/fstab

# cp -dp /mnt/boot/grub/menu.lst /boot/grub

Una vez llegados a este punto, rebotaremos la maquina y no tendria que haber ningun problema.

Montamos las particiones.
# mdadm --add /dev/md0 /dev/sda1
# mdadm --add /dev/md1 /dev/sda2
# mdadm --add /dev/md2 /dev/sda3

Monitorizamos la sincronizacion.

# cat /proc/mdstat

El resultado final sera este.
# cat /proc/mdstat
Personalities : [linear] [multipath] [raid0] [raid1] [raid6] [raid5] [raid4] [raid10]
md0 : active raid1 sda1[0] sdb1[1]
979840 blocks [2/2] [UU]
md1 : active raid1 sda2[0] sdb2[1]
7815552 blocks [2/2] [UU]
md2 : active raid1 sda3[0] sdb3[1]
3783232 blocks [2/2] [UU]
unused devices:

Ya tenemos nuestros discos montados en RAID1



Registrado en Safe Creative