• 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

oc2pus

Ultimate Guru
ich hätte hier ein kleines Shell-Script, welches ein SuSE System so richtig von "Müll" befreit.
Es löscht alle man-pages (bestimmte Sprachen), *.mo (Übersetzungen), Webmin fremde Sprachen und fremde System-Scripte und überflüssige Pseudodoc-Dateien. Je nach Installationsgrad, kommen da locker 100 MB und mehr zusammen.

Die Konfiguration erfolgt in der conf-Datei. Die Schalter sollten sprechend sein.
Welche Dateien als "PseudoDokumentation" behandelt wird ist manuell in dem Script einzustellen.

Wenn das script neue Sprach-Locale entdeckt wird davon eine Liste nach /tmp/myLocalePurge.new-purge geschrieben. Diese Liste sollte dann angepasst werden und in die /etc/myLocalePurge.purge bzw /etc/myLocalePurge.nopurge aufgenommen werden.

Wer mit so einem Script arbeiten will, sollte schon wissen was er tut und kann es entsprechend modifizieren.

WARUNG 1: Ansonsten ist dies beta-Version - No garanties at all

WARNUNG 2: es werden Dateien gelöscht! (durch reinstallation der einzelnen Pakete aber wieder herstellbar ...)

WICHTIG: /etc/myLocalePurge.purge und /etc/myLocalePurge.nopurge MÜSSEN disjunkt sein

For any further Questions don't hesitate to conatct me ...
Kritik, etc willkommen

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

SHOWFREEDSPACE
VERBOSE

/etc/myLocalPurge.nopurge
Code:
#####################################################
# 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


/etc/myLocalePurge.purge
Code:
#####################################################
# Following locales will be deleted from this system
####################################################
af
af_ZA
am
am_ET
ar
ar_AE
..... hier stehen noch viel mehr ....


/usr/local/sbin/myLocalePurge
(dieses Script muss mit chmod +x /usr/local/sbin/myLocalePurge ausführbar gemacht werden!)
Code:
#!/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
 

Pfalzwolf

Member
@oc2pus,
es ist ja schon aufregend. Jeden Tag entdecke ich neue Stellen, an denen temporäre Daten in verschwiegenen Linux-Ecken abgelegt werden, und die anschließend nicht mehr verschwinden. Dein Skript scheint mir in dieser Hinsicht gut geeignet, hier Ordnung zu schaffen. Die Copyrights und Readmes sind ja eher statisch, die stören mich daher nicht so sehr. Bei den vielen Sprachen ist das was anderes, das läppert sich.
Hiermit folge ich Deiner Einladung zu Fragen.
  • - Da Du es als Beta bezeichnet hast, gibt es inzwischen einen RC oder gar ein Final?
    - Ich vermisse ~/.thumbnails, das ist doch auch ein Kandidat, der Material auf ewig hortet? (...kostet halt ein wenig Leistung, wenn benötigte neu erzeugt werden.)
 
OP
oc2pus

oc2pus

Ultimate Guru
Pfalzwolf schrieb:
Da Du es als Beta bezeichnet hast, gibt es inzwischen einen RC oder gar ein Final?
es gibt eine Version welche ein wenig weitergepflegt wurde, aber wesentliche Funktionalität kam nicht dazu ... beta auch deshalb, weil es bestimmt bessere, effizientere, kürzere Lösungen gibt. Aber die script-Gurus haben bis dato noch nix getunt und/oder verbessert. Und weil ich KEINE Verantwortung übernehmen kann/will für die Anwendung des scriptes :)

Pfalzwolf schrieb:
- Ich vermisse ~/.thumbnails, das ist doch auch ein Kandidat, der Material auf ewig hortet? (...kostet halt ein wenig Leistung, wenn benötigte neu erzeugt werden.)
stimmt, solche Verzeichnisse lassen sich aber einfach integrieren im Script.

Einfach eine neue Funktion definieren und aufrufen.
Code:
function removeThumbnails {
   rm -rf $RMOPTION ~/.thumbnails
   mkdir -p ~/.thumbnails
}
 

Falkenstein

Hacker
Klasse Sache,
Hast du eine kpl. Liste der locales bzw. wie bekomm ich sie?

Und zwei kleine Änderungen musste ich vornehmen, damit es läuft:

In
function removePseudoDocs ()
{
for i in AUTHORS AUTHORS.RPM ABOUT-NLS ANNOUNCE \
ACKNOWLEDGEMENTS \
BUGS \

muss ein \ nach ANNOUNCE rein und myLocalPurge.nopurge muss bestimmt myLocalePurge.nopurge heissen.
 
OP
oc2pus

oc2pus

Ultimate Guru
tuxx schrieb:
Klasse Sache,
Hast du eine kpl. Liste der locales bzw. wie bekomm ich sie?

Dein Problem resultiert aus einem cut & copy Fehler, das phpBB bricht die Zeilen zu früh um, aber du hast es richtig "korrigiert".

eine Komplette Liste der locales gibt es nicht, da jedes Programm seine eigenen mitbringt.

ich nutze derzeit:
Code:
aa_DJ
aa_DJ.utf8
aa_ER
aa_ER.utf8
aa_ER@saaho
aa_ET
aa_ET aa_ET.utf8
aa_ET.utf8
af
af_ZA
af_ZA.utf8
am
am_ET
am_ET.utf8
an_ES
an_ES.utf8
ang
ar
ar_AE
ar_AE.utf8
ar_BH
ar_BH.utf8
ar_DZ
ar_DZ.utf8
ar_EG
ar_EG.utf8
ar_IN
ar_IN.utf8
ar_IQ
ar_IQ.utf8
ar_JO
ar_JO.utf8
ar_KW
ar_KW.utf8
ar_LB
ar_LB.utf8
ar_LY
ar_LY.utf8
ar_MA
ar_MA.utf8
ar_OM
ar_OM.utf8
ar_QA
ar_QA.utf8
ar_SA
ar_SA.utf8
ar_SD
ar_SD.utf8
ar_SY
ar_SY.utf8
ar_TN
ar_TN.utf8
ar_YE
ar_YE.utf8
as
az
az_AZ
az_AZ.utf8
az_IR
be
be_BY
be_BY.utf8
bg
bg_BG
bg_BG.utf8
bn
bn_BD
bn_BD.utf8
bn_IN
bn_IN.utf8
br
br_FR
br_FR.utf8
br_FR@euro
bs
bs_BA
bs_BA.utf8
bu
byn_ER
byn_ER.utf8
ca
ca_ES
ca_ES.utf8
ca_ES@euro
cs
cs_CZ
cs_CZ.utf8
cy
cy_GB
cy_GB.utf8
da
da_DK
da_DK.iso885915
da_DK.utf8
de_AT
de_AT.utf8
de_AT@euro
de_BE
de_BE.utf8
de_BE@euro
de_CH
de_CH.utf8
de_LU
de_LU.utf8
de_LU@euro
dk
ee
el
el_GR
el_GR.UTF-8
el_GR.utf8
el_GR@euro
en
en@IPA
en@boldquot
en@quot
en_AU
en_AU.utf8
en_BE
en_BE.utf8
en_BE@euro
en_BW
en_BW.utf8
en_CA
en_CA.utf8
en_DK
en_DK.utf8
en_GB
en_GB.UTF-8
en_GB.iso885915
en_GB.utf8
en_HK
en_HK.utf8
en_IE
en_IE.utf8
en_IE@euro
en_IN
en_IN.utf8
en_NZ
en_NZ.utf8
en_PH
en_PH.utf8
en_SG
en_SG.utf8
en_US
en_US.UTF-8
en_US.iso885915
en_US.utf8
en_ZA
en_ZA.utf8
en_ZW
en_ZW.utf8
eo
eo_EO
es
es_AR
es_AR.utf8
es_BO
es_BO.utf8
es_CL
es_CL.utf8
es_CO
es_CO.utf8
es_CR
es_CR.utf8
es_DO
es_DO.utf8
es_EC
es_EC.utf8
es_ES
es_ES.utf8
es_ES@euro
es_GT
es_GT.utf8
es_HN
es_HN.utf8
es_MX
es_MX.utf8
es_NI
es_NI.utf8
es_PA
es_PA.utf8
es_PE
es_PE.utf8
es_PR
es_PR.utf8
es_PY
es_PY.utf8
es_SV
es_SV.utf8
es_US
es_US.utf8
es_UY
es_UY.utf8
es_VE
es_VE.utf8
et
et_EE
et_EE.iso885915
et_EE.utf8
eu
eu_ES
eu_ES.utf8
eu_ES@euro
fa
fa_IR
fa_IR.UTF-8
fa_IR.utf8
fi
fi_FI
fi_FI.utf8
fi_FI@euro
fo
fo_FO
fo_FO.utf8
fr
fr_BE
fr_BE.utf8
fr_BE@euro
fr_CA
fr_CA.utf8
fr_CH
fr_CH.utf8
fr_FR
fr_FR.UTF-8
fr_FR.utf8
fr_FR@euro
fr_LU
fr_LU.utf8
fr_LU@euro
ga
ga_IE
ga_IE.utf8
ga_IE@euro
gd
gd_GB
gd_GB.utf8
gez_ER
gez_ER@abegede
gez_ET
gez_ET@abegede
gl
gl_ES
gl_ES.utf8
gl_ES@euro
gr
gu
gu_IN
gv
gv_GB
gv_GB.utf8
he
he_IL
he_IL.utf8
hi
hi_IN
hi_IN.UTF-8
hi_IN.utf8
hr
hr_HR
hr_HR.utf8
hu
hu_HU
hu_HU.utf8
hy
hy_AM
ia
id
id_ID
id_ID.utf8
is
is_IS
is_IS.utf8
it
it_CH
it_CH.utf8
it_IT
it_IT.utf8
it_IT@euro
iw
iw_IL
iw_IL.utf8
ja
ja_JP
ja_JP.EUC
ja_JP.EUC-JP
ja_JP.SJIS
ja_JP.UTF-8
ja_JP.eucJP
ja_JP.eucJP
ja_JP.eucjp
ja_JP.shiftjisx0213
ja_JP.sjis
ja_JP.utf8
ka
ka_GE
ka_GE.utf8
kk_KZ
kk_KZ.utf8
kl
kl_GL
kl_GL.utf8
klingon
kn
kn_IN
ko
ko_KR
ko_KR.EUC-KR
ko_KR.UTF-8
ko_KR.euckr
ko_KR.utf8
ku
kw
kw_GB
kw_GB.utf8
lg
lg
lg_UG
lg_UG.utf8
li
lo_LA
lt
lt_LT
lt_LT.utf8
lv
lv_LV
lv_LV.utf8
mi
mi_NZ
mi_NZ.utf8
mk
mk_MK
mk_MK.utf8
ml
ml_IN
ml_IN.utf8
mn
mn_MN
mn_MN.utf8
mr
mr_IN
mr_IN.UTF-8
mr_IN.utf8
ms
ms_MY
ms_MY.utf8
mt
mt_MT
mt_MT.utf8
nb
nb_NO
nb_NO.utf8
ne
ne_NP
ne_NP.utf8
nl
nl_BE
nl_BE.utf8
nl_BE@euro
nl_NL
nl_NL.utf8
nl_NL@euro
nn
nn_NO
nn_NO.utf8
no
no@nynorsk
no_NO
no_NO.utf8
no_NY
nso
nso
oc
oc_FR
oc_FR.utf8
om_ET
om_ET.utf8
om_KE
om_KE.utf8
or
pa
pa_IN
pa_IN.utf8
pl
pl-utf
pl_PL
pl_PL.utf8
pt
pt_BR
pt_BR.utf8
pt_PT
pt_PT.utf8
pt_PT@euro
pt_br
rm
ro
ro_RO
ro_RO.utf8
ru
ru_RU
ru_RU.KOI8-R
ru_RU.UTF-8
ru_RU.cp1251
ru_RU.koi8-R
ru_RU.koi8r
ru_RU.utf8
ru_UA
ru_UA.koi8u
ru_UA.koi8u
ru_UA.utf8
rw
se
se_NO
se_NO.utf8
sh_YU
sh_YU.utf8
sid_ET
sid_ET.utf8
sk
sk_SK
sk_SK.utf8
sl
sl_SI
sl_SI.utf8
so_DJ
so_DJ.utf8
so_ET
so_ET.utf8
so_KE
so_KE.utf8
so_SO
so_SO.utf8
sp
sq
sq_AL
sq_AL.utf8
sr
sr@Latn
sr@ije
sr_CS
sr_CS.utf8
sr_YU
sr_YU.utf8
sr_YU.utf8@cyrillic
sr_YU@cyrillic
st_ZA
st_ZA.utf8
sv
sv_FI
sv_FI.utf8
sv_FI@euro
sv_SE
sv_SE.iso885915
sv_SE.utf8
sw
ta
ta_IN
ta_IN.utf8
te
te_IN
te_IN.utf8
tg
tg_TJ
tg_TJ.utf8
th
th_TH
th_TH.utf8
ti
ti_ER
ti_ER.utf8
ti_ET
ti_ET.utf8
tig_ER
tig_ER.utf8
tk
tl
tl_PH
tl_PH.utf8
tr
tr_TR
tr_TR.utf8
tt
tt_RU
tt_RU.utf8
ug
uk
uk_UA
uk_UA.cp1251
uk_UA.utf8
ur
ur_PK
ur_PK.utf8
uz
uz@Cyrl
uz@Latn
uz_UZ
uz_UZ@cyrillic
ven
ven
vi
vi_VN
vi_VN.UTF-8
vi_VN.tcvn
vi_VN.utf8
wa
wa_BE
wa_BE.utf8
wa_BE@euro
xh
xh
xh_ZA
xh_ZA.utf8
xx
xx
yi
yi_US
yi_US.utf8
yo
zh
zh_CN
zh_CN.GB18030
zh_CN.GB2312
zh_CN.GBK
zh_CN.UTF-8
zh_CN.gb18030
zh_CN.gbk
zh_CN.utf8
zh_HK
zh_HK.UTF-8
zh_HK.utf8
zh_SG
zh_SG.gbk
zh_SG.utf8
zh_TW
zh_TW.Big5
zh_TW.EUC-TW
zh_TW.UTF-8
zh_TW.euctw
zh_TW.utf8
zu
zu_ZA
zu_ZA.utf8
 

Falkenstein

Hacker
Danke, mit der Liste hat man doch schon einen prima Start.
Ich hab ~600MB Platz auf / und ~300MB auf /home gewonnen (inkl. der thumbnails-function im Script).
 
OP
oc2pus

oc2pus

Ultimate Guru
tuxx schrieb:
Danke, mit der Liste hat man doch schon einen prima Start.
Ich hab ~600MB Platz auf / und ~300MB auf /home gewonnen (inkl. der thumbnails-function im Script).
wow, da habe ich im Thread-Titel ja echt untertrieben :)

Die Sache mit den thumbnails kann noch verfeinert werden um das bei allen User-Homeverzeichnissen zu tun. Überlasse ich dir als Übung ;)

Es gibt sicherlich noch weitere Verzeichnisse (z.Bsp: java-locales) die sich auf diese oder ähnliche Art säubern lassen.
 

Pfalzwolf

Member
@oc2pus,
Du hast Dich einmal mehr um die Gemeinde verdient gemacht. Dankeschön. Deine Arbeit nutzt besonders Einsteigern, die sich wundern, wie sich der Plattenplatz verflüchtigt. Das ist doch unbedingt ein HoTo Kandidat!
Wenn jetzt noch die "Skript-Gelehrten" über Deine Arbeit herfallen, ist es etwas, das mit relativ wenig Basiwissen von Jedem eingesetzt werden kann - für SuSE und mit kleinen Modifikationen für alle anderen Distries.

[Edit]
Bitte beachten, es gibt mindestens 2 Lokationen mit thumbnails je nach Anzahl der User:
~/.thumbnails und /root/thumbnails jeweils mit den Subdirectories large und normal
[/Edit]
 

scg

Hacker
Mit einer Vorgängerversion hat er ja ZU RECHT den Script-Kontest gewonnen:

http://linux-club.de/viewtopic.php?t=40598
 
`rm -Rf /usr/share/doc` - wenn du absolut keine Dokumentation brauchst.
Für Softwarepakete dagegen sollte man sich erstmal die Liste angucken:
Code:
rpm -qa --qf "%10{SIZE} %{NAME}\n" | sort -g | o
Was natürlich zeigt, dass einige Projekte ein bisschen groß geraten sind, für das was sie leisten.
Code:
  45344495 te_cont
  49485493 kdebase3
  49977897 glibc-locale
  56176500 kernel-smp
  57064235 te_latex
  57846739 wine
  58039357 OpenOffice_org1-de
  60535831 java-1_4_2-sun
  82822109 grass
  83956809 john
  89607715 java-1_5_0-sun
  96804863 acroread
 138751265 tetex
 171605785 OpenOffice_org1
 366755728 OpenOffice_org
(Standard 9.3)
 

framp

Moderator
Teammitglied
Bei mir sind auch so um die 300Mb verschwunden. :) Doch leider erhalte ich jetzt bei z.B.
Code:
man samba
Code:
man: can't set the locale; make sure $LC_* and $LANG are correct
Der man Text wird dann zwar angezeigt - aber Fehlermeldungen irritieren und sollten nicht auftreten.

Scheint als ist da bei mir was zu viel verschwunden :oops: . Scheint daran zu liegen, dass ich mein SuSE mit der englishen Locale betreibe.

Weiss da jemand was da reinstalliert werden muss :roll:
 
OP
oc2pus

oc2pus

Ultimate Guru
framp schrieb:
Weiss da jemand was da reinstalliert werden muss :roll:
hier einige gängige Pakte:
glibc-locale
man
man-pages
xorg-x11-man

ansonsten man rpm lesen :) (Kapitel verify Options)

hier ein script was alle fehlende Dateien auflistet:
#!/bin/bash
rpm -qa | while read paketname ; do
rpm --verify $paketname
done

zum Beispiel:
rpm --verify liblo
missing d /usr/share/doc/packages/liblo/AUTHORS
missing d /usr/share/doc/packages/liblo/COPYING
missing d /usr/share/doc/packages/liblo/ChangeLog
missing d /usr/share/doc/packages/liblo/INSTALL
missing d /usr/share/doc/packages/liblo/NEWS
missing d /usr/share/doc/packages/liblo/TODO
 

swannema

Member
framp schrieb:
Bei mir sind auch so um die 300Mb verschwunden. :) Doch leider erhalte ich jetzt bei z.B.
Code:
man samba
Code:
man: can't set the locale; make sure $LC_* and $LANG are correct
Der man Text wird dann zwar angezeigt - aber Fehlermeldungen irritieren und sollten nicht auftreten.

Scheint als ist da bei mir was zu viel verschwunden :oops: . Scheint daran zu liegen, dass ich mein SuSE mit der englishen Locale betreibe.

Weiss da jemand was da reinstalliert werden muss :roll:

glibc-locale sollte ausreichen. Hat zumindest bei mir die Fehlermeldung behoben. Ich benutze die US version von SuSE.
 

framp

Moderator
Teammitglied
oc2pus schrieb:
dann solltest du die us* locales eben NICHT purgen :)
Bzgl locales und Linux habe ich null Ahnung :oops: . Aber in myLocalePurge.nopurge steht
Code:
en
en_US
und da war ich eigentlich der Meinung dass damit alles en_US spezifische NICHT geloescht wird. Offensichtlich war meine Annahme nicht richtig...
 
OP
oc2pus

oc2pus

Ultimate Guru
framp schrieb:
oc2pus schrieb:
dann solltest du die us* locales eben NICHT purgen :)
Bzgl locales und Linux habe ich null Ahnung :oops: . Aber in myLocalePurge.nopurge steht
Code:
en
en_US
und da war ich eigentlich der Meinung dass damit alles en_US spezifische NICHT geloescht wird. Offensichtlich war meine Annahme nicht richtig...
steht es evtl in myLocalePurge.purge drin ?

und checke auch gleich mal die us* !! das sind zweierlei :)
 

framp

Moderator
Teammitglied
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 ...
 
Oben