▍關於FTP
FTP服務器(File Transfer Protocol Server)是在互聯網上提供文件存儲和訪問服務的計算機,它們依照FTP協議提供服務。FTP是File Transfer Protocol,顧名思義,就是專門用來傳輸文件的協議。簡單地說,支持FTP協議的服務器就是FTP服務器。
FTP用於在兩台計算機之間傳輸文件,是Internet中應用非常廣泛的服務之一。它可根據實際需要設置各用戶的使用權限,同時還具有跨平台的特性,即在UNIX、Linux和Windows等操作系統中都可實現FTP客戶端和服務器,相互之間可跨平台進行文件傳輸。因此,FTP服務是網路中經常採用的資源共享方式之一。特點如下:
(1)FTP使用兩個平行連接:控制連接和數據連接。控制連接在兩主機間傳送控制命令,如用戶身份、口令、改變目錄命令等。數據連接只用於傳送數據。
(2)在一個會話期間,FTP服務器必須維持用戶狀態,也就是說,和某一個用戶的控制連接不能斷開。另外,當用戶在目錄樹中活動時,服務器必須追蹤用戶的當前目錄,這樣,FTP就限制了並髮用戶數量。
(3)FTP支持文件沿任意方向傳輸。當用戶與一遠程計算機建立連接後,用戶可以獲得一個遠程文件也可以將一本地文件傳輸至遠程設備。
▍實現方法
在工業樹莓派上,有時可能會因為網路問題,無法從網路上拉取資源使用,但透過FTP服務器的方式,就可以實現從PC端下載資源,再傳輸到工業樹莓派上。
這裡我們介紹兩種方式基於FTP的實現方式,具體如下所示:
■ 方法一:安裝FTP服務器
1. 直接嘗試使用sudo apt-get install vsftpd命令安裝,若成功,則切換到root權限然後跳到第7步;否則,繼續往下看第2步。
2.若失敗提示找不到包,如下圖,則需要換源
3.sudo su 切換到root權限(後面操作默認有root權限)。
4.用nano編輯(後面編輯預設用nano) /etc/apt/sources.list 文件,刪除原文件所有內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi
deb-src http://mirrors.tuna.tsinghua.edu.cn/raspbian/raspbian/ stretch main non-free contrib rpi
(修改完成後使用的nano指令:【退出】Ctrl+X;【確認保存】Y;【繼續】回車鍵)
5.編輯/etc/apt/sources.list.d/raspi.list 文件,刪除原文件所有內容,用以下內容取代:
deb http://mirrors.tuna.tsinghua.edu.cn/raspberrypi/ stretch main ui
6.編輯完之後執行apt-get update,速度較慢,具體速度取決於網路環境,若順利執行則跳到第6步
7. 若update超時失敗或者時間過長,則考慮Ctrl+C終止update,然後進入到/etc/apt/sources.list.d/ 目錄,修改以下兩個文件,在每行前面加個#號,臨時註釋掉,結束後再按需刪掉#號:
revpi.list
teamviewer-revpi.list
然後再次執行apt-get update
8. 重新執行apt-get install vsftpd,並耐心等待。
9. 編輯/etc/vsftpd.conf ,找到下面一行,把前面的#號去掉
#write_enable=YES
10. 運行vsftpd,透過以下命令
service vsftpd start
11. 此時打開任意FTP客戶端,例如FileZilla,
(以下場景為FileZilla測試環境)
(1)FileZilla下載版本分為客戶端版本和服務器版本,此處下載客戶端版本,鏈接:https://filezilla-project.org/download.php?type=client#close
(2)輸入IP地址、用戶名(pi)、密碼,點擊『快速連接』,即可連上樹莓派的FTP服務器。
(3)連接時可能出現以下彈窗,確認即可,FTP傳達的文件需要注意按需更改文件權限。
(4)透過FTP上傳文件,盡量上傳至/home/pi目錄,其他目錄有權限限制,會導致上傳失敗。
12.完成後關閉FTP服務器方法:service vsftpd stop
■ 方法二:安裝SFTP
(需要FTP軟體支持SFTP,比如使用FileZilla)
1. 打開軟體FileZilLa,點擊“文件”->”站點管理器”->”新站點”,自定義名稱,此處自定義為“MyRevPi”,效果如下:
2.“常規”->“協議”選擇SFTP-SSH File Transfer Protocol->“登錄”選擇正常->輸入IP地址、用戶名(pi)和密碼->點擊“連接”即可
3.連接成功
▍總結
方法 | 優點 | 缺點 |
安裝FTP服務器 | FTP客戶端相容性強,不局限於特定軟體 | 需要聯網安裝FTP服務器,需要編輯配置傳輸文本 |
使用SFTP | 樹莓派上不需要安裝額外軟體 | 需要FTP軟體支持SFTP,比如使用FileZilla |
以上是兩種FTP實現方式的優缺點總結,大家可以根據實際情況選用適合自己的方式!