TÍTULO: La receta de Man
VERSIÓN LFS: Cualquiera
AUTOR: Mark Hymers <markh@linuxfromscratch.org>
TRADUCTOR: Proyecto LFS-ES
SINOPSIS: Cuestiones de Formateo y Compresión para las páginas del
manual.
Nota: Esta receta era mantenida anteriormente por
Rudolf Floers <r.floers@web.de>
y luego por Gerard Beekmans <gerard@linuxfromscratch.org>.
Gracias a ambos. Sin embargo, cualquier error ¡sigue siendo mi
responsabilidad!
RECETA:
(1) Compresión de las páginas del manual
Si deseas ahorrar algo de espacio en disco, puedes comprimir todas las
páginas del manual con bzip2 o con gzip.
Solíamos recomendar nada mas usar gzip /usr/share/man/*/* (o el equivalente)
para bzip2) pero rompía los enlaces simbólicos. En cambio, puedes usar
el siguiente guión.
(¡una copia está disponible en
http://www.linuxfromscratch.org/~markh/scripts/compman
si no deseas cortar y pegar de acá!)
==========================================================================
#!/bin/sh
#
# Comprime (con bzip2 o gzip) todas las páginas del manual en una jerarquía
# y actualiza los enlaces simbólicos - Por Marc Heerdink <marc@koelkast.net>.
# Modificado para escojer el modo a comprimir ficheros con gzip o bzip2 y
# para manipular todos los enlaces simbólicos de manera apropiada, por
# Mark Hymers <markh@linuxfromscratch.org>
#
# ADVERTENCIA: Este guión todavía no puede arreglárselas con enlaces duros
# (son bienvenidas las sugerencias respecto a cómo manejarlos)
# El único momento en el que esto pueda ser un problema es si tienes un
# enlace simbólico apuntando a un enlace duro; pero entonces, de todas
# maneras debes estar enfermo si haces algo como eso :-)
#
if [ ! -d "$1" -o -z "$1" ] || [ "$2" != "bz2" -a "$2" != "gz" ]; then
echo "Modo de uso: $0 <dir> <bz2/gz>"
exit 1
fi
for DIR in $1/man*; do
cd $DIR
for FILE in *; do
if [ -L "$FILE" ]; then
case $FILE in
*.bz2)
EXT=bz2 ;;
*.gz)
EXT=gz ;;
*)
EXT=none ;;
esac
if [ "$EXT" != "none" ]; then
LINK=`ls -l $FILE |cut -d ">" -f2 |tr -d " " | sed s/.$EXT$//`
NEWNAME=`echo "$FILE" | sed s/\.$EXT$//`
mv "$FILE" "$NEWNAME"
FILE="$NEWNAME"
else
LINK=`ls -l $FILE |cut -d ">" -f2 |tr -d " "`
fi
rm -f "$FILE" && ln -s "${LINK}.$2" "${FILE}.$2"
echo "Reenlazando $FILE"
elif [ -f "$FILE" ]; then
case $FILE in
*.bz2)
bunzip2 $FILE
FILE=`echo $FILE | sed s/\.bz2$//`
;;
*.gz)
gunzip $FILE
FILE=`echo $FILE | sed s/\.gz$//`
;;
esac
case $2 in
bz2)
bzip2 "$FILE" && chmod 644 "${FILE}.${2}";;
gz)
gzip "$FILE" && chmod 644 "${FILE}.${2}";;
esac
echo "Comprimiendo $FILE"
fi
done # para FILE
done # para DIR
==========================================================================
No olvides establecer el guión como ejecutable y luego ejecutarlo usando
algo como:
./compman /usr/share/man bz2
La primera opción es el árbol de la página del manual que se va a comprimir.
La segunda opción es bz2 o gz, así le decimos al guión qué sistema de
compresión queremos usar.
(2) cat pages
POR AGREGAR - Hay un pequeño problema; Por el momento no puedo hacer que
funcione. ¡Espero poder solucionar esto pronto!
|