www.久久久久|狼友网站av天堂|精品国产无码a片|一级av色欲av|91在线播放视频|亚洲无码主播在线|国产精品草久在线|明星AV网站在线|污污内射久久一区|婷婷综合视频网站

當前位置:首頁 > 芯聞號 > 充電吧
[導讀]前言:   最近試著在嵌入式系統(tǒng)建立一個ftp服務器。從網(wǎng)上搜羅了一大堆,但是下載下來編譯的時候卻發(fā)現(xiàn)自己對交叉編譯方面的知識知道的太少了。哎,于是抱著網(wǎng)絡,狂搜了一通,終于多少有點頭緒。但是運氣比

前言:

  最近試著在嵌入式系統(tǒng)建立一個ftp服務器。從網(wǎng)上搜羅了一大堆,但是下載下來編譯的時候卻發(fā)現(xiàn)自己對交叉編譯方面的知識知道的太少了。哎,于是抱著網(wǎng)絡,狂搜了一通,終于多少有點頭緒。但是運氣比較差,很多程序源碼都不能正確的編譯,目前只有這個vsftpd和tftp編譯通過了。真的好不容易呀,對于我這種菜鳥來說。所以,還是將這期間的一些東西記錄下來,也免得健忘的我以后再也回憶不起來了。

  正題:

  1. FTP相關知識

  1.1 綜述

  文件傳輸協(xié)議(File Transfer Protocol,F(xiàn)TP)的目的是在互聯(lián)網(wǎng)上進行平臺無關的數(shù)據(jù)傳輸,它基于客戶機Client/服務器Server框架。RFC959規(guī)定FTP將通過兩個信道(端口)傳輸,一個傳輸數(shù)據(jù)(端口20),另外一個傳輸控制信息(端口21)。在控制信道之上,雙方交換用于發(fā)起數(shù)據(jù)傳輸?shù)拿睢?

  一個FTP連接包含4個步驟:用戶鑒權;建立控制信道;建立數(shù)據(jù)信道;關閉連接。

  FTP的連接控制使用傳輸控制協(xié)議(Transmission Control Protocol,TCP),從而保證了數(shù)據(jù)的可靠傳輸。因此,F(xiàn)TP在數(shù)據(jù)傳輸中不需要關系分組丟失和數(shù)據(jù)錯誤檢測。

  1.2 vsftpd

  在UNIX和Linux中,從安全角度上考慮的話,首推的就是VSFTPD(Very Secure FTP Daemon)

  ,它可以運行在諸如 Linux, BSD, Solaris, HP-UX 以及 IRIX 上面。它支持很多其他的 FTP 服務器不支持的特征。比如: 非常高的安全性需求

  帶寬限制

  良好的可伸縮性

  創(chuàng)建虛擬用戶的可能性

  IPnG(譯注:IPv6)支持

  中等偏上的性能

  分配虛擬 IP 的可能性 高速

  (其實以上的綜述是我東拼西湊出來了,因為我目前也還沒有感到它的優(yōu)點。呵呵?。?

  1.3 tftp

  TFTP
(Trivial File Transfer Protocol,簡單文件傳輸協(xié)議)也是TCP/IP協(xié)議族中的用于客戶機與服務器之間進行簡單文件傳輸?shù)膮f(xié)議,只是其提供不復雜、開銷不大的文件傳輸服務。值得注意的是TFTP承載在UDP上,故而不提供可靠的數(shù)據(jù)流傳輸服務、不提供存取授權與認證機制,其通過超時重傳方式來保證數(shù)據(jù)的到達。與FTP相比,TFTP要小的多,所以它只能從遠程服務器上讀、寫文件(郵件)或者讀、寫文件傳送給遠程服務器,不能列出目錄并且用戶認證。另外,與FTP不同的是,TFTP采用默認端口69#來進行傳輸。

  2. 編譯系統(tǒng)

  編譯環(huán)境:虛擬機Fedora3.0;

  交叉編譯工具:mipsel-linux;

  3. 源碼下載

  官方網(wǎng)站:http://vsftpd.beasts.org/

  下載地址:ftp://vsftpd.beasts.org/users/cevans/

 ?。ㄗ钚碌陌姹荆簐sftpd-2.0.5.tar.gz)

  http://sourceforge.net/

 ?。?.0的簡單版本的tftp server和client C程序)

  4. vstftp編譯細節(jié)

  為了避免出錯,我在寫該部分的時候對整個下載以及編譯過程重新執(zhí)行了一遍,確保在我的系統(tǒng)上是Success的。

  4.1 交叉編譯

 ?。ar -zxvf vsftpd-2.0.5.tar.gz

 ?。d vsftpd-2.0.5

 ?。i Makefile

  根據(jù)自己的編譯器修改CC選項,我的修改為: CC=mipsel-linux-gcc

 ?。ake

  如果順利的話,應該生成vsftpd文件。

  4.2 安裝

  因為我們是要將其放置到我們的嵌入式系統(tǒng)中的,所以不能使用make install來直接安裝,需要我們自己手動來拷貝一些文件到自己系統(tǒng)的相關目錄下。這個從INSTALL文件中有很詳細的說明,但這里我還是羅嗦一下吧(備注:我這里提到了目標路徑均是嵌入式系統(tǒng)的相關路徑):

  #cp vsftpd /usr/local/sbin/ 或者 /usr/sbin/

 ?。p vstftpd.conf.5 /usr/local/man/man5/ 或者 /usr/share/man/man5/

  或者/usr/man/man5/

 ?。p vsftpd.8 /usr/local/man/man8 或者 /usr/share/man/man5/

  或者/usr/man/man5/

 ?。p xinetd.d/vsftpd.conf /etc/vsftpd.conf

  注:vsftpd的配置選項均在vsftpd.conf文件中,根據(jù)自己的需求可以增添或者刪減一些內容。

  4.3 運行模式

  現(xiàn)在大致我們已經(jīng)將vsftpd移植到我們的嵌入式平臺中去了。但是vsftpd有三種運行模式:inetd、xinted和standalone模式。對于RPM包管理的系統(tǒng),有xinted服務器一說,對于非RPM包管理系統(tǒng),沒有xinted,一般都使用inetd或者standalone來啟動和管理服務器,這也就是獨立運行模式。

  為了能讓vsftpd在系統(tǒng)中運行,我們必須檢查以下幾個方面:

  1) 是否存在用戶nobody

 ?。seradd nobody/ftp

  2) 目錄/usr/share/empty

  3) 如果支持用戶匿名訪問,在需要創(chuàng)建目錄/var/ftp

 ?。kdir /var/ftp/

 ?。seradd –d /var/ftp ftp

  在以上的基礎上,我們就可以按照以下三種方式來運行vsftpd。

  (1) inetd

  我們需要編輯配置文件/etc/inetd.conf,并在文中的FTP那行,有則修改無則增添如下項目:

  ftp stream tcp nowait root /usr/sbin/tcpd vsftpd

 ?。?) xinted

  需要修改源碼xinted.d/vsftpd文件。對如下的內容需要在server欄填入4.2中的拷貝的vsftpd路徑,另外默認disable=no,即每次開機會自動啟動該項服務,如果需要手動啟動的話,將其更改為yes。

  service ftp

  {

  socket_type = stream

  wait = no

  user = root

  server = /usr/local/sbin/vsftpd

  # server_args = # log_on_success += DURATION USERID # log_on_failure += USERID nice = 10 disable = no } 通過service xinetd restart或者/etc/init.d/xinetd restart來啟動該項服務(在修改了以上配置或者采用手動啟動方式)。

  注:選用inted或者xinted模式運行的時候vsftpd.conf中的listen選項為no。

  (3) standalone模式

  選用standalone模式的時候需要將vsftpd.conf文件中l(wèi)isten選項改為yes。

  對于以上三種模式來說,均可以使用通用的vsftpd啟動模式,即:

  /usr/sbin/vsftpd & 或者/usr/local/vsftpd &

  通常會犯的錯誤就是在鍵入上述命令之后系統(tǒng)提示:“500 OOPS: could not bind listening IPv4 socket”的出錯信息,這往往是由于沒有修改好vsftpd.conf文件使得xinetd已經(jīng)啟動了vsftpd,而vsftpd卻設置成了standalone模式。所以,先使用service xinetd stop停止xinetd服務,然后再通過上面的命令來啟動?;蛘呷绻麅H使用standalone模式來啟動,可以刪除掉/etc/xinetd/vsftpd文件。

  當然,你可以通過pgrep vsftpd來檢查vsftpd是否運行起來,當屏幕上出現(xiàn)一個阿拉伯數(shù)字的時候,恭喜你,嵌入式系統(tǒng)中的vsftpd服務器已經(jīng)建立起來了。之后就可以與通信的另外一個PC主機或者同樣的嵌入式系統(tǒng)(當然,這個系統(tǒng)中應當有ftp的客戶端程序,如:ftp命令、lftp以及gftp等工具)進行測試連接了。

  5. tftp編譯細節(jié)

  5.1 交叉編譯

 ?。ar -zxvf tftp-1.0.tar.gz

 ?。d tftp-1.0

  #vi Makefile

  根據(jù)自己的編譯器修改CC選項,我的修改為:

  CC=mipsel-linux-gcc

  同時,將strip 修改為mipsel-linux-strip.

  #make

  如果順利的話,應該生成tftpc(client端)和tftpd(server端)文件。

  5.2 安裝

  因為我們是要將其放置到我們的嵌入式系統(tǒng)中的,所以不能使用make install來直接安裝,需要我們自己手動將生成的tftpc和tftpd拷貝到自己系統(tǒng)的目錄下(我放到根目錄下,其實這個是個不好的習慣,應該也放到sbin下)。

  5.3 運行

  現(xiàn)在我們已經(jīng)可以在嵌入式系統(tǒng)中運行tftp的server以及client了。當通信鏈路建立起來之后,tftp server端可以通過運行./tftpd 來啟動。從端的啟動就要略微負責些了,因為要指定一些東西。比如我們需要從IP地址為192.168.81.123的tftp server端取到一個test.doc的文件,則需要在從端輸入如下命令:./tftpc 192.168.81.123 –P 69# -g test.doc

  簡單說明一下:-P 69#是指采用端口69通信;-g 從server端得到文件;-p就是發(fā)送文件到server端嘍。

  Tftp運行起來很簡單,且不需要鑒權,但其目前還是不能提供目錄瀏覽的功能。

  6. 小結

  總結起來,在進行以上編譯的時候,我不知道犯了多少錯誤,完全是Linux的菜鳥,但這一周以來我真的懂得了很多這方面的知識,所以加油、加油!我要繼續(xù)努力!
本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數(shù)據(jù)產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉