这些练习使您能够对管理以下各项进行实践:
- 动态和静态链接的程序
- 共享对象库的缓存
- 共享对象库的路径
- 链接共享对象
要充分利用本系列中的练习,则应该具备 Linux 系统方面的基本知识,以及一个可正常运行的 Linux 系统,您可以在该系统上练习本文所涉及的练习。
把自己想象成为一名 Linux 文件服务器的系统管理员。您正在创建一个新目录,突然,流行的 mkdir 命令返回一个错误。该错误可能是因为缺少动态链接库而造成的。您可能已经使用过 mkdir 工具无数次了。以下是一个依赖于外部共享对象才能正常运行的程序的示例。
- 使用适当的命令正确识别外部共享库
mkdir的调用。
现在您已经找到动态链接到 mkdir 命令的共享库。
- 查找位于 /bin 目录中的不使用外部共享库的可执行文件。
Linux 将缓存动态链接的程序的位置信息,以提高性能。
- 查找 Linux 计算机上的缓存目录,使用适当的命令查找
mkdir所需的库。
常用的 Linux 可执行文件,如 mkdir,通常使用 Linux 分布设置的通用路径。假设您所在的工作单位要求使用动态链接到共享库的第三方程序,而这些共享库没有 包含在典型 Linux 计算机的库搜索路径中。在这些情况下,您可能考虑为这些库创建单独的目录。但是,在执行该程序时需要定位这些库。对于该任务,假定已经提供了第三方应用程序 foo,但是旧版本使用的共享库没有安装在您的 Linux 计算机上。
- 创建一个目录,路径如下 /opt/foo/lib。
- 在 /opt/foo/lib 目录中创建一个文件,并将其命名为 foo.so。
- 使用
export命令设置库路径变量,该变量使应用程序能够在运行时找到 foo.so。
考虑已经更新并记录 foo 软件的可能性,以使用最新的 /lib/libcat.so 库来取代 foo.so。即使新软件通过后向兼容功能来使用 foo.so,您仍然可以通过创建符号链接,尝试使用新库:
- 将原始 foo.so 重命名为 foo.so.old。
- 创建从 /lib/libcat.so 到 /opt/foo/lib/foo.so 的符号链接。
按照这些 解决方案步骤 检查您的工作。
学习
- developerWorks 文章 "学习 Linux, 101:管理共享库"(developerWorks,2010 年 3 月)介绍了完成这些练习所需的命令。
- 在 LPIC Program 网站上,可以查找 LPI Linux 系统管理认证三个等级的具体目标、任务列表和问题示例。特别是可以查看 LPI-101 具体目标 和 问题示例。
- 查看关于 developerWorks 的整个 LPI 备考系列,学习 Linux 基础知识,并以 2009 年 4 月之前的 LPI 考试目标,为通过系统管理员认证做好准备。
-
Exam Preparation Resources for Revised LPIC Exams 提供了 LPI 保存的其他认证培训资源列表。
- 在 developerWorks Linux 专区 寻找为 Linux 开发人员(包括 Linux 新手入门)准备的更多参考资料,查阅我们 最受欢迎的文章和教程。
- 在 developerWorks 上查阅所有 Linux 技巧 和 Linux 教程。
- 随时关注 developerWorks 技术活动和网络广播。
讨论
- 加入 developerWorks 中文社区,developerWorks 社区是一个面向全球 IT 专业人员,可以提供博客、书签、wiki、群组、联系、共享和协作等社区功能的专业社交网络社区。
