Archivo por meses: mayo 2013

Próximas Publicaciones – Mayo ’13

Hola,

Actualmente estoy trabajando en dos posts que estaré liberando próximamente. El primero de ellos será sobre una instalación de slackware típica. Aprovechando las máquinas virtuales.
Y la segunda sería una entrada sobre algo que lleva tiempo dándome vueltas la cabeza, y es tener ciertas particiones encriptadas en el disco duro. Esto a modo de tener los datos más seguros (ya sea en el pendrive, o un disco externo, o por que no nuestra partición de home. Ya que es muy común en estos días que a uno se le extravía o (se lo extravían) las computadoaras portátiles.
Así que estén atentos.

Saludos.

VirtualBox en slackware 14

Lo prometido es deuda dirían, así que aquí está.

Primero que nada necesitamos descargar los archivos para compilar (ademas en slackware deberas tener los paquetes de compilación mínimos necesarios, glib, libc, gcc y el resto (creo que haré otro post referente a lo mínimo necesario para compilar paquetes)).
http://slackbuilds.org/repository/14.0/system/virtualbox/

1-virtualbox-pagina-inicial

Hay varias informaciones en la página, pero entre otras abajo podemos notar que nos pide que antes tengamos instalados acpia y virtualbox-kernel.

2-virtualbox-requerimientos

 

Por lo que vamos a descargar primero acpica y luego por virtualbox-kernel.

4-virtualbox-requerimientos-consola-instalacion-paquete-acpia

Descargamos el source comprimido y el paquete de slackbuilds.org para acpica.
y vamos a la consola
accedemos a donde descargamos los archivos:

bash-4.2$tar -xzpf acpica.tar.gz
bash-4.2$mv acpica-unix2-20130214.tar.gz acpica
bash-4.2$cd acpica

pasamos a modo superusuario

bash-4.2$su
Password:

Opcionalmente yo ultimamente ejecuto el comando

export MAKEFLAGS="j5"

donde el 5 indica el número de hilos que deseo tener corriendo durante la compilación.

Para ejecutar el comando de compilación ejecutamos como super usuario:

bash-4.2# ./acpica.Slackbuild

4-virtualbox-requerimientos-consola-instalacion-paquete

cuando haya terminado la compilación mostrará algo como esto:
4-virtualbox-requerimientos-consola-instalacion-paquete-acpia-1

el archivo instalador por lo general siempre se genera y queda en /tmp
Entonces lo movemos a la carpeta actual:

bash-4.2#mv /tmp/acpica-20130214-i486-1_SBo.tgz ./

Luego ejecutamos el comando que instala el paquete en el sistema, el instalador es installkpkg:

bash-4.2#installpkg acpica-20130214-i486-1_SBo.tgz

Nos mostrará un texto descriptivo del paquete mientras lo instala.
Luego finalmente nos dice que ha instalado el paquete.

 

Esto es el proceso normal durante la instalación de un slackbuild.
Ahora procederemos a instalar el paquete virtualbox-kernel

Primero descargar el paquete

3-virtualbox-requerimientos-virtualbox-kernel

 

Realizamos los mismos pasos:
– Vamos con la consola a donde descargamos los paquetes y ejecutamos el comando de descompresion al archivo slackbuild:

bash-4.2$tar -xzpf virtualbox-kernel.tar.gz

movemos el source comprimido a la carpeta que acabamos de descomprimir

bash-4.2$mv virtualbox-kernel-4.2.10.tar.xz  virtualbox-kernel
bash-4.2$cd virtualbox-kernel

Cambiamos a modo de superusuario

bash-4.2$su
Password:
bash-4.2#

y ahora ejecutamos el comando para compilar:

bash-4.2#./virtualbox-kernel.Slackbuild

3-virtualbox-requerimientos-consola-1

 

3-virtualbox-requerimientos-consola-2

Una vez que se ha creado el paquete lo movemos de la carpeta tmp a la carpeta actual:

bash-4.2#mv /tmp/virtualbox-kernel-4.2.10_3.2.23_smp-i486-1_SBo.tgz ./

Observación: tener en cuenta que 3.2.23_smp es la versión de mi kernel, uds van a ver algo similar si tienen el mismo kernel u otra versión.

Luego finalmente se procede a la instalacion con installpkg

bash-4.2# installpkg virtualbox-kernel-4.2.10_3.2.23_smp-i486-1_SBo.tgz

3-virtualbox-requerimientos-consola-instalacion-paquete

Listo ya tenemos dos de los requerimientos
Ahora ya podemos compilar e instalar virtualbox.

Descomprimos el paquete de slackbuilds.org

bash-4.2$tar -xzpf virtualbox.tar.gz

movemos el source comprimido a la carpeta virtualbox que acabamos de descomprimir

bash-4.2$mv VirtualBox-4.2.10.tar.bz2 virtualbox
bash-4.2$cd virtualbox

Pasamos a modo superusuario:

bash-4.2$su
Password:

y antes de correr el comando de compilacion del slackbuild, agregamos el grupo virtualbox al sistema
sino tendriamos un mensaje como este:
6-virtualbox-requerimientos-consola-instalacion-virtualbox-alerta-vboxgroup

asi que agregamos con el comando que allí mismo sugiere:

bash-4.2#groupadd -g 215 vboxusers

Luego antes de continuar, hay algo más. Se pueden pasar algunos parámetros al slackbuild a  la hora de compilar. Uno de ellos es el Hardening (realmente no estaba muy seguro de que erá, así que hice una búsqueda y me encontré con esta respuesta en este foro: https://forums.virtualbox.org/viewtopic.php?f=7&t=53293

Donde cito lo que dice el usuario noteirak

Typically, hardening means that a bunch of security checks will occur, and a very strict set of rules will apply for files location, security permissions, etc. Simply so the application doesn’t break, and also to make sure no tempering is attempted.

If you are a USER, keep hardening enabled.If you are a DEVELOPPER, you can turn off hardening to make your life much easier while coding.

De lo que extraigo:

si eres un usuario manten activado el hardening, sino (si eres desarrollador) mantenlo desactivado para hacer tu vida mucho más sencilla.

Como yo soy desarrollador (lo que no significa que vaya a desarrollar con virtualbox) lo mantengo desactivado.
Además en un comienzo pensé en tener activado los enlaces con java, pero me salió un error, así que decidí dejarlo a un lado, pero si decides hacerlo basta con poner «JAVA=yes» antes de la llamada al script slackbuild.

Finalmente la llamada al script quedaría algo así

bash-4.2#HARDENING=no ./virtualbox.Slackbuild

7-virtualbox-requerimientos-consola-instalacion-virtualbox-alerta-error-compilar-java_no

luego de terminar muestra que el paquete se ha creado:
8-finalizacion-instalacion

movemos el paquete creado  a la carpeta actual e instalamos con installpkg

bash-4.2#mv /tmp/virtualbox-4.2.10-i486-1_SBo.tgz ./
bash-4.2#installpkg virtualbox-4.2.10-i486-1_SBo.tgz

Y listo
luego deberiamos de poder entrar en nuestro sistema y buscar virtualbox

9-ventana-instalacion-resultado

Como nota final, quiero mencionar que el compilar los paquetes lleva cierto tiempo, usar el MAKEFLAGS=»j5″  (donde 5 es el numero de threads que puede soportar el procesador  +1) ayuda a reducir el tiempo (gracias a la compilación en paralelo) pero no siempre funciona como se espera y puede producir algunos errores en la compilación según lo que he leído en la red, pero este no fue el caso, mi netbook con procesador atom de 1.6GHz que tiene 2 núcleos  pero soporta hiperthreading se portó y aquí una muestra del gráfico del htop:

adelanto

Llevo su tiempo hacer el post, espero pueda servirles de guía, recordar que puede variar en su instalación según las librerías que tengan, la versión del kernel y otros factores.

los datos del uname -a de mi máquina:

bash-4.2# uname -a
Linux netbook 3.2.23-smp #2 SMP Thu Jul 12 21:12:14 CDT 2012 i686 Intel(R) Atom(TM) CPU N570 @ 1.66GHz GenuineIntel GNU/Linux

MariaDB sustituirá a MySQL en slackware

mientras preparaba el post para https://ventiladorcito.com/blog/2013/05/virtualbox-en-slackware-14-0-adelanto/ [si ya sé que es un poco de autobombo, pero bueh, todavía no soy famoso 😉 ] entré a la página de http://www.slackware.com/ y me encontré con un post del 23 de marzo (algo viejillo) pero aún válido mencionando que Slackware estará pasando probablemente ya en el siguiente lanzamiento a incluir a MariaDB (que es un fork de MySQL ante la amenaza a que ORACLE mande todo a la mierda el proyecto).

Una traducción (probablemente no la mejor, pero el objetivo es extraer la idea) sería:
La gran noticia aquí sería la remoción de MySQL en favor de MariaDB. Esto no debería ser una sorpresa en ningún nivel. La encuesta en Linux Questions (LQ) mostró que una gran mayoría de usuarios estaba a favor de este cambio. Es mi creencia que la Fundación MariaDB hará un mejor trabajo con el código, tendrá mayor capacidad de respuesta en asuntos de seguridad, y tendrá un mayor deseo de trabajar con la comunidad del open source. Y mientras yo no creo que haya algún problema actualmente con la licencia de MySQL de la edición para la comunidad para usos comerciales, varios hilos en Linux Questions (LQ) demostraron que hay confusión acerca de esto, mientras que con MariaDB la libertad de uso es bastante clara. Las gracias son debidas a Heinz Wiesinger por su trabajo en la transición del script del build, las pruebas y sacandonos adelante de este movimiento. El ha estado trabajando con MariaDB (y sus desarrolladores) por varios años hasta ahora. Vincent Batts también obtuvo una ayuda en una temprana discusión aquí — el se encontró a Daniel Bartholomew de MariaDB en un tren el año pasado y consiguió una copia del fuente para jugar y pasar el tiempo del viaje (el milagro de los pendrives :), y le impresionó no solo MariaDB en sí, sino que con la bienvenida que Slackware estaba consiguiendo. Esperamos ellos den respuestas prontas en cualquier problema que tengamos. En la gran mayoría de situaciones, MariaDB es completamente compatible con las bases de datos MySQL existentes y encajará justo sin cambios necesarios. Hay un artículo disponible mostrando las áreas en las que MariaDB difiere de MySQL que recomiendo leer https://kb.askmonty.org/v/mariadb-versus-mysql-compatibility/
Gracias a la fundación MariaDB! Esperamos poder trabajar con ustedes.

Para más información acerca de MariaDB, visitar su sitio web: http://mariadb.org

Así que está interesante, slackware se suma a este cambio en el que se opta pasar a MariaDB que recordemos, está formada por una gran parte del equipo original que trabajó en MySQL.

Ademas de tener en cuenta que hay una importante cantidad de sitios que hoy en día están teniendo sus bases de datos con MySQL en estos momentos pueden tener un cambio tranquilo y sin mayores temores a MariaDB. Slackware está ayudando con un pequeño empujon. Ya veremos en el futuro si fue una movida apropiada o no. Lo cierto es que la comunidad tiene sus reservas acerca de que futuro podría dar Oracle a MySQL ya que en cierta forma (bastante lejana) es una pequeña competencia para su motor de bases de datos estrella, y señales de querer matar proyectos opensource tenemos varios, entre ellos open solaris.

En fin darle una miradita al MariaDB no hará daño.

Saludos.

Virtualbox en slackware 14.0 (adelanto)

Hola, ahora estoy preparando una entrada sobre virtualbox en slackware. Mi intención es mostrar como realizar una instalación de virtualbox y como ir creando máquinas virtuales para ir «probando cosas» con slackware y tal vez otras distribuciones de linux.

Así en un ambiente seguro (ya que no arriesgamos nuestra instalación personal, y del dia a dia) podemos probar algunas cositas.

Pero que es virtualbox?
Bueno, para los que no lo conocen, es un software que permite ejecutar otro sistema operativo dentro de un sistema operativo (sí, ya sé, suena como inception o algo así), de modo que por ej. puedes tener tu sistema host (anfitrión) slackware u otro,podría ser debian u open suse (tambíen microsoft windows why not XP) y dentro de ese sistema tener virtualizado otros más (prácticamente cualquier otro) desde windows 2000, xp etc hasta varios debian, el límite es el hardware que puedas tener en el anfitrión, ya que como sabes, un sistema operativo consume memoria y gigas de disco duro, así que si tienes 4 gigas de memoria ram en tu SO host y calculamos unos 512 megas de memoria ram por máquina virtual se recomendaría hasta 3 [recordar que el sistema operativo host tambien requiere un poco de memoria 😉 ]. Lo mismo sucede con el procesador, pero en ese caso, uno puede determinar con la herramienta (en este caso) virtualbox si es que deseas que agarre hasta el 100% del procesador o quieres que sea menos (entre 70 y 90 yo creo es conveniente, fuera de eso el rendimiento podria verse afectado, ojo esto es por máquina virtualizada). De este modo, puedes probar por ej, realizar compilaciones de software que no conozcas, instalarlos sin mayores problemas, inclusive puedes practicar un poco de hacking y tratar de romper la seguridad en alguna de las maquinas virtuales [accediendo desde la red u tratando de escalar privilegios, explotar algunas vulnerabilidades expuestas en algun foro en la esquina oscura de la red 😉 ]. Como uno puede tener varios elementos virtuales, puedes probar reglas de firewalls y cosas como esas, realmente el limite es  tu imaginación. Todo lo que necesitas es software suficiente y un poco de gigas extras de RAM tampoco vendrían mal.

Virtualbox es propiedad de oracle, de momento sigue siendo open source (pero la verdad nadie sabe por cuanto tiempo) antes de oracle, fue parte de la ahora extinta SUN microsystems que si no me equivoco fue la que compró o adquirió de Innotek, creo que una visita a google para averiguar más de esto no estaría mal 😉 .

Existen otras formas de virtualización, como KVM o Qemu, así como XEN pero que no funcionan como vbox (que funciona más bien como un software normal en un SO) sino que más bien son implementadas a nivel del kernel del SO host. Puedes leer más acerca de KVM en el post de Proyectos Beta http://proyectosbeta.net/2013/05/instalar-kvm-en-debian-wheezy/

De momento hasta aquí escribiré. Lastimosamente mi conexión 3g está demorando en descargar algunos paquetes, así que probablemente tenga que conseguir una mejor conexión para descargarlos todos.

Página de slackbuilds.org donde encontrarás info para descargar los paquetes de virtual box: http://slackbuilds.org/result/?search=virtualbox&sv=14.0

Desde donde luego descargaré y compilaré los codigos.

Saludos.

Slackware

Hola nuevamente, en esta ocasión quiero hablarles de Slackware, la distribución Linux que llevo usando varios años y que espero poder difundir un poco de información a modo de difusión (para los que no conocen).

Al entrar a la wikipedia leeremos que es la distribución de Linux más antigua que sobrevive en estos días. Que es una distribución creada y mantenida por su benévolo dictador de por vida Patrick Volkerding. Que actualmente (a la creación de este post mayo-2013) se encuentra en la versión 14 y así… (no pienso repasar la wikipedia, sería un desperdicio de bytes ).

Ahora ¿qué es lo interesante de slackware?
Consigo trae varios escritorios para probar, entre los que destacamos KDE y XFCE. Esto es interesante porque si en una de esas rompes alguno de ellos (me ha pasado) se puede cambiar al otro y buscar una solución al problema sin perder un entorno gráfico (claro, tampoco es infalible si se rompe alguna librería del Xorg no hay mucho milagro que se pueda hacer).

Slackware tiene un gestor de paquetes oficial (slackpkg), pero lo que no tiene es control de dependencias. Se asume que uno tiene noción de lo que está haciendo y se asegurará de que el sistema tiene todo lo que necesita (en cuestión de librerías , esto evita cosa que ocurre (raras veces, pero ocurre) en gestores de paquetes con control de dependencias que al instalar o des-instalar un software en especial que tiene dependencia de otros, se sobrescriben(por una nueva versión) o se borran al instalar/des-instalar un software determinado, dando esto por resultado software que antes funcionaban y ahora ya no, muchas veces inclusive pasan estos efectos inadvertidamente ya que los paquetes que dejan de funcionar no se hacen notar hasta que es muy tarde (cuando queremos usarlos y no sabemos por que no lo hacen).

Los paquetes generalmente están probados y la estabilidad es lo que se busca (por lo menos en lo que refiere a unidades transversales al manejo del ordenador: Kernel, compiladores, escritorios, gestión de ficheros). Con eso no se dice que se tiene software «viejo» sino que las pruebas se han hecho antes de ser lanzados (claro, nada es infalible y algunos bugs(errores)
pueden escaparse, pero una ventaja muy grande es que al ser probado constantemente por la comunidad los errores suelen ser encontrados y rápidamente solucionados). Por lo general errores de seguridad suelen ser reportados a listas de correo en las que los desarrolladores y mantenedores de las distribuciones están suscritos y por lo general Patrick lo suele lanzar tan pronto como las implementa y las prueba.

Existe una versión de slackware llamada current (actual) en la cual se pueden tener avances muy importantes de los cambios que vendrán en el próximo lanzamiento, el ritmo de actualizaciones suele ser bastante alto cuando se está cerca de un nuevo lanzamiento. Pero no se recomienda mantenerse en un ambiente de «producción» estando en current, más bien se recomienda mantenerse un estable y luego ir aplicando los parches de seguridad o actualizaciones que vayan surgiendo.

Slackbuilds, ¿qué son?
Son scripts  (generalmente Bourne compatibles) que automatizan el proceso de compilación, configuracion y la creación de un paquete Slackware (*.tgz, *.txz, *.tbz) desde los códigos fuente. (citado desde http://docs.slackware.com/slackware:slackbuild_scripts)

Un repositorio bastante importante de estos slackbuilds es slackbuilds.org es un proveedor no oficial de slackware (si bien es mantenido en mayor parte por los principales contribuyentes a slackware) de paquetes de software que no son proveídos directamente, por lo general y al igual que slackware son testeados antes de ser lanzados y por lo general también  se mantienen las últimas versiones de gran parte del software normalmente usado por los usuarios de esta distribución, igual dejan abierta la posibilidad de que uno pueda contribuir con un slackbuild del software que sepamos no existe dentro del repositorio y/o se encuentre desfasado en versión respecto a la actual dando unas guías de como construir un slackbuild apropiado. Existen otros repositorios, como por ej el que provee AlienBob (uno de los principales contribuidores de slackware) por lo general se encarga de mantener las versiones paralelas de kde, vlc, libre office, open jdk, implementaciones de software de 64 bits conjuntamente con 32 bits (multilib) y últimamente pruebas con ARM y slackware en chromebook.

Otro repositorio de software (que hace un tanto de tiempo no lo uso) es slacky. Creo que linuxpackages.net también lo llegué a usar, pero una reciente busqueda en google me muestra que ya no se encuentra activa (http://web.archive.org/web/20120912051310/http://linuxpackages.net/).

Bueno, por ahora lo dejaré por aquí, iré escribiendo más sobre slackware con el pasar de los días. Cualquier cosa, no dejen de escribir sus comentarios, y en la medida de lo posible iré contestando.

Enlaces:
Sitio oficial de slackware: http://www.slackware.com/
Blog de Eric Hameleers: http://alien.slackbook.org/blog/
Repositorio de software de slackbuilds.org: http://slackbuilds.org/
Twitter de Patrick Volkerdi:https://twitter.com/volkerdi
Twitter de Eric: https://twitter.com/erichameleers
Blog de Willy Sudiarto: http://slackblogs.blogspot.com/ (muy bueno, siempre con las últimas novedades)
Foro oficial de slackware: http://www.linuxquestions.org/ (en inglés, pero es el repositorio de conocimiento más grande de slackware actualmente)
Proyecto de documentación de slackware: http://docs.slackware.com/ (nuevito, lanzado hace pocos meses, ya con muchas publicaciones de slackware, howtos (como hacer) y similares , va en crecimiento)