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) 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM