Sie sind nicht angemeldet.

1

20.03.2012, 09:44

Verständisfrage plattenplatzschonender Umgang von emerge

Ok, der Titel "hört sich etwas schräg an, aber gemeint ist folgendes: Ich bin ja dabei meine ersten Gehversuche mit gentoo auf einer VM zu bewerkstelligen. Der VM habe ich naiv und leichtsinnig "nur" 15 GB gegönnt. Meiner bisherigen Erfahrung nach hat das bei Linux-System die ich auf VMs installiert hatte, immer ausgereicht. Jetzt merke ich, dass gentoo ganz schön Plattenplatz frisst, Nach der Grundinstallation und der Installation von kde-meta, und Aufräumarbeiten (nach einem Artikel, den ich hier gefunden habe) sieht es bereits so aus(df -h):

Quellcode

1
2
3
4
5
6
7
rootfs          7.9G  4.8G  2.7G  65% /
udev             10M  228K  9.8M   3% /dev
/dev/sda3       7.9G  4.8G  2.7G  65% /
rc-svcdir       1.0M   64K  960K   7% /lib64/rc/init.d
cgroup_root      10M     0   10M   0% /sys/fs/cgroup
shm             1.5G     0  1.5G   0% /dev/shm
/dev/sda4       4.5G  161M  4.1G   4% /home


D.h. es sind in root-Verzeichnis schon 5 GB verballert worden. Wofür? zum Vergleich: das System mit dem ich "produktiv" bin, auf dem KDE, gnome und xfce, Libre Office, Eclipse und jede Menge anderer tolle Pakete, installiert sind hat gerade mal 8 GB. Ich habe eine VM mit Debian, da hat die gesamte "Platte" nur knapp 4GB (echter Verbrauch). Ich beschwere mich nicht, sondern ich wundere mich nur.
Wie auch immer: Nun wollte ich Firefox installieren, dass scheitert daran, dass der VM in den letzten Zügen des Kompilierens der Platz ausgeht. Daher meine Fragen:
  1. Kann man bei der Installation bestimmter Pakete das Builddir manuell umbiegen, zB auf eine andere Partition oder externe Festplatte? Ich denke, LO auf der VM zu installieren lasse ich erstmal sein! :D
  2. Gibt es eine Einstellung bei der plattenplatzschonender "gebuildet" wird?

2

20.03.2012, 10:09

Der meiste Platz ist unter /usr/portage/distfiles. Dort landen die runtergeladenen Sources.Prüfe mal wie viel das an Platz "frisst"

Quellcode

1
du -sh /usr/portage/distfiles/

Du kannst zwischendurch immer den Inhalt des Ordners leeren. Falls was nochmal benötigt wird, wird es dann erneut runtergeladen.

Bei einer VM kannst Du ja eine weitere Platten reinhängen und formattieren. Diese kannst Du dann als /var/tmp (Dort wird gebaut) und als /usr/portage in die /etc/fstab eintragen. Vorher natürlich diese Verzeichnisse leeren damit der Platz freigegeben ist.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

3

20.03.2012, 11:50

Bei einer VM kannst Du ja eine weitere Platten reinhängen und formattieren. Diese kannst Du dann als /var/tmp

Ja, das kann man machen (und habe ich jetzt auch gemacht, Firefox wird wieder kompiliert), aber es löst nur das konkrete Problem. Wie ist das im echten Leben? Wenn ich mal nicht eben eine virtuelle Platte dranstöpseln kann. Ich denke dabei z.B. an Netbooks, wo die Platten auch nicht groß sind und sich der Platz vielleicht noch geteilt wird mit einer Win-Installation. Gibt es da einen Plan B? Deshalb ja meine Frage, ob ich den Pfad zum Builddir bei einer Installation umbiegen kann.

4

20.03.2012, 12:11

Du kannst es mit

Quellcode

1
PORTAGE_TMPDIR=/verzeichnis/mit/viel/platz/ emerge irgendwas
versuchen.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

5

20.03.2012, 15:50

Hm, statt die distfiles einfach komplett zu löschen schaue dir bitte auch

Quellcode

1
# eclean --help
an. Damit lassen sich zb gezielt nur die distfiles entfernen die für einen rebuild der aktuell installierten Pakete nicht mehr benötigt würden - das spart Traffic da nicht jedes mal beim rebuild (zb beim USE-Flag Wechsel) erneut die Sources heruntergeladen werden müssten. Zudem schont es auch die Server ;)
Nutze zum bereinigen zb etwas wie

Quellcode

1
# eclean -d distfiles
:)

.............................................
Und ja, Verzeichnisse wie zb PORTAGE_TMPDIR und DISTDIR lassen sich bei bedarf auch einfach auslagern - entweder wie von bell schon genannt temporär dem emerge Befehl mitgegeben, oder aber auch dauerhaft in der /etc/make.conf setzen.
Die aktuell von portage verwendeten Pfade kann man sich zb am einfachsten in der "emerge --info" Ausgabe anschauen - also zb via

Quellcode

1
emerge --info | grep PORTAGE_TMPDIR
usw

/edit
Vom auslagern dieser von portage verwendeten Verzeichnisse via NFS sollte aber aktuell eher abgesehen werden - das klappt wegen der hartlinks zZt nur bedingt...

Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »josef.95« (20.03.2012, 15:57)


6

20.03.2012, 16:21

Auslagern auf zB. eine NTFS-formattierte USB Festplatte wäre auch keine gute Idee. Es muss schon ein Linux-Dateisystem sein.
Auch wenn Open-Source kostenlos ist, ist sie nicht umsonst. Dein Preis ist Dein Engagement und Mitarbeit an OS-Projekten.
Wenn Du keinen Preis bezahlen willst, bist Du die Ware. Und das ist nicht Open Source, geschweigedenn frei.

7

20.03.2012, 16:51

Danke Euch für die Hinweise, habe jetzt testweise den Tipp von bell ausprobiert (setzen von PORTAGE_TMPDIR) für eine bestimmte Installation (emerge). Hat soweit funktioniert,

Auslagern auf zB. eine NTFS-formattierte USB Festplatte wäre auch keine gute Idee. Es muss schon ein Linux-Dateisystem sein.

hmm, ok. Das erschwert die Angelegenheit wieder etwas. Da man eigentlich so eine externe Festplatte schnell zu Hand hätte. Ich habe bisher keine von denen umformatiert.

8

20.03.2012, 20:49

Wenn du den parameter permanent setzen möchtest, kannst du ihn in die make.conf eintragen.
Auf meinem Desktop System belegt Gentoo mit den distfiles 32GB, auf meinem Laptop glaube ich ca 25GB.
Ich habe auf dem Desktop recht viel installiert, aber für ein durchschnittliches Desktopsystem würde ich nicht weniger als 30GB partitionieren, wenn man nicht ständig mit dem Rücken an der Wand stehen will.
Und die Sourcen löschen geht zwar, ist aber eigentlich keine feine Lösung. Gut, wenn man eine sehr schnelle Leitung hat, ist es quasi egal.
Ich möchte auch erwähnen, dass die meisten Dateisysteme zum starken fragmentieren drohen, wenn sie sehr voll sind. Korrigiert mich, wenn das Käse ist.

Gruß
Foyaxe

9

22.03.2012, 06:33

Hm, also ich lösche seit Jahren die distfiles nach einem feinen update raus. Das ist im Grunde kein Problem, da die meisten packages relativ klein sein.

Bin ich mir mal unsicher, dann mache ich ein quickpkg bevor ich "schwere Brocken" durch neue, vlt. instable ersetze. Diese "schwere Brocken" sind i.d.R. libreoffice, firefox, chromium.

Der Rest geht eigentlich ratz-fatz. Nach einem emerge brauche ich die distfiles nicht mehr.
http://www.dyle.org
IM-Account (Jabber!) sind auf meiner HP ...
There is no place like /home

http://www.gentooforum.de
http://www.gentoofreunde.org

<div>how to annoy a web developer?</span>