解决vmware上clone linux虚拟机后 eth0不存在的问题
文章作者:Slyar 文章来源:Slyar Home (www.slyar.com) 转载请注明,谢谢合作。
给女朋友复制了一份我配置好的Ubuntu Server Vmware vmdk,在她电脑上用这块虚拟硬盘新建出的Ubuntu也能用,唯一有问题的就是找不到网卡了,提示"No such device eth0"...
解决过程不写了,反正耗掉了我好几个小时...
原因是Vmware保存的硬件配置文件*.vmx里记录了网卡的MAC地址,而Ubuntu也会记录MAC地址,这样在克隆虚拟机的时候,Vmware会为Ubuntu分配一个新的eth0网卡,但是由于被之前的eth0占用,所以它会变成eth1。再因为eth0是默认的网卡,显然这个网卡不存在,所以就提示"No such device eth0"..
Ubuntu保存MAC地址的配置文件为"/etc/udev/rules.d/70-persistent-net.rules",我装的是9.10版本,8.04以后的版本应该都是这个解决方法:
方法1:直接删除配置文件
直接删除配置文件,重启之后Ubuntu就会找到新的网卡了。
sudo rm /etc/udev/rules.d/70-persistent-net.rules
方法2:修正配置文件
修改配置文件,将原本的eth0删除,然后修改eth1的NAME="erh1"为NAME="eth0",重启之后Ubuntu就会使用新的配置文件设置网卡了。
修改前的 /etc/udev/rules.d/70-persistent-net.rules 像这样:
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:50:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth1"
将它修改为:
# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*", ATTR{address}=="00:0c:29:85:XX:XX", ATTR{dev_id}=="0x0", ATTR{type}=="1", KERNEL=="eth*", NAME="eth0"
相关文档:
总览
用iptables -ADC 来指定链的规
则
,-A添加 -D删除 -C 修改
iptables - [RI] chain rule num rule-specification[option]
用iptables - RI 通过规则的顺序指定
iptables -D chain rule num[option]
删除指定规则
iptables -[LFZ] [chain][option]
用iptables -LFZ 链名 [选项]
iptables -[NX] chain
用 -NX ......
2009 年 4 月 23 日
本文中我们针对 Linux 上多线程编程的主要特性总结出 5 条经验,用以改善 Linux 多线程编程的习惯和避免其中的开发陷阱。在本文中,我们穿插一些 Windows 的编程用例用以对比 Linux 特性,以加深读者印象。
背景
Linux 平台上的多线程程序开发相对应其他平台(比如 Windows)的多线程 API 有一些细微 ......
什么是proc文件系统? proc文件系统是一个伪文件系统,它只存在内存当中,而不占用外存空间。它以文件系统的方式为访问系统内核数据的操作提供接口。用户和应用程序可以通过proc得到系统的信息,并可以改变内核的某些参数。由于系统的信息,如进程,是动态改变的,所以用户或应用程序读取proc文件时,proc文件系统是动态从 ......
步骤:
一。熟悉在普通电脑上用
GDB调试的基本方式。参见:
http://www.ibm.com/developerworks/linux/library/l-gdb/
二。下载《
gdb
quick reference》,
2张纸,打印出来放在手边备用。
三。让嵌入式系统支持
gdbserver.
(在
openwrt上,即在
make
menuconfig时选择编译
gdbserver)
四。进行调试
&nbs ......
当Linux内核在体系结构差异较大的平台之间移植时,会产生与数据类型相关的问题。
.在编译内核时使用 -Wall -W strict-prototypes 选项, 可以避免很多错误的发生
.内核使用的基本数据类型主要有:
int 标准C语言整数类型
&n ......