Buscar en este blog

jueves, 23 de febrero de 2012

La Aventura de Linux From Scratch


Linux From Scratch (LFS) es un proyecto en donde teniendo el código fuente de los paquetes básicos de un sistema Linux, uno es capaz de compilarlos utilizando un host con Linux, previamente instalado. Ésto, con la finalidad de aprender la forma en que trabaja un sistema Linux. En la página oficial
http://www.linuxfromscratch.org/
Está toda la información. Lo que nos interesa saber es que existe un manual y un LiveCD que es la alternativa más facil para iniciar.


La versión del liveCD que estoy utilizando es:
lfslivecd-x86-6.3-r2130.iso

Y el manual en español:
Linux From Scratch Versión 6.3
 
Quiero compartir la experiencia de instalar LFS con ustedes y por supuesto, dejar constancia de algunos errores que son errores de novato, pero que a más de alguien pueden ayudar.


Algunos tips antes de empezar:
- Descarguen el livecd que trae todos los archivos fuente, asi no se preocupan nada por eso.
- Si usan una máquina virtual, con 10 GB de disco duro tienen más que suficiente, Con 1GB de RAM y 1 GB de SWAP no van a encontrar problemas. Y si tienen la disponibilidad, asignenle todos los nucleos de su procesador que puedan, asi van a obtener un buen rendimiento y van a compilar los paquetes en menos tiempo.
- TOMEN SNAPSHOTS. Si es posible tomen un snapshot antes de cada paso de la preparación de la máquina y antes de compilar cada paquete. Es un poco más de trabajo, pero vale la pena. Asi no van a tener que reiniciar todo el trabajo cuando haya un error grande.

Empecemos a revisar los errores:

El primer problema que me encontré fue un problema de virtualBox. En con respecto a las versiones actuales (4.1.8 o similar), y es que al asignar más de 1 GB de memoria RAM a la máquina virtual, al momento de utilizarla, salta un error diciendo que el host se está quedando sin memoria RAM, aunque ésto no sea cierto.
Éste error también sucede cuando se intentan correr muchas máquinas virtuales al mismo tiempo.
¿La solución?
Encontrar un punto en donde la memoria asignada a la máquina virtual no haga que se produzca el error. En mi caso fue 1GB.



Después de preparar la máquina (crear las particiones, formatear, asignar la swap, crear el usuario, configurar el environment, etc.). Creé el directorio para la construcción de binutils, me cambié a éste y cuando quise configurarlo para la compilación me encontraba con un error. Decía que no podía encontrar un directorio. ¿Por qué? No había desempaquetado el paquete de binutils xD
¿La solución? El manual de LFS asume que ustedes ya desempaquetaron los archivos fuentes y se encuentran en el directorio actual del paquete.
Ejecutar los comandos:
tar -xjf binutils-2.17.tar.bz2
cd binutils-2.17 

Despues de eso, pueden ejecutar el comando para configurar y todo lo demás.

Recuerden eliminar la carpeta con los archivos fuente y el de la construcción de cada paquete después de haber compilado éste, a menos que se especifique que no lo hagan. Ésto es para evitar errores en los pasos posteriores.

Para desempaquetar un archivo .tar.bz2 utilicen el comando:
tar -xjf nombreDelPaquete.tar.bz2
Para desempaquetar un archivo .tar.gz utilicen el comando:
tar -xzf nombreDelPaquete.tar.gz
Cada uno les va a crear una carpeta con el mismo nombre del paquete, en donde se ubicará todo el contenido de éste.

Para eliminar una carpeta con los archivos fuente, después de su compilación utilicen el comando:
rm -rf nombreDeLaCarpeta
Así, eliminan la carpeta recursivamente (todas las subcarpetas) y no les pide confirmación para eliminar algunos archivos que están protegidos.


Después de binutils, en el punto 5.4. "GCC-4.1.2 - Pass 1", después de desempaquetar, crear directorios y preparar gcc para la compilación, toca el comando
make bootstrap
Pero éste me decia que bootstrap no era un parámetro admitido. Al parecer, cuando se recomienda crear una carpeta aparte para la construcción es necesario seguir éste orden antes de compilar un paquete, o sino no hará bien algunos enlaces:
  1. Desempaquetar el archivo.
  2. Cambiarse a la carpeta en donde desempaquetó.
  3. Desde adentro de la carpeta, crear la carpeta para la construcción.
  4. Cambiarse a la carpeta para la construcción.
Es decir:
  1. tar -xjf nombreDelPaquete.tar.bz2
  2. cd nombreDelPaquete
  3. mkdir -v ../nombreDelPaquete-build
  4. cd ../nombreDelPaquete-build

Al llegar al punto 5.7. "Adjusting the Toolchain" al ingresar el comando
gcc -dumpspecs | sed 's@^/lib/ld-linux.so.2@/tools&@g' \
> `dirname $(gcc -print-libgcc-file-name)`/specs
El error era que no encontraba el archivo specs.
¿Por qué?
En esta parte dice que es recomendable que se haga copy-paste del comando, y ahora entiendo por qué. El caracter ">" que está al inicio de la segunda línea no es el que la consola muestra. Se debe ingresar el comando tal y como está, incluyendo el signo de mayor ">" y podremos proseguir con la instalación.




sábado, 18 de febrero de 2012

Una máquina virtual es un software que emula una computadora, dentro de otra. Es decir, teniendo una computadora física, es posible instalar un monitor de máquinas virtuales que permita crear algunas de éstas y asignarles recursos de la máquina física. Por lo tanto, los recursos de la máquina virtual estarán limitados a los que se le asigna cuando se crea ésta y la máxima capacidad depende del hardware de la máquina en donde esté corriendo.

Existen dos tipos de máquinas virtuales:
  1. De Sistema
  2. De Proceso
Las máquinas virtuales de sistemas son utilizadas, en sistemas de hogar, para probar sistemas operativos diferentes al que está instalado en la máquina, llamada host. Las máquinas virtuales que corren sobre ésta son denominadas guest.

Los monitores de máquinas virtuales de sistema más conocidos son:
VirtualBox

VMware

Microsoft Virtual PC

 El que yo recomiendo es Virtual Box, ya que es gratuito y muy potente.

Las máquinas virtuales de proceso, no se utilizan para correr sistemas operativos. La mayor utilidad de éstas máquinas, es que las aplicaciones que se ejecutan sobre la plataforma, no necesitan conocer las instrucciones de bajo nivel del sistema operativo, sino que la máquina virtual se encarga de traducir los comandos entre las aplicaciones y el sistema operativo.

La máquina virtual de proceso más conocida es la JVM (Java Virtual Machine) que sirve para ejecutar aplicaciones escritas en el lenguaje de Java. Otra muy conocida es la opción de Windows: Common Language Runtime.









Desde Guatemala.
granyatee



jueves, 16 de febrero de 2012

Actividad del jueves 16/0202012

El día de hoy, jueves 16 de febrero del 2012, el grupo 40 de practicas iniciales/intermedias se reunió en el nuevo módulo de la biblioteca de la facultad de ingeniería, después de haber entregado El reporte No. 1, para que el coordinador les diera una introducción, a los estudiantes de practicas iniciales, al tema de máquinas virtuales.

La actividad empezó a las 9:10 am y terminó a las 10:20am.
A continuación la foto para constatar que la actividad se realizó:


Lo integrantes en orden de Izquierda a derecha:
  1. Domingo Celedón                    2011-14794
  2. Luis Chamale                            2011-23878
  3. Cesar Rodríguez                      2008-19476
  4. Ernesto Yat (Coordinador)    2009-15136
  5. Edgar Flores                              2011-14763

jueves, 9 de febrero de 2012

Tutorial Intermedio de LaTeX


En la entrada anterior, se dió una introducción a LaTeX.

Esta vez les comparto algunos comandos como importación de paquetes, inserción de imágenes, formateado y alineado de texto, etc. que nos servirán para realizar documentos más complejos.

En este enlace pueden descargar un documento en pdf, donde se explican los comandos de LaTeX para realizar las tareas mencionadas anteriormente.

Les dejo algunos Links que me fueron de ayuda, para realizar este documento:

Este jueves 9 de febrero del 2012, el grupo 40 de practicas iniciales/intermedias, se reunió enfrente del edificio T3, en el área de columnas, para realizar la Actividad #2, programada para hoy, en donde el coordinador introdujo a los estudiantes de practicas iniciales al uso de LaTeX, mostrando algunas herramientas para editar el código fuente y la generación del documento en pdf.
Todos los integrantes del grupo asistieron puntualmente.


Para hacer constar que se realizó la actividad, se tomó una fotografía:



martes, 31 de enero de 2012

Introducción a LaTeX



LaTeX es un procesador de textos para realizar documentos, mayormente, científicos y académicos, debido a la facilidad de desplegar fórmulas y expresiones complejas. Además, la calidad tipográfica de los documentos generados con LaTeX es comparada con la de una editorial de primer nivel.

LaTeX es software libre bajo licencia LPPL.
La pagina oficial es: http://www.latex-project.org/

En internet existe una gran variedad de tutoriales que introducen al lector en el mundo de LaTeX, yo utilicé este: http://www2.dis.ulpgc.es/~lalvarez/teaching/pi/latex/TutorialLatex.pdf

Para iniciar, deben conseguir todo el software necesario para crear un documento con LaTeX.

En la página de ayuda se dan algunos consejos para conseguir LaTeX
http://www.latex-project.org/ftp.html

La opción más recomendada es usar MikTeX. La pueden encontrar aquí:







http://miktex.org/2.9/setup
Localicen el botón de descarga y escojan el servidor que prefieren.
Descárguenlo.
Al terminar de descargar, basta con hacer doble clic en el instalador y la instalación empezará automáticamente.
Sigan los pasos para instalar y fíjense bien la ruta en donde se instalará MikTeX.


Si no quieren tener problemas con la instalación, pueden descargar MikTeX portable:
http://miktex.org/portable/about
Al terminar de descargar, extraigan el contenido del archivo comprimido en una carpeta.
Luego, busquen el archivo llamado miktex-portable y hagan doble clic.
Se añadirá un ícono al área de notificaciones de la barra de tareas de windows.
Hagan clic derecho sobre el ícono y nuevamente clic en TeXworks para abrir el editor.


Teniendo todo listo, podemos empezar a crear el documento.

Para crear un documento, usaremos cualquier editor de texto plano (como Notepad, Notepad++, etc.) y escribiremos comandos de Tex, como si de un lenguaje de programación se tratara, en un documento que por convención tendrá la extensión '.tex'.

Para colocar un comentario de linea en el código fuente, basta con colocar un signo de porcentaje ( % ) al inicio de una línea. Estos comentarios no se mostrarán en el documento generado por LaTeX.

La estructura básica de un documento es la siguiente:

1. \documentclass[12pt]{article} 2. \usepackage[spanish]{babel} 3. \title{\Documento Hola Mundo}
4. \begin{document}
%Aqui se puede escribir todo lo que contiene el documento

4. Hola Mundo
%Aqui se puede escribir todo lo que contiene el documento 6. \end{document}

Explicación línea por línea.

1. Se indica el tipo del documento
2. Se importa el paquete para usar español
3. El titulo del documento
4. Se inicia el contenido del documento
5. El contenido del documento
6. Se termina el contenido del documento

Al terminar de escribir el código fuente, necesitamos compilarlo para crear el documento.
Desde consola se ingresa el comando:
       latex archivo.tex
donde archivo.tex es la ruta completa del archivo con el código fuente.

Si se está usando el editor TeXworks, basta con presionar Ctrl + T para crear el documento.

Para crear documentos más complejos pueden revisar la documentación de LaTeX
http://www.latex-project.org/guides/

Y nunca falla nuestro buen amigo http://www.google.com cuando le hacemos alguna pregunta. Solo basta saber preguntarle.

Una de las características del egresado de la escuela de Ciencias y Sistemas es ser 'Autodidacta', esto significa que debemos ser capaces de adquirir conocimientos por nuestra cuenta y no esperar a que nos lo enseñen todo. Mi recomendación es que cuando no sepan hacer algo, busquen en libros o en internet y si le preguntan a una persona, sea solo después de haber hecho una exhaustiva búsqueda en las fuentes mencionadas.

Sin nada más que agregar:
granyatee.

miércoles, 11 de enero de 2012

Introduccion

Hola! Espero que estés pasando un buen día.

Quiero que mi primera entrada sirva para que me conozcan un poco. Mi nombre es Ernesto Yat. Soy estudiante de Ingenieria en Sistemas en la Universidad de San Carlos de Guatemala (USAC).

Me gustan los videojuegos y tengo una larga lista de espera, ya que tengo unos instalados que ni he empezado a jugar. Supongo que prefiero ver películas o series, y es que es tan facil descargarlos de Mediafire...

En cuanto a leer libros, cuando encuentro algun libro que me interese y tengo tiempo, lo leo. Pero mi Biblia la leo siempre para nunca olvidar que Dios está viendo mis acciones y mi corazón a cada momento.

En este blog voy a compartir mis conocimientos acerca de la informatica, ya sean configuraciones en Linux, y algunas otras cosas en java, php, etc.

Asi que, espero que este blog sea de mucha utilidad para toda la comunidad en Internet.

Desde Guatemala:
granyatee.