显示标签为“Linux”的博文。显示所有博文
显示标签为“Linux”的博文。显示所有博文

2008年10月4日星期六

如何移动VMware虚拟机

这次移动虚拟机,没有成功,害得我差点没抓狂,为了不让这种事情再次发生,虽然这件事情过去了,但是我还是去网上找了一下资料,后来在官方网站看到下面的信息,我终于明白我的移动为什么没有成功了。因为我在移动之前没有关闭客户机,我一直都是用暂停的,省得去开机关机。但是这次暂停仿佛是有问题的,官方的说明明确指出了这一点,虽然我觉得暂停的内存文件被删除了那么和关机没有什么两样,但事实上是我还是开机不了,GRUB选择之后,内核一直启动不了,不断的重启。下次我还是要试一下关机之后再移动看看有没有用。


Preparing a Workstation 5 Virtual Machine for a Move



1. Shut down the guest operating system and power off the virtual machine. If the virtual machine is suspended, resume it, then shut down the guest operating system.



2. Do one of the following:



  • If you are moving the virtual machine to a new host and have a network connection between the original host machine and the new host, you are finished with the preparations on the original host.


  • Otherwise, you need to have a way of moving the virtual disk (.vmdk) files from the virtual machine's directory to the new host. You could move them to a shared network directory, for example, or burn them to CD-ROMs if they are not too large.



    Once you know how you are going to move the virtual machine, go to Moving a Workstation 5 Virtual Machine to a New Host.



  • If you are moving this virtual machine to another directory on this host, then you are ready to make the move. Copy all the files in the virtual machine's original directory to the new location.


  • If you stored any files in directories other than the virtual machine directory, be sure to move them into a directory of the same name and same position relative to the location of the virtual machine.



    Start VMware Workstation and open the new virtual machine you just created. Choose File > Open, then browse to the virtual machine's configuration (.vmx) file.




    还有移动后网卡不能用的问题,参考这个


    如果把vmware安装后的所有文件(vmx等)拷贝到另外一台主机,那么使用同样的vmware station可以继续使用已经安装的系统而不必重新安装。但是有一点要注意,就是网卡的问题。当拷贝后第一次启动,vmware会提示此系统是否是copy过来的,如果是那么就会为虚拟系统的网卡重新分配一个mac地址,可以通过查看vmx文件知道mac的详细地址。

    在debian linux虚拟系统中网卡的mac地址在 /etc/udev/rules.d/z25_persistent-net.rules中,只要把eth0或者对应需要的网卡标识对应到新的MAC地址就可以。同时需要修改/etc/network/interfaces中的IP地址,不然在同一个局域网中会产生IP冲突。修改完毕后重新启动就可以了。

    应该有办法不重新启动,但是还没有找解决方案,可能通过/proc可以避免重启吧。

    2008年7月14日星期一

    ubuntu8.04使用virtualbox_1.5.6的若干问题

    不知道是不是ubuntu新版本发布的太快的原因,可能早先版本做的很好的地方新版本可能出现问题,原来我从6.10升级到7.04就领教过了,这次还是有这种问题。

    原来我用kubuntu7.10的时候,用virtualbox很除了USB的问题,其他还好,并且速度也非常快,尤其是磁盘操作,让我非常的佩服linux的磁盘管理,但是现在用ubuntu8.04一上来我就碰到一个这样的:我创建虚拟磁盘的时候一个2GB的磁盘居然花费近半分钟来创建,要知道之前那个几乎是不花费时间的!

    然后是发现按下右Ctrl键不能从客户机从切换出来,郁闷至极,后来乱按到Print键才得以脱身!还发现不能在客户机中使用键盘,摆渡google几下之后,发现有好几个办法,但是我不想装新输入法……而且那个简单的方法又对我没用,我又不想去掉复制字符输入……

    最后在这里找到这样的一段话,呵呵

    http://www.douban.com/group/topic/3074741/



    scim冲突而已
    写个脚本,在virtualbox启动前屏蔽掉scim即可
    自己写的一个StartVBox.sh:

    export XMODIFIERS=""
    export GTK_IM_MODULE=""
    export QT_IM_MODULE=""
    virtualbox

    保存,chmod +x StartVBox.sh,以后运行这个sh即可
    也可以在桌面建立一个到这个sh的图标
    问题终于得到解决!




    PS:USB的问题,还没解决……

    2008年3月28日星期五

    linux device drivers study

    最近几天都在看这本书《linux 设备驱动程序》,虽然我很早就“浏览”过这本书,但是那是真正的浏览,以至于看了跟没看是一个样,我看很多书都是这样,以至于我都可以认为图书馆7楼(电子,计算机类)的书我都有“浏览”过……

    但是这一次不一样,我居然看懂了这本书都在讲什么,这个学习过程就是这么的折磨人。我想这些知识从整体来讲仿佛是一个平面,所以知识没有积累到一定的量,还就是看不懂,我大学期间目前为止所学到的每一个知识都是这么艰难的过程,尤其是大一的时候学习php。没人教,太困难了。

    《linux 设备驱动程序》这本书我现在看到190页,到目前为止作者是以一个scull的驱动程序为主线,教我们怎么编写驱动,不过看到现在我今天才做第一个实验:编写hello,world的驱动程序(其实就是抄书啦):

    [code:c]
    #include "linux/init.h"
    #include "linux/module.h"

    MODULE_LICENSE("GPL");

    static int __init eth_init(void)
    {
    printk(KERN_ALERT"hello, world\n");
    return 0;
    }
    static void __exit eth_exit(void)
    {
    printk(KERN_ALERT"Goodbye, cruel world\n");
    }
    module_init(eth_init);
    module_exit(eth_exit);
    [/code]

    另存为hello.c ,然后是要编写Makefile,看书上讲的,弄半天结果还是没出来,Google几下,然后知道几个要点是,内核源码树要先make menuconfig 然后 make 编译一会儿,其实我老早就有编译过,只不过是clean掉了,没想到编译驱动也需要这个。具体的Makefile如下:

    [code]
    PWD = $(shell pwd)
    #please change next variable
    # to the path of kernel source of yourself
    KERNEL_SRC =/home/jia/kernel/linux-source-2.6.22/
    obj-m := hello.o
    module-objs := hello.o

    all:
    $(MAKE) -C $(KERNEL_SRC) M=$(PWD) modules

    clean:
    rm *.ko
    rm *.o
    [/code]

    编译成功之后会生成hello.ko文件,用超级用户权限加载到内核:sudo insmod ./hello.ko ,卸载用命令 sudo rumod hello ,如果要查看printk 的输出,可以使用 dmesg 命令,可以看到刚才的输出。

    :P 我对这个东西非常的感兴趣,我会继续深入学习的,hoho

    2007年12月1日星期六

    iplussMessage

    iplussMessage是我在华侨大学桑梓年华开源板块发布的一个linux下聊天的小程序,目前版本是0.02版,现在在这里也发布一下

    这里下载:
    第一个版本iplussMessage0.01:
    iplussMessage0.01
    第二个版本iplussMessage0.02pre:
    iplussMessage0.02pre

    第二个版本源文件:
    iplussMessage0.02pre-src
    V0.02 pre 发布:

    为什么叫做 V0.02pre呢,因为它远没有达到我预想的要求, 再最后阶段, 我删除了一半的文件, 所以本来应该有20个文件在里面的

    因为马上要考试, 不愿意急着写下去了, 所以就地开源

    源代码全部贴出来,希望可以在桑梓开源社区得到良好的发展。

    代码写的超级烂的, 因为这完全不是正式版, 至于小小程序有这么多代码, 讲个简单的例子,公交车载一个人也要跑一趟,十个人也是一趟。

    最近几天真的很抓狂,前天嘛, 误删一个已经写好的 函数库, 要知道那个那个文件写了好久啊, 这了给大家一个建议: 千万不要哟哦嗯shift+delete 删文件了,就算这个文件再没用,也要先把它请到回收站, 一闪,然后 2秒后就后悔的事情太多了。

    刚刚又遇到抓狂的事情是 用到的一个函数库 ,建立了一个表单 ,为了传递 用户输入的参数, 花了我一个晚上的时间, 因为那个死BT函数变态至极,没有说明文档, 害我瞎蒙N次, 在gdb里面按到手酸才好。

    因为很抓狂 连Makefile都忘了怎么写了, 于是写了一个极其 愚蠢的 Makefile

    -----------------------------------------------------------------------------------------------------------------------------
    V0.01发布:

    华侨大学开源社区第一炮

    由我来点!嘿嘿

    刚刚上手linux网络编程 ,写了一个 linux下的 聊天小程序

    发布为 0.01版

    因为实在是太简单,都不好意思把源代码贴出来, 故只贴出 可执行文件先,等以后的版本搞复杂了再全部公开代码 (不让你一下就看懂,嘿嘿)

    从本帖下载 可执行文件

    用法;

    解压 (ZIP格式的 用右键吧……)

    1.先在一台机器上 运行 使其成为主机 命令 ./iplussMessage 你的呢称

    2。然后在另外一台机器上运行 ./iplussMessage 交谈对方自己的昵称 主机的IP地址

    请把上面的中文改成你需要的东西(汗……)

    需要注意的是 你的昵称不能超过 8个字节, 否则缓冲区 溢出……(不关我的事,我要把缓冲区设为一万个字也行,让费的是你的内存)

    当然上面的步骤可以在一台机器上面试验,不过 下面的那个 “主机IP地址” 就换成 127.0.0.1 就行了

    接下来的版本准备加入文件传输功能,还有 GUI 界面