谦卑的程序员






         静水流深

December 30, 2008

软件观察-应用篇

Filed under: 4.Eric谈软件 — Eric Tou @ 2:10 pm
Tags: , , ,

  随着计算机应用的日益广泛,越来越多的应用软件投入使用,软件的安装与部署、配置与数据的多点同步等问题逐渐受到更多的关注。针对这些问题,应用软件的发展有以下几个趋势:

一、网络化

  网络状况的改进提供了硬件保障,Ajax技术丰富了用户体验,Web2.0应用的流行使用户的上网行为不在仅限于浏览网页,而逐渐转向发布-分享的模式。

  如最常用的网页收藏夹(del.icio.usGoogle Bookmarks)和输入法配置(搜狗输入法Google输入法)的网络存储。
  如笔记软件(Google NotebookEvernote
  如Office软件(Google DocOffice OnlineZoho
  如Todo-list软件(Remember the Milk
  如协作平台(BasecampCentral Desktop

  此类应用可以说是SAAS(软件即服务)的最好诠释。一个网址代替了原有的安装程序(还有服务器)。
  优点是用户不必再关心软件的安装和升级。配置信息和数据都在网络集中存储,可以方便地在移动办公时多点访问。因为应用是基于网络,可以很方便地分享与协作。而且此类应用目前大部分是免费的。
  缺点是对于网络连接的依赖,在离线时会影响数据访问。除了Google外,很多应用的受众并没有考虑到中国的用户,既没有中文的版本,在中国的访问速度也很成问题。最后,网络形式的用户操作体验与本地运行的程序还是有一定的差距。

二、Portable化

  因为技术、功能或是商业方面的限制,某些软件并不适合网络化。得益与移动设备的普及,以及移动媒介容量和速度的提升,将现有的软件改造成适用于移动设备的Portable版本,一次安装,随处运行,把应用软件的配置与数据随身携带也是趋势之一。

  比如U3与移动媒体厂商合作推出捆绑Portable软件的U3 Smart Drive,Ceedo也提供收费的Ceedo Personal版本Portable软件包
  相对的PortableAppswinPenPack提供了免费的Portable软件包。
  The Portable Freeware Collection则收录了大量Portable软件以及如何将软件Portable化的资源。

  Portable软件,或者称可移动软件,绿色软件。
  此类软件与网络化的软件相比,优点是不依赖于网络链接,运行速度有保证。程序、配置和数据随身携带。
  缺点是安装与升级仍需要用户的介入。同时由于移动设备的特点,比较容易遗忘以致造成不便,甚至影响到数据安全。
  因此Portable化比较适合个人应用目的的,不附带太多用户数据的软件。

三、Application Virtualization(应用程序虚拟化)

  简单地来说应用程序虚拟化为每个软件创建一个虚拟的空间,容纳软件运行所需要的各种资源和文件,以隔离其对操作系统的影响,同时将程序文件与其配置和数据分离,便于多个软件实例的运行。从某个角度来说Portable化也是某种应用程序虚拟化。
  当然主要面向企业应用的应用程序虚拟化并不如此简单。它往往包括了一个服务器,用于发布和管理已经针对不同操作系统虚拟化后的软件包;一个客户端,用于安装、升级和运行虚拟化软件包。

  代表性的产品有Microsoft Application Virtualization,之前名为Microsoft Softgrid,企业级的应用,需要Windows Server Active Directory的支持。
  其他同类产品有moka5Ceedo的Enterprise版本,还有国产的虚拟盒子企业版。

四、其他

  以下是比较难以分类的虚拟化产品,可以说是应用程序虚拟化的另类Portable实现

  虚拟盒子个人版,并不预先为支持的软件制作Portable版本,而是通过虚拟盒子软件将用户的电脑环境、应用程序以及相关文档进行封装,并在其它电脑上重现。
  云端软件平台,可以看做是一个客户端,从作为服务器的官方网站上下载已经定制好的软件,收录很多常用软件,面向普通用户,免费。关注。

November 6, 2008

VMWare克隆后Ubuntu的"No such device eth0"错误

Filed under: 1.9 操作系统 — Eric Tou @ 10:30 pm
Tags: , , , ,

环境:VMWare 6.5,Ubuntu 8.10 Server

  在本地为Ubuntu创建VMWare的虚拟机后,复制,创建一个新的克隆镜像,启动,网卡无效,显示错误”eth0: ERROR while getting interface flags: No such device”。

原因

  新克隆的虚拟机镜像的网卡mac地址已经变更。打开虚拟机的.vmx文件,ethernet0.generatedAddress项记录了该虚拟机的mac地址。

查看所有适配器信息

ifconfig -a

发现除了原来的eth0外,Ubuntu已经将新网卡命名为eth1。
Ubuntu保存网卡mac地址和设备名的配置文件在

/etc/udev/rules.d/70-persistent-net.rules

网卡的网络配置保存在

/etc/network/interfaces

该配置文件中只有原来eth0的配置信息。

 
解决方案1

移动/删除rules文件。(未验证)
重启后Ubuntu会创建新的rules文件。
将新网卡辨认为eth0,沿用原eth0的网络配置。
如果网络配置是自动获取IP,则无需做其他修改。

sudo mv /etc/udev/rules.d/70-persistent-net.rules
    /etc/udev/rules.d/70-persistent-net.rules.old

解决方案2

修改rules文件。(未验证)

sudo pico /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{type}=="1", NAME="eth0"

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}=="00:0c:29:36:xx:xx", ATTR{type}=="1", NAME="eth1"

删除eth1的配置,用eth1的mac地址替代eth0的mac地址。

# PCI device 0x1022:0x2000 (pcnet32)
SUBSYSTEM=="net", ACTION=="add", DRIVERS=="?*",
    ATTR{address}=="00:0c:29:36:xx:xx", ATTR{type}=="1", NAME="eth0"

重启后Ubuntu同样会将新网卡辨认为eth0,沿用原eth0的网络配置。
如果网络配置是自动获取IP,则无需做其他修改。

解决方案3

修改interfaces文件。(已验证)

sudo pico /etc/network/interfaces

将所有的eth0替换为eth1。
如果是静态地址则同时修改相应设置。

November 5, 2008

Ubuntu Server网络配置

Filed under: 1.9 操作系统 — Eric Tou @ 8:37 pm
Tags: , , ,

环境:Ubuntu Server 8.10

  Ubuntu Server默认没有安装图形界面,网络配置需通过命令行来完成。

  如果是自动获取IP,Ubuntu会自行完成网络配置。如果要设置静态IP,在安装Ubuntu时或安装完成后都可以进行设置。

1.安装时设置

  用Ubuntu安装光盘启动后,出现选择语言界面,选择后,注意将光标停留在”Install Ubuntu Server”,按F6 – Other Options,在Base Options栏末尾输入

netcfg/disable_dhcp=true

ubuntu_install

  之后的安装过程中会逐步提示输入网络配置信息。

2.安装后设置

2.1 设置主机名

2.1.1 查看主机名

sudo hostname

2.1.2 临时修改主机名,命令执行后即时生效

sudo hostname yourhostname

2.1.3 永久修改主机名,将新的主机名写入,重启系统后生效

sudo pico /etc/hostname

2.2 设置IP地址及网关

2.2.1 查看网络配置,如果返回结果中只有lo,表示网卡未被配置

sudo ifconfig

2.2.2 临时修改IP地址,命令执行后即时生效。系统重启后,恢复原来的设置

sudo ifconfig eth0 xxx.xxx.xxx.xxx netmask xxx.xxx.xxx.xxx

2.2.3 查看路由信息

sudo route

2.2.4 临时修改缺省网关,命令执行后即时生效。系统重启后,恢复原来的设置

sudo route add default gw xxx.xxx.xxx.xxx

2.2.5 临时删除缺省网关,命令执行后即时生效。系统重启后,恢复原来的设置

sudo route del default gw

2.2.6 永久修改IP地址及网关

编辑保存网络配置的interfaces文件

sudo pico /etc/network/interfaces

默认的配置是DHCP自动分配,内容如下

auto eth0
iface eth0 inet dhcp

将其修改为,其中network和broadcast项不是必须

auto eth0
iface eth0 inet static
address xxx.xxx.xxx.xxx
netmask xxx.xxx.xxx.xxx
network xxx.xxx.xxx.xxx
broadcast xxx.xxx.xxx.xxx
gateway xxx.xxx.xxx.xxx

2.2.7 让永久修改后的新配置生效

方法一:重启Ubuntu

sudo reboot

方法二:使用重启networking命令

sudo /etc/init.d/networking restart

方法三:重启网卡,优点是可以指定网卡,不影响其他网络接口

sudo ifdown eth0
sudo ifup eth0

2.3 设置DNS地址

编辑保存DNS信息的配置文件

sudo pico /etc/resolv.conf

最多可以使用3个DNS地址,内容如下

nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx
nameserver xxx.xxx.xxx.xxx

对resolv.conf文件的修改是即时生效的,可以使用nslookup命令进行查询。

WPMU Theme pack by WPMU-DEV.