乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      使用TFTP進行文件傳輸

       whlky 2016-06-26

      使用TFTP進行文件傳輸

      (系統(tǒng)版本: Ubuntu 14.04或以上)

       

       

      在嵌入式系統(tǒng)開發(fā)中,經(jīng)常需要從主機上傳送映像、文件等到目標(biāo)機上。實現(xiàn)的方法有很多。如tftp,scp等。

      TFTP(Trivial File Transfer Protocol)是用來下載遠程文件的最簡單的網(wǎng)絡(luò)協(xié)議,它基于UDP協(xié)議而實現(xiàn)。

       

      一、TFTP的建立

      嵌入式linux的tftp開發(fā)環(huán)境包括兩個方面:一是linux服務(wù)器端的tftp-server支持,二是嵌入式目標(biāo)系統(tǒng)的tftp-client支持。因為u-boot本身內(nèi)置支持tftp-client,所以嵌入式目標(biāo)系統(tǒng)端就不用配置了。我們要做的是在服務(wù)器端(即主機)上安裝TFTP服務(wù),并且正確地配置TFTP服務(wù)的路徑和參數(shù)。

       

      下面我嘗試了搭建TFTP的方法,實測成功。

       

       

      首先需要安裝:tftp-hpa

      sudoapt-get install tftp-hpa

      sudoapt-get install tftpd-hpa

       

      tftp-hpa是客戶端,作用是從別人的TFTP服務(wù)器端上傳/下載東西。

      tftpd-hpa是服務(wù)端,字母d代表daemon,作用是為別人提供TFTP服務(wù),供別人上傳/下載東西。

       

       

      2、創(chuàng)建TFTP目錄

      首先需要建立一個TFTP目錄,以供上傳和下載。當(dāng)然也可以使用現(xiàn)有的目錄。然后需要設(shè)定該目錄的權(quán)限,決定是否能夠下載和上傳文件。對于日常使用,我們一般就將其權(quán)限設(shè)置為最高,為所有用戶組都添加所有權(quán)限(讀+寫+執(zhí)行=4+2+1=7):

      sudomkdir ~/tftp_boot

      sudochmod 777 tftp_boot –R

       

      我們的TFTP目錄為/home/ghostar/tftp_boot,其權(quán)限已經(jīng)是最高。

       

      3、修改配置文件

      修改tftpd-hpa相應(yīng)的配置文件

      sudogedit /etc/default/tftpd-hpa

       

      原始的內(nèi)容如下:

      #/etc/default/tftpd-hpa

      TFTP_USERNAME="tftp"

      TFTP_DIRECTORY="/var/lib/tftpboot"

      TFTP_ADDRESS="[...]:69"

      TFTP_OPTIONS="--secure"

       

      我將其修改為:

      #/etc/default/tftpd-hpa

      TFTP_USERNAME="ghostar"

      TFTP_DIRECTORY="/home/ghostar/tftp_boot"

      TFTP_ADDRESS="0.0.0.0:69"

      TFTP_OPTIONS="-l-c -s"

       

      說明:

      TFTP_USERNAME:必須改為當(dāng)前的用戶名,或者root;

      TFTP_DIRECTORY:我們設(shè)定的TFTP根目錄;

      TFTP_OPTIONS:TFTP啟動參數(shù)。意義如下:

       

      -l:以standalone/listen模式啟動TFTP服務(wù),而不是從inetd啟動。

      (這里也表明,再像前面一樣裝xinetd,其實是多此一舉)

      -c:可創(chuàng)建新文件。默認(rèn)情況下,TFTP只允許覆蓋原有文件,不能創(chuàng)建新文件。

      -s:改變TFTP啟動的根目錄。加了-s后,客戶端使用TFTP時,不再需要輸入指定目錄,填寫文件的完整路徑,而是使用配置文件中寫好的目錄。這樣也可以增加安全性。

       

      我一開始沒有注意TFTP_USERNAME這一項,隨便取了一個名字,一直沒有成功,后來改用自己的用戶名,才測試成功。

       

      4、重新啟動服務(wù)

       

      重啟tftpd-hpa服務(wù):

      sudo service tftpd-hpa restart

      如果顯示如下,說明配置正確:

      tftpd-hpastart/running, process 2290

       

      之前我沒有把TFTP_USERNAME該為用戶名,而是隨便取了一個,則會提示如下:

      tftpd-hpastart/running

      對比發(fā)現(xiàn),這里并沒有啟動進程,因為配置中TFTP_USERNAME不正確,也就沒有成功開啟TFTP。

       

       

      5、確認(rèn)tftp服務(wù)是否已經(jīng)開啟

               下面確認(rèn)tftp服務(wù)是否開啟。

      查看tftp相關(guān)進程可以用以下指令:

      psaux |grep tftp

      彈出以下信息

      ghostar@ubuntu:~$ ps aux|grep tftp
      root       3151  0.0  0.0  15128   152 ?        Ss   23:19   0:00 /usr/sbin/in.tftpd --listen --user ghostar --address 0.0.0.0:69 -l -c -s /home/ghostar/tftp_boot
      ghostar    3156  0.0  0.0  15956   956 pts/12   S+   23:20   0:00 grep --color=auto tftp

      可以看到, /usr/sbin/in.tftpd已經(jīng)啟動,說明TFTP服務(wù)已經(jīng)開啟了,進程號正是3151。

      --listen對應(yīng)配置文件中的參數(shù) -l

      --user ghostar          就是配置文件中的TFTP_USERNAME

      /home/ghostar/tftp_boot是配置文件中的TFTP_DIRECTORY

       

               另一種方法:

      netstat-a|grep tftp

               如果看到如下提示,說明TFTP服務(wù)開啟了。

      udp        0     0 *:tftp                  *:*

       

       

      二、TFTP的使用

      1、連接本機

      連接本機有三種方法,一是輸入真實的IP地址,可以用ifconfig查得;二是用localhost來代表本機;三是使用地址127.0.0.1,這個IP地址始終代表本機的IP。

      先在TFTP目錄下新建一個文件a,在里面隨便寫一些內(nèi)容,然后修改其權(quán)限為777。接著,輸入以下指令的任意一條,進入TFTP命令行。

      tftp 192.168.1.201  (自己設(shè)定的IP)

      tftp localhost

      tftp127.0.0.1

       

      TFTP命令行的基本指令:

      put:將文件上傳到TFTP目錄

      get:取得TFTP目錄上的文件

      quit/q:退出TFTP

       

      因為TFTP服務(wù)將某一設(shè)定的目錄視為根目錄,因此不需要打出完整的路徑。既然該目錄下已經(jīng)有一個文件a,我們就下面輸入指令:

      tftp>get a

       

      tftp>put a

       

      如果沒有任何提示,則說明傳輸成功。

       

      下面看看當(dāng)配置參數(shù)和文件權(quán)限改變時,會出現(xiàn)什么現(xiàn)象。我列舉了一些常見問題:

       

      tftp>get a

      Transfer timed out.

      原因:tftpd服務(wù)沒有啟動。

      需要注意的是,必須使TFTP的用戶名和當(dāng)前的系統(tǒng)的用戶名一致,否則就無法成功啟動tftpd服務(wù)。

       

      tftp>get a

      permission denied

      原因:操作者權(quán)限不夠,比如當(dāng)前的目錄是/etc,不能隨便get文件下來。需要提升權(quán)限。切換到root賬戶,或者直接執(zhí)行sudo tftp。

       

      tftp>put t1

      tftp: t1: No such file or directory

      原因:當(dāng)前目錄下沒有t1文件

       

      tftp>get d

      Error code 1: File not found

      原因:TFTP根目錄下沒有該文件

       

      Error code 2: Only absolute filenamesallowed

      原因:TFTP啟動配置參數(shù)沒有-s,或者在DIRECTORY中沒有填寫目錄

       

      tftp>put b

      Error code 1: File not found

      原因:啟動配置參數(shù)無-c,根目錄下無同名文件

      (注意和前面情況的區(qū)別,不是當(dāng)前目錄下沒有b文件,而是TFTP目錄下找不到同名文件b)

       

      tftp>put b

      Error code 2: File must have global writepermissions

      原因:根目錄下有同名文件,該文件無寫權(quán)限(啟動配置參數(shù)有無-c都這樣)

       

      經(jīng)測試,在tftp-hpa方法下,下列情況可以put成功:

      l  啟動配置參數(shù)無-c,根目錄下有同名文件,有寫權(quán)限

      l  啟動配置參數(shù)有-c,根目錄下無同名文件

      l  啟動配置參數(shù)有-c,根目錄下有同名文件,有寫權(quán)限

       

      2、連接實驗箱(未完成)

               實驗箱操作系統(tǒng)中的TFTP服務(wù)已經(jīng)裝好,是在BusyBox v1.12.0中的。它的用法與本機的略有區(qū)別,但原理是一樣的。

       

      基本參數(shù):

      -g:   get,獲取文件

      -p:   put,長傳文件

      -l FILE:本地的文件,名為FILE

      -r FILE:遠程的文件,名為FILE

              

               實驗箱的IP地址為192.168.1.200,我主機的IP地址為192.168.1.201。兩者的IP應(yīng)該在一個網(wǎng)段內(nèi),才能順利通信。

       

      使用舉例:

      sudo minicom

      進入了實驗箱的Linux操作系統(tǒng)。

       

      # cd /home

      # tftp -g 192.168.1.201 -r./hello -l./hello

               將主機TFTP目錄下的文件hello下載到實驗箱的當(dāng)前目錄(/home)。

      # tftp -p 192.168.1.201 -r./led -l./led

               將實驗箱的當(dāng)前目錄(/home)的文件led上傳到主機TFTP目錄下。

       

        本站是提供個人知識管理的網(wǎng)絡(luò)存儲空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點。請注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點擊一鍵舉報。
        轉(zhuǎn)藏 分享 獻花(0

        0條評論

        發(fā)表

        請遵守用戶 評論公約

        類似文章 更多