🇩🇪 Deutsch

01 May 2024

Gentoo: Festplattenplatz freischaufeln

Die Art und Weise, wie Gentoo gebaut ist, sorgt dafuer, dass viel Speicherplatz durch alte Source-Files und Bibliotheken belegt wird, die nicht mehr gebraucht werden. Hier gilt es, einmal durchzukärchern.

das gesamte System aktualisieren

  • Lokale Portage-Ebuilds mit den aktuellen Master-Portage-Ebuilds synchronisieren
emerge --sync
  • make.conf editieren: Python-Versionen, PHP-Versionen, Ruby-Versionen aktualisieren!
  • Welche Versionen gerade aktuell sind / funktionieren: der Gentoo-Webseite entnehmen, Trial und Error oder equery benutzen.
vi /etc/portage/make.conf 
  • Anzeigen, was jezt geändert / aktualisiert würde
emerge --pretend --deep --update --newuse --backtrack=100 --with-bdeps=y @world
  • eventuelle probleme loesen, z b. durch unmergen verschiedenener blockierender Pakete, die man danach wieder emergend wenn das Update ANSICH durch ist


  • und los gehts mit dem Update - kann sehr lange dauern …
emerge --deep --update --newuse --backtrack=100 --with-bdeps=y @world


Preserved-Rebuild, Depclean

Hier wird jetzt richtig Speicher frei! Beachte: Preserved-Rebuild und Depclean zeigen an, wenn bei der obigen Update-Prozedur etwas nicht geklappt hat. Evtl. sind Nacharbeiten nötig.

# emerge @preserved-rebuild
...
...

# emerge --depclean

>>> 'Selected' packages are slated for removal.
>>> 'Protected' and 'omitted' packages will not be removed.

>>> Waiting 5 seconds before starting...
>>> (Control-C to abort)...
>>> Unmerging in: 5 4 3 2 1
>>> Unmerging (1 of 345) x11-libs/wxGTK-3.0.5.1-r1...
...
>>> Unmerging (46 of 345) media-libs/librosprite-0.1.3-r1...
>>> Unmerging (47 of 345) media-libs/libpagemaker-0.0.4-r1...
>>> Unmerging (48 of 345) media-libs/libnspsl-0.1.3-r1...
...
...
  • mehrere GB werden frei \o/ bei mir waren es 13 GB(!!!)


Distfiles cleanen

  • Running eclean-dist will remove the source code archives that do not belong to any available ebuild anymore.
# eclean-dist
[...]

 [  859.1 K ] webrtc-audio-processing-1.3.tar.gz
 [    2.9 M ] xz-5.6.1.tar.gz
 ===========
 [    6.6 G ] Total space from 25 files were freed in the distfiles directory
  • The –deep option can be added to make eclean-dist remove source code archives that do not belong to an installed ebuild.
    • cleans distfiles from older versions of installed packages
# eclean-dist --deep
[...]]
 
 [    5.5 M ] yt-dlp-2024.11.04.tar.gz
 [    1.2 M ] zlib-1.3.tar.xz
 [  870.2 K ] zxing-cpp-2.2.1.tar.gz
 [    1.1 M ] zziplib-0.13.72.tar.gz
 ===========
 [    3.7 G ] Total space from 378 files were freed in the distfiles directory

tmp cleanen

fehmarn ~ # cd /var/tmp/portage/
fehmarn /var/tmp/portage # rm -rf *

Unbenutzte Kernels und Kernel Sourcen cleanen

Abgesehen von den Automaten, auch mal nach /usr/src schauen

# eclean-kernel -l
other 6.6.10-gentoo-x86_64 [None]
- systemmap: /boot/System.map-6.6.10-gentoo-x86_64
- modules: /lib/modules/6.6.10-gentoo-x86_64
- build: /usr/src/linux-6.6.10-gentoo
- last modified: 2024-01-06 19:08:49
other 6.6.6-gentoo-x86_64 [6.6.6-gentoo-x86_64]
- systemmap: /boot/System.map-6.6.6-gentoo-x86_64
- initramfs: /boot/initramfs-6.6.6-gentoo-x86_64.img
- vmlinuz: /boot/vmlinuz-6.6.6-gentoo-x86_64
- modules: /lib/modules/6.6.6-gentoo-x86_64
- build: /usr/src/linux-6.6.6-gentoo
- last modified: 2024-01-10 06:30:29
other 6.1.19-gentoo-x86_64 [6.1.19-gentoo-x86_64]
- systemmap: /boot/System.map-6.1.19-gentoo-x86_64
- initramfs: /boot/initramfs-6.1.19-gentoo-x86_64.img
- vmlinuz: /boot/vmlinuz-6.1.19-gentoo-x86_64
- modules: /lib/modules/6.1.19-gentoo-x86_64
- build: /usr/src/linux-6.1.19-gentoo
- last modified: 2023-04-12 14:33:34

Unmergen unbenutzer Kernel-Sources

# emerge --unmerge gentoo-sources-6.1.19

oder

fehmarn ~ # ls /usr/src/
...
emerge --ask --depclean gentoo-sources:5.15.75
emerge --ask --depclean gentoo-sources:6.6.58

Kontrollieren, obs geklappt hat

cd /usr/src
/usr/src # ls
linux  linux-4.4.164-gentoo  linux-5.15.75-gentoo  linux-6.6.6-gentoo

Kernels Manuell loeschen

Alles nochmal kontrollieren

in /usr/src, /lib/modules, /boot

cd /boot/
ls
rm System.map-6.1.19-gentoo-x86_64
rm vmlinuz-6.1.19-gentoo-x86_64
rm initramfs-6.1.19-gentoo-x86_64.img
rm System.map-6.6.10-gentoo-x86_64

cd /lib/modules/
ls
rm -rf 6.1.19-gentoo-x86_64
rm -rf 6.6.10-gentoo-x86_64

cd /usr/src/
rm -rf linux-6.1.19-gentoo linux-6.6.10-gentoo

Grub Config neu erstellen

grub-mkconfig -o /boot/grub/grub.cfg
Generating grub configuration file ...
Found linux image: /boot/vmlinuz-6.6.6-gentoo-x86_64
Found initrd image: /boot/initramfs-6.6.6-gentoo-x86_64.img
Found linux image: /boot/vmlinuz-5.15.75-gentoo-x86_64
Found initrd image: /boot/initramfs-5.15.75-gentoo-x86_64.img
Found linux image: /boot/vmlinuz-4.4.164-gentoo

Find Cruft Skript verwenden

  • Auf eigenes Risko!
https://github.com/vaeth/find_cruft