zoukankan      html  css  js  c++  java
  • 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:LinuxVirtualCentOS_6_6CentOS_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) 

  • 相关阅读:
    UVA
    codeforces #371div2 B
    POJ-3278 Catch That Cow
    巴士博弈
    权势二进制
    HDU
    SQL 函数
    SQL 查询语句×45
    SQL 触发器
    SQL 连接查询
  • 原文地址:https://www.cnblogs.com/zhcncn/p/4071539.html
Copyright © 2011-2022 走看看