实践:管理共享库

练习安装 Linux 系统和软件

许多 Linux 应用使用共享库以及程序只在运行时才会进行链接的可执行代码。这种动态链接减少了软件包的大小和内存要求。Linux 提供了使用共享库的工具,而了解该工具是管理员技能的重要组成部分。本文中的练习和解决方案使您能够对管理共享库进行实践。

Tracy Bost, 顾问兼培训师, Freelance

作者 Tracy Bost 的照片Tracy Bost 是一名经验丰富的软件开发人员和系统工程师。他还是 Linux 操作系统的讲师和培训师。Tracy 已经通过了红帽认证工程师 (RHCE) 和微软认证系统工程师 (MCSE) 的认证,还是 Linux Foundation 的活跃成员。他曾在多个行业任职,包括抵押贷款、房地产和非营利部门。



2011 年 9 月 20 日

关于本文

这些练习和解决方案是对 developerWorks 文章 "学习 Linux, 101:管理共享库" 的补充,该文章是 developerWorks 知识路径 "Basics of Linux system administration: Setting up your system and software" 的一部分。在进行这些练习之前,您可能希望阅读 "Manage shared libraries" 一文。

概述

这些练习使您能够对管理以下各项进行实践:

  • 动态和静态链接的程序
  • 共享对象库的缓存
  • 共享对象库的路径
  • 链接共享对象

先决条件

要充分利用本系列中的练习,则应该具备 Linux 系统方面的基本知识,以及一个可正常运行的 Linux 系统,您可以在该系统上练习本文所涉及的练习。


练习 1. 列出动态链接的共享对象

把自己想象成为一名 Linux 文件服务器的系统管理员。您正在创建一个新目录,突然,流行的 mkdir 命令返回一个错误。该错误可能是因为缺少动态链接库而造成的。您可能已经使用过 mkdir 工具无数次了。以下是一个依赖于外部共享对象才能正常运行的程序的示例。

  • 使用适当的命令正确识别外部共享库 mkdir 的调用。

练习 2. 查找静态链接的可执行文件

现在您已经找到动态链接到 mkdir 命令的共享库。

  • 查找位于 /bin 目录中的不使用外部共享库的可执行文件。

练习 3. 查找关于库缓存的信息

Linux 将缓存动态链接的程序的位置信息,以提高性能。

  • 查找 Linux 计算机上的缓存目录,使用适当的命令查找 mkdir 所需的库。

练习 4. 设置替代共享库路径

常用的 Linux 可执行文件,如 mkdir,通常使用 Linux 分布设置的通用路径。假设您所在的工作单位要求使用动态链接到共享库的第三方程序,而这些共享库没有 包含在典型 Linux 计算机的库搜索路径中。在这些情况下,您可能考虑为这些库创建单独的目录。但是,在执行该程序时需要定位这些库。对于该任务,假定已经提供了第三方应用程序 foo,但是旧版本使用的共享库没有安装在您的 Linux 计算机上。

  1. 创建一个目录,路径如下 /opt/foo/lib
  2. 在 /opt/foo/lib 目录中创建一个文件,并将其命名为 foo.so
  3. 使用 export 命令设置库路径变量,该变量使应用程序能够在运行时找到 foo.so。

练习 5. 创建到共享库的符号链接

考虑已经更新并记录 foo 软件的可能性,以使用最新的 /lib/libcat.so 库来取代 foo.so。即使新软件通过后向兼容功能来使用 foo.so,您仍然可以通过创建符号链接,尝试使用新库:

  1. 将原始 foo.so 重命名为 foo.so.old。
  2. 创建从 /lib/libcat.so 到 /opt/foo/lib/foo.so 的符号链接。

练习解决方案

按照这些 解决方案步骤 检查您的工作。

参考资料

学习

讨论

  • 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。

条评论

developerWorks: 登录

标有星(*)号的字段是必填字段。


需要一个 IBM ID?
忘记 IBM ID?


忘记密码?
更改您的密码

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件

 


在您首次登录 developerWorks 时,会为您创建一份个人概要。您的个人概要中的信息(您的姓名、国家/地区,以及公司名称)是公开显示的,而且会随着您发布的任何内容一起显示,除非您选择隐藏您的公司名称。您可以随时更新您的 IBM 帐户。

所有提交的信息确保安全。

选择您的昵称



当您初次登录到 developerWorks 时,将会为您创建一份概要信息,您需要指定一个昵称。您的昵称将和您在 developerWorks 发布的内容显示在一起。

昵称长度在 3 至 31 个字符之间。 您的昵称在 developerWorks 社区中必须是唯一的,并且出于隐私保护的原因,不能是您的电子邮件地址。

标有星(*)号的字段是必填字段。

(昵称长度在 3 至 31 个字符之间)

单击提交则表示您同意developerWorks 的条款和条件。 查看条款和条件.

 


所有提交的信息确保安全。


static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=10
Zone=Linux
ArticleID=758612
ArticleTitle=实践:管理共享库
publish-date=09202011