Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用
TFTP服务器
TFTP(Trivial File Transfer Protocol)即简单文件传输协议,是TCP/IP协议中一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69
1、使用客户服务器方式和使用UDP数据报,需要有自己的差错改正措施
2、支持小文件传输
3、没有庞大的命令集,没有列目录的功能,也不能对用户进行身份鉴别
适用场景:频繁修改内容
配置介绍
1. 在线安装TFTP服务器和客户端(需要保证Ubuntu网络通畅)。
linux@ubuntu:~$ sudo apt-get install tftpd-hpa tftp-hpa
2. 修改配置文件
linux@ubuntu:~$sudo vi /etc/default/tftpd-hpa
#配置文件路径
#/etc/default/tftpd-hpa
#用户名
TFTP_USERNAME="tftp"
#你的tftp服务器所在的路径
TFTP_DIRECTORY="/home/linux/tftpboot"
#tftp服务器的网关和端口号,0.0.0.0表示任意IP均可下载
TFTP_ADDRESS="0.0.0.0:69"
#tftp 文件服务器的可供选择的权限, get file\ put file \ list file
TFTP_OPTIONS="-l -c -s"

3. 创建tftp服务器的目录
//和配置文件的名字和路径必须保持一致
linux@ubuntu:~$sudo mkdir /tftpboot
//修改tftp服务器文件夹的权限
linux@ubuntu:~$chmod a + w tftpboot
4. 运行下面的命令,重启TFTP服务器。
linux@ubuntu:~$ sudo service tftpd-hpa restart
5. 运行下面的命令,新建一个文件,并将其移动到TFTP服务器的默认上传下载目录,用于测试tftp服务 器是否成功。
linux@ubuntu:~$ echo "tftp test" > test.txt
linux@ubuntu:~$ sudo mv test.txt /tftpboot/
6. 运行下面的命令,从服务器上下载test.txt文件,并退出tftp程序。
linux@ubuntu:~$ tftp localhost
tftp> get test.txt
tftp> q
7. 运行下面的命令,确认下载的文件内容正确。
linux@ubuntu:~$ cat test.txt tftp test
8. 如果TFTP的下载不成功,运行下面的命令卸载软件(连同配置信息一起),然后再重新安装,最后 再重启TFTP服务器。
$ sudo apt-get remove --purge tftpd-hpa tftp-hpa
$ sudo apt-get install tftpd-hpa tftp-hpa
$ sudo service tftpd-hpa restar
常见错误



NFS服务器
nfs(Network File System)即网络文件系统,其基于UDP/IP使用,nfs能够在不同计算机之间通过网络进行文件共享,能使使用者访问网络上其他计算机中的文件就像在访问自己的计算机一样。
1、提供透明文件访问以及文件传输
2、容易扩充新的资源或软件,不需要改变现有的工作环境
3、高性能,可灵活配置
配置介绍
1. 运行下面的命令安装NFS服务器(需要保持网络通畅)。
linux@ubuntu:~ $ sudo apt-get install nfs-kernel-server
2. 运行下面的命令,创建一个目录,并在该文件下创建一个文件,用于测试nfs。
linux@ubuntu:~ $ sudo mkdir /nfs
linux@ubuntu:~ $ mkdir /nfs/rootfs
linux@ubuntu:~ $ echo "nfs test" > /nfs/rootfs/test.txt
3. 编辑/etc/exports配置文件。
linux@ubuntu:~ $ sudo vim /etc/exports
添加如下内容:
/nfs/rootfs *(rw,sync,no_subtree_check,no_root_squash)
其中:
/nfs/rootfs:共享的目录;
*:不限定客户端;
rw:共享目录可读可写;
sync:将数据同步写入内存缓冲区与磁盘中,效率低,但可以保证数据的一致性; no_subtree_check :即使输出目录是一个子目录,nfs服务器也不检查其父目录的权限,这样可 以提高效率;
no_root_squash:来访的root用户保持root帐号权限;
4. Ubuntu17.10及以后版本需要增加以下配置,因为新版本Ubuntu只支持nfs 3和nfs 4,而uboot默 认使用nfs 2
linux@ubuntu:~ $sudo vi /etc/default/nfs-kernel-server
RPCNFSDOPTS="--nfs-version 2,3,4 --debug --syslog"
5. 使用下面的命令,重启NFS服务。
linux@ubuntu:~ $ sudo service nfs-kernel-server restart
6. 使用下面的命令,将共享目录挂在到/mnt目录下,并修文件。
linux@ubuntu:~ $ sudo mount -t nfs localhost:/nfs/rootfs /mnt
linux@ubuntu:~ $ vim /mnt/test.txt
7. 使用下面的命令,查看原来的文件已经被修改。
linux@ubuntu:~ $ cat /nfs/rootfs/test.txt
8. 使用下面的命令取消挂载。
linux@ubuntu:~ $ sudo umount /mn
常见错误


相关文章:
Linux操作系统使用及C高级编程-D9D10Linux 服务搭建与使用
TFTP服务器 TFTP(Trivial File Transfer Protocol)即简单文件传输协议,是TCP/IP协议中一个用来在客户机与服务器之间进行简单文件传输的协议,提供不复杂、开销不大的文件传输服务。端口号为69 1、使用客户服务器方式和使用UDP数据…...
git下载安装配置及Git在Gitee上拉取和上传代码教程
一、Git下载安装和配置 Git是一个分布式版本控制系统,用于跟踪文件的变化并协作开发。以下是安装和配置Git的简单步骤: 安装Git 下载Git安装程序:Git下载地址。 运行安装程序,按照提示进行安装。 在安装过程中,选择…...
ospf路由选路及路由汇总
一、知识补充 1、ABR和ASBR 1.1 ABR ABR指的是边界路由,通常位于两个或多个区域之间,用于在不同的OSPF区域之间传递信息。当一个路由器同时连接到两个或多个区域时,它就成为了ABR,它需要维护每个区域的拓扑信息和路由表&#x…...
Oracle 11g 多数据库环境下的TDE设置
19c的TDE wallet的设置是在数据库中设置的,也就是粒度为数据库,因此不会有冲突。 而11g的设置是在sqlnet.ora中,因此有可能产生冲突。 这里先将一个重要概念,按照文档的说法,wallet是不能被数据库共享的。 If there …...
vue3使用pinia实现数据缓存
文章目录 前言一、pinia是什么?二、安装pinia三、注册pinia四、使用pinia定义数据及方法使用 优化如有启发,可点赞收藏哟~ 前言 vue2以前一直使用vuex实现状态管理 vue3之后推出了pinia… 一、pinia是什么? 直观、类型安全、轻便灵活的Vue …...
【CSS】min 和 max 函数(设置最大最小值)
文章目录 min() 函数:允许你从逗号分隔符表达式中选择一个最小值作为 CSS 的属性值 width: min(1vw, 4em, 80px);max() 函数:让你可以从一个逗号分隔的表达式列表中选择最大(正方向)的值作为属性的值 width: max(10vw, 4em, 80p…...
ip地址跟wifi有关系吗
你可能已经听说过IP地址和Wi-Fi这两个词,但你有没有想过它们之间是否有关系呢?在这篇文章中,我们将深入探讨IP地址与Wi-Fi之间的密切联系。从基本概念到应用实例,虎观代理小二二将为您解答这个问题。 首先,让我们来了…...
[算法学习笔记](超全)概率与期望
引子 先来讲个故事 话说在神奇的OI大陆上,有一只paper mouse 有一天,它去商场购物,正好是11.11,商店有活动 它很荣幸被选上给1832抽奖 在抽奖箱里,有3个篮蓝球,12个红球 paper mouse能抽3次 蒟蒻的p…...
SpringCloud相关
文章目录 Gateway动态路由灰度策略 FeignRibbon SpringCloud五大组件分别对应(1)服务注册与发现(2)客服端负载均衡(3)断路器(4)服务网关(5)分布式配置 Gatewa…...
在 Linux 和 Windows 系统下查看 CUDA 和 cuDNN 版本的方法,包括使用 nvcc 命令
一直都比较头疼cuda与cudnn版本查看问题,两个系统不一样也不好查看,命令不通用 Linux 查看 CUDA 版本 方法一: nvcc --version或 nvcc -V如果 nvcc 没有安装,那么用方法二。 方法二: 去安装目录下查看ÿ…...
idea项目中java类名出现带 j 小红点,如何解决?
目录 一、问题描述 二、问题解决方案 1、寻找异常问题 2、解决方案 2.1常规操作方法 2.2 快速操作方法 一、问题描述 一打开idea的java项目,发现所有的文件边上都有带J的大红点 虽然,在 git bash 中进行编译时无异常。 但是视觉上给人的感受就是…...
生产环境_移动目标轨迹压缩应用和算法处理-Douglas-Peucker轨迹压缩算法
场景: 我目前设计到的场景是:即在地图应用中,对GPS轨迹数据进行压缩,减少数据传输和存储开销,因为轨迹点太频繁了,占用空间太大,运行节点太慢了,经过小组讨论需要上这个算法&#x…...
HINSTANCE是什么?
HINSTANCE 就是 HMODULE:...
uniapp小程序定位;解决调试可以,发布不行的问题
遇见这个问题;一般情况就两种 1、域名配置问题; 2、隐私协议问题 当然,如果你的微信小程序定位接口没开启;定位也会有问题; 第一种,小程序一般是腾讯地图;所以一般都会用https://apis.map.qq.co…...
C++学习 --pair
目录 1, 什么是pair 2, 创建pair 2-1, 标准数据类型 2-2, 自定义数据类型 3, 查询元素 3-1, 标准数据类型 3-2, 自定义数据类型 1, 什么是pair 数据以键值对形式存放的容器&…...
Android Frgment中onActivityResult无效的问题
前言 最近在fragment中使用二维码扫描 发现拿不到onActivityResult返回 查了资料说是启动模式 或者是返回值为负数 断点调试 发现根本没走onActivityResult方法 问题 onActivityResult 在附属Activity中被拦截了 所以没有触发该方法 解决 在Fragment所依赖的Activity中执…...
【C#二开业务冠邑】通过界面查看数据来源
前言 重构框架(CS【C#】转BS【Java】)时,突然发现公司的代码和数据库,有部分都没有写注释,嘎嘎,这不非常影响开发效率,于是乎,开始帮公司整理表结构和数据来源,也从而加…...
使用大语言模型 LLM 做文本分析
本文主要分享 传统聚类算法 LLM与嵌入算法 嵌入算法聚类 LLM的其他用法 聚类是一种无监督机器学习技术,旨在根据相似的数据点的特征将其分组在一起。使用聚类成簇,有助于解决各种问题,例如客户细分、异常检测和文本分类等。尽管传统的聚…...
Windows本地搭建rtmp推流服务
前言 开发时偶尔需要使用rtmp直播流做视频流测试,苦于网上开源的rtmp视频流都已经失效,无奈只好尝试在本地自己搭建一个rtmp的推流服务,方便测试使用。 一、工具准备 Nginx:使用nginx-rtmp-win64推流工具FFmpeg:官方…...
[具身智能-636]:什么是语音识别?语音识别的技术过程?语音于语音特征提取?什么环节实现时域到频域的转化?
一、什么是语音识别语音识别 ASR:把人说话的语音声波(时域音频),自动转换成文字的技术。本质:时域语音信号 → 机器可懂的语音特征 → 文本。不关心声音多好听,只关心说了什么内容。二、语音识别完整技术流…...
终极Windows窗口置顶工具:AlwaysOnTop完整使用指南
终极Windows窗口置顶工具:AlwaysOnTop完整使用指南 【免费下载链接】AlwaysOnTop Make a Windows application always run on top 项目地址: https://gitcode.com/gh_mirrors/al/AlwaysOnTop 你是否经常在多个窗口间频繁切换,重要信息总被其他程序…...
AIMAXXING:基于Rust的Windows本地AI智能体运行时架构解析
1. 项目概述:一个为Windows而生的本地优先AI智能体运行时如果你和我一样,是个对AI技术充满热情,但又对当前市面上那些要么过于复杂、要么隐私堪忧的AI工具感到头疼的开发者或技术爱好者,那么你可能会对AIMAXXING这个项目产生兴趣。…...
告别网页切换!PotPlayer直播源进阶指南:主流平台(B站/斗鱼)抓取与DPL列表实战
1. 为什么你需要PotPlayer直播源管理? 作为一个常年混迹B站、斗鱼的老司机,我太懂那种开十几个网页标签的痛苦了——浏览器卡成PPT不说,每次切换直播间还要在一堆标签页里大海捞针。直到我发现PotPlayer配合DPL列表这个神器,才真正…...
别再死记硬背了!用一张图帮你理清Spring全家桶里那些让人头疼的注解(@Autowired, @Transactional, @Value等)
Spring注解全解析:从零构建高效开发思维图谱 1. 引言:为什么需要系统性理解Spring注解? 每次打开Spring项目的代码,你是否会被各种以符号开头的注解弄得眼花缭乱?Autowired、Transactional、Value这些注解看似简单&…...
Arduino - 入门02 - Arduino编程基础 Arduino程序结构,实物与模拟器对照,Arduino常用函数
目录 1,Arduino程序结构 2,开发板上面的端口 2-1,数字端口:D2-D13 ---一共12个端口 2-2,A0-A5 ---6个端口也可以作为数字端口使用 2-3,实物和SimulIDE中对照 3,Arduino中最常用的库函数 3…...
解决跨平台表情显示难题:Noto Emoji技术实现深度解析
解决跨平台表情显示难题:Noto Emoji技术实现深度解析 【免费下载链接】noto-emoji Noto Emoji fonts 项目地址: https://gitcode.com/gh_mirrors/no/noto-emoji 在当今数字通信时代,表情符号已成为不可或缺的表达元素。然而,开发者面临…...
3个创意方案:用Sunshine构建你的跨设备游戏串流中心
3个创意方案:用Sunshine构建你的跨设备游戏串流中心 【免费下载链接】Sunshine Self-hosted game stream host for Moonlight. 项目地址: https://gitcode.com/GitHub_Trending/su/Sunshine Sunshine是一款开源的自托管游戏串流服务器,专为Moonli…...
Cursor Rules配置指南:精准控制AI编程助手上下文,提升开发效率
1. 项目概述:Cursor Rules 是什么,以及为什么你需要它如果你是一名开发者,尤其是深度使用 Cursor 这款 AI 编程工具的开发者,那么你很可能已经体会过“上下文混乱”的烦恼。当你打开一个项目,试图让 AI 助手帮你写代码…...
要想口腔溃疡好的快,认准这个方法 口腔溃疡 硬核健康科普行动 口疮 醋酸地塞米松口腔贴片——这个确实可以止痛,大家觉得呢,还有更好的药物吗?
要想口腔溃疡好的快,认准这个方法 口腔溃疡 硬核健康科普行动 口疮 醋酸地塞米松口腔贴片——这个确实可以止痛,大家觉得呢,还有更好的药物吗? 要想口腔溃疡好的快,认准这个方法 口腔溃疡 硬核健康科普行动 口疮 醋酸地…...
