Changeset 20828163 for introduction/important/pkgmgt.xml
- Timestamp:
- 02/04/2005 07:30:54 AM (20 years ago)
- Branches:
- 10.0, 10.1, 11.0, 11.1, 11.2, 11.3, 12.0, 12.1, 12.2, 6.0, 6.1, 6.2, 6.2.0, 6.2.0-rc1, 6.2.0-rc2, 6.3, 6.3-rc1, 6.3-rc2, 6.3-rc3, 7.10, 7.4, 7.5, 7.6, 7.6-blfs, 7.6-systemd, 7.7, 7.8, 7.9, 8.0, 8.1, 8.2, 8.3, 8.4, 9.0, 9.1, basic, bdubbs/svn, elogind, gimp3, gnome, kde5-13430, kde5-14269, kde5-14686, kea, ken/TL2024, ken/inkscape-core-mods, ken/tuningfonts, krejzi/svn, lazarus, lxqt, nosym, perl-modules, plabs/newcss, plabs/python-mods, python3.11, qt5new, rahul/power-profiles-daemon, renodr/vulkan-addition, systemd-11177, systemd-13485, trunk, upgradedb, xry111/for-12.3, xry111/intltool, xry111/llvm18, xry111/soup3, xry111/spidermonkey128, xry111/test-20220226, xry111/xf86-video-removal
- Children:
- 843cc38c
- Parents:
- fb31251
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
introduction/important/pkgmgt.xml
rfb31251 r20828163 17 17 to the <acronym>LFS</acronym> Book. A Package Manager allows tracking 18 18 the installation of files making it easy to remove and upgrade packages. 19 And before you begin to wonder, NO -this section does not talk about any19 And before you begin to wonder, NO—this section does not talk about any 20 20 particular package manager, nor does it recommend one. What it provides is 21 21 a roundup of the more popular techniques and how they work. The perfect … … 29 29 <itemizedlist> 30 30 <listitem><para>Dealing with package management takes the focus away from 31 the goals of these books - Teaching how a Linux System is built.</para></listitem>31 the goals of these books—teaching how a Linux system is built.</para></listitem> 32 32 <listitem><para>There are multiple solutions for package management, each having 33 33 its strengths and drawbacks. Including one that satifies all audiences is … … 43 43 <title>Upgrade Issues</title> 44 44 45 <para>A Package Manager makes it easy to upgrade to newer versions as andwhen they45 <para>A Package Manager makes it easy to upgrade to newer versions when they 46 46 are released. Generally the instructions in the <acronym>LFS</acronym> and 47 47 <acronym>BLFS</acronym> Book can be used to upgrade to the newer versions. 48 Followingare some points that you should be aware of when upgrading48 Here are some points that you should be aware of when upgrading 49 49 packages, especially on a running system.</para> 50 50 51 51 <itemizedlist> 52 <listitem><para>I t is recommended that if one of the toolchain package (glibc, gcc,52 <listitem><para>If one of the toolchain package (glibc, gcc, 53 53 binutils) needs to be upgraded to a newer minor vesion, it is safer to rebuild 54 54 <acronym>LFS</acronym>. Though you <emphasis>may</emphasis> be able to get by 55 rebuilding all the packages in their dependency order. We do not recommend the56 latter.For example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer55 rebuilding all the packages in their dependency order. We do not recommend it. 56 For example, if glibc-2.2.x needs to be updated to glibc-2.3.x, it is safer 57 57 to rebuild. For micro version updates, a simple reinstallation usually works, but 58 58 is not guaranteed. For example, upgrading from glibc-2.3.1 to glibc-2.3.2 will not 59 59 usually cause any problems.</para></listitem> 60 60 <listitem><para>If a package containing a shared library is updated, and if the 61 soname of the library changes, then all the packages dynamically linked to the61 name of the library changes, then all the packages dynamically linked to the 62 62 library need to be recompiled to link against the newer library. (Note that there 63 is no corelation between the package version and the soname of the library.) For64 example, consider a package foo-1.2.3 that installs a shared library with soname63 is no corelation between the package version and the name of the library.) For 64 example, consider a package foo-1.2.3 that installs a shared library with name 65 65 <filename>libfoo.so.1</filename>. Say you upgrade the package to a newer version 66 foo-1.2.4 that installs a shared library with soname <filename>libfoo.so.2</filename>.66 foo-1.2.4 that installs a shared library with name <filename>libfoo.so.2</filename>. 67 67 In this case, all packages that are dynamically linked to <filename>libfoo.so.1</filename> 68 68 need to be recompiled to link against <filename>libfoo.so.2</filename>. Note that … … 91 91 need for a package manager because they know the packages intimately and know 92 92 what files are installed by each package. Some users also do not need any 93 package management because they plan on rebuilding the entire <acronym>LFS</acronym>93 package management because they plan on rebuilding the entire system 94 94 when a package is changed.</para> 95 95 … … 130 130 instructions may not install the package properly:</para> 131 131 132 <screen><userinput><command>./configure --prefix=/usr/pkg/libfoo/1.1 &&133 make &&132 <screen><userinput><command>./configure --prefix=/usr/pkg/libfoo/1.1 133 make 134 134 make install</command></userinput></screen> 135 135 … … 141 141 This approach works as follows:</para> 142 142 143 <screen><userinput><command>./configure --prefix=/usr &&144 make &&143 <screen><userinput><command>./configure --prefix=/usr 144 make 145 145 make DESTDIR=/usr/pkg/libfoo/1.1 install</command></userinput></screen> 146 146 … … 177 177 calls that modify the filesystem. For this approach to work, all the executables 178 178 need to be dymanically linked without the suid or sgid bit. Preloading the 179 library may cause some unwanted side-effects during installation ; hence179 library may cause some unwanted side-effects during installation. Therefore, 180 180 do perform some tests to ensure that the package manager does not break 181 181 anything and logs all the appropriate files.</para> … … 193 193 194 194 <para>This approach is used by most of the package managers found in the 195 commercial distributions. Examples of package Managers that follow this196 approach are RPM, pkg-utils, Debian's apt, Gentoo's Portage system.</para>195 commercial distributions. Examples of package managers that follow this 196 approach are RPM, pkg-utils, Debian's apt, and Gentoo's Portage system.</para> 197 197 198 198 </sect3>
Note:
See TracChangeset
for help on using the changeset viewer.