Terminal Server 之管理与功能扩充(二)

身 为 系 统 管 理 员 的 您 , 是 不 是 常 常 有 用 户 要 求 您 增 加 新 功 能 ? 身 为 Linux / UNIX爱 用 者 的 您 , 是 不 是 想 要 教 您 的 系 统 会 十 八 般 武 艺 呢 ? 本 期 教 您 如 何 增 加 系 统 中 原 先 没 有 的 功 能 , 让 您 的 系 统 如 虎 添 翼 。 适 用 对 象 : Linux / UNIX系 统 管 理 者 , 进 阶 使 用 者 。

黄 力 尧
「 人 家 的 系 统 都 有 $%#*......, 为 什 麽 我 们 的 主 机 没 有 ? 」
「 人 家 的 信 件 系 统 是 中 文 的 , 为 什 麽 我 们 的 还 是 英 文 ? 」
「 为 什 麽 我 们 的 系 统 打 不 出 中 文 ? 」
  您 是 不 是 常 常 被 您 服 务 单 位 的 用 户 问 到 诸 如 此 类 的 问 题 呢 ? 要 是 您 都 解 决 不 掉 这 些 民 怨 , 那 除 了 被 使 用 者 们 在 背 後 说 风 凉 话 , 搞 不 好 最 後 「 最 佳 管 理 者 , 换 人 做 做 看 」 ! 哇 ! 这 可 不 好 玩 耶 ! 为 了 不 减 公 司 内 美 丽 的 小 姐 们 对 系 统 管 理 者 那 种 崇 拜 之 意 , 这 种 丢 脸 事 当 然 不 能 发 生 在 您 身 上 。 现 在 以 下 的 章 节 就 为 您 讲 解 如 何 在 Linux这 套 连 紫 色 乳 牛 都 叫 好 的 作 业 系 统 中 增 加 新 的 应 用 软 体 , 增 加 新 功 能 。

增 加 系 统 的 功 能

  您 可 能 会 渐 渐 觉 得 随 Linux基 本 套 件 附 送 的 应 用 程 式 不 够 多 , 或 是 应 用 户 需 求 , 您 必 须 在 系 统 中 增 加 新 的 功 能 以 跟 上 时 代 。 下 面 的 部 份 就 教 导 您 如 何 在 您 的 终 端 伺 服 器 上 增 加 原 系 统 所 没 有 的 功 能 。 分 别 教 您 抓 回 两 种 不 同 方 式 压 缩 的 压 缩 档 回 来 解 压 缩 并 安 装 , 还 有 如 何 自 行 编 译 可 执 行 档 。

  首 先 , 由 於 资 料 储 存 空 间 的 宝 贵 , 为 了 减 少 资 料 传 送 所 花 费 的 时 间 , 所 以 在 Internet上 的 FTP Sites中 的 资 料 大 都 经 过 压 缩 ( 在 一 般 的 拨 接 BBS站 中 也 是 一 样 ) 。 在 UNIX系 统 中 , 有 几 种 常 见 的 压 缩 打 包 方 式 :

1、 gzip
gzip压 缩 程 式 将 标 的 档 案 直 接 予 以 运 算 压 缩 以 减 少 资 料 所 占 空 间 。 常 见 的 有 *.gz, *.z 等 档 名 皆 为 gzip所 压 缩 。

2、 compress
compress类 似 gzip, 也 是 针 对 档 案 压 缩 设 计 的 软 体 。 不 过 由 compress所 造 出 的 压 缩 档 其 延 伸 档 名 为 *.Z( 请 注 意 z的 大 小 写 ) 。

3、 TAR
TAR为 Tape Archive的 简 称 , 从 字 面 上 应 该 很 容 易 可 以 看 其 设 计 目 的 。 有 些 应 用 程 式 可 能 不 只 有 一 个 执 行 档 而 已 , 而 是 可 能 有 一 大 票 的 延 伸 档 、 文 件 档 、 次 目 录 等 等 。 TAR即 针 对 此 种 需 求 , 可 将 大 量 的 档 案 与 目 录 全 部 打 包 为 一 个 单 一 的 档 案 , 方 便 整 理 或 携 带 。 但 一 般 的 TAR并 没 有 针 对 所 打 包 的 档 案 作 压 缩 的 动 作 , 只 是 单 纯 地 将 很 多 的 档 案 包 起 来 而 已 , 如 : *.tar等 。

4、 TAR+gzip或 TAR+compress混 血
刚 刚 说 过 , TAR一 般 并 不 针 对 打 包 之 资 料 档 案 作 压 缩 的 动 作 , 所 以 并 未 达 到 节 省 空 间 与 传 送 时 间 的 目 的 , 而 且 还 会 因 为 增 加 了 档 案 索 引 目 录 等 资 料 , 造 成 其 打 包 後 之 资 料 较 打 包 前 之 目 录 树 更 大 。 为 解 决 此 种 问 题 , 故 有 tar+gzip兼 采 两 家 优 点 的 压 缩 方 式 出 现 。 以 此 种 方 式 压 缩 打 包 的 档 案 副 档 名 会 因 为 累 进 的 关 系 而 变 成 *.tar.gz, *.tar.z等 形 式 的 档 案 。 另 外 , 也 有 不 和 gzip配 合 而 使 用 compress造 出 的 *.tar.Z, *.TGZ等 类 型 之 档 案 出 现 。 下 面 , 来 个 别 介 绍 其 解 压 缩 方 式 :

*.gz 单 纯 单 档 压 缩
您 需 要 gzip这 个 压 缩 、 解 压 缩 公 用 程 式 来 执 行 gzip压 缩 档 的 解 压 缩 动 作 。 这 是 系 统 基 本 档 案 , 您 应 该 会 有 拥 有 它 。 解 压 缩 时 使 用 以 下 的 句 法 来 指 定 标 的 档 案 :
gzip -d〈 *.gz 或 *.z 压 缩 档 〉
d是 decompress, 解 压 缩 之 意 。 您 可 以 在 命 令 列 输 入 gzip --help来 得 到 更 多 的 相 关 资 讯 。 除 非 您 另 外 有 指 定 , 否 则 gzip会 在 目 前 目 录 下 将 该 档 解 压 缩 , 并 且 将 .gz拿 掉 , 此 时 该 档 案 已 经 被 解 压 缩 了 , 如 : ctelnet.gz-> ctelnet。 和 DOS下 之 pkunzip等 解 压 缩 程 式 不 同 的 是 , gzip并 不 保 留 原 压 缩 档 另 外 造 出 新 的 已 解 压 缩 档 , gzip直 接 就 将 *.gz的 压 缩 档 解 压 缩 。

*.gz应 用 实 例 : 中 文 改 编 版 telnet 用 户 端 ctelnet.gz

  如 果 读 者 上 回 使 用 「 云 观 叁 」 做 了 一 台 终 端 机 伺 服 机 , 一 定 会 发 现 当 您 telnet到 其 他 的 主 机 的 时 候 会 出 现 问 题 , 中 文 打 不 出 来 ?   嘿 ! 嘿 ! 笔 者 上 一 次 偷 偷 的 留 了 一 手 , 外 国 来 的 Linux可 是 舶 来 品 , 认 不 得 中 文 的 ! 因 为 许 多 外 国 应 用 软 体 在 文 字 模 式 下 的 时 候 , 为 了 避 免 一 些 显 示 上 的 问 题 , 一 般 ASCII字 码 集 中 大 於 2^7的 部 份 都 会 被 拦 腰 截 断 。 这 对 外 国 使 用 单 位 元 码 的 系 统 当 然 是 没 有 问 题 , 但 是 却 会 造 成 中 文 、 日 文 等 使 用 双 位 元 内 码 的 系 统 无 法 正 常 动 作 。 所 以 如 果 您 想 要 在 telnet到 一 些 中 文 站 台 的 时 候 能 够 正 常 的 动 作 , 必 须 要 使 telnet能 够 接 受 中 文 高 位 元 码 部 份 的 输 出 入 动 作 。 针 对 此 一 需 求 , 故 有 ctelnet此 一 可 接 受 Hi-Bit的 telnet用 户 端 程 式 出 现 。

  请 各 位 读 者 们 使 用 Archie Server去 挖 一 个 ctelnet.gz并 且 使 用 FTP将 它 带 回 家 来 。 然 後 在 一 个 目 录 下 将 其 解 压 缩 :

gzip -d ctelnet.gz
就 会 作 出 ctelnet的 已 解 压 缩 一 般 档 案 。 大 概 已 经 有 人 迫 不 及 待 地 要 去 执 行 它 了 吧 ! 先 别 急 ! 您 会 收 到 permission denied的 存 取 拒 绝 讯 息 。 为 什 麽 呢 ? 因 为 目 前 这 个 档 案 没 有 可 以 执 行 的 属 性 , 您 不 能 将 它 载 入 记 忆 体 执 行 。 若 是 只 有 接 触 过 MS-DOS等 单 人 单 机 作 业 系 统 的 读 者 可 能 比 较 不 容 易 明 了 这 一 点 , 在 此 笔 者 稍 微 简 单 针 对 档 案 的 所 有 权 以 及 属 性 介 绍 一 下 。

  UNIX是 一 个 设 计 给 多 人 同 时 使 用 的 作 业 系 统 , 针 对 不 同 的 档 案 与 目 录 必 须 有 不 同 的 存 取 限 制 , 以 杜 绝 非 经 合 法 允 许 的 使 用 者 任 意 存 取 未 经 许 可 的 档 案 。 现 在 我 们 使 用 ls加 上 -l参 数 来 看 看 档 案 目 录 的 完 整 列 表 。 每 一 行 前 面 都 会 有 诸 如 drwxr-x--x的 字 样 , 那 串 字 样 就 标 示 着 每 个 档 案 的 存 取 权 利 。 在 UNIX系 统 中 每 一 个 档 案 都 可 以 分 别 划 分 给 叁 种 类 的 使 用 者 所 拥 有 :

1、 档 案 所 有 者 本 身 (User)。
2、 和 档 案 所 有 者 本 身 属 同 一 群 组 的 使 用 者 (Groups)。
3、 不 属 以 上 两 种 类 的 其 他 使 用 者 (Others)。

每 种 档 案 又 会 拥 有 叁 种 基 本 的 使 用 权 力 :

1、 可 被 读 取 (read)
使 用 者 可 以 读 取 该 档 案 。
2、 可 被 改 写 (write)
使 用 者 可 以 修 改 该 档 案 内 容 , 并 且 该 使 用 者 可 以 删 除 该 档 案 (删 除 换 一 种 讲 法 其 实 就 是 将 档 案 「 写 成 没 有 」 )。
3、 可 被 执 行 (execute)
使 用 者 可 以 将 该 档 案 载 入 系 统 记 忆 体 并 执 行 该 档 (需 为 二 进 位 可 执 行 档 )。

  请 参 阅 图 一 了 解 叁 种 权 力 如 何 分 配 给 叁 种 不 同 的 使 用 者 类 型 :

  第 一 个 字 元 是 档 案 类 型 , 可 能 是 d( directionary, 目 录 档 ) 或 是 l( link, 链 结 到 其 他 目 录 或 档 案 的 链 结 档 ) 等 等 。

  现 在 系 统 中 的 finny这 一 个 使 用 者 属 於 users群 组 , 和 finny同 属 一 个 群 组 的 其 他 使 用 者 还 有 jenny、 ann等 等 。 finny在 她 自 己 的 个 人 目 录 /user/finny中 拥 有 属 於 她 的 许 多 档 案 , 列 表 如 图 二

  假 设 finny愿 意 让 其 他 的 使 用 者 进 入 她 的 个 人 目 录 , 则 以 calendar这 一 个 可 执 行 档 来 说 , 档 案 的 主 人 finny可 以 读 取 、 改 写 并 执 行 它 。 与 finny同 群 的 jenny、 ann可 以 读 取 、 执 行 它 , 但 不 得 改 写 它 。 至 於 和 finny 毫 无 关 系 的 其 他 使 用 者 来 说 , 则 只 能 执 行 它 , 不 能 改 写 亦 不 能 读 取 它 。

  OK! 现 在 各 位 读 者 应 该 已 经 了 解 有 关 档 案 存 取 权 力 的 界 定 方 式 。 现 在 我 们 回 到 ctelnet上 面 。 我 们 用 ls -l 来 瞄 一 下 它 :

drw-r--r-- 1 root root 79595 Jun 11 8:41 ctelnet
  因 为 ctelnet并 没 有 可 以 执 行 的 属 性 , 难 怪 没 办 法 执 行 它 。 现 在 我 们 使 用 设 定 档 案 存 取 权 的 公 用 程 式 chmod来 修 改 它 。

  当 一 个 使 用 者 使 用 chmod来 改 变 一 个 档 案 的 存 取 权 力 时 , 它 只 对 自 己 所 拥 有 的 档 案 有 效 。 意 即 除 非 您 是 系 统 管 理 者 , 您 不 能 去 修 改 别 人 的 档 案 属 性 , 否 则 就 天 下 大 乱 了 。 这 边 附 带 提 一 点 , 系 统 管 理 者 没 有 什 麽 特 殊 必 要 的 话 , 最 好 是 不 要 将 chmod的 使 用 权 开 放 给 系 统 中 其 他 的 使 用 者 , 尤 其 是 您 的 用 户 是 非 固 定 对 象 的 时 候 ( 例 如 : 您 的 终 端 伺 服 机 是 要 作 ISP用 的 ) 更 应 避 免 , 否 则 使 用 者 就 可 以 自 己 上 传 或 抓 取 任 何 档 案 到 自 己 的 目 录 并 且 执 行 它 。 每 个 User都 来 这 一 套 的 话 , 影 响 系 统 效 能 还 算 事 小 ( 有 很 多 需 要 复 杂 数 学 运 算 的 软 体 , 会 在 瞬 间 将 微 处 理 机 资 源 耗 得 只 剩 一 点 点 ) , 万 一 您 的 使 用 者 执 行 的 是 hack.*、 door.*之 类 的 程 式 的 话 , 那 可 就 不 太 妙 了 ! ( 这 就 是 为 什 麽 一 般 ISP业 者 在 使 用 规 范 中 都 有 明 文 规 定 , 禁 止 使 用 者 执 行 非 业 者 所 提 供 以 外 之 程 式 的 原 因 ) chmod就 是 Change Mode, 变 更 一 个 档 案 的 存 取 权 力 。 叁 种 档 案 拥 有 人 种 类 user、 groups、 others分 别 以 u、 g、 o叁 个 英 文 字 来 代 表 。 至 於 叁 种 属 性 read、 write、 execute则 分 别 用 r、 w、 x来 代 表 。 在 档 案 显 示 时 , 如 果 该 种 使 用 者 并 不 具 有 某 种 权 力 , 就 用 “ -” 代 表 该 种 类 使 用 者 并 不 拥 有 该 种 存 取 权 力 。 使 用 chmod的 句 法 如 下 :

chmod 〈 使 用 者 种 类 〉 +/- 〈 使 用 者 存 取 权 力 类 型 〉 [档 案 名 称 ]
  其 中 在 使 用 者 种 类 与 群 组 中 的 +与 -分 别 代 表 给 予 或 取 消 某 种 权 力 。 例 如 : 一 档 案 之 「 同 群 使 用 者 」 原 拥 有 执 行 netstat档 案 的 权 力 , 今 天 系 统 管 理 者 欲 取 消 同 群 使 用 者 执 行 该 档 案 之 能 力 , 就 可 以 输 入 :
chmod g-x netstat
即 取 消 了 与 netstat拥 有 者 之 同 群 使 用 者 执 行 该 档 案 的 权 力 。

  以 刚 刚 的 ctelnet这 一 个 中 文 telnet用 户 端 来 说 , 我 们 想 要 让 大 家 都 来 使 用 它 , 就 将 它 置 放 到 一 个 大 家 都 可 以 存 取 的 目 录 , 最 好 是 系 统 搜 寻 目 录 中 有 的 ( 在 path=的 环 境 变 数 中 有 包 含 的 目 录 , 如 : /bin) 您 也 可 以 拿 这 个 来 取 代 原 有 的 telnet, 然 後 再 将 它 赋 予 适 当 的 存 取 权 力 , 这 样 大 家 都 可 以 享 受 到 中 文 连 线 的 乐 趣 了 !

  如 果 您 一 个 档 案 的 属 性 同 时 要 改 上 两 个 或 以 上 , 比 如 说 , netstat这 个 档 案 您 又 要 将 同 群 使 用 者 设 定 为 可 读 、 可 执 行 ; 而 又 要 将 其 设 定 为 其 他 使 用 者 不 可 读 , 但 可 执 行 , 那 g+r、 g+x、 o-r、 o+x一 串 指 令 打 下 来 , 您 不 嫌 手 酸 吗 ? 因 此 , chmod提 供 另 一 种 更 快 速 的 设 定 方 式 , 如 下 :

chmod 0755 netstat
  这 个 指 令 同 样 的 是 把 netstat档 案 设 定 为 可 以 执 行 , 但 是 就 不 用 再 输 入 一 长 串 的 使 用 者 存 取 设 定 了 。 此 种 设 定 方 式 乃 是 采 用 四 个 八 进 位 的 数 字 来 定 义 档 案 的 存 取 权 力 。 刚 刚 有 讲 过 , 第 一 个 位 元 是 定 义 档 案 的 类 型 , 而 後 九 个 是 以 叁 个 为 一 组 定 义 档 案 的 叁 种 存 取 权 力 。 後 面 的 叁 组 之 r、 w、 x叁 种 不 同 的 权 力 , 只 要 是 给 予 就 以 「 1 」 表 示 , 而 取 消 就 以 「 0」 表 示 。 再 将 叁 个 数 字 以 八 进 位 运 算 就 得 到 该 组 的 对 应 值 。 以 刚 刚 的 netstat档 案 来 说 , 最 後 一 组 「 其 他 使 用 者 」 与 「 同 群 使 用 者 」 我 们 要 赋 予 「 可 读 、 不 可 写 、 可 执 行 」 ( r-x) 的 权 力 , 那 就 以 101表 示 。 而 档 案 所 有 人 我 们 开 放 所 有 的 叁 种 权 力 「 可 读 、 可 写 、 可 执 行 」 ( rwx) 就 以 111表 示 。 101之 八 进 位 为 5, 111之 八 进 位 为 7, 而 我 们 不 设 定 档 案 类 型 , 故 得 到 「 0755」 这 个 值 。 ( 0755 =-rwxr-xr-x) 如 此 就 可 以 一 次 将 所 有 的 使 用 者 权 力 都 定 义 完 成 , 较 个 别 群 组 设 定 来 得 有 效 率 又 方 便 多 了 。

*.tar 应 用 实 例 : WWW 文 字 型 浏 览 器 Clynx

  WWW( World Wide Web, 全 球 资 讯 网 , 不 知 道 的 读 者 大 概 很 少 吧 ! ) 近 年 来 越 来 越 风 行 , 使 用 终 端 机 模 式 的 您 是 否 就 与 这 个 最 新 广 告 行 销 媒 体 绝 缘 了 呢 ? 虽 然 文 字 终 端 机 没 有 图 形 显 示 能 力 , 只 能 单 纯 显 示 一 些 文 字 罢 了 , 但 是 其 实 很 多 WWW站 台 真 正 丰 富 的 资 源 在 於 其 文 字 参 考 资 料 , 图 形 只 是 点 缀 而 已 。 而 且 使 用 频 宽 本 来 就 不 是 很 大 的 数 据 机 来 传 送 全 图 形 画 面 , 可 是 会 让 您 等 到 发 疯 的 , 相 信 很 多 读 者 都 有 经 验 。 ( 听 说 外 国 有 人 因 为 长 期 等 待 WWW之 乌 龟 画 面 传 送 速 度 而 得 了 焦 虑 症 , 最 後 不 得 不 到 医 院 去 看 精 神 科 , 不 过 这 好 像 有 些 夸 张 ? ) 终 端 机 用 户 千 万 不 要 因 为 看 不 到 WWW的 内 容 而 伤 心 流 泪 , 来 , 擦 乾 眼 泪 , 赶 快 叫 您 的 系 统 管 理 者 为 您 安 装 一 套 文 字 模 式 下 的 WWW Browser: Lynx让 您 使 用 。

  请 读 者 自 行 使 用 Archie Server去 找 一 个 存 有 本 文 作 范 例 之 clynx2-3.tar.gz的 FTP Server并 将 该 档 案 带 回 您 的 主 机 。 ( 笔 者 注 : Clynx是 Lynx的 中 文 改 版 , 因 为 英 文 版 的 Lynx不 Pass8-Bits, 不 适 合 在 国 内 的 环 境 使 用 , 故 在 此 不 予 介 绍 。 )

  1. 使 用 mv指 令 将 clynx2-3.tar.gz放 到 预 定 施 工 地 的 上 层 目 录 。 在 未 指 定 的 情 况 下 解 开 TAR资 料 包 会 在 目 前 目 录 下 长 出 一 棵 目 录 树 。 如 将 clynx2-3.tar.gz放 在 / 下 则 会 造 出 /clynx2-3, 在 tmp下 则 会 造 出 /tmp/clynx2-3, 请 预 先 决 定 好 施 工 地 点 。
  2. 以 gzip先 解 除 .gz的 压 缩 部 份 , 会 造 出 clynx.tar, 此 时 gzip已 经 解 除 , 剩 下 TAR资 料 包 。
  3. 再 用 TAR解 剩 下 的 .tar资 料 包 , 请 输 入 :
tar -xvf clynx2-3.tar
  则 会 将 .tar资 料 包 解 压 缩 。 解 压 缩 以 後 如 同 DOS下 的 ARJ等 压 缩 程 式 , 会 造 出 新 的 目 录 以 及 还 原 压 缩 前 的 所 有 档 案 , ( 连 原 属 性 一 起 还 原 , 故 您 不 需 要 再 用 chmod来 变 更 执 行 档 的 属 性 ) 本 例 即 造 出 /clynx2-3, 内 含 有 相 关 於 Clynx的 所 有 档 案 。

  还 有 一 招 更 快 的 , 不 用 分 别 解 两 遍 。 因 为 很 少 人 只 有 单 纯 使 用 TAR来 储 存 档 案 , 一 般 都 会 配 合 gzip或 是 compress来 再 压 缩 档 案 。 因 此 後 来 版 本 的 TAR也 可 以 接 受 同 时 解 TAR+gzip或 是 TAR+compress的 档 案 以 节 省 资 料 储 存 空 间 。 您 可 以 用 以 下 的 指 令 直 接 将 *.tar.gz解 压 缩 :

tar -zxvf clynx2-3.tar.gz
  只 要 一 个 步 骤 就 把 TAR+gzip解 完 , 方 便 吧 ! 但 有 的 情 况 ( 现 在 应 该 很 少 了 ) , 您 的 TAR并 不 接 受 -z参 数 , 那 在 此 种 情 况 之 下 , 有 可 能 您 需 要 自 己 再 去 抓 取 一 个 新 版 本 的 TAR, 才 能 够 解 决 此 种 状 况 。

  完 成 以 後 , 您 就 可 以 直 接 进 入 /clynx2-3目 录 中 , 执 行 clynx来 阅 读 远 端 主 机 的 超 文 件 档 案 了 ! 以 下 就 是 使 用 Clynx来 连 上 交 通 部 数 据 所 HiNet之 WWW的 实 际 画 面 ( 参 阅 图 叁 ) :

  这 边 括 上 「 影 像 」 的 部 份 是 什 麽 就 只 好 请 各 位 读 者 自 己 猜 猜 看 了 , 因 为 在 原 本 的 Homepage中 , 该 处 原 就 只 有 用 图 形 让 使 用 者 点 选 。

  有 人 可 能 要 问 了 , 为 什 麽 Lynx可 以 读 图 形 格 式 的 WWW全 球 资 讯 网 画 面 ? 其 实 WWW说 穿 了 , 只 是 一 般 文 件 加 上 HTML TAG而 成 的 HTML文 件 罢 了 。 您 想 要 编 辑 WWW的 Homepage吗 ? 其 实 用 PE2、 记 事 本 等 纯 文 字 编 辑 器 也 可 以 ( 只 是 不 好 弄 , 也 没 有 「 所 见 即 所 得 」 立 即 阅 览 结 果 功 能 ) 。 HTML文 件 除 了 连 结 图 形 、 声 音 、 影 像 的 部 份 以 外 , 和 一 般 的 文 字 档 案 并 没 有 差 异 。 所 以 Lynx其 实 只 是 一 个 远 端 文 件 阅 读 器 而 已 。 至 於 使 用 最 新 的 Java Script之 站 台 情 况 可 能 就 不 太 一 样 了 。 因 为 Java Script还 需 要 加 上 执 行 的 动 作 才 可 以 。 不 过 , 听 说 新 版 的 Linux内 建 了 Java Script的 执 行 功 能 , 请 各 位 读 者 拭 目 以 待 吧 !

  记 得 使 用 Clynx时 和 一 般 的 Web Browser一 样 , 要 先 加 上 http://不 然 会 读 不 到 远 端 文 件 喔 !

取回的档案是需要您自己编译的程式原始码时

  有 时 您 取 回 了 一 个 资 料 包 , 拿 回 来 发 现 里 面 的 档 案 都 是 *.c, *.h之 类 的 档 案 , 没 有 可 以 执 行 的 可 执 行 档 , 这 要 怎 麽 办 呢 ? 别 担 心 , 这 些 都 是 程 式 的 原 始 码 , 是 要 你 自 己 去 编 译 它 的 。 大 部 份 只 有 一 个 执 行 档 的 应 用 程 式 ( 像 刚 刚 所 介 绍 的 ctelnet) 会 直 接 将 可 执 行 档 公 开 让 其 他 人 撷 取 。 而 较 复 杂 一 点 的 应 用 软 体 , 或 是 依 作 业 系 统 平 台 需 要 不 同 编 译 环 境 的 应 用 软 体 , 则 会 以 这 种 形 式 来 公 开 。 一 般 的 Shareware大 概 很 少 会 看 到 用 这 种 方 式 发 行 的 吧 ! 有 的 原 始 码 甚 至 要 另 外 和 作 者 买 才 有 。 在 Internet上 , 有 很 多 的 作 者 本 着 真 正 「 共 享 」 的 理 念 , 将 程 式 的 原 始 码 完 全 开 放 让 大 家 浏 览 , 甚 至 您 也 可 以 自 己 针 对 自 己 的 需 要 , 自 行 编 修 程 式 的 内 容 。 ( 笔 者 注 : 笔 者 不 予 鼓 励 修 改 他 人 程 式 码 而 牟 利 , 或 是 因 此 有 侵 犯 智 慧 财 产 的 行 为 , 毕 竟 那 是 他 人 的 心 血 。 编 修 後 的 程 式 码 请 在 一 定 范 围 内 自 行 适 当 使 用 之 , 你 看 连 Linux这 一 整 套 作 业 系 统 都 没 人 收 您 半 分 钱 , 是 不 是 要 好 好 感 谢 发 展 它 的 资 讯 界 诸 位 先 进 们 呢 ? )

  遇 到 这 种 档 案 , 首 先 在 解 压 以 後 的 档 案 中 应 该 会 有 一 个 名 为 Makefile的 档 案 , 要 如 何 将 这 一 大 堆 的 档 案 编 译 成 执 行 档 , 就 要 靠 这 个 档 案 的 指 引 。 此 档 案 是 文 字 档 , 您 可 以 用 您 惯 用 的 文 字 编 辑 器 来 编 辑 它 。 在 您 开 始 编 译 以 前 , 请 先 浏 览 一 下 该 档 案 , 由 於 目 前 作 业 平 台 众 多 , 编 译 器 可 能 也 不 尽 相 同 , 原 来 的 设 定 值 可 能 不 适 合 您 。 以 下 是 一 套 防 火 墙 软 体 TIS Firewall Toolkit的 Makefile, 举 例 如 下 ( 图 四

  以 上 是 该 软 体 之 Makefile档 案 之 部 份 范 例 。 例 如 说 , 某 一 个 软 体 的 Makefile中 , 内 定 的 编 译 器 是 cc( 会 写 成 cc=cc, C Compiler=cc的 意 思 ) , 而 我 们 想 要 使 用 gcc, 所 以 我 们 就 将 cc=cc的 叙 述 换 成 cc= gcc以 符 合 目 前 系 统 的 需 求 。

  编 辑 完 成 , 结 束 并 储 存 它 。 然 後 在 Makefile的 同 一 个 目 录 中 , 输 入 make指 令 :

[VarioxNET UNIX] ccunix-1 / 〈 finny〉 make
系 统 就 会 寻 找 目 前 目 录 中 的 Makefile 作 为 编 译 时 的 参 考 档 案 , 并 且 开 始 以 Makefile内 所 定 义 的 内 容 开 始 编 译 档 案 , 您 可 以 看 到 如 下 的 编 译 过 程 : ( 部 份 档 案 编 译 过 程 如 图 五

  有 时 原 始 程 式 会 附 上 不 只 一 个 的 Makefile、 如 Makefile.SunOS、 Makefile.linux、 Makefile.freebsd等 。 由 档 案 名 称 应 该 可 以 很 容 易 地 看 出 来 , Makefile.linux是 给 Linux所 使 用 的 。 请 选 用 适 合 您 作 业 平 台 的 Makefile, 并 拿 它 来 取 代 原 有 的 Makefile。 建 议 您 在 Compile一 个 应 用 程 式 之 前 , 先 详 细 阅 读 内 附 的 说 明 文 件 。

  当 Make执 行 完 成 , 一 切 正 常 的 话 , 您 就 可 以 开 始 执 行 档 案 了 。

  本 期 所 分 别 介 绍 的 就 是 几 种 在 您 的 Linux/UNIX主 机 中 增 加 新 应 用 软 体 的 方 式 。 当 您 觉 得 您 的 系 统 主 机 缺 少 了 某 些 功 能 , 想 要 增 加 的 时 候 , 就 可 以 这 样 一 步 一 步 地 将 自 己 的 主 机 不 断 的 增 加 功 力 了 ! 不 过 , 在 您 想 要 拿 一 些 软 体 回 来 强 化 您 主 机 的 体 质 时 , 请 记 得 以 下 几 点 :

  1. 请 先 将 重 要 资 料 备 份 , 有 些 软 体 设 计 得 不 好 或 是 不 适 用 於 您 的 系 统 , 有 可 能 会 导 致 系 统 出 问 题 。

  2. 由 於 UNIX作 业 系 统 种 类 甚 多 , 系 统 环 境 也 不 尽 相 同 , 虽 然 大 家 都 同 样 是 UNIX, 同 样 的 软 体 在 不 同 的 平 台 上 可 能 会 需 要 不 同 的 执 行 档 。 请 您 在 抓 取 一 个 新 的 软 体 时 , 先 确 定 一 下 它 是 设 计 给 什 麽 平 台 用 的 , 看 看 适 不 适 用 於 您 的 作 业 系 统 平 台 。

  3. 俗 话 说 ∶ 「 害 人 之 心 不 可 有 , 防 人 之 心 不 可 无 。 」 虽 然 在 Internet上 多 的 是 愿 意       贡 献 自 己 心 力 , 造 福 大 众 的 程 式 设 计 师 , 但 是 很 遗 憾 的 , 仍 然 有 一 些 以 害 人 为 乐 的 程 式 设 计 师 存 在 。 有 的 人 会 故 意 把 Trojan Horse( 特 洛 依 木 马 , 文 学 名 着 「 木 马 屠 城 计 」 中 希 腊 人 伪 称 作 为 礼 物 送 给 特 洛 依 人 的 一 只 大 木 马 , 其 实 木 马 中 暗 藏 着 希 腊 士 兵 , 等 待 夜 晚 时 偷 偷 与 城 外 守 候 之 希 腊 士 兵 里 应 外 合 攻 下 特 洛 依 城 的 故 事 。 後 来 就 泛 称 这 种 好 像 送 礼 物 , 给 予 他 人 好 处 , 却 暗 地 里 搞 破 坏 的 「 内 奸 型 」 礼 物 为 特 洛 依 木 马 , 好 像 有 点 「 引 狼 入 室 」 的 味 道 ) 伪 称 是 功 能 强 大 或 是 多 优 良 的 软 体 放 在 Internet上 给 别 人 撷 取 , 其 实 该 种 软 体 在 您 执 行 後 便 开 始 搞 破 坏 , 例 如 乱 删 档 案 , 格 式 化 硬 碟 。 还 有 一 种 设 计 得 相 当 精 良 的 Trojan Horse, 表 面 上 看 来 像 是 个 不 错 的 数 字 型 时 钟 软 体 , 但 其 实 它 会 偷 偷 的 将 自 己 设 为 背 景 执 行 , 然 後 监 视 每 一 个 使 用 者 的 登 录 ( login) 作 业 。 当 有 使 用 者 登 录 进 系 统 时 , 该 软 体 就 会 「 偷 」 该 使 用 者 的 密 码 ( 监 视 他 的 按 键 输 入 ) , 然 後 将 该 使 用 者 的 帐 号 、 密 码 , 所 在 主 机 等 资 料 统 统 寄 到 某 一 个 地 方 去 。 这 样 子 该 台 藏 了 Trojan Horse的 倒 楣 主 机 中 , 用 户 的 密 码 就 全 部 曝 光 了 ! 因 此 , 在 您 要 安 装 一 个 新 软 体 前 , 最 好 先 确 定 一 下 该 软 体 的 来 源 是 否 正 常 , 还 有 , 万 一 不 得 已 安 装 了 实 在 不 知 道 是 什 麽 的 软 体 , 随 时 要 监 视 系 统 是 否 有 不 正 常 的 动 作 发 生 ( 主 机 所 有 的 动 作 都 会 记 录 在 /usr/adm/下 面 的 syslog档 案 中 ) 。 还 有 , 如 果 您 是 个 程 式 设 计 师 的 话 , 希 望 您 不 要 做 出 这 种 害 人 的 事 情 。 电 脑 是 为 了 使 我 们 的 生 活 更 方 便 , 但 不 是 为 了 使 我 们 生 活 在 恐 惧 之 中 。

  4. 请 务 必 在 读 完 内 附 的 说 明 文 件 , 调 整 过 Makefile以 後 再 开 始 编 译 。 有 的 软 体 不       只 造 出 执 行 档 , 还 会 修 改 您 的 系 统 。 请 您 在 了 解 安 装 软 体 会 对 您 的 系 统 造 成 什 麽 影 响 以 後 , 再 决 定 要 不 要 安 装 它 。    
  以 上 就 是 「 新 软 体 安 装 四 诫 」 , 安 装 前 先 注 意 一 下 , 会 让 您 安 装 起 来 更 顺 利 。

  下 次 笔 者 要 为 您 介 绍 如 何 将 您 的 Linux 系 统 升 级 , 设 定 助 理 系 统 管 理 员 , 安 全 关 机 程 序 等 主 题 。 如 果 您 还 有 其 他 想 知 道 的 , 可 以 连 到 笔 者 的 站 台 (02)873-0685来 , 可 以 在 本 刊 中 一 并 回 答 , 也 满 足 其 他 读 者 的 求 知 欲 。 炎 炎 夏 日 , 不 要 老 待 在 房 里 看 电 脑 , 小 心 得 冷 气 病 , 出 去 走 走 吧 !

( 作 者 任 职 於 台 湾 法 洛 斯 公 司 数 据 通 信 部 )