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