跳转到主要内容

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

这是您第一次登陆到 developerWorks,已经自动为您创建了您的概要文件。 选择您概要文件中可以公开的信息的信息(如姓名、国家/地区,以及公司),这些信息同时也会与您所发布的内容相关联。 您可以随时更新您的 IBM 账号。

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

  • 关闭 [x]

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

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

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

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

  • 关闭 [x]

实践:管理共享库

练习安装 Linux 系统和软件

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

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

发布日期: 2011 年 9 月 20 日
级别: 中级 原创语言: 英文
访问情况 : 6589 次浏览
评论: 


关于本文

这些练习和解决方案是对 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、群组、联系、共享和协作等社区功能的专业社交网络社区。

关于作者

作者 Tracy Bost 的照片

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

关于报告滥用的帮助

报告滥用

谢谢! 此内容已经标识给管理员注意。


关于报告滥用的帮助

报告滥用

报告滥用提交失败。 请稍后重试。


developerWorks:登录


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


忘记密码?
更改您的密码

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

 


当您初次登录到 developerWorks 时,将会为您创建一份概要信息。您在 developerWorks 概要信息中选择公开的信息将公开显示给其他人,但您可以随时修改这些信息的显示状态。您的姓名(除非选择隐藏)和昵称将和您在 developerWorks 发布的内容一同显示。

请选择您的昵称:

当您初次登录到 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
author1-email=tbost@linux.com
author1-email-cc=