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
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:
ro
).HEAD
,
todas las tags, y todas las branches.:
) en vez del slash (/
);
por ejemplo origin:master
.tree
de un commit
, además
de mostrar los directorios actual (.
) y superior (..
),
muestra los parents (^
, si tiene uno;
^1
, ^2
, etc., si son más),_
para referirse a
rangos de commits.sha1
de todos los objetos tipo tree
y
tipo blob
, y el del objeto commit
en el que
se encuentran, en dos atributos extendidos: user.sha1
y
user.commit
.README
para explicar cómo compilar
y usar gitfs
.
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:
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:
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