HackToday Walk Blog


  • Home

  • Tags

  • Archives

  • Search

Registered UUID problem in Virtual Box

Posted on 2012-02-18

前段时间, 将虚拟盘从一个分区拷到另外一个分区上,打开虚拟机挂载这个虚拟盘老是报错,

1
2
VBoxManage: error: Cannot register the hard disk '/media/New Volume/ubuntu-dev/Ubuntu-dev.vdi' {fa106a76-0866-4ab4-8b61-e8a054373555} 
because a hard disk '/media/4E5780F3589D6099/ubuntu-dev/Ubuntu-dev.vdi' with UUID {fa106a76-0866-4ab4-8b61-e8a054373555} already exists

搜索发现,原来注册的UUID记录已经存在,UUID嵌入到了VM的这个虚拟盘中,
所以挂载这个转移的分区时候,会检测到UUID 和原来注册的一样,就冲突了。UUID 是用来唯一标志的。

所以解决办法需要重新生成新的UUID,
virtualbox有这个命令,
vboxmanage internalcommands sethduuid Ubuntu-dev.vdi
这样vdi虚拟盘救生成了新的UUID,可以挂载了。

很有用的一篇文章,
http://michail.flouris.net/2011/11/virtualbox-vm-disk-clone-uuid-problem/

ubuntu默认的dash问题

Posted on 2012-01-06

有时别人写好的shell脚本,拿到ubuntu下执行会出现莫名其妙的错误,Syntax error: “之类的,
源自于, ubuntu采用了 效率高的dash,而不是传统的bash,功能相比bash要少很多,语法严格遵守POSIX标准。

所以别人机器调试好的shell脚本跑到dash下就有问题,

  1. 查看:

ls -l /bin/sh 发现:

/bin/sh -> dash

  1. 更改:

运行 sudo dpkg-reconfigure dash
之后选择“No”,

参考:

http://blog.chinaunix.net/space.php?uid=14753126&do=blog&id=429323
http://www.igigo.net/archives/169

Using AT&T Network Client VPN with Ubuntu 64bit- Fedora16(64Bit)

Posted on 2012-01-06

转自: http://www.andrewferrier.com/blog/2009/01/12/using-att-network-client-vpn-with-ubuntu-64bit/

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Ubuntu64
Install the ia32-libs package and all it’s dependencies:
sudo apt-get install ia32-libs
Install the AT&T client itself (IBM colleagues can obtain this from the OCDC website):
sudo dpkg -i --force-architecture agnclient_1.0~2.0.1.3000-3_i386.deb
Add some symlinks:

sudo ln -s /usr/lib32/libssl.so.0.9.8 /usr/lib32/libssl.so.4
sudo ln -s /usr/lib32/libcrypto.so.0.9.8 /usr/lib32/libcrypto.so.4

还有使用这个AT&T 有时会莫名其妙的连不上了,基本都是CPU莫明其妙的100%了,只好kill掉agnclientd,然后重启,才能解决,不知道是什么原因


Fedora(64bit):
rpm -ivh agnclient-1.0-2.0.1.3003.i386
出现:
error: Failed dependencies:
libcrypto.so.4 is needed by agnclient-1.0-2.0.1.3003.i386
libcurl.so.3 is needed by agnclient-1.0-2.0.1.3003.i386
libssl.so.4 is needed by agnclient-1.0-2.0.1.3003.i386
(1) Create the necessary link for the lib
$ sudo yum install libcurl.i686 $ cd /lib $ sudo ln -s libcrypto.so.1.0.0g libcrypto.so.4
$ cd /usr/lib $ sudo ln -s libssl.so.1.0.0g libssl.so.4 $ sudo ln -s libcurl.so.4.2.0 libcurl.so.3 $ sudo ldconfig
(2)
$ sudo rpm -Uvh --nodeps agnclient-1.0-2.0.1.3002a.i386.rpm

(3)
$ sudo service agnclientd status $ sudo service agnLogd status $ sudo service agnclientd start $ sudo service agnLogd start

Fedora 参考:
http://huang.yunsong.net/2011/att-agnclient-fedora-64.html

iptables 学习

Posted on 2012-01-03

Linux下通过iptables设置可以开启相应的端口,有选择的开启访问权限。设置不同机器之间的互访。

(1)查看本机关于IPTABLES的设置情况

1
    # iptables -L -n

(2) 开启相应的端口(以22端口为例)

1
    # iptables -A INPUT -p tcp --dport 22 -j ACCEPT

Ubuntu下增加了ufw更加方便的tool来进行设置,

(1) 开启

1
    sudo ufw enable

(2) 允许外部访问80端口

1
sudo ufw allow 80

更多参考:1. http://www.uplinux.com/shizi/wenxian/4113.html2. http://wiki.ubuntu.org.cn/UFW%E9%98%B2%E7%81%AB%E5%A2%99%E7%AE%80%E5%8D%95%E8%AE%BE%E7%BD%AE

八达岭滑雪

Posted on 2012-01-01

2012年的第一天起的比以往都早些,因为今天要去滑雪,从来没有到滑雪场去过。记得儿时顶多也就是在大雪地里磨呀磨,也不亦乐乎。

滑雪场地的游客蛮多,可能大多数都是第一次来,因为不论是从滑雪的姿势和还是滑雪的“效果”来看,确实不怎么高。

领到雪具,就开始练习了,非常认真,一板一眼,而且摔跤很大方,丝毫不吝惜。初级雪道的人比较容易扎堆,被撞上概率也比较大。
不过只要自己注意一些,知道摔跤和撞人孰轻孰重,就没什么问题了。

在初级雪道慢慢练习,大概10个来回,有点感觉了,基本不会摔跤了,也能够躲闪别人了,就跑到中级雪道练习了,其实只要感觉到了,
基本滑雪没什么问题,只可能是姿势不太标准,可不够酷。

今天练习感觉滑雪这项活动很不错,下次,要学习些新的技巧,多多练习。

64位操作系统的java开发环境搭建

Posted on 2011-12-26
  1. 查看CPU支持long mode,
1
# cat /proc/cpuinfo | grep flags | grep ' lm '
  1. cpu支持64位,可以安装32位,64操作系统

  2. 如果自己的机器安装的是32位操作系统,但是虚拟机上需要安装64位操作系统
    注意,需要在BIOS开启CPU的虚拟化支持,否则是无法安装64位操作系统。

  3. java开发人员一般需要安装jdk,目前的jdk有32位和64位,

    对于32位的jdk,如果安装在64位系统上会出现 file not found之类的错误,这是因为你没有安装对应的32位lib,一般需要安装 libc6-i386, ia32-libs,可以参考这个链接 http://ubuntuforums.org/archive/index.php/t-1054621.html
    但是必须提醒一点,即使安装java安装成功了,但是后面使用eclipse还是会有点问题。因为

    我选择eclipse需要选择64位还是32位,那么
    a) 64jdk –》 64位eclipse OK
    b) 32jdk –》64位eclipse failed
    c) 32 jdk –》32位eclipse OK, 但是运行会有 failed to load module: /usr/lib/gio/modules/libgvfsdbus.so

    这是因为eclipse并不是完全用java相关的开发,有一些代码是和操作系统lib相关的,那么64位操作系统默认使用64位lib,所以会出现这种问题。网上搜了很多帖子,还没有找到解决方案。

    d) 64jdk –》32位eclipse 没试过,估计failed

最终选择方案a) , ok 3.7的eclipse可以正常工作,那么如果我需要开发32位java程序呢? eclipse配置会有installed jre
这个应该可以设置编译使用的环境。

注:以上仅个人的一点实践,如有不对之处,请指出。

虚拟机配置 Activation Engine 软件学习

Posted on 2011-12-18

大家都知道OVF作为业界广泛支持的虚拟机开放规范,可以实现虚拟机的快速安装和部署.
在OVF学习一文中,我们提到了OVF package包括5类文件(有些文件是可选的),其中包括一个 ovf-env.xml 文件。这个文件主要帮助虚拟机实现相应的软件化配置,比如网络配置,应用软件配置等

当新部署的虚拟机第一次启动的时候,Activation Engine(AE)会执行相应配置过程,包括自启动和协调启动。它们都会从ovf-env.xml提取参数进行配置

  1. OVF 环境文件
    那么AE是如何定位ovf环境文件的呢?你可以把它理解为先在一个默认的目录下寻找,如果没有找到,它会从所有的块设备进行遍历查找(除了RAM disk,RFID设备,回环设备),找到后,会把文件复制到一个临时的目录。

  2. Activation 逻辑文件
    可以理解为需要注册启动的一些服务,这些服务可以完成一些软件配置,这些服务配置需要的参数是从环境文件中提取的。

  3. Activation 程序
    这个Activation程序,就是对应逻辑文件中XML中的Program元素中href属性,这些href指出对应程序脚本的位置。

AE的作用,AE就是在系统启动时,提取Activation逻辑文件中的对应配置程序,和环境文件中的对应参数,按照启动的优先级及依赖关系来启动程序,
从而实现了相关的配置。 我们可以理解,1)是原材料 2)是车间生产配置清单 3)车间工人
AE 就是总的管理者。AE下达命令,按照配置清单,让不同的车间工人加工不同的原材料,这样就生产出了活生生的虚拟机(配置好的)

参考资料:

  1. Activation Engine User’s Guide

ovf学习1--虚拟化的映像的开放标准格式

Posted on 2011-12-18

Open Virtualization Format(OVF)是针对虚拟机快速发布,部署的一项业界标准协议,它以一种开放,可移植,安全的特点被越来越多的云计算厂商所支持。

OVF协议中最重要的一个概念就是OVF Package,使用它就可以快速的完成虚拟机的快速安装和配置,它包括以下部分:
1) ovf 描述符文件, 后缀名是 .ovf。 一个XML格式文档,关于package的metadata和内容。描述的是虚拟化硬件的配置需求,产品细节,和许可证等

2) ovf清单文件,后缀名是.mf, 主要是关于package内文件的SHA-1摘要

3) ovf证书,后缀是.cert,通过对.mf文件的数字化签名来确保package有效性

4) disk映像文件,这个就是核心的安装了操作系统,应用软件的磁盘映像,有多种厂商的格式

5) 其他的一些资源文件,比如iso镜像文件
它主要包含的是关于虚拟机的软件化配置, ovf-env.xml是一种xml格式文件,一般位于ISO映像的根目录

OVF package可以以单个文件存在,后缀名是.ova

许多厂商的虚拟化管理软件都支持OVF,比如IBM的System Director, Vmware的Vsphere,通过专门的映像制作工具,可以制作相应的OVF packge,这样就可以方便的到不同的环境中进行导入和导出。

参考信息:

  1. 弯曲评论, ovf协议:虚拟机的mp3格式
  2. DMTF, OVF 规范

IBM i5-os ip 配置

Posted on 2011-12-12

转自:http://www.ifeeling.net/article.asp?id=565

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
一、配置网卡的IP地址
1、查看网卡的资源名称
输入DSPHDWRSC *CMN ,显示通信资源信息:
引用内容 引用内容

Display Communication Resources
System:
Type options, press Enter.
5=Display configuration descriptions 7=Display resource detail

Opt Resource Type Status Text
CMB01 286D Operational Combined function IOP
LIN01 2771 Operational Comm Adapter
CMN01 2771 Operational Comm Port
CMN02 2771 Operational V.24 Port
LIN02 2838 Operational LAN Adapter
CMN03 2838 Operational Ethernet Port

Bottom
F3=Exit F5=Refresh F6=Print F12=Cancel

根据Text的描述,找到Ethernet Port的资源名就是网卡。系统可能会有几个Ethernet port,此处为CMN03。

2、为该网卡资源创建线描述
输入CRTLINETH,在出现的提示框中输入:
Line Description:TCPIP
Resource name: CMN03
回车,继续设置速度与双工,一般都设为*AUTO,回车后,出现“ Line description TCPIP created.” 提示,说明创建成功了。


3、查看线描述,并VARY ON 线描述
输入WRKLIND ,在TCPIP前输入8 (=Work with status),查看当前状态为VARIED OFF.
输入1(=Vary on)并回车,显示为VARY ON PENDING
F12退回,再次查看,已经是VARY ON的状态了。

4、配置IP地址
输入ADDTCPIFC,在界面中输入IP地址,掩码和线描述TCPIP,回车后提示: TCP/IP interface added successfully.


5、查看并激活IP地址
CFGTCP回车,选择 1. Work with TCP/IP interfaces,可以看到刚才设置好的IP地址。
按 F11=Display interface status,可以看到当前IP的状态是INACTIVE
选9=Start,提示: Activating TCPIP to start IP 192.168.33.3 for QSECOFR in 000979/QSECOFR/D...

F12回退,再显示IP状态,已经是Active。

此时TCPIP已经创建,IP地址已经激活。找个同网段的主机Ping一下,测试成功。


二、设置AS400的路由
1、设置默认路由
输入CFGTCP 再选择 2. Work with TCP/IP routes
在 Work with TCP/IP Routes 界面中,输入1=ADD,添加一条默认路由。
注意默认路由的写法。
Route destination:输入 *DFTROUTE 注意不能带单引号
Subnet mask:输入 *NONE 注意不能带单引号
Next Hop:输入网关的IP地址
确认回车后可以看到新添加的默认路由。


2、添加其它路由
同上,直接输入相应的设置,输入时无需单引号。

VirtualBox中有4中网络连接方式

Posted on 2011-12-11

解释很好的一篇文章,来源:http://penpenguanguan.com/997.htmlVirtualBox中有4中网络连接方式:

NAT Bridged Adapter Internal Host-only Adapter
VMWare中有三种,其实他跟VMWare 的网络连接方式都是一样概念,只是比VMWare多了Internal方式。
要让自己(或别人)理解深刻,方法就是做比较和打比方,比较之间的不同和相同,拿熟知的事物打比方。先来一张图,
通过这张图就很容易看出这4种方式的区别:

(注:此图直接取至Finalbug的Blog,表示感谢)
再来用文字做详细的解释(其实归结起来就是上面的那张图):
1、NAT
NAT:Network Address Translation,网络地址转换
NAT模式是最简单的实现虚拟机上网的方式,你可以这样理解:
Guest访问网络的所有数据都是由主机提供的,Guest并不真实存在于网络中,主机与网络中的任何机器都不能查看和访问到Guest的存在。
Guest可以访问主机能访问到的所有网络,但是对于主机以及主机网络上的其他机器,Guest又是不可见的,甚至主机也访问不到Guest。

虚拟机与主机的关系:只能单向访问,虚拟机可以通过网络访问到主机,主机无法通过网络访问到虚拟机。
虚拟机与网络中其他主机的关系:只能单向访问,虚拟机可以访问到网络中其他主机,其他主机不能通过网络访问到虚拟机。
虚拟机与虚拟机的关系:相互不能访问,虚拟机与虚拟机各自完全独立,相互间无法通过网络访问彼此。
2、Bridged Adapter(网桥模式)
网桥模式,你可以这样理解:
它是通过主机网卡,架设了一条桥,直接连入到网络中了。因此,它使得虚拟机能被分配到一个网络中独立的IP,所有网络功能完全和在网络中的真实机器一样。
网桥模式下的虚拟机,你把它认为是真实计算机就行了。

虚拟机与主机的关系:可以相互访问,因为虚拟机在真实网络段中有独立IP,主机与虚拟机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机于网络中其他主机的关系:可以相互访问,同样因为虚拟机在真实网络段中有独立IP,虚拟机与所有网络其他主机处于同一网络段中,彼此可以通过各自IP相互访问。
虚拟机与虚拟机的关系:可以相互访问,原因同上。
3、Internal(内网模式)
内网模式,顾名思义就是内部网络模式:
虚拟机与外网完全断开,只实现虚拟机于虚拟机之间的内部网络模式。

虚拟机与主机的关系:不能相互访问,彼此不属于同一个网络,无法相互访问。
虚拟机与网络中其他主机的关系:不能相互访问,理由同上。
虚拟机与虚拟机的关系:可以相互访问,前提是在设置网络时,两台虚拟机设置同一网络名称。如上配置图中,名称为intnet。
4、Host-only Adapter(主机模式)
主机模式,这是一种比较复杂的模式,需要有比较扎实的网络基础知识才能玩转。可以说前面几种模式所实现的功能,在这种模式下,通过虚拟机及网卡的设置都可以被实现。
我们可以理解为Guest在主机中模拟出一张专供虚拟机使用的网卡,所有虚拟机都是连接到该网卡上的,我们可以通过设置这张网卡来实现上网及其他很多功能,
比如(网卡共享、网卡桥接等)。

虚拟机与主机的关系:默认不能相互访问,双方不属于同一IP段,host-only网卡默认IP段为192.168.56.X 子网掩码为255.255.255.0,后面的虚拟机被分配到的也都是这个网段。通过网卡共享、网卡桥接等,可以实现虚拟机于主机相互访问。
虚拟机与网络主机的关系:默认不能相互访问,原因同上,通过设置,可以实现相互访问。
虚拟机与虚拟机的关系:默认可以相互访问,都是同处于一个网段。
以上关于这4种连接方式的文字解释,基本上抄自于(转)VirtualBox网络设置与应用详解(图解+文字)这篇文章,但没有找到此文的原始出处。
关于这几种连接方式,理解VMWare的三种网络连接模式(bridged、NAT、host-only)里的解释只是换了文字来表述,虽然显得重复,但为了理解,
干脆就写成了这两篇Blog。

Update:我刚装上VirtualBox的时候所有的网络连接方式都试过了,但虚拟机和虚拟机之间就是不能
相互访问,Ping都Ping不通,我在想难道VirtualBox的网络设置有这么复杂吗,后来想到是不是Windows
XP的防火墙的问题,关闭之,一切就正常了,Fuck!

1…181920…26

Kai Qiang Wu

This is a place for thinking and writing

253 posts
32 tags
GitHub
© 2020 Kai Qiang Wu
Powered by Hexo
|
Theme — NexT.Gemini v5.1.4
Visitor Total Visit