diff options
author | Xi Ruoyao <xry111@mengyan1223.wang> | 2021-07-26 19:34:27 +0800 |
---|---|---|
committer | Xi Ruoyao <xry111@mengyan1223.wang> | 2021-07-26 19:34:27 +0800 |
commit | de28837402798daa420ad065fb9155d308a7767e (patch) | |
tree | aa403eb428916f92fa6d46310b589dbdb0738677 /chapter08/pkgmgt.xml | |
parent | ff96923bf37ce4beed6b4d0146c454c7df6da95f (diff) |
Hopefully, complete strip workaround
In stripping, /usr/bin/bash, /usr/bin/find, and /usr/bin/strip are
running. Strip them, and all libraries used by them in /tmp, then
install them back.
We can't use this for all libraries or binaries: the process above
discouples hard links (for example /usr/bin/perl and perl5.34.0). So
unfortunately the stripping instruction is now a stupidly long bash
script...
Diffstat (limited to 'chapter08/pkgmgt.xml')
-rw-r--r-- | chapter08/pkgmgt.xml | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/chapter08/pkgmgt.xml b/chapter08/pkgmgt.xml index 228a13378..43b9c57d3 100644 --- a/chapter08/pkgmgt.xml +++ b/chapter08/pkgmgt.xml @@ -121,6 +121,21 @@ and rerun that command to confirm nothing is still using the deleted libraries. </para></listitem> + + <listitem> + <para>If a binary or a shared library is overwrote, the processes + using the code or data in the binary or library may crash. The + correct way to update a binary or a shared library without causing + the process to crash is: remove it first, then install the new + version into position. The <command>install</command> command + provided by <application>Coreutils</application> has already + implemented this and most packages use it to install binaries and + libraries. So you won't be troubled by this issue most of the time. + However, the install process of some packages (notably Mozilla JS + in BLFS) just overwrites the file if it exists and causes crash, so + it's safer to save your work and close unneeded running processes + before updating a package.</para> + </listitem> </itemizedlist> </sect2> |