Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Gentoo entmüllen
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

Goto page 1, 2  Next  
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German)
View previous topic :: View next topic  
Author Message
ChrisM87
l33t
l33t


Joined: 07 Aug 2004
Posts: 728
Location: Rheinland-Pfalz (Germany)

PostPosted: Thu Feb 10, 2005 5:00 pm    Post subject: Gentoo entmüllen Reply with quote

Hi,

nachdem sich nun auch mein ReiserFS der magischen 90%-Grenze nähert, habe ich mich mal an das aufräumen gemacht. Dabei ist mir aber aufgefallen, dass es einem hier bei Gentoo sehr schwer gemacht wird.

Einige Beispiele:
1. /usr/portage/distfiles. Man hat nur die Möglichkeit, entweder radikal alles zu löschen (sehr schlecht) oder ein Script zu benutzen, das allerdings nur nach dem Dateinamen geht oder so alte Versionen erkennt. So wird dann z.B. GTK 1 gelöscht, aber uralte Sourcen, die man längst wieder deinstalliert hat, werden belassen.

2. Sonstiges Dateisystem "cruft", z.B. auch unter /etc/, wobei der Müll dort von der Größe her relativ wenig ausmacht. Hierzu gibt es zwei Scripte, einmal cruft und findcruft. cruft selbst wird anscheinend nicht mehr gepflegt, findcruft ist schon besser, aber auch nur ein eher kleines Script und kein "richtiges" Programm mit Web-Whitelist oder ähnlichen Features, die sehr wichtig wären.

Es gibt noch einige Beispiele mehr, aber gerade bei diesen wäre es doch leicht, ein Tool zu entwickeln, dass diese Aufgaben erfüllt, im Prinzip könnte man auch beides fest in Portage einbauen oder irre ich mich?

Oder habt ihr alle einen riesiges RAID-System und kauft euch ein neues, wenn es voll ist? :D

ChrisM
_________________
born to be root - sorry for my bad English!
Back to top
View user's profile Send private message
pablo_supertux
Advocate
Advocate


Joined: 25 Jan 2004
Posts: 2953
Location: Somewhere between reality and Middle-Earth and in Freiburg (Germany)

PostPosted: Thu Feb 10, 2005 5:05 pm    Post subject: Reply with quote

Ich lösche regelmäßig /var/tmp/portage und /usr/portage/distfiles so bleibt mein System "sauber"
_________________
A! Elbereth Gilthoniel!
silivren penna míriel
o menel aglar elenath,
Gilthoniel, A! Elbereth!
Back to top
View user's profile Send private message
ChrisM87
l33t
l33t


Joined: 07 Aug 2004
Posts: 728
Location: Rheinland-Pfalz (Germany)

PostPosted: Thu Feb 10, 2005 5:30 pm    Post subject: Reply with quote

Hi,

/var/tmp/portage kann man natürlich immer löschen, das bringt aber nur was, wenn auch emerge-Vorgänge vorher fehlgeschlagen sind.

Distfiles komplett zu leeren würde ich nicht gerne machen, es würde bei mir zwar 8GB bringen und ich habe ohnehin DSL 2000, aber trotzdem muss ich dann beim Neucompilieren wieder alles neu herunterladen und belaste die Mirrors unnötigerweise ein zweites Mal.

ChrisM
_________________
born to be root - sorry for my bad English!
Back to top
View user's profile Send private message
fuchur
Guru
Guru


Joined: 12 Aug 2003
Posts: 578

PostPosted: Thu Feb 10, 2005 5:30 pm    Post subject: Reply with quote

hi

Quote:

1. /usr/portage/distfiles. Man hat nur die Möglichkeit, entweder radikal alles zu löschen (sehr schlecht) oder ein Script zu benutzen, das allerdings nur nach dem Dateinamen geht oder so alte Versionen erkennt. So wird dann z.B. GTK 1 gelöscht, aber uralte Sourcen, die man längst wieder deinstalliert hat, werden belassen.


Hier kann ich dir weiterhelfen. Bei diesem Script must du
zusätzlich ankreutzen welche von den nicht mehr benötigten
distfiles du löschen möchtest. Läuft bei mir ca. ein Jahr
ohne probleme übernehme aber keine garantie ;)

Scriptupdate 25.10.05 23:15

Code:

#!/bin/sh
# /usr/local/bin/cleanportage: cleans distdir pkgdir

# Makes sure gentoolkit and dialog is installed
#
DIALOG=/usr/bin/dialog

if [ ! -x $DIALOG ] ; then
   echo -e "\e[0m"
   echo -e "\e[01;31m * First emerge dialog"
   echo -e "\e[0m"
   exit 0
fi

# Where are the portage dirs ...
#
PORTAGEINFO=/usr/lib/portage/bin/portageq
PORTDIR=$($PORTAGEINFO portdir)
DISTDIR=$($PORTAGEINFO distdir)
PACKAGESDIR=$($PORTAGEINFO pkgdir)
PORTDIROVERLAY=$($PORTAGEINFO portdir_overlay)

# makes sure PORTDIR, PORTDIROVERLAY, DISTDIR, PACKAGESDIR exist
#
#if [ ! -d "$PORTDIR" ] || [ ! -d "$PORTDIROVERLAY" ] || [ ! -d "$DISTDIR" ] || [ ! -d "$PACKAGESDIR" ]; then
if [ ! -d "$PORTDIR" ] || [ ! -d "$DISTDIR" ] || [ ! -d "$PACKAGESDIR" ]; then
   echo -e "\e[0m"
   echo -e "\e[01;31m * Please verify the following settings in /etc/make.conf:"
   echo -e "\e[01;31m * PORTDIR, DISTDIR, PKGDIR, PORTDIR_OVERLAY"
   echo -e "\e[0m"
   exit 0
fi

# Possible dialog (gauge) bug ?
#
dialog --no-shadow --title "!!!!! ATTENTION !!!!!" --clear \
      --ok-label "Next" --msgbox "Don't resize the window/shell
if this script is running !" 8 40
test $? = 255 && exit 0

function MAINDIALOG() {

   # clean distfiles folder except:
   #
   VAR="lost+found .journal quota.user aquota.user quota.group aquota.group"

   # tempfiles
   #
   TMPFILE=/tmp/.sourcetmpfile
   TMPFILE_=/tmp/.sourcetmpfile_

   rm -f $TMPFILE $TMPFILE_
   touch $TMPFILE $TMPFILE_

   for T in $VAR; do
      echo $T >>$TMPFILE
   done

   VAR=""
   TMPVAR=""

   dialog --no-shadow --clear --title "Clean portage folders" --menu\
      "Select" 0 0 0 \
      "01" "Clean sourcefiles"\
      "02" "Clean binary packages"\
      2>/tmp/NP.$$
      RETVAL=$?
      NP=$(cat /tmp/NP.$$)
      rm -f /tmp/NP.$$

   case $RETVAL in
      0)  case "$NP" in
            "01" ) COMPARESOURCES;;
            "02" ) COMPAREBINARYS;;
         esac;;
      1)  rm -f $TMPFILE $TMPFILE_ && clear;;
      255)rm -f $TMPFILE $TMPFILE_ && clear;;
      *)  echo -e "\e[01;31m * Dialog Unexpected return code: $RETVAL"
         echo -e "\e[0m"
   esac
}

function RESETCONTERS() {
   CNTR=0
   CNTR_=0
   CNTR__=0
}

function CALCUCONTERS() {
   CNTR_=$(($CNTR_+1))
   CNTR__=$(($CNTR_ * 100 / $CNTR))
}

function COMPARESOURCES() {
   RESETCONTERS

   # find installed ebuilds and set counter
   #
   INSTALLEBS=$(find /var/db/pkg/ -iname "*.ebuild" | cut -d/ -f5,6)
   for TMPVAR in $INSTALLEBS; do
      CNTR=$(($CNTR+1))   
   done

   # compare installed ebuilds with sourcefiles in $DISTDIR
   #
   for INSTALLEB in $INSTALLEBS
   do
      echo $CNTR__
      CALCUCONTERS
   
      NOVERSIONS=$(echo $INSTALLEB | sed -e 's:-r[0-9]*$::; s:-[^-]*$::; /^$/d')

      for PORTFOLDER in $PORTDIR $PORTDIROVERLAY
      do
         if [ -d $PORTFOLDER/$NOVERSIONS/files ] ; then
            cd $PORTFOLDER/$NOVERSIONS/files
            for FILE in $INSTALLEB
            do
               DIGEST="digest-$(basename $FILE)"
               if [ -e $DIGEST ] ; then
#                  SOURCEFILES=$(cat $DIGEST | cut -d " " -f3)
                  SOURCEFILES=$(cat $DIGEST | awk '{print $3}')
                  for SOURCEFILE in $SOURCEFILES
                  do
                     SOURCES=$DISTDIR/$SOURCEFILE   
                     if [ -e $SOURCES ] ; then
                        for SOURCE in $SOURCEFILE
                        do
                           echo $SOURCE >>$TMPFILE
                        done
                     fi
                  done
               fi
            done
         fi
      done
   done | $DIALOG --no-shadow --clear --title "Please wait"\
         --gauge "Compare installed ebuilds with sourcefiles in $DISTDIR" 8 60 2


   CHECKSOURCES
}


function COMPAREBINARYS() {
   # remove quote .jornal ... in $TMPFILE we don't need it here
   #
   $(cat /dev/null >$TMPFILE)

   # counters
   #
   RESETCONTERS

   # find installed ebuilds and set counter
   #
   INSTALLEBS=$(find /var/db/pkg/ -iname "*.ebuild" | cut -d/ -f5,6)
   for TMPVAR in $INSTALLEBS
   do
      CNTR=$(($CNTR+1))   
   done
   TMPVAR=""

   # makes sure $PACKAGESDIR/All exist if not back to maindialog
   #
   if [ ! -d "$PACKAGESDIR/All" ]; then
      MAINDIALOG
   else
      cd $PACKAGESDIR/All

      # compare installed ebuilds with binaryfiles in $PACKAGESDIR
      #
      for INSTALLEB in $INSTALLEBS
      do
         echo $CNTR__
         CALCUCONTERS

         BINARYNAME="$(basename $INSTALLEB).tbz2"   

         if [ -e "$BINARYNAME" ]; then
            echo $BINARYNAME >>$TMPFILE
         fi


      done | $DIALOG --no-shadow --clear --title "Please wait"\
            --gauge "Compare installed ebuilds with binarys in $PACKAGESDIR/All" 8 60 2

      CHECKBINARYS
   fi
}

function CHECKSOURCES() {
   SOURCEDIR=$DISTDIR
   MSG="sourcefile(s)"
   SOURCESTMP
}

function CHECKBINARYS() {
   SOURCEDIR=$PACKAGESDIR/All
   MSG="binaryfile(s)"
   SOURCESTMP
}


function SOURCESTMP() {
   RESETCONTERS

   # change folder
   #
   cd $SOURCEDIR
   ALLFILES=$(ls)

   # set counter
   #
   for TMPVAR in $ALLFILES
   do
       CNTR=$(($CNTR+1))
   done

   # check for outdated files
   #
   for REMOVE in $ALLFILES
   do
      echo $CNTR__
      CALCUCONTERS

      ISNE=$(grep ^$REMOVE $TMPFILE)
      if (test -z "$ISNE"); then
         echo $REMOVE >>$TMPFILE_
      fi

   done | $DIALOG --no-shadow --clear --title "Please wait"\
         --gauge "Check for outdated $MSG" 7 60 2

   VERIFYREMOVE
}


function VERIFYREMOVE() {
   RESETCONTERS

   # Build checklist
   #
   VAR=""
   TMPVAR=""
    for SOURCES in $(cat $TMPFILE_)
    do
      CNTR=$(($CNTR+1))
      VAR="$VAR $SOURCES $CNTR off"
   done
    dialog --no-shadow --clear --title "Remove $MSG" --checklist\
       "This $MSG not needed. Select to remove" 0 0 0 \
        $VAR\
        2>/tmp/rsf.$$
        RETVAL=$?
        RSF=$(cat /tmp/rsf.$$ | sed 's/"//g')
        rm -f /tmp/rsf.$$

   case $RETVAL in
      0)   if (test ! -z "$RSF"); then
            CNTR=0
            for RR in $RSF
            do
               CNTR=$(($CNTR+1))
               TMPVAR="$TMPVAR $RR,"
            done
            "$DIALOG" --no-shadow --clear --title "Really remove" \
                    --yesno "$TMPVAR" 0 0
               case $? in
                  0)   # Makes sure we are in right dir
                     #
                     cd $SOURCEDIR
                  
                     # we need a clear tmpfile if we remove binarys
                     #
                     $(cat /dev/null >$TMPFILE)

                     # remove files
                     #   
                     for R in $RSF
                     do
                        echo $CNTR__
                        CALCUCONTERS
                        echo $R >>$TMPFILE

                        rm -rf $R

                     done | $DIALOG --no-shadow --clear --title "Please wait"\
                           --gauge "Remove" 7 60 2

                     # if we have remove binarys also remove dead links etc ...
                     #
                     if [ "$SOURCEDIR" == "$PACKAGESDIR/All" ]; then
                        RESETCONTERS

                        for TTT in $(cat $TMPFILE)
                        do
                           CNTR=$(($CNTR+1))
                        done

                        cd $PACKAGESDIR
                        FOLDERS=$(ls | grep -)
                        for R in $FOLDERS
                        do
                           echo $CNTR__
                           cd $PACKAGESDIR/$R
                           for RL in $(ls)
                              do
                              ISNE=$(grep ^$RL $TMPFILE)
                              if (test ! -z "$ISNE"); then
                                 CALCUCONTERS

                                 rm -rf $RL

                              fi
                           done
                        done | $DIALOG --no-shadow --clear --title "Please wait"\
                              --gauge "Remove dead links etc in $PACKAGESDIR ..." 7 60 2
                     fi
                  ;;
                  1)   
                  ;;
               esac
         fi
      ;;
      1) 
      ;;
      3) 
      ;;
      255)
      ;;
      *)  echo -e "\e[01;31m * Dialog Unexpected return code: $RETVAL"
         echo -e "\e[0m"
      ;;
   esac
   
   clear
   #MAINDIALOG
   exit 1
}

MAINDIALOG




mfg


Last edited by fuchur on Tue Oct 25, 2005 9:52 pm; edited 2 times in total
Back to top
View user's profile Send private message
Lenz
Veteran
Veteran


Joined: 17 Jul 2003
Posts: 1439
Location: Marburg [HE, D, EU]

PostPosted: Thu Feb 10, 2005 5:33 pm    Post subject: Reply with quote

Das Skript distclean funktioniert doch wunderbar, um /usr/portage/distfiles aufzuräumen. Dann ab und zu /var/tmp/portage leeren, worldfile aufräumen, depclean, das ganze Programm halt. :D
Was ist da nun das Problem?
_________________
.:: Lenz' Signature 1.7b ::.

| Gentoo Linux since v1.4 (08-2003) [Screenshot]
| NetHack Highscore: 5.476.380 Pts., Val-Dwa-Fem-Law, ~ ascended to demigoddess-hood ~
Back to top
View user's profile Send private message
slick
Bodhisattva
Bodhisattva


Joined: 20 Apr 2003
Posts: 3495

PostPosted: Thu Feb 10, 2005 6:04 pm    Post subject: Reply with quote

Also um die distfiles aufzuräumen exitieren hier im Forum diverse Scripte. Einen Ansatz habe ich aber bisher noch nicht gesehen was ich glaube den Vorstellungen von ChrisM87 am ehesten ensprechen würde.

ein "emerge -pfe world" und das Ergebnis mit den vorhandenen Dateien unter distfiles vergleichen und der Rest kann ins digitale Nirvana... vielleicht hat ja mal einer Lust zu scripten... ;-)
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Thu Feb 10, 2005 6:18 pm    Post subject: Reply with quote

Also ich räume meine distfiles regelmäßig mit einen einfachen schnelle und problemlosen rm /usr/portage/distfiles/ -R auf.

Im seltensten Fall benötige ich ein packet das ich schon mal runtergeladen habe.
Ausnahme sind sinstallationen die groß sind.

Also ich weiß nicht. Aber 8GB distfiles find ich heftig. Und ehrlich gesagt gibts selten abhängikeiten wo er ein sauber installiertes packet nochmals installieren will.

Was ich mache um die Mirrors zu schonen ist, das ich nach einem update die distfiles vom einen zum anderen rechner kopieren und dann dort nochmals aktualisiere. Damit läd er die packete die die rechner gemein aktualisieren nur einmal runter...

Aber ansonsten halte ich es für quatsch unmengen an distfiles aufzubehalten.
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
_hephaistos_
Advocate
Advocate


Joined: 07 Apr 2004
Posts: 2694
Location: salzburg, austria

PostPosted: Thu Feb 10, 2005 6:49 pm    Post subject: Reply with quote

hi!

2 fragen dazu:
/var/db/pkg/ = "registry" von portage >> NICHT LÖSCHEN
ABER: was ist mit /var/cache/edb/dep
hat immerhin 73MB

darf man das löschen?

thx
_________________
-l: signature: command not found
Back to top
View user's profile Send private message
ChrisM87
l33t
l33t


Joined: 07 Aug 2004
Posts: 728
Location: Rheinland-Pfalz (Germany)

PostPosted: Thu Feb 10, 2005 7:04 pm    Post subject: Reply with quote

Hi,

distclean ist mal super, das ist endlich ein richtiges Tool, danke für den Tipp! :)

Das oben gepostete Script scheint leider nicht mit der aktuellen Portageversion kompatibel, zumindest bringt es bei mir Fehler, aber distclean ist echt super, echt! :)

ChrisM
_________________
born to be root - sorry for my bad English!
Back to top
View user's profile Send private message
Mindphaser
Tux's lil' helper
Tux's lil' helper


Joined: 15 Dec 2004
Posts: 113
Location: Germany

PostPosted: Thu Feb 10, 2005 10:00 pm    Post subject: Reply with quote

hephaistos6 wrote:

ABER: was ist mit /var/cache/edb/dep
hat immerhin 73MB

darf man das löschen?


Darfst du, wird aber bei jeden sync neu generiert.
Dort lagert Portage die Metadaten (Portage Cache) zu den ganzen verfügbaren Paketen.
Ich benutze MySQL als DB-Backend für Portage (weil schneller), hab also alles was du in dieser Ordnerstrukur hast in einer MySQL Datenbank, und diese Datenbank ist rund 23MB gross.... viel grösser dürfte das ganze bei dir auch nicht sein, also probier mal folgendes:

Den ganzen Kram löschen (zur Sicherheit vorher in ne tar.bz2 oder sowas sichern, wenn du willst), dann mit "emerge --metadata" ihn den ganzen Kram neu aufbauen lassen.

Nur ne Idee, wenn das garnichts bringt, ich hab mit der Sache nichts zu tun .... :)
Back to top
View user's profile Send private message
moe
Veteran
Veteran


Joined: 28 Mar 2003
Posts: 1289
Location: Potsdam / Germany

PostPosted: Thu Feb 10, 2005 10:26 pm    Post subject: Reply with quote

NightDragon wrote:

Im seltensten Fall benötige ich ein packet das ich schon mal runtergeladen habe.
Ausnahme sind sinstallationen die groß sind.

Diese Logik versteh ich nicht. :lol:

NightDragon wrote:

Und ehrlich gesagt gibts selten abhängikeiten wo er ein sauber installiertes packet nochmals installieren will.

Das nicht, aber bei jedem Revisionsupdate also von foobar-r1 auf foobar-r2 benötigt er dieselbe Datei aus distfiles nochmal..

Meins ist übrigens 7GB gross, wird aber auch von 3+ Rechnern per NFS genutzt.

Gruss Maurice
Back to top
View user's profile Send private message
bröggle
Guru
Guru


Joined: 11 Oct 2004
Posts: 356

PostPosted: Fri Feb 11, 2005 12:43 am    Post subject: Reply with quote

schau dir mal stale an... hab ich gerade im how to fly with gentoo tread gelesen...
Quote:
4- Stale

Interesting script that will help us to keep /usr/portage/distfiles with an optimal size. The script will search in that dir, and delete (when invoked with the --nopretend option) the old files, not the actual ones.
For example, if we have libtool-1.3.5.tar.gz and libtool-1.5.2.tar.gz, it would delete libtool-1.3.5.tar.gz


It gets messed with files like font-arial-iso-8859-1 and font-arial-iso-8859-2, in which the numeration doesn't not correspond to the versioning of the package (the same with gtk and glib in their versions 1.x and 2.x)
More info HERE.

https://forums.gentoo.org/viewtopic.php?t=231170
_________________
where is the n00b section?
Back to top
View user's profile Send private message
c07
Veteran
Veteran


Joined: 25 Oct 2002
Posts: 1091

PostPosted: Fri Feb 11, 2005 2:06 am    Post subject: Re: Gentoo entmüllen Reply with quote

ChrisM87 wrote:
1. /usr/portage/distfiles. Man hat nur die Möglichkeit, entweder radikal alles zu löschen (sehr schlecht) oder ein Script zu benutzen, das allerdings nur nach dem Dateinamen geht oder so alte Versionen erkennt.

Ich hab ein sehr simples Skript, das in $SRC_URI von allen installierten Paketen sucht. Berücksichtigt allerdings keine USE-Flags und ist ziemlich langsam:
Code:
#! /bin/bash

. /etc/make.globals
. /etc/make.conf

prg="/^SRC_URI=/ {
  s/^SRC_URI=//
  s/^\\\$?'(.*)'\$/\\1/
  s/( |\\\\n|\\\\t)+/ /g
  s/(^| )([^ ]+\\?|\\()/ /g
  s/\\)( |\$)/ /g
  s/[^ ]+\\/([^/ ]+( |\$))/\\1/gp
  q}"

cd /var/db/pkg
need=

for pck in */*; do
  for file in `bzcat "$pck/environment.bz2" | sed -nr "$prg"`; do
    found=
    for item in $need; do
      if [[ $item == $file ]]; then found=1; break; fi
      done
    if [[ -z $found ]]; then need="$need $file"; fi
    done
  done

cd "$DISTDIR"
have=

for file in *; do
  if [[ ! -f $file ]]; then continue; fi
  found=; list=
  for item in $need; do
    if [[ $item == $file ]]; then found=1; else list="$list $item"; fi
    done
  need=$list
  if [[ -z $found ]]; then have="$have $file"; fi
  done

echo "### needed (maybe):"
for item in $need; do echo "$item"; done

echo "### not needed:"
for item in $have; do echo "$item"; done

Gibt zwei Listen aus: Die Erste sind Dateien, die bei einem Re-Emerge fehlen könnten; die Zweite sind Dateien, die vorhanden sind, aber von keinem Paket mehr benötigt werden. Das Skript so anzupassen, dass Letztere automatisch gelöscht werden, ist ziemlich trivial (ich behalt manche davon trotzdem noch einige Zeit, falls ich downgraden muss, oder die Kernel, die man später als linux-headers recyclen kann).

hephaistos6 wrote:
was ist mit /var/cache/edb/dep

Nach FHS muss man /var/cache immer problemlos löschen können, und seit 2.0.51 hat Portage zumindest eine rudimentäre FHS-Konformität. Bug 50200 ist allerdings nicht wirklich gefixt. Z.B. hat der Log-Counter nichts in /var/cache verloren. Aber /var/cache/edb/dep sollte man problemlos löschen können.
Back to top
View user's profile Send private message
timbo2k
n00b
n00b


Joined: 05 May 2004
Posts: 70

PostPosted: Fri Feb 11, 2005 11:02 am    Post subject: Grundsatzfrage Reply with quote

Hi,

zu dem Thema habe ich mal eine Grundsatzfrage. Ist es überhaupt möglich ein System komplett sauber zu halten?

Ich meine auf der einen Seite kann ich den ganzen Portage Kram (distfiles, etc.) von Hand und per Script prima sauber halten. Ich frage mich aber immer, ob auch wirklich alle zu einem Paket gehörigen Dateien beim löschen auch wirklich entfernt werden. Ich bin da immer sehr skeptisch und glaube immer, dass ich nach vielen vielen Update Vorgängen extrem viele Dateileichen auf meinem System habe. Wo merkt sich Protage beim installieren welche Dateien wo liegen? Ansonsten werden beim löschen die Configs auch behalten obwohl man hier auch angeben kann, dass diese mit gelöscht werden sollen. Mir war aber so, dass man gerade das nicht global einstellen konnte oder? Sonst habe ich aber bei Gentoo ein sehr gutes Gefühl weil ich es extrem transparent finde im Vergleich.

Gruß, Tim
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Fri Feb 11, 2005 12:22 pm    Post subject: Reply with quote

Hm... Wäre ja cool wenn wir die ganzen Ideen und Punkte mal zusammenfassen oder so.
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
c07
Veteran
Veteran


Joined: 25 Oct 2002
Posts: 1091

PostPosted: Fri Feb 11, 2005 12:30 pm    Post subject: Re: Grundsatzfrage Reply with quote

timbo2k wrote:
Wo merkt sich Protage beim installieren welche Dateien wo liegen?

In /var/db/pkg/*/*/CONTENTS mit Timestamp und MD5-Summe. Später veränderte Dateien (z.B. durch fix_libtool_files.sh) werden nie mehr deinstalliert.
Back to top
View user's profile Send private message
NightDragon
Veteran
Veteran


Joined: 21 Aug 2004
Posts: 1156
Location: Vienna (Austria)

PostPosted: Fri Feb 11, 2005 12:36 pm    Post subject: Reply with quote

Und wie wird man dann die Dateien los die das fixlibtools behandelt hat?
Ich denke nämlich, das ist ne ganze Reihe von Files.
_________________
You are the problem too all my solutions ;)
Back to top
View user's profile Send private message
Mindphaser
Tux's lil' helper
Tux's lil' helper


Joined: 15 Dec 2004
Posts: 113
Location: Germany

PostPosted: Fri Feb 11, 2005 4:07 pm    Post subject: Reply with quote

Ich benutze für sowas das Script findcruft. Beim durchsehen der Liste tauchen leider sehr viele Dateien auf, die schon ihren Sinn und Zweck haben... von daher ist Handarbeit angesagt, Files die z.B. in /usr/bin oder /usr/lib als Müll identifiziert werden, kann man eigentlich immer löschen, ist eigentlich überall so, nur bei /var/* und /etc/* wär ich vorsichtig...

Ist vielleicht etwas Zeitaufwendig, dafür ist das System aber wieder sauberer...reicht auch wenn man das nur alle paar Monate macht.
Back to top
View user's profile Send private message
schachti
Advocate
Advocate


Joined: 28 Jul 2003
Posts: 3765
Location: Gifhorn, Germany

PostPosted: Sat Feb 12, 2005 8:05 am    Post subject: Reply with quote

Lenz wrote:

Das Skript distclean funktioniert doch wunderbar, um /usr/portage/distfiles aufzuräumen.


Wo gibbet das denn?

Code:

kiste root # emerge -S distclean
Searching...
[ Results for search key : distclean ]
[ Applications found : 0 ]
Back to top
View user's profile Send private message
ChrisM87
l33t
l33t


Joined: 07 Aug 2004
Posts: 728
Location: Rheinland-Pfalz (Germany)

PostPosted: Sat Feb 12, 2005 11:11 am    Post subject: Reply with quote

Hi,

hier im Forum....

Wie schon gesagt, wäre es aber mal eine Überlegung werd, ein größeres Cruft-Finding-Tool zu programmieren, das eine Onlinedatenbank verwendet. So gäbe es kaum noch Falschmeldung, wenn zumindest einige User den Datenbestand aktuell halten.

ChrisM
_________________
born to be root - sorry for my bad English!
Back to top
View user's profile Send private message
MaGPiE
n00b
n00b


Joined: 31 Oct 2004
Posts: 5

PostPosted: Sat Feb 12, 2005 11:54 am    Post subject: Reply with quote

schachti wrote:
Lenz wrote:

Das Skript distclean funktioniert doch wunderbar, um /usr/portage/distfiles aufzuräumen.


Wo gibbet das denn?

Code:

kiste root # emerge -S distclean
Searching...
[ Results for search key : distclean ]
[ Applications found : 0 ]


Gibt es hier: http://www.stacken.kth.se/~foo/gentoo/files/.

Und hier ist der Forum Beitrag zu finden.
https://forums.gentoo.org/viewtopic.php?t=3011
Back to top
View user's profile Send private message
flammenflitzer
Advocate
Advocate


Joined: 25 Nov 2003
Posts: 3541
Location: Berlin

PostPosted: Tue Oct 25, 2005 8:21 pm    Post subject: Reply with quote

fuchur wrote:
hi

Quote:

1. /usr/portage/distfiles. Man hat nur die Möglichkeit, entweder radikal alles zu löschen (sehr schlecht) oder ein Script zu benutzen, das allerdings nur nach dem Dateinamen geht oder so alte Versionen erkennt. So wird dann z.B. GTK 1 gelöscht, aber uralte Sourcen, die man längst wieder deinstalliert hat, werden belassen.


Hier kann ich dir weiterhelfen. Bei diesem Script must du
zusätzlich ankreutzen welche von den nicht mehr benötigten
distfiles du löschen möchtest. Läuft bei mir ca. ein Jahr
ohne probleme übernehme aber keine garantie ;)

Code:

#!/bin/sh
# /usr/local/bin/cleanportage: cleans distdir pkgdir

# Makes sure gentoolkit and dialog is installed
#
QPKG=/usr/bin/qpkg
DIALOG=/usr/bin/dialog

......


         echo -e "\e[0m"
      ;;
   esac
   
   #MAINDIALOG
   exit 1
}

MAINDIALOG



mfg


Ich habe dieses Script unter clear gespeichert.
Code:

./clear
./clear: line 27: /usr/portage/distfiles: is a directory

 * Please verify the following settings in
/etc/make.conf:
 * PORTDIR, DISTDIR, PKGDIR, PORTDIR_OVERLAY


Code:

PORTDIR=/usr/portage
DISTDIR=/usr/portage/distfiles
PKGDIR=/usr/portage/packages
PORTDIR_OVERLAY="/usr/local/overlays/gentoo-de /usr/local/overlays/local /usr/local/overlays/bmg-main"
#PORTDIR_OVERLAY=/usr/local/overlays


Wo liegt der Fehler?
Back to top
View user's profile Send private message
fuchur
Guru
Guru


Joined: 12 Aug 2003
Posts: 578

PostPosted: Tue Oct 25, 2005 9:26 pm    Post subject: Reply with quote

@ flammenflitzer
Quote:

....
....
Wo liegt der Fehler?


Ich habe das script geschrieben als portage noch nicht mit mehreren einträgen in "PORTDIR_OVERLAY" umgehen konnte.
Daher bei dir die fehlermeldung denke ich.

Ich habe das script oben geändert solte nun funktionieren.

mfg
Back to top
View user's profile Send private message
mrsteven
Veteran
Veteran


Joined: 04 Jul 2003
Posts: 1939

PostPosted: Wed Oct 26, 2005 12:43 pm    Post subject: Reply with quote

Ich habe einen Cronjob in /etc/cron.daily, der tmpwatch verwendet. Alle Distfiles, die seit 6 Monaten nicht mehr verändert wurden, werden entsorgt:
Code:
if [[ -d /usr/portage/distfiles ]]; then
   /usr/sbin/tmpwatch --mtime --fuser 4320 /usr/portage/distfiles
fi
Back to top
View user's profile Send private message
Yonathan
l33t
l33t


Joined: 05 Jan 2005
Posts: 662

PostPosted: Sun Oct 30, 2005 9:39 pm    Post subject: Reply with quote

hiho...

ich habe dieses skript da oben von fuchur in /usr/local/bin/cleanportage gespeichert. habe die rechte auf:
Code:
-rwxr-xr-x  1 root root 8432 30. Okt 22:25 cleanportage


aber wie kann ich es ausführen? .cleanportage oder einfach nur cleanportage funktionieren nicht :(

lg. yona
_________________
Athlon XP+ 2400 Thunderbird,
Abit NF7
1536MB DDR (266),
Radeon 9200 (256mb)
gentoo 2.6.19-r5
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) All times are GMT
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum