Mostrando entradas con la etiqueta linux. Mostrar todas las entradas
Mostrando entradas con la etiqueta linux. Mostrar todas las entradas

5.01.2018

Snipet #3 - Añadir disco a un LVM-RAID1

Si se quiere añadir un disco a un LVM-RAID1 cuando haya fallado el LV

Se desactiva el LV, se crea el PV, se extiende el VG y se repara el LV:

lvchange -an /miVG/miLV
pvcreate /dev/sdX
vgextend miVG /dev/sdX
lvconvert --repair miVG/miLV
Se puede ver el avance del proceso con
lvs -a -o +devices

Si el disco añadido es de menor tamaño que el anterior:
vgreduce --removemissing miVG

4.10.2018

Snipet #2 - Reconstruir espejo de cualquier disco dentro de un LVM-RAID1

Mediante pvscan averiguamos el UUID del disco faltante.

Se desactiva el LV (Logical Volume)
lvchange -an miVG/miLV
Se crea el PV (Phisical Volume)
pvcreate --uuid "UUID" /dev/sdX
Se restaura el VG (Volume Group)
vgextend --restoremissing /dev/miVG /dev/sdX

3.22.2018

Grabar acciones en VIM para repetirlas despues

Hay ocasiones en las que debemos editar un archivo y que esta edición es prácticamente eliminar tal linea, quitar unos caracteres y aumentar otros.. una y otra vez. Para esto existe la opción de grabar las acciones una vez y luego simplemente repetirlas las veces que necesitemos.

Lo mejor de esto es que podemos tener tantas grabaciones casi como teclas tiene el teclado, por lo que si se trata de un archivo de gran tamaño que requiere de este tipo edición el trabajo resulta mucho más eficiente y rápido.

Para iniciar la grabación se presiona q seguida de la letra a la que queremos asignar la grabación, por ejemplo a. Veremos que en la barra de estado se muestra el mensaje grabando @a.

De aquí todo lo que hagamos está siendo grabado, todo, sea cual sea el modo en el que estemos (normal, visual, edición, etc) Una vez que deseemos terminar la grabación, en modo normal presionamos q nuevamente.

En el momento que queramos reproducir dicha grabación presionamos (en modo normal) la tecla @ seguido de la letra de la grabación deseada, por ejemplo @a.

 


3.06.2018

Snipet #1 - reiniciar hosts scsi para reconocer discos añadidos a una VM

Cuando se añaden discos a una VM y se requiere recargar los hosts scsi.

ls /sys/class/scsi_host/ |while read host; do echo "- - -" > /sys/class/scsi_host/$host/scan; done

9.28.2016

LVM-RAID1 - Alta disponibilidad de discos lógicos.

Muchas veces (siempre?) se necesita tener la seguridad de que tanto el sistema operativo como la información van a estar disponibles aún cuando exista un fallo en el disco duro.

Ya sea para una estación de trabajo o personal o en servidores, el contar con redundancia a nivel de discos facilita muchísimo la gestión de recursos ante una posible recuperación de desastres, en este caso el fallo total de un disco duro.

Por ejemplo, en una oficina pequeña no se suele disponer de personal para soporte informático permanente el cual descargue de la responsabilidad de mantener los respaldos al día a los usuarios de la red, contratar o mantener una solución de respaldo para todos los equipos suele ser demasiado costoso y en el otro lado, hacerlo únicamente para el equipo crítico para la empresa hace que  la solución sea sub-utilizada. En este caso, pueda que sea mucho más factible simplemente añadir redundancia a los discos y de esta forma en caso de que uno falle no existe afectación alguna y da tiempo para colocar el reemplazo del disco dañado.

Voy a contar otro escenario de la vida real:
Se tienen unos servidores que reciben sus discos desde desde un storage, tiempo atrás una de las controladoras del storage falló y fue necesario migrar y reconstruir el arreglo de cada uno de los servidores (si alguien ha reconstruido un RAID5 en 4 discos sas de 8TB sabe lo que puede llevar). Debido a esto se tuvo una caída del servicio de horas, algo inaceptable.

Lo solución que propuse fue que se cuente con redundancia en los discos generando un LVM-RAID1. Porqué un LVM-RAID y no un raid con MDADM? Principalmente porque los puntos de montaje de los sistemas Linux ya estaban sobre LVM y no se quería añadir otra capa de administración.

Y porqué RAID1? La parte interesante es que en lvm-raid1 se puede definir la cantidad de espejos para el arreglo, por lo que el disco principal tiene n espejos y tendrían que fallar TODOS los discos para que se pierda el acceso a la data. Esto sumado a que cada disco viene de un storage distinto da aún mayor seguridad ante fallos sobre todo de hardware.

Así que manos a la consola :D

- Primero añadimos los discos físicos como pvs:
pvcreate /dev/sde /dev/sdf /dev/sdX
- Creamos el grupo de volúmenes (VolumeGroup) indicando los discos que deseamos formen parte del mismo:
vgcreate miVG /dev/sde /dev/sdf /dev/sdX
- Creamos un volumen lógico que ocupará toda la extensión del disco, esto es importante ya que nos asegura que la data se almacenará en un solo disco. el número para el argumento -m indica la cantidad de espejos que deseamos para el arreglo, el primer disco será el principal el resto las réplicas:
lvcreate --type raid1 -m 3 -l 100%FREE -n miLV miVG /dev/sde /dev/sdf /dev/sdX
Esto creará el lv miLV en el grupo miVG y empezará la sincronización entre todos los discos, esto puede llevar varias horas dependiendo de la capacidad de los discos, su velocidad, etc. Para ver el porcentaje de sincronización podemos ejecutar el comando con watch con actualización por defecto cada 2 segundos:
watch lvs -a -o +devices miVG/miLV
Una vez que se complete el proceso anterior podemos dar el sistema de archivos que deseemos:
mkfs.ext4 -L data /dev/miVG/miLV
La ventaja de LVM-RAID es que podemos añadir o remover espejos al arreglo y deshacer el arreglo por completo sin tener que migrar la información. Eso y muchas cosas más, recomiendo leer la documentación de RedHat sobre Administración LVM para tener una idea de sus alcances.

Si han usado raid por lvm o planean hacerlo póngalo en los comentarios!

Saludos.



9.19.2016

Migración de correos en masa con Imapsync a WHM/cpanel


La anterior semana se me presentó la necesidad de migrar una gran cantidad de correos de dos servidores distintos a otro. Los servidores de origen eran muy diferentes si se puede decir; el uno era un servidor "a mano" con webmin, postfix, dovecot, etc. El otro, un Zimbra CE.

Más allá de la diferencia de los servidores era la cantidad de cuentas de correo a migrar y el peso total de estas. Fueron alrededor de 150 cuentas y requerían de 150GB de espacio en el nuevo servidor. 150 para servidores de correo grandes no es nada, pero crear/migrar a mano una a una no es algo que ni deba ponerse como posibilidad.

Realmente nunca había tenido la necesidad de migrar de esta forma, siempre fue de Zimbra --> Zimbra, cpanel --> cpanel, etc. Pero esta vez la migración era desde los servidores antes mencionados hacia un WHM/cpanel.

Las cuentas de hosting ya se encontraban creadas en el WHM, la idea era automatizar la creación de las cuentas de correo en cada una de ellas y posteriormente migrar el correo.

Creación de correos en WHM:

Esto lo hice en línea de comandos en el servidor mediante la API de WHM whmapi1. El comando en cuestión es addpop y toma como parámetros usuario, contraseña, cuota de buzón. De esta forma, cree un archivo (llamado USERLIST) por cada dominio con el listado de cuentas de correo pertenecientes a el en el formato:
username;password:quota
 Una vez se tiene el archivo, ejecuto el siguiente one-liner en el servidor WHM usando la API de cpanel:
while IFS=";" read u p q; do cpapi2 --user=acc-username Email addpop domain=acc-domain email=$u password=$p quota=$q; done < USERLIST

Donde:

  • IFS es la variable que indica el separador del fichero USERLIST, en este caso ";", si por ejemplo obtiene un cvs se puede indicar que el separador es ","
  • acc-username y acc-domain son los datos de usuario y dominio para la cuenta de cpanel en el WHM.
  • $u, $p, $q son usuario, contraseña y quota para cada cuenta respectivamente.
Con esto tenemos creadas las cuentas de correo.

MIgración de correos con Imapsync:

Debemos tener un fichero (llamado en el ejemplo como USERLIST)  con el siguiente formato:
(usuario1;contraseña1;usuario2;contraseña2)

Donde:

  • usuario1, contraseña1: credenciales de la cuenta de origen, usuario es sólo el nombre sin el @dominio.com
  • usuario2, contraseña2: : credenciales de la cuenta de destino, usuario es sólo el nombre sin el @dominio.com
En cualquier equipo instalamos imapsync, la instalación depende de la distribución que elijamos y existe mucha documentación al respecto por lo que no lo trataré aquí. 

Con imapsync instalado en el equipo que usaremos para ejecutar la migración, podemos usar el script de bash indicado a continuación:

imapsyncpath=/ubicacion/del/ejecutable/imapsync
origen=10.0.1.1
destino=10.0.2.1
options="--tls1 --usecache --delete2 --nofoldersizes --no-modules_version --addheader --subscribeall"
while IFS=";" read u1 p1 u2 p2; do
    { echo "$u1" |egrep "^#" ; } > /dev/null && continue # skip comment lines in USERLIST
    echo "============== Migrating mail from user $u1 to $u2 =============="
    .$imapsyncpath/imapsync --host1 $origen --host2 $destino --user1 $u1 --password1 $p1 --user2 $u2 --password2 $p2 $options --dry
    echo
    echo "============== Ended migration for user $u1 in $u2 =============="
done < USERLIST
echo "Migration Complete."
exit 0
OJO, recomiendo leer la documentación ya que tiene muchas, MUCHAS opciones de sincronización. Las opciones que uso son un tanto generales y pensadas para cubrir las necesidades de mi caso.

Con esto tendríamos sincronizada la información de las cuentas de correo y podemos ejecutarla cuantas veces queramos ya que solo actualizará en el destino la información nueva. En mi caso tuve que esperar a que se refresquen las respuestas DNS de los registros MX de los dominios para poder dar de baja el servidor de origen.

Con el one-liner en el cpanel y el script de para imapsync migré las cuentas de forma semi-automatizada sin tener que estar pendiente en todo momento del proceso. Como dato extra al script de imapsync lo puse como un cronjob diario para mantener al día las cuentas en el destino hasta que me notifiquen del refresco de la zona DNS.

Gracias!.

3.02.2015

Comando del día: Buscar si un proceso se ha ejecutado más de dos veces y como matarlos.

Hace unos días me pasó que un servicio al parecer se había ejecutado más de una vez (no daré detalles del porqué).

Pero sea como sea la questión era saber cuántos procesos se estaban ejecutando y también una forma de matarlos independiente de la cantidad que estos sean, de esta forma llegué a las dos siguientes líneas de bash que se las puede modificar un poco para que formen parte de un script o unirlas etc:

Mirar si hay más de un proceso ejecutándose cada 2 segundos:


while true; do echo $(ps aux |egrep proceso |awk '{print $2}' |wc -l; sleep 2; done
Matar todos los procesos:


for p in `ps aux |egrep proceso |awk '{print $2}'`; do kill -9; done

Espero les sea de utilidad!!!

Saludos.

2.05.2015

Comando del día: Conexión ssh sin contraseña

Para tener una conexión ssh sin necesidad de contraseñas para acceder a nuestros equipos de forma más rápida y cómoda podemos realizar lo siguiente:

$ ssh-keygen -t rsa 
$ ssh-copy-id -i ~/.ssh/id_rsa.pub hostremoto
$ ssh hostremoto
Lo que hemos echo es primero generar nuestra llave ssh, luego copiamos la llave púbilca en el host remoto, nos preguntará por la contraseña y si todo sale bien, el tercer comando nos debería ingresar directamente en el host remoto.

Tomar en cuenta que el usuario que realiza la conexión es el mismo con el que se desea ingresar al host, es decir que si somos user, el comando ssh-copy-id en parte ejecuta algo como:
ssh user@hostremoto

Por lo generalmente user debe existir en los dos hosts.


Saludos!

2.18.2012

Instalando Packer en Arch linux.

Instalando Packer en Arch linux.

Packer es un wrapper de pacman con soporte de AUR, su instalación es bastante sencilla y las dependencias son solo tres, base-devel, fakeroot y git. Para instalarlo ejecutamos los siguientes pasos:

$ wget http://aur.archlinux.org/packages/pa/packer/packer.tar.gz
$ tar xvzf packer.tar.gz
$ cd packer
$ makepkg -si


Si se encuentra algún error, sobretodo con el relacionado con git, unicamente ejecuten nuevamente makepkg -si y reinstalen el paquete.

Suerte!

11.15.2010

VSFTPD en Centos - Servidor FTP con usuarios virtuales.

Este posteo es más informativo que una guía, pongo los pasos que he realizado para montar un servidor FTP sobre Centos mediante vsftpd y con la característica de los usuarios virtuales lo cual es mucho más seguro que los normales.

Podemos verificar si tenemos o no instalado vsftpd mediante:
rpm -aq | grep vsftpd
De no ser así, lo instalamos junto con un par de dependencias para la creación de las bases de datos de usuarios como veremos más adelante:
yum -y install db4 db4-utils vsftpd
 A continuación editamos el archivo /etc/vsftpd.conf. El contenido de este puede variar según las características que queramos dar al servicio, pero este sería el contenido mínimo necesario para que funcione bien con usuarios virtuales:
# Bloquear el acceso anónimo
anonymous_enable=NO
# Permitir el acceso local, necesario para usuarios virtuales
local_enable=YES
# Permitir la escritura y la descarga de ficheros
write_enable=YES
download_enable=YES
# Máscara de ficheros
local_umask=022
# Restricciones anónimas
anon_upload_enable=NO
anon_mkdir_write_enable=NO
anon_world_readable_only=YES
# Puerto de conexión
connect_from_port_20=YES
# Generar archivo log
log_ftp_protocol=YES
# Otras características
listen=YES
xferlog_std_format=YES
pam_service_name=vsftpd.virtual
userlist_enable=YES
hide_ids=YES
# Enjaulamiento de usuario
chroot_local_user=YES
# Usarios virtuales y ruta de acceso
local_root=/home/ftpuser/pub
virtual_use_local_privs=YES
guest_enable=YES
Ahora necesitamos crear la base de datos de usuarios virtuales, para ello usamos Berkeley DB. Primero creamos un archivo de texto plano en /etc/vsftpd/
cd /etc/vsftpd
vi usuariosftp.txt
este archivo llevará los nombres de usuarios y claves de acceso una por línea, es decir si el usuario es andres y su clave andresclave y otro usuario andrea y de clave andreaclave, quedaría así:
andres
andresclave
andrea
andreaclave
Generamos la base de datos:
db_load -T -t hash -f usuariosftp.txt vsftpd_virtual_users.db
chmod 600 vsftpd_virtual_users.db
rm usuariosftp.txt
 Con el archivo vsftpd.conf mostrado arriba, todos los usuarios accederán a la misma ubicación especificada por local_root=. Si en cambio deseamos que cada uno tenga su carpeta de usuario (y que no puedan moverse fuera de ella) entonces debemos hacer un par de cambios al archivo de configuración.


Añadimos la opción:
user_sub_token=$USER

y modificamos lo siguiente:
local_root=/home/ftpuser/pub/$USER
Por supuesto que la ruta madre de los usuarios puede ser la que queramos. Solo que suele ser recomendable colocarla en /home por motivos de seguridad ya que por ejemplo suele ser una partición dedicada.

Ahora se crea un archivo PAM para use la base de datos de los usuarios (el nombre del archivo tiene que ser el mismo especificado en la opción pam_service_name=)
vi /etc/pam.d/vsftpd.virtual
Con el contenido:
#%PAM-1.0
auth           required    pam_userdb.so db=/etc/vsftpd/vsftpd_virutal_users
account     required    pam_userdb.so db=/etc/vsftpd/vsftpd_virtual_users
session      required    pam_loginuid.so
Creamos la ubicación indicada en el archivo de configuración:
mkdir -p /home/ftpuser/pub/
chown -R ftp:ftp /home/ftpuser/
Por último iniciamos el servicio y hacemos que se inicie siempre con el sistema:
service vsftpd start
chkconfig vsftpd on
Para monitorear el servicio se tiene el archivo /var/log/secure para el acceso de los usuarios, así como el log del servicio propiamente en /var/log/vsftpd.log
tail -f /var/log/secure | grep vsftpd  
tail -f /var/log/vsftpd.log
Y eso sería todo, podemos acceder al servidor desde los clientes mediante consola o gráficamente con aplicaciones como FileZilla o la extensión de firefox FireFTP.

Espero como siempre que sea de utilidad.

Saludos!

11.11.2010

Material de estudio para LPI 101 y 102

No me falta mucho para dar los exámenes de certificación LPI nivel 1 que son los 101 y 102. El contenido de estos exámenes es bastante extenso viéndolo a primera vista, así que siempre es bueno información al respecto y mucho mejor si es documentación oficial del propio instituto LPI.

Esta ocasión me enteré de este material a través de Rincón Informático. Gracias gente :)

La fuente original para la descarga viene de tips-linux.net.

Sea que quieren prepararse para el examen o que simplemente quieren tener un excelente material de estudio y consulta, este libro es muy pero muy recomendado.

Espero les ea de utilidad tanto como a mi :)

Saludos.

10.08.2010

Guía Arch Linux III: Configuración de X y Openbox

Luego de la instalación de archlinux y de su configuración post-instalación, queda como último paso levantar el servidor gráfico e instalar y configurar un escritorio. Al igual que las guías anteriores, nos seguimos centrando en aplicaciones ligeras para garantizar un aprovechamiento del espacio en disco y mantener un desempeño excelente para una amplia gama de equipos. Al final tendremos un escritorio Openbox completamente limpio más algunos programas muy útiles. Empecemos!

10.07.2010

Guía ArchLinux II: Post-instalación en Arch USB

En la primera guía vimos como instalar la distribución Arch Linux en nuestra memoria usb con la cual terminamos con un sistema base. La filosofía de Arch dice que su desarrollo se concentra en la sencillez, minimalismo y elegancia de código. Se centra en la instalación de un sistema base mínimo, el cual es configurado por el usuario en torno a su propia idea de entorno de trabajo instalando solo lo que desee o se requiera para lograr sus propósitos únicos.

10.05.2010

Nueva distro para PCs realmente antiguos: Galpon-Minino

La comunidad GNU/Linux nunca dejará de sorprender. Me he topado con esta disto que promete arrancar en equipos realmente antiguos con características mínimas como 64mb de ram, es dedir equipos con procesadores AMD K6  o Pentium I de de 200Mhz para arriba. Pero, no hay ya distros que prometen lo mismo? Una de ellas es Puppy por ejemplo, pero esta tiene algo especial: esta basada en Debian. Esto le da la gran ventaja de que se tiene a disposición el repositorio más grande del mundo.



La distribución cuenta con IceWM+ROX-Filer o con IceWM+PCManFM intercambiables al vuelo. Además posee características especiales como la capacidad de abrir distintas extenciones de compresión al vuelo sin necesidad de descomprimir su contenido, también incluyen unos cuantos "iconos mágicos" para tareas como edición de imágenes en masa, grabación de discos, etc, además tiene la capacidad de generar imágenes iso Livecd del sistema. Viene con soporte nativo de idiomas ingles, gallego y español.

Si tienen un equipo así de antiguo y quieren darle uso, pueden probar esa distro y mejor aún colaborar en su desarrollo ;) En este momento estoy descargando el iso y voy a probarlo en una compu que quedaría como "óptima" para sus características mínimas jeje. Ya postearé como me fue con esto.

Aquí les dejo algunos links:

Página principal: http://minino.galpon.org/wiki/doku.php?id=start
Características: http://minino.galpon.org/wiki/doku.php?id=caracteristicas
Capturas de pantallas: http://minino.galpon.org/wiki/doku.php?id=pantallazos
Descarga: http://minino.galpon.org/wiki/doku.php?id=descargar_galpon_minino

9.29.2010

Guía ArchLinux - Instalación en USB


Esta es la primera (de varias espero) guía sobre Arch. Si bien la documentación y las mismas guías de instalación (ver enlaces al final) son sumamente completas, creo que es bueno simplificar un poco las cosas haciendo un paso a paso fluido y directo. Claro que no habría gracia si simplemente enumerara unos cuantos pasos sacados de la wiki.
Lo que voy a explicar en esta guía es cómo instalar Arch en un pendrive usb y dejarlo booteable con algunos ajustes durante la instalación.

9.26.2010

Mi nueva distro: ArchLinux

Siempre he dicho que la mejor manera de aprender Linux es instalando distintas distros, o por lo menos reinstalando la misma jeje, poco a poco se va aprendiendo temas muy importantes como el particionamiento y los puntos de montaje, la paquetería y el gestor de paquetes propio de cada distribución, etc. Hace algunos años (que lejos que se los ve) esto era muy difícil, porque ya bastante se tenía con lograr instalar un solo sistema, bueno desde el punto de vista autodidacta y manteniendo un nivel newbie ;) Luego de poco empezó uno de los mejores avances a mi manera de ver en lo que respecta sobretodo a la difusión de Linux: los Livecds o "sistemas vivos".. y ahora pasa algo similar.. LinuxUSB por ponerle un nombre.
Si bien ya hace un tiempo que han habido distros iniciables por usb como la emblemática Slax, es en estos últimos tiempos (¿meses?) cuando prácticamente cualquier distro puede ser instalada en un pendrive usb o una tarjeta de memoria sin mayores problemas como habilitar cambios persistentes u otras cosas. Es decir, ya no importa el medio de soporte al cual instalar, solo se lo toma como que fuera un disco duro más y listo.

9.11.2010

Compilando un Kernel a lo CentOS

Compilar un kernel siempre puede ser una tarea larga y complicada si se desconocen ciertas herramientas que hacen de esta tarea en cambio algo fluido y hasta divertido ;)

En esta ocación compilaremos un kernel en una distro CentOS la cual está basada en RedHat. No he tenido la oportunidad de probar en otras distros similares como Fedora, pero creo que no debe haber mayor diferencia, con el tiempo iré publicando compilaciones rápidas de otras distros para señalar las diferencias entre ellas.

8.14.2010

Shell Scripts: Sencillo script con shutdown.

Muchas veces me ha sucedido que tengo que retirarme del computador pero se están realizando tareas en el mismo por lo que no se puede apagar. Obiavemente dejar prendido el computador indefinidamente no es una opción sensata por el malgasto de energía que eso significa. Lo que si se puede hacer es programar tiempo u hora de apagado en el cual sabemos que el equipo ya estará desocupado.

4.20.2010

Modelando un ajedréz en Blender (parte 3: terminando el ajedrez)

En el anterior posteo sobre el modelado del peón, vimos que el mismo método sirve para el resto de piezas, excepto una que es la pieza del caballo. Para realizarla en este caso use una manera simple de modelado y se puede decir que quedó un tanto aceptable :D Para los fines de esta guía, no me detendré en el modelado de la cabeza del caballo, ya vendrá un mejor ejemplo y más detallado en un futuro.

Aquí les pongo un par de capturas del modelado para que muestren un poco el proceso.




Ahora que tenemos todas las piezas lista lo que haremos es insertar el tablero que creamos anteriormente, para ello insertaremos el objeto que corresponde al tablero del archivo donde lo guardamos. Mediante la opción Append or Link en el menu File nos dirgimos a la ubicación del archivo .blend.


Al dar click en el archivo tablero.blend se abrira su contenido y se mostrarán diferentes partes del mismo, lo que nos interesa en este momento es el objeto tablero así que entramos a Object y dentro de esto seleccionamos Plane.001 (este es el nombre predeterminado, puede tener el que nosotros queramos y en realidad es muy recomendable nombrar los objetos para su facil indentificación) y le damos click en Load Library.


Nuestro tablero debería estar ahora en el espacio 3D. Lo que haremos ahora es agrandarlo (S) y moverlo (G) un poco mas abajo para que quede debajo de todas las piezas. Nos posicionamos en la vista superior (NUNMPAD7) y vamos colocando las piezas en sus respectivos puestos.


Lo siguiente es duplicar las piezas dobles (SHIFT+D) y ponerlas en su sitio.


Ahora seleccionamos todas piezas y de nuevo las duplicamos para ponerlas al otro lado. SHIFT+D y las movemos al otro lado del tablero, como están en la dirección contraria, primero las colocamos bien encuadradas y las rotamos (R) 180 grados. De esta manera tendríamos ya todas las piezas en su sitio listas para ser coloreadas :)


Para no complicarnos mucho, en esta ocasión usaremos las texturas (y colores) que ya tiene el tablero, es decir el blanco y el negro. Para ello, el camino largo que usaremos por ahora es el de ir seleccionando piezas por piezas, nos dirigimos al panel de texturas (Shading) F5 y en la ventana de Links and Pipeline elegimos el material que queramos de la lista desplegable debajo de Link to Object.

Así hasta tener todas las piezas con su textura/color correspondiente. Si no tenemos todavía una fuente de luz, la añadimos SPACEBAR --> Add --> Lamp y elegimos el tipo de lámpara que queramos. Nos damos un poco de trabajo en colocar la luz y la cámara y estamos listos para hacer un render.

Este es el resultado que he obtenido de momento.

Jugando un poco más con la cámara y la fuente (o fuentes) de luz se pueden lograr mejores resultados en la captura de la escena. Sin embargo el ajedrez no es muy real que digamos, pero eso cambiará al dar a los objetos verdaderas texturas como veremos en futuras entregas ;)

Espero que haya sido de utilidad esta pequeña serie de artículos sobre modelado en Blender, la versión usada es la 2.46 pero sin duda sirve tanto en versiones anterior (no muy anteriores) así como en las posteriores (la actual es la 2.48 y la 2.5a)

Como siempre los comentarios son bienvenidos.

Saludos!

4.15.2010

Modelando un ajedréz en Blender (parte 2: el peón)

En esta segunda parte del modelado de un ajadrez en Blender veremos como crear la primera pieza, el peón, mediante unos pocos pasos y una muy útil herramienta de modelado llamada Spin. Así que sin más empezemos.

Recordando un poco la nomenglatura y abreviaciones:
- RMB (Right Mouse Button) Click derecho del ratón.
- LMB (Left Mouse Button) Click izquierdo del ratón.
NUMPAD# Número indicado del teclado numérico.

Empezamos cargando la imagen que usaremos como guía mediante el menu View --> Background Image, en este caso la imagen contiene las diferentes piezas del ajedrez.


Si deseamos podemos agrandar y/o posicionar la imagen lo que mejor nos convenga en el cuadro de diálogo que aparece al cargar la imagen, generalmente se suele aumentar su tamaño y esto lo hacemos mediante el control size, la opcion blend ajusta el nivel de transparencia de la imagen y con XOffset y YOffset ajustamos su posición.


Nos colocamos en la vista frontal mediante NUMPAD1 y añadimos un plano SPCBAR --> Add --> Mesh --> Plane. Lo rotamos 90° en el eje Y presionando R, luego Y, luego el número 90 y por último le damos enter.


Presionamos A para deselcionar todos los vértices para luego seleccionar 3 de los cuatro mediante RMB + SHIFT hasta tener los 3 vértices seleccionados. Presionamos X y elegimos Vertices para eliminar los vértices que acabamos de seleccionar. Nos quedamos con un solo vértice el cual lo seleccionamos y con G lo movemos hacia la mitad de la base del peón. Luego con SHIFT+S --> Cursor -> Selection colocamos el cursor pivote en el mismo lugar que el vértice.


Ahora mediante CTRL+LMB vamos colocando vértices por el contorno del peón segun queramos pero solo por uno de sus lados, hasta llegar a la parte superior e igualmente lo dejamos en la mitad. Para asegurarnos que los vértices inicial y final se encuentran a la misma altura en su eje X presionamos N y verificamos que el valor de Vertex X se igual para los dos.

Ahora seleccionamos el primero y último vértice, y mediante SHIFT+S --> Cursor -> Selection hacemos que el pivote se coloque en medio de los dos. Luego con A elegimos todos los vértices.


Nos colocamos en la vista superior con NUMPAD7, luego F9 para obtener el panel de edición. En las herramientas de malla (Mesh Tools) tenemos la opción Spin, debajo de ella los grados que queremos girar, damos click en el cuadro y escribimos 360 seguido de enter. Luego presionamos el botón de Spin para obtener nuestro peón :D


Para verlo mejor, volvemos a la vista frontal (NUMPAD1) y ahora ajustaremos un detalle importante. Para no tener errores en la malla debemos eliminar los vértices duplicados que se crearon el realizar el giro. Para eso volvemos a seleccionar todos los vértices presionanado dos veces A y lueo con la tecla W elegimos la opción Remove Doubles. Nos aparecerá un pequeño diálogo indicando la cantidad de vértices eliminados y le damos enter. Presionamos Z para verlo en modo sólido y TAB para salir del modo edición.


Con esto tenemos nuestra primera pieza!
Usando el mismo método podemos crear el resto de piezas del juego como son la torre, el alfíl, el caballo, el rey y la reina. Manos a la obra! :D

En la siguiente parte veremos cómo colocar nuestras piezas en el tablero que creamos en la primera entrega de esta guía.

Como siempre los comentarios son bienvenidos.

Saludos!

Comando del día: dominios de un servidor WHM desde linea de comandos

Si se quiere obtener los dominios y subdominios (no dominios adicionales o addon domains ) por usuario propietario (resellers): whmapi1 li...