• Willkommen im Linux Club - dem deutschsprachigen Supportforum für GNU/Linux. Registriere dich kostenlos, um alle Inhalte zu sehen und Fragen zu stellen.

SuSE entrümpeln - mindestens 100 MB zurückgewinnen

OP
oc2pus

oc2pus

Ultimate Guru
framp schrieb:
oc2pus schrieb:
steht es evtl in myLocalePurge.purge drin ?
Ja. :oops: . Aber ich rein intuitiv ging ich wegen der Namen der Dateien davon aus, dass der .nopurge Inhalt hoehere Praezendenz hat als der in .purge :roll: bzw in .purge alle moeglichen locales stehen und man mit der .nopurge Datei die Ausnahmen definiert welche locales nicht geloescht werden sollen. So muss man immer genau aufpassen, dass die Inhalte der beiden Dateien disjunkt sind ...

das war meine Faulheit .. deshalb beta :)
 

Stinksocke

Newbie
Wenn ich mal soweit bin nutze ich das Script auch. Aber bis hain habe ich a nochwas Zeit ;-))))

Vigor11:~ # df -h
Filesystem Size Used Avail Use% Mounted on
/dev/sda2 149G 1.5G 147G 1% /
tmpfs 503M 8.0K 503M 1% /dev/shm
Vigor11:~ #
 

matsch

Newbie
Beim ausführen des Scripts komme ich nicht weiter...
Code:
Password:
linux:/home/mathias # cd /usr/local/sbin/
linux:/usr/local/sbin # ./myLocalePurge

myLocalePurge: using config-file /etc/myLocalePurge.conf
myLocalePurge: SHOWFREEDSPACE=; VERBOSE=enabled

myLocalePurge: checking system for new locale in /usr/lib/locale...
myLocalePurge: checking system for new locale in /usr/X11/share/locale...
myLocalePurge: checking system for new locale in /usr/share/locale...
myLocalePurge: checking system for new locale in /opt/kde3/share/locale...
myLocalePurge: checking system for new locale in /opt/kde3/share/locale/l10n...
myLocalePurge: checking system for new locale in /opt/gnome/share/locale...

myLocalePurge: processing files in /usr/lib/locale ...
myLocalePurge: processing files in /usr/X11/share/locale ...
myLocalePurge: processing files in /usr/share/locale ...
myLocalePurge: processing files in /opt/kde3/share/locale ...
myLocalePurge: processing files in /opt/kde3/share/locale/l10n ...
myLocalePurge: processing files in /opt/gnome/share/locale ...


linux:/usr/local/sbin #

was läuft hier denn falsch???

habe schon ausprobiert...
-Start mit filesave
-wechsel in init 1
...aber es kommt keine Anzeige, das da was bereinigt wurde...
Funktioniert dein Script auch mit der 10er Version??
 
OP
oc2pus

oc2pus

Ultimate Guru
matsch schrieb:
Code:
Password:
linux:/home/mathias # cd /usr/local/sbin/
linux:/usr/local/sbin # ./myLocalePurge

myLocalePurge: using config-file /etc/myLocalePurge.conf
myLocalePurge: SHOWFREEDSPACE=; VERBOSE=enabled
....

was läuft hier denn falsch???

Code:
 myLocalePurge

myLocalePurge: using config-file /etc/myLocalePurge.conf
myLocalePurge: SHOWFREEDSPACE=enabled; VERBOSE=enabled
...
ich hoffe du siehst den Unterschied ?

kontrolliere mal die config-Datei:
Code:
cat /etc/myLocalePurge.conf
####################################################
# This is the configuration file for myLocalePurge
####################################################
MANDELETE
DOCDELETE

SHOWFREEDSPACE
VERBOSE
 

matsch

Newbie
hab mir die .conf-Datei mal mit vi angeschaut.....die sah dort genau so aus, wie deine.....habe jetzt mal noch versucht, ob da hinter dem SHOWFREEDSPACE noch was drann ist....alle "unsichtbaren Zeichen" gelöscht...du mit einem copy & past mit dem Konqueror hatte ich überall noch Zeichen am Zeilenende...mit Firefox gab es das Problem nicht...

...bei einem Kate sieht man diese Zeichen dann auch.....

...Total disk space freed: 162828K....... :D :D :D :D :D
 

spoensche

Moderator
Teammitglied
funzt das script net.
bekomme die meldung
./myLocalePurge: line 8: syntax error near unexpected token `ACKNOWLEDGEMENTS'
./myLocalePurge: line 8: ` ACKNOWLEDGEMENTS \'

so gehts dann immer weiter.
 
OP
oc2pus

oc2pus

Ultimate Guru
spoensche schrieb:
funzt das script net.
bekomme die meldung
./myLocalePurge: line 8: syntax error near unexpected token `ACKNOWLEDGEMENTS'
./myLocalePurge: line 8: ` ACKNOWLEDGEMENTS \'

so gehts dann immer weiter.
oh Mann, wie oft denn noch .. das ist ein cut&paste Fehler. Das passiert wegen dem phpBB aus dem Board hier ... du brauchst dazu einen "richtigen" Editor. Sonst hast du Sonderzeichen in der Datei drin wo keine hingehören ...

probiere dos2unix <scriptname>
ansonsten "als UNIX-Text" speichern mit kate
 

TeXpert

Guru
oc2pus schrieb:
ich hätte hier ein kleines Shell-Script, welches ein SuSE System so richtig von "Müll" befreit.

naja :) ich empfinde das schon etwas als Holzhammer, insbesondere könnte ich mir vorstellen, dass sich da der eine oder andere schon mal ins Knie schießt... aber egal, was mich auf jeden Fall stören würde:

Code:
    FAQ_pl FAQ_uk FAQ_fr FAQ_es FAQ_fi FAQ_it  \
[...]
    README_cs README_pl README_uk README_es README_fr README_fi README_it \
dass hier keine Rücksicht auf die locales genommen wird :) da sollten IMHO die nopurge-locales ausgewertet werden und die passenden Dateinamen zusammengebastelt werden
 
OP
oc2pus

oc2pus

Ultimate Guru
TeXpert schrieb:
... aber egal, was mich auf jeden Fall stören würde:

Code:
    FAQ_pl FAQ_uk FAQ_fr FAQ_es FAQ_fi FAQ_it  \
[...]
    README_cs README_pl README_uk README_es README_fr README_fi README_it \
dass hier keine Rücksicht auf die locales genommen wird :) da sollten IMHO die nopurge-locales ausgewertet werden und die passenden Dateinamen zusammengebastelt werden

Treffer, stimmt auffallend ;)
das überlasse ich der geneigten Leserschaft zur Übung ... ist bei der webmin-Sektion genauso falsch geregelt ...
 
hm..ich versteh nicht ganz was ich für machen muss...das hab ich atm gemacht:

/etc/myLocalePurge.conf:
####################################################
# This is the configuration file for myLocalePurge
####################################################
MANDELETE
DOCDELETE
WEBMIN

SHOWFREEDSPACE
VERBOSE
chmod 777


/etc/myLocalePurge.nopurge:

#####################################################
# Following locales won't be deleted from this system
####################################################
de
de_DE
de_DE.UTF-8
de_DE.utf8
de_DE@euro
C
en
en_US
chmod 777

/etc/myLocalePurge.purge:
#####################################################
# Following locales will be deleted from this system
####################################################
af
af_ZA
am
am_ET
ar
ar_AE

/usr/local/sbin/myLocalePurge:
#!/bin/bash

#######################################################################
#######################################################################
function removePseudoDocs ()
{
for i in AUTHORS AUTHORS.RPM ABOUT-NLS ANNOUNCE\
ACKNOWLEDGEMENTS \
BUGS \
CHANGES CHANGES.gz changes [Cc]hanges.txt Change[lL]og* CHANGELOG CREDITS \
COPYING COPYING[.-]LIB COPYING.GPL COPYING.FDL COPYING.LGPL COPYING.OLD COPYRIGHT \
COPYRIGHT.german COPYRIGHT.english COPYRIGHT.french COPYRIGHT.spanish Copyright \
[cC][Oo][Pp][Yy][Rr][Ii][Gg][Hh][Tt].[Tt][Xx][Tt] \
COPYING.ART COPIYNG-DOCS \
DISCLAIMER HACKING INSTALL INSTALL.txt \
FAQ_pl FAQ_uk FAQ_fr FAQ_es FAQ_fi FAQ_it FTL.txt \
GPL2 GPL.txt \
KNOWNBUG* KNOWN_BUG* \
[Ll][iI][Cc][Ee][Nn][SC][Ee] LICENSES LICENSE.[GQ]PL licence.terms [Ll][Ii][Cc][Ee][Nn][Cc][Ee].[Tt][Xx][Tt] \
LICREAD.txt LICENSING \
Maintainers MAINTAINERS MANIFEST \
NLS_SUPPORT NEWS HISTORY *.lsm NOTES \
OpenPGP \
PORTING [Pp][Rr][Oo][Bb][Ll][Ee][Mm][Ss] PLATFORMS \
README_cs README_pl README_uk README_es README_fr README_fi README_it \
README_opengl README_freebsd RELNOTES RELEASE[_-]NOTES RELEASENOTES.TXT \
*.[Ww][Ii][Nn]32 THANKS TODO W[Hh][Aa][Tt][Ss][Nn][Ee][Ww]; do
removeFile $1 $i
done
}

#######################################################################
#######################################################################
function removeFile ()
{
find $1 -name $2 | xargs rm $RMOPTION
}
#######################################################################
#######################################################################
function removeEmptyDir ()
{
TMP=`ls -1 $1`
if [ -z "$TMP" ]; then
rm -r $RMOPTION $1
fi
}

#######################################################################
#######################################################################
function calcSpaceBefore ()
{
if [ "$SHOWFREEDSPACE" = "enabled" ]; then
BEFORE=$(df -P $1 | awk '{if ( NR==2 ) { print $3 }}')
fi
}

#######################################################################
#######################################################################
function showDir ()
{
if [ "$VERBOSE" = "enabled" ]; then
echo "$PROGNAME: processing files in $1 ..."
fi
}

#######################################################################
#######################################################################
function calcSpaceAfter ()
{
if [ "$SHOWFREEDSPACE" = "enabled" ]; then
AFTER=$(df -P $1 | awk '{if ( NR==2 ) { print $3 }}')
SUBTOTAL=$(($BEFORE - $AFTER))
if [ ! $BEFORE = $AFTER ]; then
echo "$PROGNAME: Disk space freed in $1: "$SUBTOTAL"K"
TOTAL="$(($TOTAL + $SUBTOTAL))"
fi
fi
}
#######################################################################
#######################################################################
function removeWebminLang ()
{
for i in af bg ca cz da el es fr he hu it ja_JP.euc ja_JP.jis \
ko_KR.euc lt nl no pl pt pt_BR ru_RU ru_SU si sk sv \
th tr zh_CN zh_TW.Big5; do
removeFile $1 $i
removeFile $1 *.$i.html
removeFile $1 config.info.$i
done
for i in config-aix* \
config-cobalt-* config-corel-* config-coherent-* config-cygwin* \
config-debian-* \
config-freebsd* \
config-generic-linux* config-gentoo-* \
config-hpux* \
config-irix* \
config-lfs* \
config-macos* config-msc-* config-mandrake-* \
config-netbsd* \
config-osf1* config-open* \
config-redhat-* \
config-solaris* config-sol-* config-slackware-* \
config-suse-linux-6* config-suse-linux-7* config-suse-linux-8* \
config-trustix-* config-turbo-* \
config-united-* config-unixware*; do
removeFile $1 $i
done
for i in aix \
cobalt coherent corel cygwin \
debian \
freebsd \
gentoo \
hpux \
irix \
lfs \
macos mandrake msc \
netbsd \
openserver openbsd \
redhat \
solaris slackware sol suse-linux-8* \
trustix turbo \
unixware; do
removeFile $1 $i-linux-lib.pl
removeFile $1 $i-lib.pl
done
removeFile $1 [Cc][Hh][Aa][Nn][Gg][Ee][Ll][Oo][Gg]
removeFile $1 COPYRIGHT
removeFile $1 COPYING
removeFile $1 LICEN[CS]E
removeFile $1 Release-notes
removeFile $1 WARRANTY
removeFile $1 AUTHORS
}

#######################################################################
#######################################################################
function checkFile ()
{
if [ ! -f $1 ]; then
echo "$PROGNAME: No $1 file present, exiting ..."
exit 1
fi
}

#######################################################################
#######################################################################
# main processing
#######################################################################
#######################################################################
set -e
if [ "$1" = "-debug" ] || \
[ "$1" = "-d" ] || \
[ "$2" = "-debug" ] || \
[ "$2" = "-d" ]; then
set -x
fi

PROGNAME=myLocalePurge
LOCALEDIRS="/usr/lib/locale /usr/X11/share/locale /usr/share/locale /opt/kde3/share/locale /opt/kde3/share/locale/l10n /opt/gnome/share/locale"
MANPAGEDIRS="/usr/share/man /usr/local/share/man /usr/X11/man /var/cache/man"
DOCDIRS="/usr/share/doc/packages"
WEBMINDIRS="/usr/libexec/webmin /usr/libexec/usermin"

TOTAL=0
RMOPTION="-f"

# Do nothing and report why if no valid configuration file exists:
CONFIGFILE=/etc/"$PROGNAME".conf
checkFile $CONFIGFILE

# list of undesired locales
PURGEFILE=/etc/"$PROGNAME".purge
checkFile $PURGEFILE

# list of wanted locales
NOPURGEFILE=/etc/"$PROGNAME".nopurge
checkFile $NOPURGEFILE

if [ "`grep -x ^SHOWFREEDSPACE $CONFIGFILE`" ]; then
SHOWFREEDSPACE=enabled
fi
if [ "`grep -x ^VERBOSE $CONFIGFILE`" ] || \
[ "$1" = "-verbose" ] || \
[ "$1" = "-v" ] || \
[ "$2" = "-verbose" ] || \
[ "$2" = "-v" ]; then
VERBOSE=enabled
RMOPTION="-vf"
fi

echo ""
echo "$PROGNAME: using config-file $CONFIGFILE"
echo "$PROGNAME: SHOWFREEDSPACE=$SHOWFREEDSPACE; VERBOSE=$VERBOSE"
echo ""

# first update $PURGEFILE with newly introduced locales
NEWLOCALELIST=/tmp/"$PROGNAME".purge-new
if [ -f $NEWLOCALELIST ]; then
rm "$NEWLOCALELIST"
fi

for LOCALEDIR in $LOCALEDIRS; do
if [ "$VERBOSE" = "enabled" ]; then
echo "$PROGNAME: checking system for new locale in $LOCALEDIR..."
fi

for NEWLOCALE in $(cd $LOCALEDIR; ls .); do
if [ -d $LOCALEDIR/$NEWLOCALE/LC_MESSAGES ]; then
if [ "$(grep -x $NEWLOCALE $NOPURGEFILE)" = "1" ] || [ "$(grep -x $NEWLOCALE $PURGEFILE)" = "1" ]; then
echo "$NEWLOCALE"
echo "$NEWLOCALE" >> "$NEWLOCALELIST"
fi
fi
done
done
if [ -f $NEWLOCALELIST ]; then
mv "$NEWLOCALELIST" "$NEWLOCALELIST".temp
sort -u "$NEWLOCALELIST".temp > "$NEWLOCALELIST"
rm "$NEWLOCALELIST".temp
fi
if [ -f "$NEWLOCALELIST" ]; then
echo "$PROGNAME: Some new locales have appeared on your system (see $NEWLOCALELIST):"
echo ""
cat "$NEWLOCALELIST" | tr '\n' ' '
echo ""
fi

# Getting rid of superfluous locale files
echo ""
for LOCALEDIR in $LOCALEDIRS; do
if [ -d $LOCALEDIR ]; then
calcSpaceBefore $LOCALEDIR
showDir $LOCALEDIR

for LOCALE in `ls $LOCALEDIR`; do
if [ ! "`grep -x ^$LOCALE $NOPURGEFILE`" ] && [ "`grep -x ^$LOCALE $PURGEFILE`" ]; then
if [ -d $LOCALEDIR/$LOCALE/LC_MESSAGES ]; then
rm $RMOPTION `find $LOCALEDIR/$LOCALE -type f`
removeEmptyDir $LOCALEDIR/$LOCALE/LC_MESSAGES
fi
if [ -d $LOCALEDIR/$LOCALE ]; then
echo "$LOCALDIR/$LOCALE found without LC_MESSAGES"
fi
fi

removeEmptyDir $LOCALEDIR/$LOCALE
done

calcSpaceAfter $LOCALEDIR
fi
done
# Getting rid of localized man pages in $MANPAGEDIR
if [ "`grep -x ^MANDELETE $CONFIGFILE`" ]; then
echo ""
for MANPAGEDIR in $MANPAGEDIRS; do
if [ -d $MANPAGEDIR ]; then
calcSpaceBefore $MANPAGEDIR
showDir $MANPAGEDIR

for LOCALE in `ls $MANPAGEDIR | grep -v ^man[1-9]`; do
if [ ! "`grep -x ^$LOCALE $NOPURGEFILE`" ] && [ "`grep -x ^$LOCALE $PURGEFILE`" ]; then
if [ -d $MANPAGEDIR/$LOCALE ]; then
rm $RMOPTION `find $MANPAGEDIR/$LOCALE -type f`
fi
fi
done

calcSpaceAfter $MANPAGEDIR
fi
done
fi

# Getting rid of pseudodocs in $DOCDIRS
echo ""
if [ "`grep -x ^DOCDELETE $CONFIGFILE`" ]; then
for DOCDIR in $DOCDIRS; do
if [ -d $DOCDIR ]; then
calcSpaceBefore $DOCDIR
showDir $DOCDIR
removePseudoDocs $DOCDIR
removeEmptyDir $DOCDIR
calcSpaceAfter $DOCDIR
fi
done
fi


# Getting rid of language in Webmin/Usermin
echo ""
if [ "`grep -x ^WEBMIN $CONFIGFILE`" ]; then
for WEBMINDIR in $WEBMINDIRS; do
if [ -d $WEBMINDIR ]; then
calcSpaceBefore $WEBMINDIR
showDir $WEBMINDIR
removeWebminLang $WEBMINDIR
calcSpaceAfter $WEBMINDIR
fi
done
fi

# reporting total disk space freed
if [ "$SHOWFREEDSPACE" = "enabled" ]; then
echo ""
echo "$PROGNAME: Total disk space freed: "$TOTAL"K"
echo ""
fi
chmod 777

hab auch myLocalePurge ausgeführt...der sagt irgendwas von checking ....
und bevor man richtig anfängt zu lesen is alles wieder weg (fenster zu)
 
OP
oc2pus

oc2pus

Ultimate Guru
kopfgeldjaeger schrieb:
hm..ich versteh nicht ganz was ich für machen muss...

na dann solltest du erst mal die basics beherrschen auf einem linux-System

1.) die *.conf Dateien sind Konfigurationen, also nix chmod 777, höchstens 644
2.) das Programm sollte aus einer Konsole heraus gestartet werden, nicht aus dem Konqueror ...
3.) dieses Script LÖSCHT Dateien auf deinem System, also solltest DU schon verstehen was es tut, BEVOR du es einsetzt ...
 
oc2pus schrieb:
kopfgeldjaeger schrieb:
hm..ich versteh nicht ganz was ich für machen muss...

na dann solltest du erst mal die basics beherrschen auf einem linux-System

1.) die *.conf Dateien sind Konfigurationen, also nix chmod 777, höchstens 755
2.) das Programm sollte aus einer Konsole heraus gestartet werden, nicht aus dem Konqueror ...
3.) dieses Script LÖSCHT Dateien auf deinem System, also solltest DU schon verstehen was es tut, BEVOR du es einsetzt ...

1. Das ist mir absolut klar, ich mach aber bei solchen Dateien eh zum testen immer 777(frag mich nicht warum...schneller?
2. denkste echt, ich starte das aus dem konqueror heraus?ich habs nich direkt aus der konsole gestartet, ok... (dc, im terminal ausführen)
3. mir ist klar was das teil macht.

4. ich beherrsche die basics, auch wenn ich manche sachen vllt. eigentümlich mache....ich hab mein system sogar so hinbekommen, dasses alles kann, was ich von meinem win erwarten konnte (außer bestimmte programme, die man eigentlich sowieso nie braucht, weils dafür keine linux alternative gibt und spiele....)

5. ich benutze gar keinen konqueror...jedenfalls fast nie

Code:
Mozilla/5.0 (X11; U; Linux i686 (x86_64); de; rv:1.8.0.4) Gecko/20060527 SUSE/1.5.0.4-0.1 Firefox/1.5.0.4

6. weiß ich nicht, wie du auf so manche vermutungen kommst, aber is ja auch egal weils jetzt ja eh funzt...

myLocalePurge: Total disk space freed: 72224K
und dann nochmal:
myLocalePurge: Total disk space freed: 287144K

sehr nett :D
 

revealed

Guru
*bump*
Code:
myLocalePurge: Total disk space freed: 381932K

wild-thing:/usr/local/sbin #

nur leider ist dann im Anschluss das Ergebnis von
Code:
rpm -qa | while read paketname ; do rpm --verify $paketname; done
sehr unübersichtlich ... also sehr viel *missing* Wenn ich nicht irgendwann mal total so dermaßen auf den Platz angewiesen bin, dann lass ich das mit dem Script beim nächsten mal. Ich würde ihn nur für Leute empfehlen, bei denen es wirklich darum geht, das allerletzte quäntchen Platz freizuschaufeln.

gruss

R
 
Oben