windows 下開發linux c++ 環境搭建
安裝環境
在Windows 7上安裝了VirtualBox,然後在VirtualBox中虛擬了一個Ubuntu。
為了實現在ubuntu中訪問winows中的一些目錄,而且還起到一種交換檔案的方法,這裡使用的是共享資料夾。
1 建立Windows下的共享資料夾:
首先,在windows上執行VirtualBox,選擇設定,然後再選擇共享資料夾,再點選右上角的新增符號。如圖:
需要共享的windows下面的一個目錄,然後共享資料夾名。
選擇固定分配,之後確定如下:
主機準備好了,虛擬機器ubnutu下更要享受資料夾共享,若要使用共享資料夾功能,必須安裝Liunx guest additions,這個輔助工具包是一個名為VBoxGuestAdditions.iso的映像檔案,可以點選正在執行的ubuntu虛擬機器的視窗上的裝置,
注意:曾經在沒有安裝輔助工具包的時候,執行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.html3 將linux 下的/usr/include 目錄copy 到共享目錄 #cp /usr/include /mnt/linux_share, 如下圖