玩板子因爲須要頻繁進行文件燒寫、傳輸和下載,因此常常會用到標題中提到的幾種服務。剛接觸嵌入式時,總是對這幾種服務分不清,對幾種服務的用法及功能也比較模糊,如今特地查找資料,記錄下來。git
FTP:web
FTP(File Transfer Protocol, 文件傳輸協議), 是 TCP/IP 協議組種的協議之一。FTP 協議包括兩部分,其一爲 FTP 服務器,其二爲 FTP 客戶端。FTP 服務器用來存儲文件,用戶能夠經過使用 FTP 客戶經過 FTP 協議訪問位於 FTP 服務器上的資源。在開發網站的時候,一般利用 FTP 協議把網頁或程序傳到 web 服務器上。此外,因爲 FTP 傳輸效率很是高,在網絡傳輸大的文件時,通常也採用該協議。安全
默認狀況下,FTP 協議使用 TCP 端口中的20和21這兩個端口。20用於傳輸數據,21用於傳輸控制信息。可是否使用20端口做爲傳輸數據的端口與 FTP 使用的傳輸模式有關。若是採用主動模式,那麼數據傳輸端口就是20;如果被動模式,則需服務器與客戶端協商決定使用哪一個端口。服務器
FTP 地址格式以下:網絡
ftp://用戶名:密碼@FTP服務器IP或域名:FTP命名端口/路徑/路徑ssh
FTP 安裝:tcp
sudo apt-get install vsftpd網站
FTP 配置:設計
修改 vsftpd 的配置文件 /etc/vsftpd.conf, 將下面兩行的 '#' 號去掉rest
#local_enable = yes 容許本地用戶登陸
#write_enable = yes 容許上傳文件
SSH:
SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡小組(Network Working Group)所制定;SSH 爲創建在應用層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。利用 SSH 協議能夠有效防止遠程管理過程當中的信息泄露問題。SSH最初是UNIX系統上的一個程序,後來又迅速擴展到其餘操做平臺。SSH在正確使用時可彌補網絡中的漏洞。SSH客戶端適用於多種平臺。幾乎全部UNIX平臺—包括HP-UX、Linux、AIX、Solaris、Digital UNIX、Irix,以及其餘平臺,均可運行SSH。
SSH 服務安裝:
sudo apt-get install openssh-server
配置文件爲 /etc/ssh/sshd_config
重啓ssh 服務:
直接執行 /etc/rc.d/init.d/ssh restart 或者 sevice ssh restart restart 包括了stop,start。
NFS 服務:
NFS (Network File System, 網絡文件系統),是FreeBSD支持的文件系統中的一種,它容許網絡中的計算機之間經過 TCP/IP 網絡共享資源。在 NFS 的應用中, 本地 NFS 的客戶端應用能夠透明地讀寫位於遠端 NFS 服務器上的文件,就像訪問本地文件同樣。
NFS 安裝:
sudo apt-get install nfs-kernel-server portmap
NFS 配置:
配置文件 /etc/exports, 在裏面增長一些內容,能夠經過網絡文件系統訪問 /work/nfs_root 目錄
/work/nfs_root *(rw, sync, no_root_squash)
rw: 客戶端對此目錄有讀寫權限
sync:資料同步寫入內存和硬盤
no_root_squash:root 用戶具備對根目錄的徹底管理訪問權限
以後重啓 nfs:
sudo /etc/init.d/nfs-kernel-server restart
TFTP:
TFTP (Trivial File Transfer Protocol, 簡單文件傳輸協議) 是 TCP/IP 協議族中的一個用來在客戶機與服務器之間進行簡單文件傳輸的協議,提供不復雜、開銷小的文件傳輸服務。端口號爲69.TFTP是一個傳輸文件的簡單協議,它基於UDP協議而實現,可是咱們也不能肯定有些TFTP協議是基於其它傳輸協議完成的。此協議設計的時候是進行小文件傳輸的。所以它不具有一般的FTP的許多功能,它只能從文件服務器上得到或寫入文件,不能列出目錄,不進行認證,它傳輸8位數據。傳輸中有三種模式:netascii,這是8位的ASCII碼形式,另外一種是octet,這是8位源數據類型;最後一種mail已經再也不支持,它將返回的數據直接返回給用戶而不是保存爲文件。
安裝 TFTP:
sudo apt-get install openbsd-inetd tftpd tftp
配置 TFTP:
修改配置文件 /etc/inetd.conf 裏面有一行:
tftp dgram udp wait nobody /usr/sbin/tcpd /usr/sbin/in.tftpd /srv/tftp
把 "nobody" "/srv/tftp" 改成 "root", "/work/nfs_root", 表示 tftp 目錄。