domingo, 26 de febrero de 2012

Archivos referentes al proyecto

He decidido poner a vuestra disposición estos archivos, contribuyendo así a compartir el conocimiento y a una posibilidad de mejora.

La memoria.
Los archivos necesarios, en un zip.

Necesitaremos Apache, y como nos basamos en scripts de Linux, pues una distribución de este SO. Yo lo he hecho con Ubuntu, así que si nos salimos de ahí algunos fallos son posibles.

Yo creo que se puede mejorar bastante, sobretodo con los diferentes cambios de versiones. Esta versión falla con las actualizaciones de versión.

viernes, 1 de julio de 2011

Agradecimientos

A mi tutor.
A mis profesores de la carrera.
A familia, amigos y compañeros.

Vale un 8'5

Esta mañana estaban las notas, y no me quejo...


martes, 28 de junio de 2011

¡Ya he presentado!!!

¡Al fin soy libre!!!, todo un éxito ha sido, ya veremos la nota...

Con esto ha acabado todo, ha sido una grata experiencia y se ha comprobado que soy capaz de hacer algo. Hemos cumplido todos los objetivos. Os dejo mi presentación.

Espero que os guste este blog y gracias a los que tengáis la curiosidad.

domingo, 26 de junio de 2011

Los permisos de Linux

Me han vuelto loco, si no das los permisos necesarios no funciona nada; sin duda me las han hecho pasar canutas...

Solución: poner chmod 777 a todo lo que no funciona, esto soluciona todo.

sábado, 25 de junio de 2011

La aplicación en una máquina virtual

En una máquina virtual sólo debo de tener mi aplicación, las escrituras que deba de hacer irán a un disco externo, tampoco usaré Internet con lo que deberé obtener imágenes y repositorios del dicho disco. En la presentación tendré que hacer esto pero jugando con todas las posibilidades, por el tema del tiempo... Con lo cual al final he decidido que lo que tenga que descargar haré una lectura desde un disco externo y lo que tenga que escribir lo haré a mi máquina virtual, para agilizar..., aun así son 44 minutos...
Situación ideal / situación simplificada

Solución elegida para la presentación
Los tiempos finales dependen de la máquina con que se haga...

Para añadir los repositorios que tenemos en disco, añadiremos la línea deb file:/media/USB2/Repositorio/dists/ en el apartado correspondiente de nuestra aplicación.

martes, 21 de junio de 2011

Presentación

El día 28 será la presentación del proyecto, tal día terminará mi andadura con el proyecto y por fin podréis ver este blog.
Presentación

viernes, 10 de junio de 2011

Software libre

Software libre.

Diagrama de Gantt

Diagrama de Gantt.
Diagrama de recursos.
Hecho con GanttProject.

Listo para imprimir...

A día de hoy, a las 4.45 está todo listo para imprimir. También están las copias de los DVDs a entregar. Si todo va bien presento el 27-28 de junio.

viernes, 27 de mayo de 2011

Vídeo de la aplicación


En este videotutorial podremos ver el funcionamiento de la aplicación.

martes, 24 de mayo de 2011

Añadir nueva funcionalidad a mi aplicación

Debemos poder guardar nuestras selecciones para que podamos volverla a elegir sin perder el tiempo seleccionando de nuevo. También, en ocasiones que no se instalen todas nuestras aplicaciones seleccionadas y después lo arreglamos, si tenemos este fichero nos será más fácil la reinstalación.

Usaremos funciones de ficheros como fputs(), fopen(), fgets() y fclose(); también habrá que añadir algún cuadro de texto para introducir el nombre del fichero.

Veremos además arrays y strings, usando funciones de estos tipos abstractos de datos.

También añadiremos que se cree una carpeta, de nombre aleatorio, para cada usuario. De esta manera permitiremos que varios usuarios usen la aplicación a la vez, como debe de ser; un detalle en el que no caí.
Para hacer esto usaré la función rand() de php ya existente, generando un número aleatorio que será el nombre de la carpeta, tendremos que saber pasar al script correspondiente este nombre de carpeta ($1...). Al usuario le da igual el nombre de la carpeta ya que él simplemente tiene que pinchar un link, generado por nosotros, para descargar su iso.

viernes, 20 de mayo de 2011

Imagenes de la aplicación

Aplicación I.

Aplicación II.
En la primera imagen trato de representar que cada distribución o implementación de Linux viene con unos repositorios oficiales pero podremos añadir los que queramos, así como de otras distribuciones; cada repositorio que añadamos tendrá una colección de paquetes, que podremos añadir.

En la segunda imagen expreso que un usuario elige distribución, paquetes y repositorios para obtener una iso personalizada junto a información de lo que ha hecho.

La iso, que descargara de un link generado por nosotros, la descargará y grabará a un DVD para tener su live personalizada, el objetivo de este proyecto.

sábado, 30 de abril de 2011

log4php

Vamos a hablar de una herramienta que, aunque no uso, es recomendable su uso para la creación de logs (yo los puedo crear de una manera sencilla porque es una aplicación sencilla la que he desarrollado).

Se puede descargar de aquí, como su propio nombre indica es una herramienta para la creación de logs, controlar y depurar nuestros errores.
En este blog podemos ver cómo se ejecuta esta aplicación para que genere nuestros logs.

Existe la misma herramienta para Java, log4j.

viernes, 29 de abril de 2011

Documentación II

En la documentación seguiremos un orden más relacionado con las distribuciones y no con la aplicación, con lo cual seguiremos un esquema diferente al propuesto en la guía anteriormente citada.

El esquema será el siguiente:

  • Anexo I: Plan del proyecto software 
  • Anexo II: Objetivos y alternativas de desarrollo
  • Anexo III: Desarrollo de las distribuciones y pruebas realizadas
  • Anexo IV: Aplicaciones
  • Anexo V: Manual de usuario
  • Bibliografía

Como he dicho daremos más peso al tema de las distribuciones y menos a la aplicación, de la cual sólo hablaremos en el manual de usuario.

jueves, 28 de abril de 2011

Herramientas usadas

Microsoft Word 2007.
GanttProject: http://www.ganttproject.biz/
Blog personal del proyecto: http://distribucioneslinux2011.blogspot.com

Bibliografía

Manuales de usuario y de programación de la shell en Linux: http://es.tldp.org/htmls/manuales.html
Guías prácticas de Unix, comandos básicos y operaciones de comandos: Apuntes de Sistemas Operativos de la carrera, de segundo curso.
Mksquashfs: http://manpages.ubuntu.com/manpages/hardy/man1/mksquashfs.1.html
Cloop-utils: http://manpages.ubuntu.com/manpages/dapper/man1/create_compressed_fs.1.html
Chroot: http://manpages.ubuntu.com/manpages/maverick/es/man2/chroot.2.html
Ayuda del propio Sistema Operativo: man, --help, --h…
Foros y blogs de Ubuntu, Fedora, Knoppix y Debian:
http://meth.nireblog.com/post/2006/12/06/remasterizar-el-live-cd-de-ubuntu
http://forums.fedoraforum.org/showthread.php?t=174916
http://www.linuxquestions.org/questions/linux-general-1/how-to-use-knoppix-as-a-chroot-754883/
http://lists.fedoraproject.org/pipermail/livecd/2008-July/004523.html
http://ubuntuforums.org/showthread.php?t=848693
http://www.linux-magazine.es/issue/36/029-033_CloopLM36.pdf
http://lucas.hispalinux.es/Estandares/fsstnd12.html
http://www.linuxjournal.com/article/7246
http://tuxfiles.wordpress.com/2010/04/25/9-formas-distintas-para-crear-un-linux-personalizado-dependiendo-la-distro/
http://www.alcancelibre.org/staticpages/index.php/como-dpkg
http://hatteras.wordpress.com/2009/01/24/
http://www.taringa.net/posts/linux/5221169/Instalar-paquetes-en-pc_s-sin-Internet-en-Ubuntu.html
http://ce.azc.uam.mx/profesores/oalvarado/linux/remasterDebian.html
Distribuciones relacionadas: http://www.frozentech.com/content/livecd.php
Proyecto ILEX: http://www.proyectoilex.org
Oficina del Software Libre de la ULPGC, Las Palmas de Gran Canarias: http://www.softwarelibre.ulpgc.es/
Página oficial del S.O. libre Debian: http://www.debian.org
El repositorio de aplicaciones libres más grande del mundo: http://sourceforge.net/
Universidad de Burgos: http://www.ubu.es
PHP y Apache: apuntes de Ampliación de Sistemas Operativos de la carrera, asignatura de tercer curso.
Permisos y Apache:
http://www.socinfo.com/ubuntu/apache/permisos
http://exain.wordpress.com/2007/11/24/execute-system-commands-via-php/
Ficheros en PHP: http://www.programacion.com/articulo/trabajando_con_php_y_ficheros_170
Shell_exec() php: http://php.net/manual/es/function.shell-exec.php
Otras funciones PHP: http://php.net/manual/es/
Formularios en PHP:
http://www.webtaller.com/manual-php/formularios_PHP.php
http://phpahora.com.ar/formularios-html-php/formularios-con-textarea/
http://www.openalfa.com/index.php/php/proceso-de-formularios
http://www.uhu.es/sic/servicios/hospedajeweb/minimanual_formularios.pdf
http://www.forosdelweb.com/f18/editar-archivo-txt-online-con-php-textarea-430501/
http://www.htmlcodetutorial.com/help/archive.php/o_t__t_9331__save-html-textarea-to-.txt-file.html
HTML:
http://htmlhelp.com/es/reference/css/color-background/
http://www.cristalab.com/tutoriales/configurar-tu-web-para-usar-utf-8-c42532l/
http://www.mailxmail.com/curso-html-principiantes/formato-html
http://www.jmarshall.com/easy/html/spanish/
http://www.jmarshall.com/easy/html/spanish/
• Ayuda de editores de HTML.
Otros proyectos.
Gracias a la libre información de la Web, a la que contribuimos todos.

jueves, 14 de abril de 2011

Documentación I

La ardua tarea de documentar, voy a tomar como referencia esta guía que me han dejado, ya sabéis, gracias a la libre distribución de información por la red, y yo ayudo a ello.


Basándonos en este documento dividiremos nuestra memoria en dos partes y la segunda parte se dividirá en cinco anexos, con sus correspondientes índices.

Vamos a ello...

miércoles, 13 de abril de 2011

Script de Fedora

#!/bin/bash
#ejecutar poniendo . creaFedora "directorio"
#repositorios: etc/apt/sources.list
echo instalar programas necesarios squash y mkiso
sudo apt-get -y install  mkisofs squashfs-tools lzma
#http://fedoraproject.org/es/
echo descargar iso fedora
sudo wget -o fedora.iso 'http://download.fedoraproject.org/pub/fedora/linux/releases/14/Live/i686/Fedora-14-i686-Live-Desktop.iso'
sudo rm cdlive.iso
echo Montar la iso en /mnt
sudo mount -o loop ./fedora.iso /mnt
echo Copiar los archivos a la carpeta /mylive
sudo cp -dpR /mnt ./mylive/
echo Desmontar la iso
sudo umount /mnt
sudo unsquashfs ./mylive/LiveOS/squashfs.img
sudo mkdir chroot
sudo mount -o loop,rw ./squashfs-root/LiveOS/ext3fs.img ./chroot
#------------------------------------------------------------------------pr1
echo Empezar a realizar las modificaciones
echo descargar paquetes
sudo cp ./scripts/paquetes.download.sh ./chroot/paquetes
sudo cp ./images/fondo-fedora.png ./chroot/usr/share/backgrounds/laughlin/default/standard/laughlin.png
echo ejecuto \chroot
sudo cp /etc/resolv.conf ./chroot/etc
sudo cp /etc/hosts ./chroot/etc
sudo cp ./repositorios/Fedora ./chroot
echo instalar paquetes
cd ./chroot
sudo chroot ./ mount -t devpts none /dev/pts
sudo mount --bind /dev /dev
sudo chroot ./ mount -t proc none /proc
sudo chroot ./ mount -t sysfs none /sys
sudo chroot ./ yum -y install wget
sudo chroot ./ sh ./Fedora
sudo chroot ./ yum -y update
sudo chroot ./ sh ./paquetes
sudo chroot ./ yum -y upgrade
sudo chroot ./ yum -y clean
sudo chroot ./ umount /proc /sys /dev/pts 
sudo umount /dev
cd ..
sudo umount chroot
echo Crear el squashfs
sudo mksquashfs ./squashfs-root ./squashfs.img
sudo mkdir ./build
sudo rsync -av --exclude='squashfs.img' ./mylive ./build
sudo mv ./squashfs.img ./build/mylive/LiveOS
#------------------------------------------------------------------------pr2
echo Hacer la iso:
sudo mkisofs -J -R -o cdlive.iso -no-emul-boot -boot-info-table -b isolinux/isolinux.bin -boot-load-size 4 -boot-info-table -V "Fedora-14-i686-Live-KDE" ./build/mylive/
echo Y ya esta listo...
sudo rm -Rf squashfs-root
sudo rm -Rf chroot
sudo rm -Rf build
sudo rm fedora.iso
sudo rm -Rf mylive

sábado, 9 de abril de 2011

Linux cumple hoy 20 años

Se cumplen 20 años de la creación del mayor distribuidor de software libre del mundo, Linux. Su éxito en la actualidad es total: es utilizado en superordenadores, es la base del sistema operativo Android, es un actor importante en el 'cloud computing' y algunos organismos públicos ya han puesto en marcha soluciones informáticas basadas en Linux.

Leer más...