tech memo 分类

在虚拟机上安装好Fedora后,就进入搭建LAMP系统(IBM developerWorks 中国 网站上有关于LAMP的介绍)的核心阶段:安装XAMPP。从apache friends上下载适用于Linux系统的XAMPP的发行版 ,安装过程在网站上有详细介绍 ,很明了,但在安装的过程中还是出现了意外:当使用 /opt/lampp/lampp start 运行XAMPP时,出现如下提示:

cat: error while loading shared libraries: libc.so.6: cannot open shared object file: No such file or directory
/bin/sh: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
Starting XAMPP for Linux ...
/bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
/bin/bash: error while loading shared libraries: libdl.so.2: cannot open shared object file: No such file or directory
XAMPP for Linux started.
在Firefox中访问http://localhost 的时候也无法看到XAMPP的开始页面,千辛万苦在网上找到遇到同样错误并解决了的方法
 vi /opt/lampp/lampp
找到:export LD_ASSUME_KERNEL=2.2.5
改为:export LD_ASSUME_KERNEL=2.8.0
vi 编辑器有其特殊的使用方法,这里有比较详尽的介绍,就不再赘述。 事实证明,前面的办法还真行,但具体是什么原因就不清楚了。

现在,就可以通过http://localhost 来访问XAMPP的起始页面了,LAMP系统也就搭建成功了

最近开始熟悉LAMP(即Linux-Apache-MySQL-PHP)WEB开发框架,从安装Fedora开始,先从Fedora Project 下载最新的Fedora 9安装DVD的 ISO镜像文件 。为了方便起见,我选择在虚拟机中安装Fedora,最著名的两大虚拟机软件就是微软的Microsoft Virtual PC (最新版2007,另外SP1补丁竟然比主程序的安装文件还略大,微软的补丁真可谓是补到家了,呵呵)和VMware ,其实Virtual PC 最开始并不是微软自己的项目,而是出自一个叫做Connectix的公司,后来微软收购了它 。以前听微软TechNet的课时经常看到讲师在演示操作的时候用到Virtual PC,看着挺不错的,现在轮到自己尝试,发现简单得有些简陋,在创建虚拟机的时候可以选择安装的客户机操作系统(guest operating system)类型,提供的选项都是微软阵营的,有Win98、Win2000、WinXP、Win2003 等,在虚拟的BIOS中选择从光驱启动,把安装光盘放进光驱,或者在Virtual PC的"CD"菜单的"Capture ISO Image"选择要安装的操作系统的ISO文件,按照提示,就和平时在PC上安装系统一样。可惜的是它对Linux 的支持一点也不好,在安装Unbuntu的过程中,我就遇到了显示的问题,后来在网上搜索,看到有很多人也遇到同样的问题,但解决起来似乎不容易,且版本不同也有细微差别,后来还是放弃了,把目光投向VMware。

和Virtual PC 2007不同,VMware Workstation的安装文件就有300多M,最新版的VMware 6.0.4 build:93057,从官方网站也只能下载到试用版的。VMware对Linux的支持不错,在新建虚拟机的过程中有Microsoft Windows、Linux、Novell Netware、Sun Solaris多个选项可供选择,这些大项下面还有许多更为细致的小项可供选择。对虚拟机占用的内存和硬盘空间应根据实际情况做合理设置,我要安装的Fedora 9 由于是最新版的桌面系统,对内存大小和硬盘空间都有比较高的要求,所以我设置的值分别是512M和10G。在虚拟机的属性中把CD-ROM设置为"Using ISO image",选择要安装的操作系统的ISO文件。安装过程比较顺利,即使以前没用过Linux也能够比较轻松的进行,设置的东西不多,按提示来就可以了。

系统安装好了,不过有两个地方让人感觉不太好:每次从Fedora切换回Windows时都要按Ctrl+Alt,比较麻烦;显示分辨率只能设置为800*600,将虚拟机全屏时内容只占据屏幕正中央的大部分,四边还离屏幕周边还有些距离,就像EeePC的屏幕。原本只是因为在安装好的Fedora客户机和宿主机(WinXP SP3)之间无法复制文件而安装VMware Tools,没想到安装好VMware Tools之后上面两个问题都得到解决,的确是意外的惊喜:鼠标在Fedora用户界面和WindowsXP宿主机之间可以自由"出入",在Fedora中在窗口在最大化后所有界面充满了整个屏幕,就像在本机真实安装的一样。

安装VMware Tools的过程我也是在网上搜到的,具体过程如下:

  1. 安装虚拟机的时候网卡设置为本机的物理网卡。
  2. 启动虚拟机,选择VMware Tools的VM菜单的Install VMware Tools选项,注意状态栏的提示。
  3. 选择VMware Tools的VM菜单的Removable Devices子项中的CD-ROM项,点击Edit,在Use ISO image下点击Browse,在打开的对话框中选择VMware程序文件目录下的Linux.iso。
  4. 进入Fedora命令行模式(纯命令行模式我也不知道咋进,我是在用户界面下的终端模式里输入命令的,另:一定要用root身份登陆),输入 mount /dev/cdrom /mnt/cdrom,然后输入 cd/mnt/cdrom。
  5. 打开cdrom文件夹,这时应该可以看到有两个文件,一个是VMwareTools*.rpm(*部分根据VMware的版本不同而有所差异,我用的是VMware 6.0.4 build93057,在这里文件名为VMwareTools-6.0.4-93507.i386.rpm),在终端中输入rpm -ivh VMwareTools*.rpm;还有一个文件是VMwareTools*.tar.gz (和前面的文件名类似),依次输入以下命令 cp VMwareTools*.tar.gz /tmp、 cd /tmp、 tar xzvf VMware-tools*.tar.gz、cd vmware-tools-distrib,打开vmware-tools-distrib文件夹,里面会有一个vmware-install.pl 文件,输入./vmware-install.pl,在接下来安装过程中的提示中一直按回车。
  6. 在 /mnt文件夹下,会发现此时多了一个hgfs的文件夹,表明VMware Tools安装成功了。
  7. 最后一步,设置文件夹共享,VM菜单里进行,选择Setting子项,再选择Options,在窗体的左半部分有一个Shared Folders选项,默认情况下是Disabled,选择Always enabled,在下面的Folders中添加要共享的文件夹目录,这样,客户机(Fedora)和宿主机(WinXP)都可以访问共享目录下的文件了,可以用在Windows中拷贝相应文件到Fedora。最后,用umount /mnt/cdrom卸载光驱。

今天在安装Silverlight和微软拼音输入法2007 的时候,出现安装错误的提示,在安装其他使用Windows Installer服务的程序时候也是如此。打开控制面板的事件查看器,在"应用程序"的出错记录是

"产品: 微软拼音输入法2007 -- 安装程序在安装此软件包时遇到一个错误。这可能表示此软件包有错。错误码是 2203。参数是: C:\WINDOWS\Installer\3deaa.ipi, -2147287035,"

"Product: Microsoft Silverlight -- The installer has encountered an unexpected error installing this package. This may indicate a problem with this package. The error code is 2203. The arguments are: C:\WINDOWS\Installer\442279.ipi, -2147287035, "

可以看到,出错原因的描述是类似的,前面部分说程序遇到错误,可能表示软件包有错,后面解释详细情况:"错误码为xxxx。参数是:C:\WINDOWS\Installer\xxxxx.ipi,-xxxxxxxxxx,"。先来分析,安装文件本身是没有问题的,都是完整的,而Windows Installer服务也是正确安装了的,版本是3.1,服务也在运行状态。在网上G了一下Windows Installer出错的解决办法,但大部分是由于Windows Installer服务本身的问题造成的,出错情况和上面也不一样。搜索"C:\WINDOWS\Installer ipi",终于找到了解决办法 ,作者给出了几种可能的原因:

  1. 当前登录用户的用户环境变量必须包括 TEMP:%USERPROFILE%\Local Settings\Temp 和 TEM:%USERPROFILE%\Local Settings\Temp (其中,%USERPROFILE%是当前登录用户的配置文件路径,如当前登录用户为Admin,则其对应的%USERPROFILE%为C:\Documents and Settings\Admin)
  2. 当前登录用户应该有管理权限,即,当前用户应该属于Administrator或者Power Users用户组。
  3. 确保"计算机名\SYSTEM"用户拥有对"C:\Documents and Settings\<当前登录用户名>\Local Settings\Temp"文件夹的绝对控制权。
  4. 对于某些软件,可能还需要"计算机名\SYSTEM"用户拥有对"C:\Documents and Settings\<当前登录用户名>\Local Settings\Application Data"文件夹的绝对控制权。

经实验,我遇到的问题是上述原因中的第三种造成的,把SYSTEM用户添加到Temp文件夹"属性"-〉"安全"设置里并赋予其完全控制的权限就可以了(必须是NFTS系统才支持文件夹的安全属性)。

前两天遇到一件怪事,由于系统中毒(还是安装了SP3和卡巴斯基杀毒软件的系统,网络真的没有绝对的安全),在卡巴斯基杀完毒后重启进系统,提示"没有找到mfc40u.dll"的错误,标题是"lsass.exe 无法找到组件",lsass.exe是系统运行时的一个重要进程,无法运行的话连系统登陆界面都进不了,点确定后屏幕背景一片黑,只能看到鼠标箭头。手动重启,在开机自检后按F8出现启动高级菜单,选择"最后一次正确的配置",顺利进入系统,但病毒依旧存在,卡巴斯基再次杀毒,重启后又遇到刚才连登陆界面都没出现的状况,没办法,只有重装系统(准确说是还原,之前我做过备份)。 

由于备份的时候就已经把IE7的临时文件夹更改到非系统分区,所以还原后也没有留意它。还原后第一件事情----安装SP3补丁,虽然之前即使安装了补丁也被病毒感染,但肯定的是,如果不安装,更可能被感染。接着把卡巴斯基和其他必备的软件安装好了,一切正常。过了几天,在用Windows自带的磁盘清理工具对系统盘进行清理的时候发现在"要删除的文件:"列表下有"Internet临时文件"和"脱机文件",文件还比较大,临时文件不是已经设置到了非系统盘吗?怎么还会在系统盘中有这么大的文件呢?打开IE7 的"Internet 属性"-》"浏览历史记录"-》"设置"的"Internet临时文件和历史记录设置"对话框,惊奇的发现"当前位置"是"C:\Document and Settings\Admin\Local Settings\Temporary Internet Files"(其中Admin是当前登陆的用户名),这个是系统的默认设置,但我确信在做系统备份之前就把位置改到了E盘,也就是文件应该存放在"E:\Internet 临时文件",而这次系统还原后我也没有对IE的临时文件设置进行过改动,想想真是蹊跷。 

既然临时文件夹现在的位置是默认的,那就改回来吧,在"Internet临时文件和历史记录设置"当中选择移动文件夹,在弹出的窗口中选择E盘,点击确定后系统会注销以更改设置,再次进入系统,再次打开"Internet临时文件和历史记录设置",很奇怪的,发现"当前位置"仍然是默认设置,即"C:\Document and Settings\Admin\Local Settings\Temporary Internet Files",很明显,更改没有起作用,重新以上操作,还是不行,包括注销后重启都没能把位置从默认位置改到E盘。打开E盘,发现"Internet 临时文件"还存在,但是文件夹不是隐藏的。 

从网上搜索到的一些相关信息来判断,可能和系统盘的临时文件夹下面的文件有关,而当前登陆用户是无法删除系统盘的Internet临时文件夹的,最后采取的解决办法就是:先重复上面的操作,把临时文件位置改到"E:\Internet 临时文件",注销后按两次Ctrl+Alt+Del键,出现经典的登陆对话窗口,"用户名"输入计算机管理员Administrator(不同于刚才登陆用的Admin用户),输入密码,现在就可以删除"C:\Document and Settings\Admin\Local Settings\Temporary Internet Files"了,注销Administrator,用Admin登陆,再看现在IE的临时文件存放位置,成功地改为了"E:\Internet 临时文件"。

由于平常要用到的软件比较多,在考虑安装办公软件的时候就选择了免费的WPS Office 2007,和微软Office办公套件安装光盘600多M 的庞大体积相比,WPS的安装文件着实很Mini,仅有23M(其实WPS Office 2007 安装后也要占据110M的空间),但是在使用的过程中,也遇到一个不大不小的问题。

双击.doc、.xls和.ppt文件时,经常会出现“无法找到******”,让你“检查文件名的拼写,并检查文件位置是否正确”,还说“如果你正试图从“文件”菜单中最近使用的文件列表中打开文件,请确认文件未被重命名、移动或删除”,点确定后还会继续提示几次,除了“******”有变化,其余部分是相同的。如下图:

无法找到“E:\Various\Visual”  (点击看大图)

无法找到“E:\Various\C#”点击看大图)

无法找到“E:\Various\2005”点击看大图)

 无法找到“E:\Various\使用详解.doc”点击看大图)

当点完确定不再提示后,文件当然还是未被打开,最开始的时候我还怀疑是不是文件不完整造成的,但后来发现通过菜单“文件”—》“打开”,再选择这些文件,都能够顺利地打开,所以可以排除是文件不完整的原因。

先从提示找找线索,上文当中的4幅截图就是我在双击本地磁盘上"E:\Various\"目录下的“Visual C# 2005 使用详解.doc”这个文件时接连出现的四个提示对话框,让我们仔细看看提示的内容(很遗憾的是之前遇到这个问题很多次却一直没有留意这个),上文提到过,除了“无法找到******”的内容不一样外,其余的内容都是相同的。提示的"E:\Various\Visual"、"E:\Various\C#"、"E:\Various\2005"、"E:\Various\使用详解.doc"这几个目录和文件是不存在的,当然WPS会给出无法找到的提示。再仔细看,原来"Visual"、"C#"、"2005"、"使用详解.doc"正好就是真正文件名的四个部分,而这四部分中间恰好有空格,是否是空格的原因呢?验证一下,把文件名当中的空格去掉,改为“VisualC#2005使用详解.doc”,双击文件,果然能打开了。但是不可能每次碰到这种有空格的文件名都去手动改啊,看来问题还没有从根本上解决。

再来分析,现在可以确认双击打不开就是因为文件名当中有空格引起的,但是即使文件名当中有空格,为什么用文件菜单的打开命令就可以呢?双击和用文件菜单的打开命令有什么区别呢?双击的时候调用的是与文件类型相关联的程序,在我的电脑上,.doc文件默认就是用WPS 文字程序打开的,是否和“文件关联”的设置有关呢?我对文件关联有些了解,曾经在一本电脑杂志上看到过一个文件关联的小技巧,就是可以手动建立任何扩展名所对应的打开方式——通过资源管理器窗口的“工具”—》“文件夹选项”—》“新建”,还可以更改文件类型对应的图标、定义操作等。如下图:

点击看大图)

这种方法在重装系统后某些软件(特别是绿色软件)还能正常使用的情况下非常有用,WPS虽然不是绿色软件,但只要先前是安装在非系统盘,重装系统后不用重新安装程序,程序照样可以使用,找到其中的程序可执行文件"wps.exe"、"et.exe"、"wpp.exe"就可以分别打开文档、表格和演示文稿了。但是在双击.doc、.xls、.ppt文件的时候会弹出“Windows 不能打开此文件”的提示(出现这个对话框就是因为所双击的文件类型还没有在系统中注册),可以使用选择“使用 Web 服务寻找适当的程序(W)”,也可以“从列表中选择适当的程序(S)”,通常选择后者,通过“打开方式”里提供的程序进行选择,如果勾选了“始终使用选择的程序打开这种文件(A)”,下次再双击的时候就可以直接打开了。另外一种方式就是前面提到的直接通过新建的方式手动地编辑文件类型。回到现在的情况,WPS是在系统安装后才安装的,但是仍然可以对.doc、.xls、.ppt的文件类型进行设置,打开“编辑文件类型”设置的“Open”操作的编辑选项,“用于执行操作的应用程序(L)”这一项的设置是""D:\Kingsoft\WPS Office 2005\office6\wps.exe" %1"(不包括最外面的一对引号)

再对比了一下PDF文件类型的设置,发现了问题,pdf的“Open”操作的“用于执行操作的应用程序(L)”这一项在程序位置地址后的%1是有双引号的,而.doc、.xls、.ppt都没有,给%1加上双引号,问题解决!

附:(微软网站上关于文件关联的两篇文章)

  1. SAMPLE: FileAsso.exe 演示如何使用文件关联
  2. 如何在 Windows XP 中更改双击文件时启动的程序

关于此存档

此网页包含作者在分类 tech memo 下最近发表的文章.

social 是前一个分类.

tech news 是后一个分类.

最新的内容请浏览 主页 或者到 存档页 查找更多内容.

他们来过

和我聊天

Powered by Movable Type 4.1