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