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! |