Update to 41772:
Removing old files is not an optional step on updating and upgrading FreeBSD. Reflect this by merging make delete-old section into the updating section.
This commit is contained in:
parent
f28ec6a08f
commit
2418dc4744
Notes:
svn2git
2020-12-08 03:00:23 +00:00
svn path=/head/; revision=48974
1 changed files with 124 additions and 113 deletions
|
|
@ -5,7 +5,7 @@
|
|||
|
||||
$FreeBSD$
|
||||
$FreeBSDde$
|
||||
basiert auf: r41776
|
||||
basiert auf: r41772
|
||||
-->
|
||||
<chapter xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" version="5.0" xml:id="updating-upgrading">
|
||||
<info><title>&os; aktualisieren</title>
|
||||
|
|
@ -2771,6 +2771,82 @@ Script done, …</screen>
|
|||
</sect3>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="make-delete-old">
|
||||
<info>
|
||||
<title>Veraltete Dateien, Verzeichnisse und Bibliotheken
|
||||
löschen</title>
|
||||
|
||||
<authorgroup>
|
||||
<author>
|
||||
<personname>
|
||||
<firstname>Anton</firstname>
|
||||
<surname>Shterenlikht</surname>
|
||||
</personname>
|
||||
<contrib>Basiert auf Notizen von </contrib>
|
||||
</author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
|
||||
<indexterm>
|
||||
<primary>Veraltete Dateien, Verzeichnisse und Bibliotheken
|
||||
löschen</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Aufgrund der ständigen Weiterentwicklung von &os; 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 Verzeichnisse, aber auch
|
||||
Bibliotheken betreffen. Diese veralteten Dateien sollten
|
||||
daher entfernt werden, wenn das System aktualisiert wird. Der
|
||||
Vorteil besteht darin, dass das System von nicht mehr
|
||||
benötigten Dateien befreit wird. Falls die obsolete
|
||||
Bibliothek Sicherheits- oder Stabilitätsprobleme aufweist,
|
||||
sollte das System ebenfalls aktualisiert werden, um das System
|
||||
sicher zu halten und/oder durch die fehlerhafte Bibliothek
|
||||
verursachte Systemabstürze zu vermeiden. Veraltete Dateien,
|
||||
Verzeichnisse und Bibliotheken sind in
|
||||
<filename>/usr/src/ObsoleteFiles.inc</filename> aufgelistet.
|
||||
Verwenden Sie die folgenden Anweisungen, um diese Dateien
|
||||
während der Systemaktualisierung zu entfernen.</para>
|
||||
|
||||
<para>Folgen Sie den Anweisungen in <xref
|
||||
linkend="canonical-build"/>. Nachdem Sie
|
||||
<command>make installworld</command> sowie
|
||||
<command>mergemaster</command> erfolgreich ausgeführt haben,
|
||||
überprüfen Sie das System auf veraltete Dateien und
|
||||
Bibliotheken:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||
&prompt.root; <userinput>make check-old</userinput></screen>
|
||||
|
||||
<para>Werden dabei veraltete Dateien gefunden, können diese
|
||||
mit dem folgenden Kommando entfernt werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
|
||||
|
||||
<tip>
|
||||
<para>Weitere interessante
|
||||
<foreignphrase>targets</foreignphrase> finden Sie in
|
||||
<filename>/usr/src/Makefile</filename>.</para>
|
||||
</tip>
|
||||
|
||||
<para>Bei jeder Datei wird nachgefragt, ob diese wirklich
|
||||
gelöscht werden soll. Es ist aber auch möglich, alle
|
||||
Dateien automatisch löschen zu lassen. Dies erreichen Sie,
|
||||
indem Sie die Umgebungsvariable
|
||||
<varname>BATCH_DELETE_OLD_FILES</varname> setzen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
|
||||
|
||||
<para>Alternativ können Sie auch <command>yes</command>
|
||||
einsetzen und somit die Antwort <literal>yes</literal>
|
||||
an die einzelnen Abfragen weiterreichen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>yes | make delete-old</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2 xml:id="updating-upgrading-rebooting">
|
||||
<title>Das System neu starten</title>
|
||||
|
||||
|
|
@ -2779,6 +2855,52 @@ Script done, …</screen>
|
|||
&man.shutdown.8; neu:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>shutdown -r now</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
<sect2>
|
||||
<title>Löschen von veralteten Bibliotheken</title>
|
||||
|
||||
<warning>
|
||||
<title>Warnung</title>
|
||||
|
||||
<para>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
|
||||
<command>make delete-old-libs</command> ausführen.</para>
|
||||
</warning>
|
||||
|
||||
<para>Die Ports-Sammlung enthält Werkzeuge, die
|
||||
Bibliothek-Abhängigkeiten prüfen können:
|
||||
<package>sysutils/libchk</package>
|
||||
sowie <package>sysutils/bsdadminscripts</package>.</para>
|
||||
|
||||
<para>Veraltete Bibliotheken können zu Konflikten mit neueren
|
||||
Bibliotheken führen und beispielsweise folgende
|
||||
Meldungen verursachen:</para>
|
||||
|
||||
<screen>/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
|
||||
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5</screen>
|
||||
|
||||
<para>Um diese Probleme zu lösen, müssen Sie zuerst
|
||||
herausfinden, welcher Port die Bibliothek installiert
|
||||
hat:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg which /usr/local/lib/libtiff.so</userinput>
|
||||
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
|
||||
&prompt.root; <userinput>pkg which /usr/local/lib/libXext.so</userinput>
|
||||
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
|
||||
|
||||
<para>Danach deinstallieren Sie den Port und bauen ihn neu, um
|
||||
ihn danach erneut zu installieren. Dieser Vorgang kann durch
|
||||
den Einsatz von <package>ports-mgmt/portmaster</package>
|
||||
automatisiert werden. Nachdem alle Ports neu gebaut wurden
|
||||
und keine alten alten Bibliotheken mehr verwenden werden,
|
||||
können Sie die alten Bibliotheken endgültig entfernen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
|
||||
|
||||
<para>Herzlichen Glückwunsch! Sie haben gerade erfolgreich ein
|
||||
&os; System aktualisiert.</para>
|
||||
|
|
@ -2791,7 +2913,7 @@ Script done, …</screen>
|
|||
kann das Problem mit dem folgenden Kommando behoben
|
||||
werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>
|
||||
<screen>&prompt.root; <userinput>cd /usr/src/usr.bin/file</userinput>
|
||||
&prompt.root; <userinput>make all install</userinput></screen>
|
||||
</sect2>
|
||||
|
||||
|
|
@ -3076,117 +3198,6 @@ Building everything..
|
|||
</sect2>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="make-delete-old">
|
||||
<info><title>Veraltete Dateien, Verzeichnisse und Bibliotheken
|
||||
löschen</title>
|
||||
<authorgroup>
|
||||
<author><personname><firstname>Anton</firstname><surname>Shterenlikht</surname></personname><contrib>Basiert auf Notizen von </contrib></author>
|
||||
</authorgroup>
|
||||
</info>
|
||||
|
||||
|
||||
<indexterm>
|
||||
<primary>Veraltete Dateien, Verzeichnisse und Bibliotheken
|
||||
löschen</primary>
|
||||
</indexterm>
|
||||
|
||||
<para>Aufgrund der ständigen Weiterentwicklung von &os; 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 Verzeichnisse, aber auch Bibliotheken
|
||||
betreffen. Diese veralteten Dateien sollten daher entfernt
|
||||
werden, wenn das System aktualisiert wird. Der Vorteil besteht
|
||||
darin, dass das System von nicht mehr benötigten Dateien
|
||||
befreit wird. Falls die obsolete Bibliothek Sicherheits- oder
|
||||
Stabilitätsprobleme aufweist, sollte das System ebenfalls
|
||||
aktualisiert werden, um das System sicher zu halten und/oder
|
||||
durch die fehlerhafte Bibliothek verursachte Systemabstürze zu
|
||||
vermeiden. Veraltete Dateien, Verzeichnisse und Bibliotheken
|
||||
sind in der Datei
|
||||
<filename>/usr/src/ObsoleteFiles.inc</filename> aufgelistet.
|
||||
Verwenden Sie die folgenden Anweisungen, um diese Dateien
|
||||
während der Systemaktualisierung zu entfernen.</para>
|
||||
|
||||
<para>Folgen Sie den Anweisungen von
|
||||
<xref linkend="canonical-build"/>. Nachdem Sie
|
||||
<command>make installworld</command>
|
||||
sowie <command>mergemaster</command> erfolgreich ausgeführt
|
||||
haben, überprüfen Sie das System auf veraltete Dateien und
|
||||
Bibliotheken:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>cd /usr/src</userinput>
|
||||
&prompt.root; <userinput>make check-old</userinput></screen>
|
||||
|
||||
<para>Werden dabei veraltete Dateien gefunden, können diese
|
||||
mit dem folgenden Kommando entfernt werden:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old</userinput></screen>
|
||||
|
||||
<tip>
|
||||
<para>Weitere interessante
|
||||
<foreignphrase>targets</foreignphrase> finden Sie in
|
||||
<filename>/usr/src/Makefile</filename>.</para>
|
||||
</tip>
|
||||
|
||||
<para>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
|
||||
<varname>BATCH_DELETE_OLD_FILES</varname> setzen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make -DBATCH_DELETE_OLD_FILES delete-old</userinput></screen>
|
||||
|
||||
<para>Alternativ können Sie auch <command>yes</command>
|
||||
einsetzen und somit die Antwort <literal>yes</literal>
|
||||
an die einzelnen Abfragen weiterreichen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>yes | make delete-old</userinput></screen>
|
||||
|
||||
<warning>
|
||||
<title>Warnung</title>
|
||||
<para>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
|
||||
<command>make
|
||||
delete-old-libs</command>
|
||||
ausführen.</para>
|
||||
</warning>
|
||||
|
||||
<para>Die Ports-Sammlung enthält Werkzeuge, die Ihnen beim
|
||||
Prüfen von Bibliothek-Abhängigkeiten helfen können:
|
||||
<package>sysutils/libchk</package>
|
||||
sowie <package>sysutils/bsdadminscripts</package>.</para>
|
||||
|
||||
<para>Veraltete Bibliotheken können zu Konflikten mit neueren
|
||||
Bibliotheken führen und beispielsweise folgende
|
||||
Meldungen verursachen:</para>
|
||||
|
||||
<screen>/usr/bin/ld: warning: libz.so.4, needed by /usr/local/lib/libtiff.so, may conflict with libz.so.5
|
||||
/usr/bin/ld: warning: librpcsvc.so.4, needed by /usr/local/lib/libXext.so, may conflict with librpcsvc.so.5</screen>
|
||||
|
||||
<para>Um diese Probleme zu lösen, müssen Sie zuerst
|
||||
herausfinden, welcher Port die Bibliothek installiert hat:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>pkg_info -W /usr/local/lib/libtiff.so</userinput>
|
||||
/usr/local/lib/libtiff.so was installed by package tiff-3.9.4
|
||||
&prompt.root; <userinput>pkg_info -W /usr/local/lib/libXext.so</userinput>
|
||||
/usr/local/lib/libXext.so was installed by package libXext-1.1.1,1</screen>
|
||||
|
||||
<para>Danach deinstallieren Sie den Port und bauen ihn neu, um ihn
|
||||
danach erneut zu installieren. Dieser Vorgang kann durch den
|
||||
Einsatz von <package>ports-mgmt/portmaster</package> automatisiert
|
||||
werden. Nachdem alle Ports neu gebaut wurden und keine alten
|
||||
alten Bibliotheken mehr verwenden werden, können Sie die alten
|
||||
Bibliotheken endgültig entfernen:</para>
|
||||
|
||||
<screen>&prompt.root; <userinput>make delete-old-libs</userinput></screen>
|
||||
</sect1>
|
||||
|
||||
<sect1 xml:id="small-lan">
|
||||
<info><title>Installation mehrerer Maschinen</title>
|
||||
<authorgroup>
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue