Anyone know of a script for redhat like debian's localepurge, 
http://packages.debian.org/unstable/admin/localepurge.html, 
that can be used to "to recover diskspace wasted for unneeded
locale files and localized man pages"? 

The relatively simple debian script is provided below, in case 
anyone can see a quick way to modify it for Red Hat 7.2, more 
quickly than i can (which shouldn't be hard :)). 

Do i need such as script? Could i just manually delete all 
unwanted locale directories under LOCALEDIR=/usr/share/locale
and MANPAGEDIR=/usr/share/man, without damaging anything else?

I'd like to remove all non-US-English locale files and 
localized man pages. One thing i specifically do not want to 
do is disable my ability use unicode character displays. 

Thanks,
Andi

#!/bin/sh

# Deleting all locale files on system
# *not* listed in /etc/locale.nopurge

set -e

LOCALEDIR=/usr/share/locale
MANPAGEDIR=/usr/share/man

# Do nothing and report why if no valid configuration file exists:

if [ ! -f /etc/locale.nopurge ]
    then
        echo " No /etc/locale.nopurge file present, exiting ..."
        exit 0
    else
        if [ `grep -x ^NEEDSCONFIGFIRST /etc/locale.nopurge` ]
            then
                echo ""
                    echo "    You have to configure \"localepurge\" with the command"
            echo ""
            echo "        dpkg-reconfigure localepurge"
            echo ""
                    echo "    to make $0 actually start to function."
            echo ""
                    echo "    Nothing to be done, exiting ..."
                echo ""
                exit 0
        fi
fi

# Getting rid of superfluous locale files in $LOCALEDIR:

if [ -d $LOCALEDIR ]; then

    LOCALEBEFORE=`du -s $LOCALEDIR | cut -f1`

    if [ `grep -x ^VERBOSE /etc/locale.nopurge` ]; then
        echo "  localepurge: processing locale files ..."
    fi

    for LOCALE in `/bin/ls $LOCALEDIR`
     do
       if [ ! `grep -x ^$LOCALE /etc/locale.nopurge` ]; then
           if [ -d $LOCALEDIR/$LOCALE/LC_MESSAGES ]; then
               if [ `grep -x ^VERBOSE /etc/locale.nopurge` ]; then
                   echo "     Purging $LOCALEDIR/$LOCALE"
               fi
               /bin/rm -rf $LOCALEDIR/$LOCALE
           fi
       fi
     done

    if [ `grep -x ^SHOWFREEDSPACE /etc/locale.nopurge` ]; then
        LOCALEAFTER=`du -s $LOCALEDIR | cut -f1`
        LOCALETOTAL=$(($LOCALEBEFORE - $LOCALEAFTER))
        if [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then
            echo "  localepurge: Disk space freed in $LOCALEDIR: "$LOCALETOTAL"K"
        fi
    fi
fi

# Getting rid of localized man pages in $MANPAGEDIR

if [ -d $MANPAGEDIR ] && [ `grep -x ^MANDELETE /etc/locale.nopurge` ]; then

    MANBEFORE=`du -s $MANPAGEDIR | cut -f1`

    if [ `grep -x ^VERBOSE /etc/locale.nopurge` ]; then
        echo "  localepurge: processing man pages ..."
    fi

    for LOCALE in `/bin/ls $MANPAGEDIR | grep -v ^man[1-9]`
     do
       if [ ! `grep -x ^$LOCALE /etc/locale.nopurge` ]; then
           if [ -d $MANPAGEDIR/$LOCALE ]; then
               if [ `grep -x ^VERBOSE /etc/locale.nopurge` ]; then
                   echo "     Purging $MANPAGEDIR/$LOCALE"
               fi
               rm -rf $MANPAGEDIR/$LOCALE
           fi
       fi
     done

    if [ `grep -x ^SHOWFREEDSPACE /etc/locale.nopurge` ]; then
        MANAFTER=`du -s $MANPAGEDIR | cut -f1`
        MANTOTAL=$(($MANBEFORE - $MANAFTER))
        if [ ! $MANBEFORE = $MANAFTER ]; then
            echo "  localepurge: Disk space freed in $MANPAGEDIR: "$MANTOTAL"K"
        fi
    fi
fi

# Calculating and reporting total disk space freed:

if [ `grep -x ^SHOWFREEDSPACE /etc/locale.nopurge` ]; then
    if [ $MANTOTAL ] && [ $LOCALETOTAL ]; then
        if [ ! $MANBEFORE = $MANAFTER ] && [ ! $LOCALEBEFORE = $LOCALEAFTER ]; then
            echo ""
            echo "  Total disk space freed by localepurge: "$(($LOCALETOTAL + 
$MANTOTAL))"K"
            echo ""
        fi
    fi
fi



_______________________________________________
Redhat-list mailing list
[EMAIL PROTECTED]
https://listman.redhat.com/mailman/listinfo/redhat-list

Reply via email to