Linux 下 Qone 开 发 环 境 的 搭 建 李 耀 中 2012.03.20 v0.9
约 定 和 说 明 : 1. 基 于 Ubuntu 11.10 i386 2. 蓝 色 部 分 为 控 制 台 命 令, 默 认 为 在 当 前 用 户 目 录 下 执 行 3. 添 加 至 文 件 的 部 分 默 认 添 加 在 文 件 结 尾 处 4.SUN-JDK 从 目 前 看 不 安 装 也 可 以 ( 自 带 OPEN-JDK 的 情 况 下 ), 但 是 为 了 统 一 或 者 避 免 问 题, 建 议 安 装 5.UTF-8 建 议 使 用 不 带 BOM 的 6. 如 果 要 显 示 隐 藏 文 件, 需 要 在 文 件 管 理 器 - 查 看 中 勾 选 显 示 隐 藏 文 件 Changelog: 0.9:2012-03-20 1. firefox 下 的 jvm 2. ssh 的 key 转 换 和 配 置 3. eclipse 增 加 扩 展 4. iptux 5. 增 加 changelog 0.8:2012-03-19 1. 永 中 office 的 安 装 2. Git 3. 排 版
一.JDK 1.1 环 境 变 量 Ubuntu 11.10 自 带 OpenJDK, 目 前 未 发 现 兼 容 性 问 题, 可 以 直 接 使 用, 但 需 要 配 置 环 境 变 量 主 要 是 PATH CLASSPATH 和 JAVA_HOME, 注 意 PATH 最 后 所 添 加 的 bin 目 录 : $ sudo gedit /etc/environment 把 整 个 文 件 替 换 为 如 下 内 容, 然 后 需 要 重 启 PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm /java-6-openjdk/bin" CLASSPATH="/usr/lib/jvm/java-6-openjdk/lib" JAVA_HOME="/usr/lib/jvm/java-6-openjdk" 1.2 更 换 为 Sun-jdk( 可 选 ) 方 法 如 下 :( 此 步 骤 可 不 执 行!!!) sudo apt-get install python-software-properties sudo add-apt-repository ppa:ferramroberto/java sudo apt-get update sudo apt-get install sun-java6-jdk sun-java6-plugin 之 后 配 置 环 境 变 量 : $ sudo gedit /etc/environment PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/u sr/lib/jvm/java-6-sun/bin" CLASSPATH="/usr/lib/jvm/java-6-sun/lib" JAVA_HOME="/usr/lib/jvm/java-6-sun" 然 后 就 是 要 告 诉 系 统, 我 们 使 用 的 sun 的 JDK, 而 非 OpenJDK 了 : $ sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-6-sun/bin/java 300 $ sudo update-alternatives --install /usr/bin/javac javac /usr/lib/java/java-6-sun/bin/javac 300 $ sudo update-alternatives --config java 有 2 个 候 选 项 可 用 于 替 换 java ( 提 供 /usr/bin/java) 选 择 路 径 优 先 级 状 态
------------------------------------------------------------ 0 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 自 动 模 式 1 /usr/lib/jvm/java-6-openjdk/jre/bin/java 1061 手 动 模 式 * 2 /usr/lib/jvm/java-6-sun/bin/java 300 手 动 模 式 要 维 持 当 前 值 [*] 请 按 回 车 键, 或 者 键 入 选 择 的 编 号 :2 如 上 所 示, 这 样 就 设 置 好 了 要 使 用 的 java 了 最 后 我 们 验 证 一 下 : $ java -version java version "1.6.0_27" Java(TM) SE Runtime Environment (build 1.6.0_27-b07) Java HotSpot(TM) Server VM (build 20.2-b06, mixed mode) 1.3. 配 置 Firefox 安 装 的 JDK 不 能 自 动 关 联 到 Firefox, 需 要 手 动 配 置 cd /usr/lib/mozilla/plugins sudo ln -s $JAVA_HOME/jre/plugin/i386/ns7/libjavaplugin_oji.so. sudo ln -s $JAVA_HOME/jre/lib/i386/libnpjp2.so. 后 面 的 点 是 需 要 的
二.mysql 和 tomcat 2.1. 安 装 mysql sudo apt-get install mysql-server 目 前 版 本 为 5.1,5.5 的 安 装 需 要 编 译 源 码 然 后 修 改 配 置 文 件 使 其 忽 略 表 名 大 小 写 ( 针 对 Qone 目 前 大 小 写 混 乱 问 题, 建 议 后 面 统 一 修 正 ) 在 ubuntu 下,/etc/mysql/my.cnf 文 件 中 [mysqld] 的 后 面 加 lower_case_table_names=1 0, 区 分 大 小 写 ; 1, 不 区 分 好 像 还 有 说 在 /etc/my.cnf, 在 ubuntu 下, 这 个 不 能 使 用 然 后 重 启 mysql sudo /etc/init.d/mysql restart MYSQL 在 LINUX 下 数 据 库 名 表 名 列 名 别 名 大 小 写 规 则 如 下 : 1. 数 据 库 名 与 表 名 是 严 格 区 分 大 小 写 的 2. 表 的 别 名 是 严 格 区 分 大 小 写 的 3. 列 名 与 列 的 别 名 在 所 有 的 情 况 下 均 是 忽 略 大 小 写 的 4. 变 量 名 也 是 严 格 区 分 大 小 写 的 MYSQL 在 WINDOWS 下 都 不 区 分 大 小 写 2.2. 安 装 tomcat tomcat 不 区 分 不 同 平 台, 任 意 找 一 个 解 压 缩 即 可, 可 解 压 缩 至 当 前 用 户 目 录
三.buildr 3.1 安 装 ruby: $ sudo apt-get install ruby-full ruby1.8-dev libopenssl-ruby build-essential 安 装 gems $ sudo apt-get install rubygems 3.2. 安 装 buildr: $ sudo env JAVA_HOME=$JAVA_HOME gem install buildr
四.Eclipse 4.1. 安 装 Eclipse: $ sudo apt-get install eclipse 这 么 安 装 出 来 的 Eclipse 是 SE 版 本, 可 以 选 择 从 官 网 下 载 JAVA EE ECLIPSE 的 压 缩 包, 直 接 解 压 缩 可 用 如 果 之 前 的 已 经 配 置 好 了, 可 以 把 新 下 载 的 Eclipse 的 plugin 目 录 和 features 目 录 复 制 到 之 前 的 eclipse 中 4.2. 安 装 devloader 过 程 和 windows 下 类 似,eclipse 插 件 目 录 路 径 为 /usr/lib/eclipse/plugins, 建 议 使 用 sudo cp 拷 贝 插 件, 如 果 出 现 不 能 加 载, 可 以 用 chmod 777 -R 改 一 下 拷 进 去 的 插 件 的 读 写 权 限 Jrebel 类 似
五.Git 5.1. 安 装 Git sudo apt-get install git-core git-core 为 核 心 组 建, 还 有 一 些 其 他 的 外 围 扩 展 Linux 下 Git 貌 似 要 好 用 些, 最 起 码 不 用 每 次 push 前 pull 了, 就 少 了 很 多 冲 突, 想 提 交 就 提 交, 不 想 提 交 的 文 件 完 全 不 用 管 5.2.ssh 配 置 windows 下 TortoiseGit 和 linux 下 面 的 密 钥 格 式 不 同, 不 能 通 用, 但 可 以 用 puttygen.exe 进 行 双 向 转 换 打 开 此 工 具 后, 点 load 装 入 key, 如 果 要 保 存 为 putty 的 私 钥, 直 接 点 load 下 面 的 save private key 如 果 要 转 换 为 openssh 的 key, 点 菜 单 中 Conversions, Export OpenSSH key, 然 后 保 存 即 可 所 有 生 成 和 保 存 key 的 过 程 中, 如 果 出 现 passphase 字 样, 是 问 你 是 确 定 不 对 key 加 密, 防 止 别 人 得 到 你 的 私 钥 后 使 用 A. 如 果 使 用 转 换 过 来 的 key, 把 key 置 于.ssh/config 目 录 下 ( 和 下 面 配 置 文 件 对 应 ), 如 key 的 名 字 为 liyaozhong, 则 使 用 chmod 600.ssh/config/liyaozhong 修 改 key 的 权 限 B. 因 为 linux 下 设 及 权 限 问 题, 所 以 可 以 在 linxu 下 重 新 生 成, 命 令 为 ssh-keygen, 会 让 你 配 置 生 成 密 钥 的 名 字, 可 配 置 为 自 己 的 全 名, 并 把 生 成 的 公 钥 发 给 淑 娟, 替 换 服 务 器 端 然 后 需 要 配 置 ssh 的 设 置,gedit.ssh/config 会 生 成 配 置 文 件, 添 加 如 下 内 容 : host qonecode user git hostname 192.168.3.170 identityfile ~/.ssh/key( 此 处 为 私 钥 的 全 名 包 括 路 径 ) 然 后 就 可 以 下 载 代 码 了 git clone qonecode:qone52.git 其 中 qonecode 表 示 和 上 面 的 配 置 对 应 默 认 下 载 目 录 为 当 前 用 户 目 录 如 果 出 现 Agent admitted failure to sign using the key 解 決 方 法 :
使 用 ssh-add 指 令 將 私 钥 加 进 来 ( 根 据 个 人 的 密 匙 命 名 不 同 更 改 id_rsa) # ssh-add ~/.ssh/id_rsa 目 前 代 码 加 到 Eclipse 后 有 错, 把 所 有 的 source remove 了 再 加 一 次 就 好 了, 不 要 加 Spdalpplet PS:.ssh 目 录 默 认 为 隐 藏
六.wine wine 是 一 个 在 Linux 和 UNIX 之 上 的, Windows APIs 的 实 现. 它 是 一 个 Windows 兼 容 层, 可 以 支 持 大 量 Windows 软 件 的 执 行, 如 Navicat/office/IE, 最 新 版 本 为 1.4, 可 兼 容 office2010. 3 月 14 号 做 了 尝 试,office2010 安 装 有 问 题,office2007 可 安 装, 原 因 应 该 出 在 dotnet 上, 建 议 大 家 文 档 保 存 为 office97 格 式, 兼 容 性 好 sudo add-apt-repository ppa:ubuntu-wine/ppa sudo apt-get update sudo apt-get install wine1.3 虽 然 是 1.3, 但 事 实 已 经 变 成 1.4. 6.1. 两 装 方 式 安 装 Window 软 件 : A. 安 装 Navicat,Navicat 官 方 有 linux 版 本, 但 也 是 基 于 wine, 不 推 荐 下 载 navicat 的 windows 版 本 右 键 使 用 Wine 打 开, 和 windows 下 一 样 的 安 装 这 两 天 试 用 了 一 下, 自 己 安 装 的 navicat 在 使 用 导 入 sql 等 功 能 时 有 问 题, 但 可 以 激 活 如 果 遇 到 出 错, 大 家 可 以 下 载 官 方 的 版 本 : ---- 第 一 次 执 行 start_navicat 时, 会 在 用 户 主 目 录 下 生 成 一 个 名 为.navicat 的 隐 藏 文 件 夹 ---- 此 文 件 夹 下 有 一 个 system.reg 文 件 ---- 把 此 文 件 删 除 后, 下 次 启 动 navicat 会 重 新 生 成 此 文 件,30 天 试 用 期 会 按 新 的 时 间 开 始 计 算 或 者 选 用 官 方 的 lite 版 本 B. 使 用 winetricks: winetricks ie6 按 提 示 安 装, 直 接 执 行 winetricks 可 打 开 图 形 界 面 备 注 : 因 为 IE6 安 装 包 通 过 网 络 下 载, 如 出 现 失 败, 下 载 ie6 安 装 包 至. cache/winetricks/ie6/ie6.exe
如 果 用 wine 安 装 之 后 找 不 到, 可 以 在 菜 单 中 找 到 如 图 的 Browse C:Drive, 然 后 就 像 Windows 下 的 C 盘 一 样 了
七. 增 加 易 用 性 7.1.gnome3 Ubuntu 11.04 自 带 unity 界 面, 个 人 感 觉 不 如 gnome3 好 用 可 以 通 过 sudo apt-get install gnome-shell 安 装 gnome3, 安 装 后 需 要 重 启, 然 后 在 登 录 界 面 密 码 框 的 右 上 角 处 有 个 齿 轮 下 拉 框, 既 可 以 在 各 种 界 面 间 切 换 7.2. 永 中 ofiice (WPS for linux 要 四 月 份 才 能 有,wine 安 装 的 不 可 用 ) 永 中 Office 2012 个 人 版 包 含 以 下 功 能 : 永 中 表 格 永 中 文 字 永 中 简 报 ( 幻 灯 ) 永 中 PDF 文 档 永 中 Office 集 成 应 用 ( 即 上 面 的 综 合 体 ) 永 中 Office 新 版 本 特 性 (via linuxtoy): 全 新 的 高 仿 Microsoft Office 2010 Ribbon 界 面 提 高 对 Microsoft Office 2007/2010 格 式 的 兼 容 性 允 许 文 档 通 过 WebDAV FTP SMB 和 HTTP 直 接 保 存 到 Web 下 载 页 面 :http://www.yozosoft.com/person/ tar 包 :http://www.yozosoft.com/download!download.do?productname=2012grbgz rpm 包 :http://www.yozosoft.com/download!download.do?productname=2012grbrpm deb 包 :http://www.yozosoft.com/download!download.do?productname=2012grbgzdeb 建 议 大 家 下 载 tar 包, 因 为 deb 包 在 Ubuntu 12.04 下 无 法 安 装 成 功, 目 前 不 知 道 其 它 版 本 能 否 安 装 成 功 tar 包 顺 利 安 装, 并 且 安 装 过 程 很 简 单, 下 载 并 解 压, 然 后 cd 到 该 目 录, 接 着 使 用 命 令 : sudo./setup.sh 接 着 即 可 进 入 安 装 程 序
7.3 iptux( 飞 鸽 传 书 / 飞 秋 ) 飞 鸽 传 书 / 飞 秋 源 于 一 个 日 本 人 写 的 软 件 ipmsg, 后 来 开 放 了 协 议, 就 有 了 如 此 众 多 的 客 户 端,Linux 下 iptux 还 不 错 sudo apt-get install iptux 如 果 不 能 看 到 其 他 同 事, 一 般 是 由 于 使 用 路 由 器, 请 在 菜 单 - 工 具 - 首 选 项 - 网 络, 起 始 192.168.3.1, 终 止 192.168.3.254, 增 添, 确 定 添 加 192.168.X 即 可 看 到 同 一 网 络 不 同 网 段 的 其 他 部 门 同 事
附 录 附 1. 关 于 UTF-8 的 说 明 UTF-8 分 两 种 格 式 : 带 BOM(BOM Byte Order Mark, 就 是 字 节 序 标 记 ) 的 不 带 BOM 的 UTF-8 不 需 要 BOM 来 表 明 字 节 顺 序, 但 可 以 用 BOM 来 表 明 编 码 方 式 字 符 "ZERO WIDTH NO-BREAK SPACE" 的 UTF-8 编 码 是 EF BB BF 所 以 如 果 接 收 者 收 到 以 EF BB BF 开 头 的 字 节 流, 就 知 道 这 是 UTF-8 编 码 了 UTF-8 编 码 的 文 件 中,BOM 占 三 个 字 节 如 果 用 记 事 本 把 一 个 文 本 文 件 另 存 为 UTF-8 编 码 方 式 的 话, 用 UE 打 开 这 个 文 件, 切 换 到 十 六 进 制 编 辑 状 态 就 可 以 看 到 开 头 的 FFFE 了 这 是 个 标 识 UTF-8 编 码 文 件 的 好 办 法, 软 件 通 过 BOM 来 识 别 这 个 文 件 是 否 是 UTF-8 编 码, 很 多 软 件 还 要 求 读 入 的 文 件 必 须 带 BOM 可 是, 还 是 有 很 多 软 件 不 能 识 别 BOM 目 前 我 们 使 用 的 buildr 在 ubuntu 下 面 只 能 在 无 BOM 的 情 况 下 正 常 编 译