VirtualBox中安装CentOS-6.6虚拟机

1. 下载

可以到官网下载,http://mirror.centos.org/centos/

如果下载速度太慢的话,也可以到163镜像下载: http://mirrors.163.com/centos/6.6/isos/x86_64/

选择下载文件  CentOS-6.6-x86_64-bin-DVD1.iso

 

2. 新建一个Linux虚拟机

在VirtualBox主界面,选择新建(New),然后按照如下步骤新建一个虚拟机。

1. 虚拟电脑名称和系统类型

名称:CentOS_6_6

类型:Linux

版本:Red Hat(64 bit)

2. 内存大小:

修改为:1024MB

3. 虚拟硬盘:

保持默认选项: 现在创建虚拟硬盘(Create a virtual hard drive now)

4. 虚拟硬盘文件类型:

保持默认选项: VDI

5. 存储在物理硬盘上:

保持默认: 动态分配(Dynamically allocated)

6. 文件位置和大小:

位置:可以修改到D盘:D:\LinuxVirtual\CentOS_6_6\CentOS_6_6.vdi

大小:改为32G。

UPDATED:2018-08-03

可以在新建一个虚拟机之前,进行一下全局设定,修改一下镜像的默认位置。具体操作如下:管理->全局设定->常规->默认虚拟电脑位置,

将其修改为你想设置的目录,比如,设置为“D:\LinuxVirtual\”。这样,后面在新建虚拟机时,默认的存放路径就会在该目录下。

 

3. 在VirtualBox中安装CentOS6.6

1. 在VirtualBox左窗口中选中CentOS_6_6,然后点击Settings,选择“System”选项,修改启动顺序:去掉软驱,硬盘放在光驱前面

2. 选择“Storage”选项,点击Empty,然后加载虚拟镜像文件

3. 点击“启动(Start)”,开始安装

4. centos会提供几种安装类型,由于是全新安装,所以选择默认值:Install or update an existing system

5. 测试安装介质是否有损坏,直接Skip就可以了。

6. Next,出现语言选择窗口,选择中文简体,

7. 键盘,保持默认,美国英语式键盘

8. 设备类型,保持默认,然后next

9. 弹出“存储设备警告框”,提示设备中可能含有数据,选择“是,忽略所有数据”即可

10. 主机名:修改为:leige

UPDATED20150325:这里最好不要修改该主机名,而是保持默认值"localhost:localdomain",因为改了之后会导致一系列问题,需要做很多修改来解决。

11. 时区,保持默认,亚洲/上海

12. 设置root用户密码

13. 选择“创建自定义布局”,

14. 然后就是开始分区了

(1)单击“创建”,保持默认“标准分区”,然后单击右下角的“创建”按钮,创建第一个挂载点 /boot

(2)继续创建第二个分区, 文件系统类型选择 swap

(3). 创建第三个分区: /home

(4)所有剩余的分区,分给 / 根目录

(5)最终分区结果如图所示:

UPDATED(20150325):

这个分区方案不好,最好还是按鸟哥的Linux私房菜中”第四章、安装 CentOS 5.x 与多重开机小技巧“所给的方案:

(1)/, 10000M (2)/boot,100M,强制设为主分区  (3) swap, 1000M (4) /home, 5000M。

虽然按该顺序创建分期,但是CentOS会自动调整,调整后的分区情况如下所示:

    dev/sda1  /boot  主分区 (强制设为主分区的)

    dev/sda2  /   逻辑分区

    dev/sda3  /home  逻辑分区

    dev/sda4  扩展分区

        dev/sda5  swap 逻辑分区

        剩余空间

15. 弹出格式化警告,要格式化“/dev/sda”,选择“格式化”

16. 弹出“将存储配置写入磁盘”警告,选择“将修改写入磁盘”

17. 显示安装引导装载程序的选项,保持默认“/dev/sda5”

18. 选择安装方式,保持默认的“Desktop”即可。

19. 安装完成后,重启。

20. 重启后,在“创建用户”页面,为系统创建一个非管理员用户。

 21. 不启用Kdump。

Kdump的作用是当内核出现错误时进行内存转储,用来分析问题。由于Kdump文件非常大,因此不选择启用Kdump。

4. 安装增强功能

1. 首先确保CentOS_6_6的Settings/Storage/Controller: IDE 虚拟光驱中没有加载镜像。

2. 启动CentOS系统,以root用户登录。

3. 点击 Devices/Insert Guest Additions CD Image,将增强功能的镜像加载到虚拟光驱中。这时,你再看Settings/Storage/Controller: IDE 中,会加载上VBoxGuestAdditions.iso镜像文件。

4. 在弹出的自动运行框中,点击“确定”,会弹出“此介质中包含要自动启动的软件,您是否想要运行它?”,点击“运行”,安装增强功能。

5. 在安装的过程中,出现如下错误:

building the main Guest Additions module                   [失败]

按照括号中的提示,查看/var/log/vboxadd-install.log 文件检查错误的原因。文件中所记log为:

Makefile.include.header:97: *** Error: unable to find the sources of your current Linux kernel. Specify KERN_DIR=<directory> and run Make again.. Stop. 
Creating user for the Guest Additions. 
Creating udev rule for the Guest Additions kernel module.

原因是没有安装gcc等。解决方法如下【1】:

(1)检测gcc make kernel-level kernel-header 等文件是否安装。使用下面的命令查看:

[root@CentOS66 ~]# rpm -qa|grep gcc
libgcc-4.4.7-11.el6.x86_64

发现已经安装了。

NTOE:这个地方出现错误,导致后面走了弯路。实际上是没有安装的。

如果没有的话,需要安装,需要如下命令:

yum install gcc

(2)需要查看kernel的版本是否一致,使用下面的命令查看:

[root@CentOS66 ~]# rpm -qa|grep kernel|sort
abrt-addon-kerneloops-2.0.8-26.el6.centos.x86_64
dracut-kernel-004-356.el6.noarch
kernel-2.6.32-504.el6.x86_64
kernel-firmware-2.6.32-504.el6.noarch
kernel-headers-2.6.32-504.el6.x86_64
libreport-plugin-kerneloops-2.0.9-21.el6.centos.x86_64

不一致的话,需要更新kernel,使用如下命令:

yum update kernel

(3)为安全起见,更新一下kernel。但是yum update kernel更新出现错误,如下

[root@CentOS66 ~]# yum update kernel
已加载插件:fastestmirror, refresh-packagekit, security
设置更新进程
Could not retrieve mirrorlist http://mirrorlist.centos.org/?release=6&arch=x86_64&repo=os&infra=stock error was
14: PYCURL ERROR 6 - "Couldn't resolve host 'mirrorlist.centos.org'"
错误:Cannot retrieve repository metadata (repomd.xml) for repository: base. Please verify its path and try again

resolv.conf is empty.so add content

查找问题原因,可能是dns服务器没有配置正确,需要查看/etc/resolv.conf文件。

(4)查看文件文件/etc/resolv.conf,发现该文件是空的,修改该文件,在其中添加如下内容【2】:

 nameserver 8.8.8.8
 nameserver 8.8.4.4
 search localdomain

修改完成后,重启网络。

service network restart

然后再次尝试yum update kernel。发现仍然错误。

(5)检查网络,发现CentOS中Firefox没法打开网页,原来CentOS安装后,默认没有连接网络。

点击 系统/首选项/网络连接,选中“System eth0”,然后点击“编辑”按钮,勾选“自动连接”复选框。

这时,CentOS虚拟机中可以正常连接网络了。

(6)再次执行yum update kernel,发现能正常update成功了。update成功之后,再次检查其版本,结果如下:

[root@CentOS66 ~]# rpm -qa|grep kernel|sort
abrt-addon-kerneloops-2.0.8-26.el6.centos.x86_64
dracut-kernel-004-356.el6.noarch
kernel-2.6.32-504.el6.x86_64
kernel-firmware-2.6.32-504.el6.noarch
kernel-headers-2.6.32-504.el6.x86_64
libreport-plugin-kerneloops-2.0.9-21.el6.centos.x86_64

发现版本与update之前一样,没有变化。

而且再次 安装增强功能时(运行磁盘中的autorun.sh文件),发现仍旧报告原来的错误。

(7)继续寻找原因,运行 gcc -v,查看gcc版本,发现找不到gcc命令,原来,还是gcc没有安装导致的问题,安装gcc

yum install gcc

安装完成后,查看器版本,输出如下:

[root@CentOS66 ~]# gcc -v
使用内建 specs。
目标:x86_64-redhat-linux
配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux
线程模型:posix
gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-11) (GCC) 

(8)安装完成后,再次安装增强功能,发现仍报同样的错误。努力查找原因,最终发现原来是没有安装kernel-devel。

安装命令: yum install kernel-devel

NOTE:kernel-devel的版本需要与内核kernel对应的版本相同,可以使用下面的命令分别检查kernel-devel的版本与内核kernel的版本。

# uname -r
2.6.32-504.el6.x86_64

# yum info kernel-devel
Installed Packages
Name        : kernel-devel
Arch        : x86_64
Version     : 2.6.32
Release     : 504.el6
Size        : 25 M
Repo        : installed
From repo   : updates

若两者版本不一致,则必须升级kernel:

# yum update kernel

另外,也可以使用下面的命令保证kernel-devel版本与内核kernel对应的版本相同【3】。

# version=`uname -a | awk '{print $3}'`
# yum install kernel-devel-${version}

(9)安装增强功能时,有可能会出现下面的错误:

Building the OpenGL support module                         [失败]

这是因为VirtualBox的版本导致的:”because of a bug in the linux guestadditions the OpenGL support modules can't be build for RHEL6.4 and clones guests“ 。

由于我使用的VirtualBox版本是4.3.2,可以升级到4.3.12来解决这个问题。【7】

(10) 再次安装,终于安装成功了。

(11)然后重启系统。

6. 总结,

(1)首先在root用户下执行下面的命令,安装必要的包:

# yum install make gcc gcc-c++ kernel-devel

(2)然后,为确保kernel-devel版本与内核kernel对应的版本一致,最好更新一下内核。

# yum update kernel

(3)最后再安装VirtualBox的增强功能包。

(4)在使用sudo命令时,可能会提示”用户名 不在 sudoers文件中,此事将被报告。“的错误,可以使用命令visudo来解决。具体解决方法,参考下面的6.3 小节。

5. 设置虚拟机与Host主机之间共享

5.1 手动mount

1. 首先需要安装增强功能,前面已经安装完成。

2. 在 Devices”->“Share Folder Settings”中设定虚拟机与Host OS之间的共享目录。注意要勾选上“Auto-mount”和“Make Permanent”选项.

比如我设置了Host中的D盘共享,那么共享的D盘盘符为 D_DRIVE.

 3. 在/mnt下新建一个目录ShareD,作为挂载的目的共享目录。

4. 执行下面的命令

sudo mount -t vboxsf D_DRIVE /mnt/ShareD

此时,就可以在打开/mnt/ShareD目录来访问Host主机上的文件了。

5. 如果想取消挂载,使用umount命令

sudo umount -f /mnt/ShareD

5.2 Auto Mount为什么没起作用?

1. 通过在终端中运行mount命令我们看到,勾选上“Auto-mount”后,D_DRIVE已经被自动mount到了/media/sf_D_DRIVE目录下,但是在普通用户XXX下却没有权限访问。只有使用root用户登录才能访问。这是为什么呢?

D_DRIVE on /media/sf_D_DRIVE type vboxsf (gid=493,rw)
E_DRIVE on /media/sf_E_DRIVE type vboxsf (gid=493,rw)
F_DRIVE on /media/sf_F_DRIVE type vboxsf (gid=493,rw)

2. 通过查看VirtualBox官方文档得知【4】,自VirtualBox 4.0之后,就提供了auto mount的功能,当你在“Devices”->“Share Folder Settings”->点击最右面的“+”按钮,添加一个共享时,如果选择了“Auto Mount”复选框,那么该共享就会自动被mount到/media目录下,并为该共享目录添加了一个sf_前缀。如果没有自动mount,那么可能是由于用户没有添加到vboxsf用户组中。

首先查看用户组,发现当前用户确实没在vboxsf中。

cat /etc/group
->result:
vboxsf:x:493:

3. 将当前用户添加到用户组中:

sudo usermod -a -G vboxsf XXX

再次检查,发现已将当前用户添加到用户组中了。

cat /etc/group
-> result
vboxsf:x:1001:XXX

4. 添加完后,重启系统,这时就可以在media目录下访问共享目录了。

 

6. 安装完成后的设置

6.1 图形界面定义开启终端的快捷键

想要修改CentOS像Ubuntu一样,Ctrl+Alt+T 快捷键在桌面打开终端。可以使用下面的方法:

点击CentOS顶端的菜单:System->Preferences->Keyboard Shortcuts,在Desktop分类下找到“Run a terminal”,点击选中Run a terminal,按下需要的快捷键,Ctrl+Alt+T,即可。

注意:虽然按下了Ctrl+Alt+T键,但是显示的却是:Alt+T。但是回到桌面后,Alt+T并不起作用,按Ctrl+Alt+T才起作用。

6.2 如何修改主机名

1. 修改/etc/sysconfig/network文件

[root@localhost ~]# vim /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=localhost.localdomain

将localhost.localdomain修改为新的主机名,比如CentOS66.

2. 主机名与 /etc/hosts的关系

发现网上好多资料都说修改主机名的话,除了修改/etc/sysconfig/network文件,还需要修改/etc/hosts文件。

(1)那么修改主机名与 /etc/hosts到底有没有关系呢?它们有下面所述的关系【5】。

hosts文件的作用相当于DNS,提供IP地址到hostname的对应。Linux系统在向DNS服务器发出域名解析请求之前会查询/etc/hosts文件,如果里面有相应的记录,就会使用hosts里面的记录。从上面这些来看,/etc/hosts于设置hostname是没直接关系的,仅仅当你要在本机上用新的hostname来访问自己的时候才会用到/etc/hosts文件。两者没有必然的联系。

修改hostname后,如果想要在本机上用newhostname来访问,就必须在/etc/hosts文件里添加一条newhostname的记录。比如我的eth0的IP是192.168.1.61,我将hosts文件修改如下:

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

(2) 那么修改主机名后,/etc/hosts到底需不需要修改呢?答案是需要

如果不修改 /etc/hosts,将来安装其他软件时,可能会出问题【6】。/etc/hosts文件的原值为:

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

需要将localhost.localdomain修改为新的hostname值

127.0.0.1   localhost CentOS66 localhost4 localhost4.localdomain4
::1         localhost CentOS66 localhost6 localhost6.localdomain6

6.3 普通用户sudo出错的解决办法

使用sudo命令时,报告“XXX 不在sudoers文件中,此事将被报告”的错误。经查询得知,是新建用户没有在/etc/sudoers 中配置。

使用visudo修改配置:

(1)首先切换到root用户: su root

(2)然后输入visudo命令:visudo。

它会用vi编辑器打开/etc/sudoers文件,在文件中找到下面的地方,将用户名XXX添加进去,然后使用:wq!命令强行保存即可。

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL
XXX   ALL=(ALL)       ALL

(3)保存,退出即可。

6.4 设置双击文件夹时不要打开新窗口

CentOS双击文件夹时是在新窗口里打开,父文件夹仍然在那里,导致打开的文件夹非常多。想设置成Windows那样双击文件夹时在同一个窗口中打开文件夹,设置方法如下:
1、打开系统--首选项--文件管理;

2、在打开的窗口中切换到“行为”,选中“总是在浏览器窗口打开“,然后点击关闭即可。

 

6.5 打开目录时让里面的文件以列表形式显示,并显示隐藏的文件

CentOS文件夹显示文件默认是以图标形式显示的,并且默认不显示隐藏文件,我们想修改为以列表形式显示,并显示隐藏文件。

打开一个文件夹, 选择”编辑->首选项->视图Tab“,将”图标视图“改为”列表视图“,并勾选”显示隐藏和备份文件“。

References

【1】CentOS 6.3安装VirtualBox4自动增强功能失败的原因(http://www.linuxidc.com/Linux/2013-03/81308.htm)

【2】linux安装软件时提示找不到镜像的问题(http://houjixin.blog.163.com/blog/static/3562841020139124813211/)

【3】在CentOS 6中安装VirtualBox的增强功能并分配数据空间(http://www.linuxidc.com/Linux/2012-02/55428.htm)

【4】4.3.2. Automatic mounting(https://www.virtualbox.org/manual/ch04.html#sf_mount_auto)

【5】怎样修改Linux的hostname(http://www.2cto.com/os/201312/265044.html)

【6】CentOS6.3 Hostname设定修改(http://www.cnblogs.com/niutouzdq/p/4022545.html)

【7】Build OpenGL support module failed in Scientific Linux 6(https://forums.virtualbox.org/viewtopic.php?f=3&t=42424) 

posted @ 2014-11-03 16:39  金石开  阅读(20022)  评论(2编辑  收藏  举报