Ubuntu 12.04 搭建TFTP服务器
吐槽先:在Ubuntu上搭建TFTP服务器,网上搜到一堆资料,可惜基本都是部分能用,至于哪些部分能用还要自己摸索着试出来,郁闷之情仅次于找不到任何资料……
--------------------------------------------正文开始--------------------------------------------
TFTP(Trivial File Transfer Protocol,简单文件传输协议),是一个基于UDP协议实现的用于在客户机和服务器之间进行简单文件传输的协议,适合于开销不大、不复杂的应用场 合。TFTP协议专门为小文件传输而设计,只能从服务器上获取文件,或者向服务器写入文件,不能列出目录,也不能进行认证。它传输8位数据,传输中有三种模式:netascii,这是8位的ASCII码形式,另一种是octet,这是8位源数据类型;最后一种mail已经不再支持,它将返回的数据直接返回给用户而不是保存为文件。
在嵌入式Linux开发中,TFTP协议在很多场合都被用到,甚至是必不可少的,特别是在内核调试阶段,在U-Boot下通过TFTP协议从服务器上加载内核并运行,既方便又快捷。
一般的Linux发行版默认都没有安装TFTP服务以及TFTP服务器。TFTP服务依赖于网络守护进程服务程序,可选择安装inetd或者升级版的xinetd,
然后安装tftp和tftp-server,接着修改或者创建/etc/xinetd.d/tftp配置文件,最后重启xinetd,启动TFTP服务。
无论采用什么发行版,TFTP服务器的安装都是这样的流程,只不过不同发行版的安装命令不同而已。
1、查看系统信息
我用的系统是Ubuntu 12.04.5 LTS。
zlf@ubuntu:~$ cat /etc/lsb-release
DISTRIB_ID=Ubuntu
DISTRIB_RELEASE=12.04
DISTRIB_CODENAME=precise
DISTRIB_DESCRIPTION="Ubuntu 12.04.5 LTS"
2、安装软件
安装xinetd:
zlf@ubuntu:~$ sudo apt-get install xinetd
安装tftpd-hpa和tftp-hpa:
zlf@ubuntu:~$ sudo apt-get install tftpd-hpa tftp-hpa
tftpd-hpa是服务器端,tftp-hpa是客户端。tftpd-hpa和tftp-hpa是tftpd和tftp的增强版本。
3、修改配置文件
建立/etc/xinetd.d/tftp文件,写入如下内容:
service tftp
{
socket_type = dgram
protocol = udp
wait = yes
user = root
server = /usr/sbin/in.tftpd
server_args = -s /home/zlf/tftpboot/
disable = no
per_source =
cps =
flags = IPv4
}
其中server_args设置的/home/zlf/tftpboot/目录是tftp服务器的目录,设置其访问权限为777:
zlf@ubuntu:~$ mkdir -pv /home/zlf/tftpboot
zlf@ubuntu:~$ chmod /home/zlf/tftpboot
修改/etc/default/tftpd-hpa文件:
zlf@ubuntu:~$ sudo vi /etc/default/tftpd-hpa
将文件从
# /etc/default/tftpd-hpa TFTP_USERNAME="tftp"
TFTP_DIRECTORY="/var/lib/tftpboot"
TFTP_ADDRESS="0.0.0.0:69"
TFTP_OPTIONS="--secure"
修改为:
# /etc/default/tftpd-hpa TFTP_USERNAME="zlf"
TFTP_DIRECTORY="/home/zlf/tftpboot"
TFTP_ADDRESS="127.0.0.1:69"
TFTP_OPTIONS="-s -c"
TFTP的OPTIONS可以通过man tftpd查看。
4、启动服务
软件安装后已自动启动,此时将服务重启:
zlf@ubuntu:~$ sudo service xinetd restart
zlf@ubuntu:~$ sudo service tftpd-hpa restart
5、本机测试
在/home/zlf目录下创建文件puttest,在/home/zlf/tftpboot目录下创建文件gettest。
echo "tftp put test" >> /home/zlf/puttest
echo "tftp get test" >> /home/zlf/tftpboot/gettest
在/home/zlf目录下运行tftp。
zlf@ubuntu:~$ cd
zlf@ubuntu:~$ tftp localhost
tftp> get gettest #获取gettest文件
tftp> put puttest #上传puttest文件
tftp> q #退出tftp
用ls命令查看,在/home/zlf目录下可以看到下载的gettest文件,在/home/zlf/tftpboot目录下可以看到上传的puttest文件。
TFTP服务器搭建完成。
参考文献:
1、ubuntu下搭建tftp服务器
2、Ubuntu 11.04下安装 TFTP Server
3、在ubuntu 下安装xinetd模式的tftpd服务
4、ubuntu 12.04搭建tftp服务器的安装、设置、调试
5、Ubuntu下配置tftp服务和NFS服务
Ubuntu 12.04 搭建TFTP服务器的更多相关文章
- Ubuntu 12.04搭建l2tp服务器记录。
1. 安装openswan apt-get install openswan 2.打开 /etc/ipsec.conf 文件,做如下配置: 其中,virtual_privat这里包含的网络地址允许配置 ...
- Ubuntu 12.04搭建svn服务器【转】
这是一个比较老旧的话题,毕竟大家现在都使用Git(http://git-scm.com/),Git在分支.代码存储.冲突.速度方面的机制都更优秀. 那我们难道还有使用svn的场景?当然,比如对Git很 ...
- Ubuntu 12.04搭建MTK 6577 安卓开发环境
Ubuntu 12.04搭建 MTK 6577安卓开发环境 1. 下载并安装Vmware虚拟机: 2. 下载并在虚拟机上安装Ubuntu 12.04 iso 安装包:下载地址: ...
- ubuntu 18.04 搭建flask服务器(大合集,个人实操)
ubuntu 18.04 搭建flask服务器(大合集) Ubuntu python flask 服务器 本次使用的Ubuntu版本为:Ubuntu 18.04.5 LTS (GNU/Linux 4. ...
- Ubuntu 12.04 搭建Android开发环境
Ubuntu 12.04 搭建Android开发环境 2013/7/29 Linux环境下搭建Android开发环境 大部分开发人员可能都在Windows下做开发,可能是感觉在Windows下比较方便 ...
- Ubuntu 12.04 搭建 Eclipse Android 开发环境(转)
Ubuntu 12.04 搭建 Eclipse Android 开发环境 http://blog.sina.com.cn/s/blog_93dc666c0101b39p.html (2012-09-0 ...
- (转)ubuntu 12.04搭建Adobe Flash Media Server服务
破解版传送门:http://fms45.cuplayer.com/fms4download.html 福利:1462-5247-1705-7678-8379-5590 下载解压 cd进目录,./ins ...
- 烂泥:ubuntu 14.04搭建OpenVPN服务器
本文由秀依林枫提供友情赞助,首发于烂泥行天下 公司分部需要连接公司内部的服务器,但是该服务器只允许公司内部的网络访问. 为了解决这个问题,打算使用VPN.对于VPN以前使用最多的是PPTP这个解决方案 ...
- 【Ubuntu 18.04 搭建VNC服务器】
https://www.jianshu.com/p/f58fe5cdeb5f 桌面共享 Ubuntu 18.04自带桌面共享,可以将物理桌面共享给VNC.但是无法创建新的桌面. 具体参考 https: ...
随机推荐
- 动态改变tableHeaderView的显示隐藏及高度
改变tableHeaderView的高度: UIView *headerView = _tableView.tableHeaderView; headerView.height = 10; 当设置高度 ...
- 五步解决windows系统慢的问题
第一步:清理浏览器缓存 第二步:磁盘整理 第三步:碎片整理 第四步:清理系统临时文件 echo 正在清除系统垃圾文件,请稍等...... del /f /s /q %systemdrive%\*.tm ...
- MySQL优化查询相关
[查询优化相关] 1.如何定位相关慢的查询: a.可以开启慢查询日志,也可以使用show profiles 去记录相关查询到一个临时表再分析. b.show processlist 看看有没有大量等 ...
- Django1.11创建
Djiango 1.11.1 虚拟环境配置 创建虚拟环境 mkvirtualenv 虚拟环境名字 -p python3 安装django pip install django==1.11.11 卸载包 ...
- (函数)P1217 [USACO1.5]回文质数 Prime Palindromes
题解: 第一次: 算法复杂度过高,导致编译超时,需要优化 #include<stdio.h>#include<math.h>int a[100000001] = { 0 };i ...
- win10查看显卡算力
1.查看笔记本自带算力 运行C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v9.2\extras\demo_suite目录下的deviceQue ...
- 00java语法基础和课后实践
一:运行代码,并分析结果 代码1: package reserve; public class Main { public static void main(String[] args) { Size ...
- 18 11 13 装了ssd 继续 网络通信 tcp 客户端的创建
import socket def main(): # 1. 买个手机(创建套接字 socket) 联通公司建立了一个信号塔 tcp_server_socket = socket.socket(soc ...
- CMake常用变量
CMake变量 CMake共用七种变量,如下所示: 目录: ()提供信息的变量. ()控制变量. ()描述系统的变量. ()控制构建过程的变量. ()语言变量. ()CTest变量. (7)CPack ...
- [kuangbin 带你飞] DP专题——HDU - 1024
Max Sum Plus Plus Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others ...