Aufgrund der ständigen Weiterentwicklung von FreeBSD kann es
dazu kommen, dass Dateien (und deren Inhalte) obsolet werden, weil
deren Funktionalität entweder in anderen Dateien implementiert
wurde, sich die Versionsnummer der Bibliothek geändert hat
oder deren Funktion nicht mehr benötigt wird. Dies kann
sowohl Dateien und Verzeichnis, aber auch Bibliotheken betreffen.
Diese veralteten Dateien sollten daher entfernt werden, bevor Sie
Ihr System aktualisieren. Der Vorteil für den Benutzer ist
darin zu sehen, dass dessen System (sowie dessen Backup) von
nicht mehr benötigten Dateien gereinigt wird. Falls die
obsolete Bibliothek Sicherheits- oder Stabilitätsprobleme
aufweist, sollte das System ebenfalls aktualisiert werden, um
Ihr System sicher zu halten und/oder durch die fehlerhafte
Bibliothek verursachte Systemabstürze zu vermeiden. Veraltete
Dateien, Verzeichnisse und Bibliotheken sind in der Datei
/usr/src/ObsoleteFiles.inc
aufgelistet. Die
folgenden Anweisungen sollen Ihnen dabei helfen, diese Dateien
während der Systemaktualisierung zu entfernen.
Im Folgenden wird angenommen, dass Sie den Anweisungen von
Abschnitt 25.7.1, „Richtig aktualisieren“ folgen. Nachdem Sie
make
sowie installworld
mergemaster
erfolgreich ausgeführt
haben, sollten Sie Ihr System auf veraltete Dateien und
Bibliotheken hin überprüfen:
#
cd /usr/src
#
make check-old
Werden dabei veraltete Dateien gefunden, können diese im nächsten Schritt entfernt werden:
#
make delete-old
Weitere interessante Targets finden sich in der Datei
/usr/src/Makefile
.
Bei jeder Datei wird nachgefragt, ob Sie diese wirklich
löschen wollen. Es ist aber auch möglich, alle
Dateien automatisch löschen zu lassen. Dies erreichen Sie,
indem Sie die Umgebungsvariable
BATCH_DELETE_OLD_FILES
entsprechend
setzen:
#
make -DBATCH_DELETE_OLD_FILES delete-old
Alternativ können Sie auch den folgenden Befehl
einsetzen (und jeweils die Antwort yes
an die einzelnen Abfragen weiterreichen):
#
yes | make delete-old
Das Löschen veralteter Dateien kann dazu führen,
dass Programme, die auf diese Dateien angewiesen sind, nicht mehr
funktionieren. Dies gilt insbesondere für veraltete
Bibliotheken. In den meisten Fällen ist es dann notwendig,
Programme, Ports und Bibliotheken, welche die veraltete
Bibliothek verwenden, neu zu bauen, bevor Sie den Befehl
make
ausführen.delete-old-libs
Die Ports-Sammlung enthält Werkzeuge, die Ihnen beim
Prüfen von Bibliothek-Abhängigkeiten helfen können:
sysutils/libchk
sowie sysutils/bsdadminscripts
.
Veraltete Bibliotheken können zu Konflikten mit neueren Bibliotheken führen und beispielsweise folgende Meldungen verursachen:
Um diese Probleme zu lösen, müssen Sie zuerst herausfinden, welcher Port die Bibliothek installiert hat:
#
pkg_info -W /usr/local/lib/libtiff.so
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
#
pkg_info -W /usr/local/lib/libXext.so
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1Danach deinstallieren Sie den Port und bauen ihn neu, um ihn
danach erneut zu installieren. Dieser Vorgang kann durch den
Einsatz der Werkzeuge ports-mgmt/portmaster
oder ports-mgmt/portupgrade
automatisiert
werden. Nachdem Sie alle Ports erfolgreich neu gebaut haben
(und Sie daher keine veralteten Bibliotheken mehr verwenden)
können Sie die veralteten Bibliotheken endgültig
entfernen:
#
make delete-old-libs
Wenn Sie Fragen zu FreeBSD haben, schicken Sie eine E-Mail an
<de-bsd-questions@de.FreeBSD.org>.
Wenn Sie Fragen zu dieser Dokumentation haben, schicken Sie eine E-Mail an
<de-bsd-translators@de.FreeBSD.org>.