VirtualBox + Ubuntu配置备忘录(一)——基本配置

VirtualBox + Ubuntu配置备忘录(一)——基本配置  

http://qpcwth.blog.163.com/blog/static/2099302462012231105724969/

        开始接触Linux已经十多年了,最早是用请人在一台淘汰的奔II机器上用ipchains配一个代理服务器,供一屋子的人上网。后来又给实验室配过Web服务,很快被好事者黑掉作罢,只保留了一个不知名的BT客户端供自己娱乐用。再后来学嵌入式又配过一次,其他乱七八糟的折腾不一而足,但三天打鱼,两天晒网,每次都要现用现学,始终连门都没入。这回决定吸取教训,把配置过程记录下来,以强大的“外脑”补充日渐萎缩的“内脑”,也给跟自己同样的阿尔茨海默+帕金森患者作为参考。
        Linux选择的是Ubuntu 10.10,在VirtualBox 4.1.10下运行,宿主机操作系统是Win7 SP1。配置目的是让Ubuntu与宿主机方便互通,操作习惯接近,使用舒适。Linux的版本选择Ubuntu主要是因为它界面类似于windows,学习曲线比较平缓,这显然要被无数人鄙视了。不过在我看来,大脑的黄金阶段过了就不能逞强,学习成本和使用成本的总和是因人而异的,选择最适合自己的就好。闲话少叙,下面是最初步的配置过程。
一、 安装VirtualBox Guest Additions
        在ubuntu的运行窗口上选择“设备”→“安装增强功能”菜单,此时一张虚拟光盘就被挂载到了ubuntu系统里,一般情况下会在桌面上显示为一个光盘图标,名字就是光盘对应文件夹的目录,一般是“VBOXADDITIONS+版本号”的一长串。
        多数情况下,系统会提示自动安装,如果没有自动安装。需要在命令行中,输入如下命令:
        cd /media/VBOXADDITIONS_xxxxx_yyyy
        sudo ./VBoxLinuxAdditions.run
        xxxx和yyyy是一长串版本号,注意使用tab补齐命令的功能。命令开始执行,输入密码后,增强包会自动安装,然后重启。注意对于不同版本的VirtualBox,光盘的目录名也不同。此外每次升级ubuntu后增强功能都会失效,所以在升级后需要重新安装增强功能。
二、 配置显示分辨率
        输入:
        sudo gedit /etc/X11/xorg.conf
        在打开的文件夹中找到下面一段:
        Section "Screen"
              SubSection "Display"
                    Depth      24
                    Modes  "1280x800" "1024x768" "800x600"
              EndSubSection
              Device       "Device[0]"
              Identifier   "Screen[0]"
              Monitor      "Monitor[0]"
        EndSection
        在“Modes”这一行中将你想要的分辨率加进去。重启后,通过“系统”菜单里面的“首选项→显示器”像Windows系统一样设屏幕分辨率即可。但新版ubuntu里识别显示器功能大为增强,已经不需要如此设置了。
三、 配置网络
        配置网络主要目的有两个,其一是能够使虚拟机上网,其二是在宿主机没有接入网络时能够让宿主机和虚拟机通信。
        1.  网络接入模式选择
        在VirtualBox的网络接入模式中,有Bridge Adapter(桥接)、NAT(网络地址转换)、Host-Only(主机)、Internal(内网)、Generic Driver这5种模式。
        Bridge Adapter模式下,虚拟机的虚拟网卡VA接入了VirtualBox生成的一个虚拟交换机VS,而在宿主机看来VS是个程序。VirtualBox在与虚拟机绑定的宿主机网卡HA上多设置了一个ip地址供VS使用(HA和VS间可能还有其他层次),这个地址与VA上设置的ip地址相同。这样虚拟机在外界看来是一个独立的主机,对虚拟机的访问和对宿主机的访问使用了不同ip。发送给虚拟机ip地址的数据包,由VirtualBox通过VS转发给VA,进而由虚拟机上的操作系统处理。在这种模式下,如果VA配置为自动获取网络地址,虚拟交换机会自动在HA上设置一个与宿主机同网段的ip,并将这个ip分配给VA,把宿主机网段的网关地址作为虚拟交换机的网关地址。同理,如果VA手工设置ip,需要将其设置为宿主机的同网段ip,并与宿主机有相同网关。
        NAT模式下,VirtualBox同样为VA提供了虚拟交换机VS,但不为VS在宿主机网卡上单独设置ip,而是将虚拟机的数据表经过地址转换,通过宿主机的ip地址发送出去,这样虚拟机在外界是不可见的,也不能向外提供服务。此时虚拟机的网络地址只能由虚拟交换机自动分配。
        Host-Only模式下,VirtualBox在宿主机中生成了一块虚拟网卡VHA,为其分配了地址,并将VA和VHA都接入了VS。这样虚拟机和主机就可以实现通信。如果将VHA与宿主机其他网卡共享连接,也可以接入外网(虽然一般无此必要)。此时应当将VA的地址设置在VHA相同网段下,一般同时将网关设置为VHA的地址。
        Internal模式下,一台宿主机上的所有虚拟机都接入VS,可以实现虚拟机间互相访问,但不能连接外网。
        Generic Driver模式是用于建立分布式虚拟网络的,比较复杂,从略。
        为保证配置目标的实现,应当为虚拟机配置双网卡。一块网卡使用Bridge Adapter模式,既用于上网,同时可以让局域网内其他机器能够访问虚拟机共享目录。另一块网卡工作在Host-Only模式,专供宿主机访问虚拟机的共享文件。
        2.  网卡与地址配置
        首先在VirtualBox主界面中为虚拟机配置两块网卡,分别选择Bridge Adapter和Host-Only模式。

VirtualBox + Ubuntu配置备忘录(一)——基本配置 - qpcwth - 海畔燃犀

 

VirtualBox + Ubuntu配置备忘录(一)——基本配置 - qpcwth - 海畔燃犀

         在linux系统中,传统上地址写在配置文件/etc/network/interfaces中,DNS地址写在/etc/resolv.conf中。但包括ubuntu在内的很多Linux发行版都包含了一个图形化的网络连接配置工具Network Manager。由它进行网络设置后,相关设置信息保存在/etc/NetworkManager目录下的配置文件中。两种配置方法的相互关系比较复杂,为防止发生冲突,在配置网络前可将Network Manager删除。在任务栏菜单中选择“系统→系统管理→新力得软件包管理器”,然后在软件管理器界面左侧选择“网络”,在右侧选中“network-manager”,右键菜单中选择“标记以便彻底删除”,点击工具栏的“应用”即可完成删除。
        也可以通过命令行模式删除:
        sudo apt-get --purge remove network-manager
        sudo apt-get --purge remove network-manager-gnome
        删除Network Manager后,通过以下命令用记事本打开网络地址配置文件:
       sudo gedit /etc/network/interfaces
        对于未经配置的系统,文件通常只包括两行:
        auto lo
        iface lo inet loopback
        这两行设置了环回接口,用于同一台主机的程序之间进行网络通信。在这两行之下加入下面的内容:
        # Bridged Connection to Wireless Lan Adapter
        auto eth0
        iface eth0 inet static
        address 192.168.100.10
        netmask 255.255.255.0
        gateway 192.168.100.254
        # Host-Only Connection for File Sharing
        auto eth1
        iface eth1 inet static
        address 192.168.56.10
        netmask 255.255.255.0
        gateway 192.168.56.1
        每个接口设置的第1行是“auto 接口名”,接口由驱动程序创建,一般以太网卡接口名以eth开头,无线网卡以wifi开头,其后是编号。第2行设置地址的获取方式,静态地址为static,动态分配为dhcp。如果是静态地址,其后3行为ip地址、掩码和网关。上面配置中,eth0与宿主机无线网卡桥接,eth2是Host-Only模式的。对于eth0,ip地址与宿主机在同一网段,子网掩码与网关和宿主机相同;对于eth1,ip地址与宿主机上VirtualBox虚拟网卡的ip地址在同一网段,默认网关就是这块虚拟网卡的ip。上述配置方式,适合于采用固定ip分配方式的局域网,如果宿主机是动态ip,则应将虚拟机的第一块网卡设置为NAT模式,上述配置eth0中static改为dhcp即可,其后的ip部分就不需要了。
        接下来用以下命令打开DNS配置文件:
        sudo gedit /etc/resolv.conf
        按如下格式添加DNS:
        nameserver xxx.xxx.xxx.xxx
        文件修改完成后,用如下命令重启网络服务:
        sudo /etc/init.d/networking restart

        但需要注意的是,因为各种原因,虚拟网卡的mac地址可能发生改变,此时虚拟机会认为安装了新的网卡,并为新网卡生成新的接口。此时按上文中eth0、eth1的命名就无效了,为保险在配置前应使用ifconfig命令检查下接口名与虚拟网卡的关系,例如:

wd@5d:~$ ifconfig -a
eth0      Link encap:以太网  硬件地址 08:00:27:8b:2d:dc 
             inet 地址:192.168.100.10  广播:0.0.0.0  掩码:255.255.255.0
             inet6 地址: fe80::a00:27ff:fe8b:2ddc/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
             接收数据包:99 错误:0 丢弃:0 过载:0 帧数:0
             发送数据包:98 错误:0 丢弃:0 过载:0 载波:0
             碰撞:0 发送队列长度:1000
             接收字节:15847 (15.8 KB)  发送字节:14548 (14.5 KB)

eth1      Link encap:以太网  硬件地址 08:00:27:c2:fe:53 
             inet 地址:192.168.56.10  广播:0.0.0.0  掩码:255.255.255.0
             inet6 地址: fe80::a00:27ff:fec2:fe53/64 Scope:Link
             UP BROADCAST RUNNING MULTICAST  MTU:1500  跃点数:1
             接收数据包:62 错误:0 丢弃:0 过载:0 帧数:0
             发送数据包:103 错误:0 丢弃:0 过载:0 载波:0
             碰撞:0 发送队列长度:1000
             接收字节:5770 (5.7 KB)  发送字节:14806 (14.8 KB)

可以根据显示的硬件地址与Virtual box虚拟网卡配置界面中的网卡mac地址对照,确定接口与网卡的对应关系,进而进行正确的配置。

四、 挂载(Mount)数据空间
        数据空间的作用是让虚拟机可以访问宿主机的目录。首先要在VirtualBox主界面中为虚拟机分配数据空间。   

VirtualBox + Ubuntu配置备忘录(一)——基本配置 - qpcwth - 海畔燃犀

         然后应在ubuntu的/mnt目录下创建子目录用于挂载。假设数据空间名称为dp,用于挂载的子目录名为shared,创建子目录和挂载可用下面命令完成:
        sudo mkdir /mnt/shared
        sudo mount -t vboxsf dp /mnt/shared
        注意数据空间名称不要包含中文,也不能与挂载用的子目录同名。要实现自动挂载,可在记录文件系统信息的配置文件/etc/fstab中加入下面一行描述信息:
        dp /mnt/shared vboxsf rw,gid=100,uid=1000,auto 0 0
        如果需要挂载多个数据空间,只需改变描述信息中的前两项。在升级ubuntu前,最好将上述信息注释掉,待升级完成,重装增强功能后再恢复,否则会造成系统无法启动。
五、 配置samba文件共享
        samba文件共享可以让宿主机访问虚拟机的目录。安装samba的命令为:
        sudo apt-get install samba
        sudo apt-get install smbfs
        用下面命令创建将用于共享的文件夹arm,并赋予所有用户完全控制权限:
        mkdir /opt/arm
        chmod 777 /opt/arm
        一般来说/opt目录是供用户自由支配的,所以将共享文件夹放在这里。777代表所有用户里都对其具有读、写、运行权限。
        然后创建一个用于网络访问的账户:
        sudo useradd sha
        这个例子中用户名为sha,接下来将用户设定为samba认证用户:
        sudo gedit /etc/samba/smbusers
        在打开的文件中添加一行:
        sha = "network username"
        然后可以为sha用户授予访问samba的密码:
        sudo smbpasswd -a sha
        如果以后要修改访问密码,也使用这条命令。下面代码将samba配置文件进行备份,然后打开供修改设定。
        sudo cp /etc/samba/smb.conf /etc/samba/smb.conf_backup
        sudo gedit /etc/samba/smb.conf
        找到这行:
        ; security = user
        修改为:
        security = user
        username map = /etc/samba/smbusers
        这样就改变了samba的安全设置,要求只有samba认证用户使用密码才能访问共享文件。在文件最底部加入这段共享文件夹设置:
       [arm]
        comment = Shared Folder with username and password
        path = /opt/arm
        public = yes
        writable = yes
        available = yes
        browseable = yes
        valid users = sha
        create mask = 0766
        directory mask = 0766
        force user = nobody
        force group = nogroup
        []中是配置段的名字,一般与共享文件夹同名,comment是注释。path是要共享的目录,接下来4项是浏览和访问权限,一般填yes即可。valid users规定了能够访问这个目录的用户名,create mask和directory mask设置了由网络用户创建的文件和文件夹的权限,766表示创建它的用户有读写运行权限,其他用户有读写权限。force user和force group设定了samba在管理共享文件夹时使用的用户名和组。对于服务器而言,应为低权限以保证安全,一般分别设置为nobody和 nogroup。对于开发用的系统而言,可以设置为日常登陆的用户名和users。
        最后可以在配置文件的[global]段找到workgroup = MSHOME替换为:
        workgroup = WORKGROUP
        display charset = UTF-8
        unix charset = UTF-8
        dos charset = cp936
        第一行声明了所在工作组的名称,方便windows主机访问,下面几行设置了显示目录内容时的编码,用于支持汉语。全部配置完成后重启samba服务:
        sudo service smbd restart
        根据刚才的配置,在samba运行时,如果用户以“\\ip地址”的形式访问共享文件夹,samba会要求输入用户名和密码。samba会向操作系统查询是否存在该用户,如果存在则比较该用户是否为samba的认证用户,如果是则验证密码。注意这个密码由samba保存,仅用于验证访问共享文件夹的权利,与用户登陆linux系统的密码不相干。注意在配置开始阶段仅仅进行用户了创建,这个用户并没有启用,更不能登陆系统,只是用于samba系统的认证。用户通过认证后,对共享文件夹的一切操作都通过samba系统完成,samba系统此时以“force user”的身份进行操作,操作权限由“force group”决定。当登陆一次之后,windows系统会记录用户名和密码,以后不用输入了,如果更改配置需要换用户名或密码,可以在windows命令行下运行:net use * /del。
六、 界面设置
        界面设置主要包括桌面、任务栏和系统快捷键。linux下快捷方式的名字叫“启动器”,可以将系统菜单中的项目拖动到桌面或任务栏上。在需要系统菜单中不存在的项目建立快捷方式时,可以在桌面右键菜单中选择“创建启动器…”,在弹出对话框“名称”栏中输入快捷方式名称,在“命令”栏中输入用于打开相应程序或文件夹的命令。对于程序,可以按Alt+F2快捷键列出已安装程序列表,从中可以查询到相应命令。对于目录可以输入:
       gnome-open /路径 或 nautilus /路径
        快捷键可以通过菜单“系统”→“首选项”→“键盘快捷键”设置。右击任务栏上现有项目,可以将其解锁、移除,与Win7一致。要添加任务栏项目可在任务栏空白处点右键,选择“添加到面板…”,在列表中选择相应内容。注意应当将“窗口列表(Window List)”加入任务栏,这样正在运行的程序才会像windows一样在任务栏上显示。
        gnome桌面环境设置方法与windows很相似,但设置选项更多,更灵活。一番折腾后,桌面变成了下面这副充满恶趣味的样子。

VirtualBox + Ubuntu配置备忘录(一)——基本配置 - qpcwth - 海畔燃犀

        在新版本的ubuntu中(11.10后),使用了unity类手机界面,习惯桌面环境的可以使用以下命令还原旧界面:

        sudo apt-get install gnome-session-fallback

        安装重启后再登陆框旁会有一个小齿轮状的按钮,点击选择ubuntu经典就,等了就回到gnome界面了。


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值