Posts for the month of 十一月 2012

常用的 PuTTY 和 WinSCP 设置

现在的 Linux 服务器一般都是使用 UTF-8 作为文件系统编码, 同时开放 SSH 供远程访问, 这种情况下, PuTTYWinSCP 就是很有用的 SSH 客户端, 但是默认情况下它们的配置不够合理, 包括会出现 Linux 系统中的中文文件名显示为乱码等现象, 针对这些问题, 需要进行的设置调整如下.

PuTTY

  1. 设置 PuTTY 使用 UTF-8 编码访问服务器, 解决 ls 等命令看到中文文件名是乱码的现象:
    ;
  2. 设置 PuTTY 的 "选中内容鼠标右键处理". 此项设置也非常重要, 因为默认情况下 PuTTY 的处理是 "复制到剪贴板 + 粘贴", 如果万一选中的是多行, 在 shell 中右键操作往往会造成粘贴多行字符串, shell 会当作多个命令去执行, 很容易发生执行错误命令的危险!
  3. 增加 PuTTY 的回滚行数. 默认情况下 PuTTY 的回滚行数很小, 在程序输出大量信息的情况下, 经常会无法看全程序输出的信息, 为此需要把这个行数设大:

WinSCP

  • WinSCP 中将 文件名UTF-8编码 开启就可以解决中文文件名乱码的问题:

补充说明

在 PuTTY 中, 如果在针对打开后的 "Default Settings" 进行设置修改并保存, 那么这些修改就可以作为默认设置保留下来.

END

Json.NET 文档的离线版本

Json.NET( http://json.codeplex.com/ )是 .Net Framework 下一个很有用的 JSON 解析和操作类库,支持 .Net 对象与 JSON 字符串之间的序列化/反序列化,但是其各个 Release 中并没有包含离线文档(只能通过 http://james.newtonking.com/projects/json/help/ 访问其在线版本)。

通过 Firefox 的插件 ScapeBook (可以从 这里 下载), 抓取了一份离线版本, 见附件(Json.NET-Documentation-20121124-james.newtonking.com.7z)。

如何让 .Net 程序能够在网络驱动器上运行

直接双击执行网络驱动器上的 .Net 桌面程序会发生安全异常, 解决方法如下图:

增强Windows计划任务执行用户的安全性

为了避免计划任务执行与当前登录到Windows桌面的用户操作之间的相互干扰(在Win2003上, 如果计划任务的执行用户和当前桌面登录用户相同, 计划任务执行时的命令执行窗口会显示在该用户登录的桌面上, Win2008似乎没有这个问题), 一般需要为计划任务专门指定一个用户, 我习惯于叫cron;

为了方面任务的执行, 通常会简单的把这个用户归到Administrators组, 考虑到Administrators组用户的权限很大, 因此对这个cron帐号需要进行一定的安全控制, 简单的来说就是"限制该用户登录到服务器":

  • 用于计划任务执行用户的创建:
  • 该用户划入管理员组:
  • 通过"组策略编辑器"(gpedit.msc)设置"拒绝本地登录":
  • 通过"组策略编辑器"(gpedit.msc)设置"拒绝从网络访问":
  • 终端服务配置中设置RDP-Tcp连接的访问权限:

经过以上配置, 实际测试该用户无法使用终端服务登录服务器, 这个帐号可以比较安全的用于计划任务了:

使用 w32tm 命令定期同步服务器时间

有时候因为各种原因, Windows服务器的时间可能不准, 比如虚拟机中服务器的时间会受主机时间的影响, 或者机器的BIOS时钟不准确等;

可以简单通过Windows计划任务, 使用 w32tm.exe /resync 命令就可以实现定期自动同步服务器时间的功能:

  • 在"计划任务"中设置执行的命令:
  • 设置定期执行:

如果发现定期时间同步不起作用, 建议直接在命令行中执行 w32tm.exe /resync 命令进行测试, 如果报错 "此计算机没有重新同步,因为没有可用的时间数据。", 可以在 日期和时间 属性 中选择其他的服务器试试:

  • 通过双击 Taskbar 右边的时间显示区域, 或者执行控制面板的"日期和时间", 都可以进入 日期和时间 属性:

VMware vSphere Hypervisor (ESXi)的功能限制

由于一直免费使用 VMWareESXi 虚拟化方案, 因此比较关心其对 CPU 和 RAM 的限制.

来自 http://quicklinux.sinaapp.com/2012/04/14/57.html :

版本4方面(ESXi)物理机 最大两路CPU,最大8核心,(也就是1个8核或者2个四核的CPU)256GB的内存,虚拟机最大4个vSMP,内存不限制(也可以认为成虚拟机合计256GB)

版本5方面(也就是你标题的VMware vSphere Hypervisor )物理机CPU和核心都不限制,内存最大1TB,虚拟机最大8vSMP,但是你注意了,内存合计32GB,理解深刻些,就是如果你有1台虚拟机是32GB内存,那么你只能虚拟出一台虚拟机。如果1台虚拟机的内存是1GB,你可以虚拟32台

VMWare ESXi 5 的正式文档上相应的说明如下:

跨平台的 Git 客户端

最近将一些工作迁移到了 GitHub, 在 Windows 环境下, 使用 TortoiseGit 作为客户端, 配合 msysgit 后端, 使用还是比较习惯的.

但是上述环境不够"便携"(Portable), 而且仅适用于 Windows, 所以一直在寻找合适的跨平台方案, 经过试用, 觉得 Eclipse-platform + EGit 是一个比较可用的组合.

目前最新版本(4.2.1)的 eclipse-platform 可以到这里下载, platform 下载的文件不到 60M, 相对 eclipse JDT 等安装包小了不少;

EGit 的安装和使用可以参考 Git with Eclipse (EGit) - Tutorial.

关于 thinkbase.net

thinkbase.net 一直是一个技术型的 Wiki/blog 站点, 最初使用 VQWiki, 期间使用过 GoogleCode(遗址), 也尝试基于 GitHub 构建自己的站点(遗址), 不过都没有坚持下来, 目前转移到 Trac 上.

  • 之所以不使用 GoogleCode, 最主要的原因是不习惯其 Wiki 语法, 与 Trac 相比, GoogleCode 在语法上的灵活和丰富程度还是不够的.
  • 基于 GitHub 的 blog 基本上是采用 Jekyll 方案, 比较详细的方式参见 阮一峰:搭建一个免费的,无限流量的Blog----github Pages和Jekyll入门, 考虑到 编写->生成->上传 过程比较繁琐(另外就是没有什么心思去设置 _config.yml 以及模板文件), 而且这个方案对评论功能的支持比较弱, 所以最终也没有使用.

参考: