Linux


Objeto

Esta página contiene asuntos relacionados con el sistema operativo Linux. Yo uso Gnu/Linux Debian.


Pulsa aquí para volver a la página principal


El sistema de ficheros gitfs

El proyecto gitfs permite explorar un repositorio git como si fuera un sistema de ficheros. El proyecto lo arrancó Mitchell Blank Jr, y Tomas "wereHamster" Carnecky lo condensó. Yo he tomado la versión de Tomas y he ampliado sus capacidades.

Mejoras:

Si se monta el repositorio git en /mnt/fuse, entonces gitfs se encarga de tratar el path /mnt/fuse/commit-ish/tree/blob. En el commit-ish puede utilizarse cualquier revisión, o rev, que no use los dos puntos (:). Además, el commit-ish anexiona por la derecha las secuencias (/[~^][~^0-9]*)* que se encuentre, de modo que, por ejemplo, el path /mnt/fuse/origin:master/^/^/src/main.c apunta al blob src/main.c de la revisión origin/master^^.

Usando el prefijo _ se pueden revisar rangos de revisiones: el path /mnt/fuse/_range es un directorio que contiene una entrada con un enlace a cada uno de los commits de dicho range. Además, el directorio /mnt/fuse/_ muestra, otra vez, HEAD, todas las tags, y todas las branches, pero, aquí, la entrada /mnt/fuse/_/commit-ish es un enlace a /mnt/fuse/_commit-ish, que, en este caso, al ser el range una simple rev, muestra un directorio con un enlace a cada uno de los commits que se pueden alcanzar desde dicho commit-ish, esto es, muestra todos sus ancestros.

Enlace:

Tell me why, dwhy

El dwhy es un script dash que me explica por qué cada uno de los ficheros que está en mi computadora Debian está en mi computadora Debian. Lo explico, en mi inglés, en el documento dwhy manual, que se puede hojear en Google docs.

Para ejecutar el código dwhy hazlo ejecutable, con "chmod +x dwhy", o llámalo desde dash (o bash), por ejemplo, así:

$ dash dwhy which
which -> /usr/bin/which -> /bin/which
/bin/which: POSIX shell script text executable
Package: pool/main/d/debianutils/debianutils_3.4_amd64.deb [required]
 debianutils (M) <- base system (D)

Enlaces:

RAMon5

Son varios proyectos relacionados. El objetivo final es crear una imagen arrancable con varios sistemas operativos, siendo uno de ellos, SciTeX, una micro-distribución linux creada from scratch por nosotros mismos.

Una imagen es un fichero que se puede copiar, bit a bit, en un dispositivo, ya sea un CD (imagen tipo CD), ya sea un disco duro, una memoria SD, o una llave de memoria USB (imagen tipo HD). Contiene particiones, dentro de ellas sistemas de ficheros, y dentro de ellos directorios y ficheros. Las imágenes arrancables contienen un MBR (Master Boot Record), un gestor de arranque, y, al menos, una partición.

Todo sistema operativo consta de tres elementos fundamentales:

El booter tiene la tarea de arrancar la computadora, cargando el kernel en la memoria y pasandole el control. El kernel es el programa básico que controla la máquina, haciendo que su hardware sea accesible y utilizable por el software. En el caso de linux, el primer proceso que ejecuta el kernel lo obtiene de un fichero denominado init, que se encuentra en el sistema de ficheros. Este es el primer fichero que necesitara nuestro file system, pero no será, ni mucho menos, el único.

Para facilitar la tarea de construcción de la distribución, la hemos partido en sus tres elementos:

El documento Ramon5 explica cómo usar Imaging para obtener una imagen arrancable con un menú para poder elegir entre varias distribuciones:


Última actualización: 2013.09.22.

© Ramón Casares 2006-2013