1. 程式人生 > >windows 下開發linux c++ 環境搭建

windows 下開發linux c++ 環境搭建

安裝環境

在Windows 7上安裝了VirtualBox,然後在VirtualBox中虛擬了一個Ubuntu。

為了實現在ubuntu中訪問winows中的一些目錄,而且還起到一種交換檔案的方法,這裡使用的是共享資料夾。

1 建立Windows下的共享資料夾:

首先,在windows上執行VirtualBox,選擇設定,然後再選擇共享資料夾,再點選右上角的新增符號。如圖:

Windows 7下設定VirtualBox中linux共享資料夾 - 白開水 - 青春無悔

 需要共享的windows下面的一個目錄,然後共享資料夾名。

Windows 7下設定VirtualBox中linux共享資料夾 - 白開水 - 青春無悔

 選擇固定分配,之後確定如下:

Windows 7下設定VirtualBox中linux共享資料夾 - 白開水 - 青春無悔

 主機準備好了,虛擬機器ubnutu下更要享受資料夾共享,若要使用共享資料夾功能,必須安裝Liunx guest additions,這個輔助工具包是一個名為VBoxGuestAdditions.iso的映像檔案,可以點選正在執行的ubuntu虛擬機器的視窗上的裝置,

Windows 7下設定VirtualBox中linux共享資料夾 - 白開水 - 青春無悔 後者是按右邊的ctrl+Home鍵。 安裝輔助工具包 1. cd /media/VBOXADDITIONS_4.1.18_78361/   進入光碟 2. sudo ./VBoxLinuxAdditions.run  安裝,注意這裡必須讓你的ubuntu連線網路,要不然也會安裝不成功。 3. reboot  安裝成功後需要重新啟動虛擬機器。 重新啟動之後: 1. mkdir /mnt/share_windows 新建掛載點 2. mount -t vboxsf share /mnt/share_windows   掛載共享資料夾 3. cd /mnt/share_windows 進入共享資料夾 4. ls 看看下面是不是有你windows,下你剛剛共享的那個目錄下的東西了。 如果想每一次啟動之後就自動掛載的話,可以在/etc/fstab中新增一項: share /mnt/share_windows vboxsf rw,gid=100,uid=1000,auto 0 0
這樣之後,就可以達到共同操作共享目錄了。

 注意:曾經在沒有安裝輔助工具包的時候,執行mount -t vboxsf share /mnt/share_windows  命令的時候出現了"unknown filesystem type vboxsf"的錯誤,這個是因為沒有安裝VBoxLinuxAdditions這個導致的,所以安裝之後就有這個命令了。

在實際的運維中我們常常使用SecuriteCRT來遠端控制Linux伺服器。下面將詳細介紹windows 7下通過VirtualBox搭建linux開發環境,並最終通過SecurityCRT來遠端訪問linux伺服器。

主要分為以下幾個步驟

1、VirtualBox安裝

2、Ubuntu安裝

3、SecuriteCRT安裝

4、配置Linux網路

一、我使用的軟體

SecuriteCRT6.6,SecuriteCRT是收費軟體,不過網上可以找到破解版的

二、配置

其中前三步安裝軟體比較簡單,就不做詳細介紹,主要介紹一下第四步配置。

但是在安裝Ubuntu的時候需要注意一下,在安裝前或者安裝後,點選VirtualBox的設定

特別注意,在新建

結束後要在設定中虛擬出一塊網絡卡,這塊網絡卡將用來供主機遠端訪問linux伺服器。具體如下:

\

其中網路連線1走預設的設定就可以了,網路連線2設定連線方式為“Bridged Adapter”

完成安裝之後主要進行網路的配置:

(1)在Linux下執行ifconfig命令來檢視一下eth1網絡卡,如下圖:

\

如果沒有出現eth1,就進行一下操作,如果出現了就可以跳過:

Sudo ifconfig eth1 XXX netmask 255.255.255.0

Sudo ifconfig eth1 up

注:XXX可以通過參考Windows下面的與之橋接的網絡卡來設定,例如我的電腦上是:

那麼XXX可以設定為192.168.93.X(X不能是0、11、255),再次ifconfig就可以看到了。

(2)在Linux中使用編輯器(以下我都是使用的gedit,可以根據自己愛好使用)開啟interfaces檔案

Sudo gedit /etc/network/interfaces

在檔案末尾新增如下內容

#eth1

auto eth1

iface eht1 inet static

address XXX # 注:XXX就是上面設定的那個ip

netmask 255.255.255.0

broadcast 192.168.X.255 #注:X同XXX中對應位置的值,例如我的是93

儲存檔案,退出gedit,重啟虛擬機器後,eth1也就是第二個網絡卡會自動啟動。注意,一定要加上“broadcast 192.168.X.255”這一行,否則OpenSSH客戶端工具就無法連線到虛擬機器。

(3)在Linux下使用如下命令

Sudo gedit /etc/resolv.conf

在檔案下面新增如下內容

nameserver 202.106.196.115

nameserver 202.106.196.152

nameserver 8.8.8.8

nameserver 192.168.1.1

儲存後退出gedit,重啟networking,命令如下:

Sudo /etc/init.d/networking restart

(4)這個時候eth1的設定就完成了,接下來要確定linux上的ssh開啟了沒,如果沒開機或者沒安裝就要安裝後開啟ssh,命令如下:

sudo apt-get install openssh-server openssh-client

這時候Linux基本上就設定完了,接下來使用securiteCRT來連線Linux:

HostName就是剛才設定的ip,port一般預設是22(可以在Linux下面使用gedit etc/ssh/sshd_config來檢視ssh的配置引數,也可以使用sudo gedit /etc/ssh/sshd_config來編輯修改)

Username是安裝Ubuntu設定的賬號,如果開啟了root,也可以使用root賬號。

然後輸入密碼就可以登陸了:

\

注:有時候在securiteCRT中中文會出現亂碼,可以講securiteCRT中的編碼設定為UTF-8(在SecureCRT的Options選項中選擇Session Options,修改Appearance中的字元編碼為UTF-8,這樣只能修改securiteCRT中的編碼顯示,可能在Linux中還是亂碼,對於Linux系統亂碼問題可以參考:http://www.2cto.com/os/201102/83676.html

 3 將linux 下的/usr/include 目錄copy 到共享目錄 #cp  /usr/include /mnt/linux_share, 如下圖