【原】Samba服務(wù)的架設(shè)和虛擬機(jī)的共享文件夾
隨著Linux系統(tǒng)的蓬勃發(fā)展,越來越多人開始接觸Linux操作系統(tǒng)。比如嵌入式程序員,在開發(fā)嵌入式Linux項(xiàng)目的軟件時(shí),需要Linux計(jì)算機(jī)搭建交叉編譯環(huán)境。然而絕大多數(shù)公司的計(jì)算機(jī)都是Windows操作系統(tǒng),因?yàn)閃indows操作系統(tǒng)下有很多優(yōu)秀的商業(yè)PC管理軟件提供給IT,因此絕大多數(shù)人都是將Linux操作系統(tǒng)安裝在虛擬機(jī)里面來應(yīng)付需要用到Linux操作系統(tǒng)時(shí)的場景。目前虛擬機(jī)也有很多種,我個(gè)人非常喜歡使用Oracle公司的開源虛擬機(jī)軟件Virtua Box,關(guān)于虛擬機(jī)下如何安裝Linux操作系統(tǒng)這個(gè)話題,我們之前在《Linux玩玩也不錯(cuò)》這篇文章中詳細(xì)講述過,這里就不再贅述。那么,比如我在Linux操作系統(tǒng)下做軟件編譯,編譯出了一個(gè)嵌入式平臺(tái)的可執(zhí)行文件“a.out”,我需要用Windows下的軟件將其下載到目標(biāo)板上面,這個(gè)時(shí)候就有一個(gè)問題了,我應(yīng)該如何使Linux計(jì)算機(jī)與Windows計(jì)算機(jī)進(jìn)行文件傳遞?共享文件夾是虛擬機(jī)自帶的主機(jī)和虛擬機(jī)之間文件傳輸?shù)囊环N機(jī)制,以我推薦的Virtual Box為例,設(shè)置共享文件夾一共有以下幾步:當(dāng)我們安裝好Virtual Box之后,我們可以在Virtual Box的安裝目錄里面找到增強(qiáng)插件,這個(gè)增強(qiáng)插件的名字為“VBoxGuestAdditions.iso”,例如,我安裝的Oracle Virtual Box路徑為“C:\Program Files\Oracle\VirtualBox”,則我們可以在這個(gè)路徑下找到“VBoxGuestAdditions.iso”,如圖1所示。圖1 “VBoxGuestAdditions.iso”路徑記下這個(gè)路徑之后,接下來就需要將這個(gè)“VBoxGuestAdditions.iso”文件加載進(jìn)入虛擬機(jī)的磁盤里面,我們打開虛擬機(jī)的設(shè)置頁面,在“存儲(chǔ)”->“控制器:IDE”->“屬性”->“分配光驅(qū)”里面點(diǎn)擊“選擇一個(gè)虛擬光盤文件”,接著找到我們介紹的“VBoxGuestAdditions.iso”文件。這樣,Virtual Box增強(qiáng)功能安裝包就被加載進(jìn)Linux虛擬機(jī)里面了,如圖2所示。圖2 加載“VBoxGuestAdditions.iso”增強(qiáng)控件“VBoxGuestAdditions.iso”成功加載之后,我們可以看到Linux桌面上面會(huì)出現(xiàn)一個(gè)名叫“VBox_GAs_6.0.12”的圖標(biāo),或者在“/media/{user}/”目錄下面,也能看到“VBox_GAs_6.0.12”文件夾,如圖3所示。在終端打開目錄之后,輸入“sh autorun.sh”即可安裝。這里注意下,類似于Debian之類的純凈原生Linux系統(tǒng),可能需要安裝GCC之類的依賴包才可以正常安裝,這個(gè)只需要根據(jù)終端輸出提示完成即可。安裝好“VBoxGuestAdditions.iso”之后,接下來需要在虛擬機(jī)的設(shè)置里面設(shè)置Windows下的共享文件夾路徑,打開虛擬機(jī)的設(shè)置,找到“共享文件夾”->“添加共享文件夾”即可添加,此時(shí)添加的共享文件夾是Windows操作系統(tǒng)下建立的,文件夾名稱一定要記住,后面會(huì)用到。共享文件夾可以自動(dòng)被掛載,大家可以自行嘗試,不過我這里還是使用手動(dòng)掛載的形式。共享文件夾的設(shè)置方式如圖4所示。共享文件夾設(shè)置好之后,需要在Linux操作系統(tǒng)下將這個(gè)文件夾掛載。一般Linux的文件都是掛載在“/mnt”目錄下面,我們此次需要掛載的文件夾是“share_1”,因此我們也在“/mnt”文件夾下面創(chuàng)建一個(gè)“share_1”文件夾,如圖5所示。掛載點(diǎn)創(chuàng)建好之后,我們使用命令“sudo mount -t vboxsf share_1 /mnt/share_1”進(jìn)行掛載。到為止,如果屏幕上面沒有拋出任何提示,就說明掛載成功,我們可以在Windows操作系統(tǒng)下面創(chuàng)建一個(gè)文件,然后在Linux的“/mnt/share_1”文件夾里面看看能否看到。如圖6所示。上面的共享方案在虛擬機(jī)和主機(jī)之間共享文件是完全可行的,但是如果你的Linux不是虛擬機(jī),而是局域網(wǎng)中的一臺(tái)物理PC,那么此時(shí)如果Windows想要和它文件共享,最好的方式就是使用Samba服務(wù)。Samba是在Linux和UNIX系統(tǒng)上實(shí)現(xiàn)SMB協(xié)議的一個(gè)免費(fèi)軟件,由服務(wù)器及客戶端程序構(gòu)成。SMB(Server Messages Block,信息服務(wù)塊)是一種在局域網(wǎng)上共享文件和打印機(jī)的一種通信協(xié)議,它為局域網(wǎng)內(nèi)的不同計(jì)算機(jī)之間提供文件及打印機(jī)等資源的共享服務(wù)。要開啟Samba服務(wù),首先需要安裝Samba,在終端中輸入“sudo apt-get install samba”進(jìn)行安裝。安裝完成之后,我們只需要輸入“smbd --version”來查看Samba的版本,如果Samba沒有正確安裝。那么終端就會(huì)彈出錯(cuò)誤。如圖7所示。 設(shè)置Virtual Box網(wǎng)卡由于我們安裝Virtual Box軟件時(shí),默認(rèn)的虛擬機(jī)網(wǎng)絡(luò)接入方式是“網(wǎng)絡(luò)地址轉(zhuǎn)換(NAT)”,因此此時(shí)的虛擬機(jī)在網(wǎng)絡(luò)中是和主機(jī)共用一個(gè)IP地址的,因此,我們關(guān)閉虛擬機(jī),然后打開虛擬機(jī)的設(shè)置,在“網(wǎng)絡(luò)”->“網(wǎng)卡2”里面,使能“橋接網(wǎng)卡”,如圖8所示。此時(shí),我們打開虛擬機(jī),使用“ifconfig”就可以看到虛擬機(jī)的IP地址了,同樣的,在Windows的命令提示符里面,我們使用“ipconfig”命令也可以看到Windows的IP地址。對(duì)比這兩個(gè)IP地址,我們可以找到一組在同一網(wǎng)段的IP地址,這兩個(gè)就分別是Linux虛擬機(jī)和Windows主機(jī)之間橋接的IP地址,如圖9所示。此時(shí),主機(jī)是可以ping通虛擬機(jī)的IP地址,但是由于Windows的防火墻,虛擬機(jī)不一定可以ping通主機(jī),這個(gè)我們到時(shí)候再來看,先按下不究。在Linux虛擬機(jī)下,首先創(chuàng)建一個(gè)文件夾,用于文件的共享,使用“mkdir /home/edward/share”在我們用戶主目錄下創(chuàng)建一個(gè)共享文件夾“share”。接著使用vim或者其它的文本編輯器,打開“/etc/samba/smb.conf”文件來配置Samba。打開這個(gè)文件之后,我們將文件拉到最底下,加入如圖10所示的內(nèi)容。最后輸入“/etc/init.d/smbd start”來啟動(dòng)Samba服務(wù)。 接下來,在Windows下,我們打開“此電腦”->“映射網(wǎng)絡(luò)驅(qū)動(dòng)器”,輸入虛擬機(jī)的IP地址即可將Linux下的共享文件夾映射到Windows下,如圖11所示。圖11 添加網(wǎng)絡(luò)驅(qū)動(dòng)器到此為止,Linux虛擬機(jī)就可以和Windows共享文件了。Samba還有很多強(qiáng)大的功能,如添加用戶組,添加用戶權(quán)限等,這些我們以后再寫文章詳細(xì)講述。[share] comment = share path = /home/edward/share read only = no browseable = yes guest ok = yes
|
轉(zhuǎn)藏
分享
獻(xiàn)花(0)
+1