各位小伙伴在使用ElfBoard開發(fā)板的過程中,必然會(huì)有拷貝文件到開發(fā)板中的這個(gè)操作,通??梢酝ㄟ^U盤進(jìn)行拷貝,但是為了更方便的傳輸文件,還可以通過搭建網(wǎng)絡(luò)服務(wù)的方式進(jìn)行文件傳輸,下面給小伙伴們介紹一些常用的網(wǎng)絡(luò)服務(wù)的搭建和使用。
首先ubuntu的網(wǎng)絡(luò)模式需要設(shè)置為橋接模式,電腦主機(jī)、ubuntu主機(jī)、開發(fā)板三者的ip要處于同一網(wǎng)段,且ubuntu主機(jī)要能上外網(wǎng),同時(shí)還要關(guān)閉ubuntu和windows防火墻(關(guān)閉ubuntu防火墻:sudo ufw disable)。
本文中使用的三者的ip分別如下:
電腦主機(jī)ip:192.168.0.64
Ubuntu主機(jī)ip:192.168.0.51
開發(fā)板ip:192.168.0.232
TFTP服務(wù)搭建
NFS服務(wù)搭建
在嵌入式Linux開發(fā)中,需要在Linux主機(jī)編寫程序代碼,然后編譯程序,生成的二進(jìn)制程序文件要傳輸?shù)侥繕?biāo)機(jī)上才能調(diào)試、運(yùn)行。那么如何更快、更便捷地傳輸文件,提高開發(fā)工作的效率呢?NFS無疑是最好的選擇。通過NFS服務(wù),主機(jī)將用戶指定的目錄通過網(wǎng)絡(luò)共享給目標(biāo)機(jī)(和windows的文件網(wǎng)絡(luò)共享類似)。目標(biāo)機(jī)可以直接運(yùn)行存放于Linux主機(jī)共享目錄下的二進(jìn)制程序,這樣調(diào)試程序時(shí)十分方便、高效。
NFS即網(wǎng)絡(luò)文件系統(tǒng)(Network File-System),可以通過網(wǎng)絡(luò)讓不同機(jī)器、不同系統(tǒng)之間可以實(shí)現(xiàn)文件共享。通過NFS,可以訪問遠(yuǎn)程共享目錄,就像訪問本地磁盤一樣。
創(chuàng)建NFS的目錄為nfs_rootfs,并在該目錄下新建測(cè)試文件test;
修改配置文件:
在文件中添加以下配置:
重啟配置文件和服務(wù):
掛載成功后,查看/mnt目錄,會(huì)看到剛才解壓的文件系統(tǒng):
SSH服務(wù)搭建
(1)Linux主機(jī)不在本地,但又要使用或者維護(hù)這臺(tái)計(jì)算機(jī);
(2)一個(gè)嵌入式Linux產(chǎn)品不方便接調(diào)試串口,需要進(jìn)行維護(hù);
(3)在遠(yuǎn)程機(jī)器和本地機(jī)器之間進(jìn)行文件傳輸。
如果遠(yuǎn)程目標(biāo)系統(tǒng)已經(jīng)開啟了SSH服務(wù),通過SSH可以輕松解決以上問題。使用SSH服務(wù),一方面需要在遠(yuǎn)程系統(tǒng)上安裝SSH服務(wù),另一方面要在本地系統(tǒng)上安裝SSH客戶端,常見的SSH客戶端有 putty、SSH Secure Shell Client 等。
(1)SSH是安全的加密協(xié)議,用于遠(yuǎn)程連接Linux服務(wù)器;
(2)SSH默認(rèn)端口是22號(hào)端口,安全協(xié)議版本SSHv2,除了SSHv2版本之外還有SSHv1版本(有漏洞,不安全);
(3)SSH服務(wù)端主要包含兩個(gè)服務(wù)功能SSH遠(yuǎn)程連接和SFTP服務(wù);
(4)Linux SSH客戶端包含SSH遠(yuǎn)程連接命令以及遠(yuǎn)程拷貝scp命令等。
(1)在Ubuntu(Linux主機(jī))終端鍵入以下指令,安裝SSH服務(wù):
(2)啟動(dòng)SSH服務(wù):
(3)查看SSH服務(wù)的狀態(tài):
/$ sudo service ssh status :
ssh.service - OpenBSD Secure Shell server
Loaded: loaded (/lib/systemd/system/ssh.service; enabled; vendor preset: enabled)
Active: active (running) since Mon 2021-08-23 17:19:57 CST; 45s ago
Main PID: 7383 (sshd)
Tasks: 1 (limit: 2292)
CGroup: /system.slice/ssh.service
/usr/sbin/sshd -D
23 17:19:57 ubuntu systemd[1]: Starting OpenBSD Secure Shell server...
23 17:19:57 ubuntu sshd[7383]: Server listening on 0.0.0.0 port 22.
23 17:19:57 ubuntu sshd[7383]: Server listening on :: port 22.
23 17:19:57 ubuntu systemd[1]: Started OpenBSD Secure Shell server.
(4)關(guān)閉SSH服務(wù):
(5)測(cè)試方法:
在Windows主機(jī)通過putty訪問Linux系統(tǒng),打開putty界面,使用SSH登錄,ip設(shè)置Linux主機(jī)的ip,端口號(hào)默認(rèn)為22。