Win10子系统Ubuntu实战(二)

在 Windows 10 中安装 Ubuntu 子系统(Windows Subsystem for Linux,简称 WSL)有几个主要的用途和好处:Linux 环境的支持、跨平台开发、命令行工具、测试和验证、教育用途。总体而言,WSL 提供了一种将 Windows 和 Linux 生态系统融合在一起的方式,为用户提供更灵活和多样化的开发和使用体验。本文将是系列文章的第二篇。
 

一、Ubuntu环境问题与解决方案

1、无法连外网

通过上篇文章,我们搞定了Ubuntu在局域网(内网)的通信,但是因为内网网卡没有连接外网,这样会导致安装Ubuntu软件的时候会失败,如下图:

 2、解决方案

(1)搭建内网源服务器

优点:

  • 在内网中搭建源服务器,可以加速软件的安装,减少对外网的依赖。
  • 内网服务器可以提供自定义软件包,满足特定需求。

缺点:

  • 需要维护源服务器,确保软件包及时更新。
  • 在初始设置和维护上可能需要一些额外的工作。

建议:

  • 这是一个良好的选择,特别是在一个相对封闭的内网环境中。

(2)手动安装软件包

优点:

  • 可以手动下载软件包并在离线环境中进行安装。

缺点:

  • 容易漏掉依赖项,可能需要手动解决依赖关系。
  • 不方便进行软件的更新。

建议:

  • 适用于安装较少的软件或者特定的软件包,但不适合大规模应用和频繁更新。

(3)增加一个Ubuntu子系统虚拟网卡连接外网

优点:

  • 可以通过新的虚拟网卡连接外网,实现对外通信。
  • 不需要额外的服务器维护。

缺点:

  • 可能需要一些额外的配置,特别是在 NAT 方式下。
  • 需要确保网络配置不与现有网络冲突。

建议:

  • 如果内网环境允许,这是一个灵活的选择。确保虚拟网卡的配置不干扰到其他网络。

(4)补充方案:

  • 另一个选择是使用代理服务器,通过代理服务器访问外网。这可以通过设置环境变量或者在 apt 配置中指定代理来实现。这对于临时需要访问外网的情况可能更为方便。

最终选择取决于你的具体需求、网络环境和管理复杂性。在做出决定之前,建议评估每个方案的可行性和适用性。

根据我的情况,上述方案我都不选,我选择必要时关闭或打开桥接的方式。

 二、解决过程

1、当前网卡情况

如下图,eth0对应的虚拟网卡是vEthernet(WSL),子系统用的也是该虚拟网卡。

2、连接外网

(1)选择网桥点击属性,接着取消桥接模式

(2)退出子系统并关闭

wsl --shutdown

(3) 重新进入子系统

(4)安装nfs验证联网

sudo apt-get update
sudo apt install nfs-kernel-server
sudo mkdir -p /mnt/justdoit
sudo chown nobody:nogroup /mnt/justdoit
sudo chmod 777 /mnt/justdoit
sudo nano /etc/exports# 最后一行写入以下配置/mnt/justdoit *(rw,sync,no_subtree_check)# 或 写入最高权限/mnt/justdoit  *(rw,sync,no_root_squash,no_subtree_check)sudo systemctl restart nfs-kernel-server
sudo ufw disable

 执行上述指令后,nfs安装成功,并创建了nfs挂载点 /mnt/justdoit:

3、连接内网 

(1)选择网桥点击属性,接着选择桥接模式(虚拟网卡与内网网卡桥接)

(2)直接应用原先设置好的网卡设置

sudo netplan apply

(3)在局域网Linux设备上挂载

如下图,没有报错,挂载成功。

三、内网/外网切换技巧

1、可以增加一个shell脚本维护内网/外网切换

假如我们选择非桥接模式,那么我们可以设置一个网卡脚本,专门面向外网网卡的设置;

假如我们选择桥接模式,那么我们可以设置一个网卡脚本,专门面向内网网卡的设置,如上述方式,即应用指定网卡配置即可。

通过上述方式,在涉及内网和外网的网络配置时,通过设置不同的网卡脚本,可以提供更好的灵活性和维护性。下面是这种做法的好处:

内网/外网切换灵活性:

通过设置不同的网卡脚本,你可以轻松地切换系统连接的网络环境。例如,你可以在需要时快速切换到内网或外网,而无需手动配置每个网络环境。

维护简便:

使用脚本进行内网/外网的切换可以减少手动配置的工作量。当你需要切换网络环境时,只需运行相应的脚本即可,而不必手动更改网络配置。

避免配置混淆:

在桥接模式下,内网和外网可能会使用不同的网卡,因此通过设置专门的网卡脚本,可以避免配置混淆。你可以为每个网络环境设置特定的配置,而不会影响其他环境。

避免误操作:

通过使用脚本,可以减少由于手动配置而引起的错误。配置文件的结构化和注释可以提高脚本的可读性,减少误操作的风险。

提高自动化程度:

脚本可以集成到自动化工作流中,例如部署脚本、自动化测试等。这有助于提高整体系统的自动化程度,减少人工介入。

快速部署和重现:

使用脚本可以更容易地在不同的系统上部署相同的配置,从而提高配置的可重现性。这对于在多个环境中快速部署相同的网络配置非常有用。

总体而言,通过使用脚本进行内网/外网切换,可以使网络配置更加灵活、简便,减少配置错误的可能性,提高系统的可维护性和自动化程度。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/235364.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿赵UE学习笔记——8、贴图导入设置

阿赵UE学习笔记目录 大家好,我是阿赵。   继续学习虚幻引擎的用法,这次来说一下贴图的导入设置。   在内容浏览器里面可以看到纹理类型的资源,就是贴图了,鼠标悬浮在上面可以看到这个纹理贴图的信息: 双击纹理贴图…

CAN-FD总线协议深度解析-简单易懂协议详解

关注菲益科公众号—>对话窗口发送 “CANoe ”或“INCA”,即可获得canoe入门到精通电子书和INCA软件安装包(不带授权码)下载地址。 1.CAN-FD协议特性 CAN 总线通信也渐渐显现出来一些不足,主要有以下几方面: &…

2024年我国网络安全发展形势展望

2023年,我国网络安全政策法规陆续出台,网络安全与数据安全产业发展势头强劲,网络安全形势整体向好。展望2024年,世界各国在网络空间中的竞争将变得愈发激烈,我国网络安全领域的法律法规将不断完善,数据安全…

wpf的资源路径

1、手动命名空间 xmlns:share"clr-namespace:***;assembly**" 2、资源文件 Pack URI 编译到本地程序集内的资源文件的 pack URI 使用以下授权和路径: 授权:application:///。 路径:资源文件的名称,包括其相对于本地…

Java架构师设计模式事件驱动架构

目录 1 导语2 事件驱动架构模式:类别notification3 事件驱动架构模式:何谓EDA4 事件驱动架构模式EDA两种Topology介绍5 事件驱动架构模式EDA两种Topology:EventMe6 事件驱动架构模式EDA两种Topology:Mediato7 事件驱动架构模式EDA两种Topology:Broker8 事件驱动架构模式ED…

Linux安装MongoDB教程

下载MongoDB安装包 1、官网地址; 下载链接 选择版本 下载好了之后上传到服务器开始安装。 解压 解压 mongodb-linux-x86_64-rhel70-4.2.23.tgz 文件: 解压文件必须进入到压缩包所在的目录: cd /usr/local tar -zxvf mongodb-linux-x86_64-rhel70-4…

ARMv8-AArch64 的异常处理模型详解之异常等级、执行状态以及安全状态

ARMv8-AArch64 的异常处理模型详解 一,特权和异常等级1.1 异常等级 Exception levels 二,特权的类型2.1 内存特权2.2 访问寄存器的特权 三,执行状态和安全状态3.1 执行状态 Execution states3.2 执行状态切换 3.3 安全状态 Security states3.…

IDEA中在Java项目中添加Web模块 与配置tomcat服务器

现有项目添加直接走第二步 生成普通新项目 给项目添加框架支持 勾选 Web Application 选项, 点击OK 得到项目目录结构 , 出现web目录结构, 且web目录文件夹出现小蓝点 web或webapp 没有出现小蓝点 说明web配置没有出现或是手动构建的目录结构 , 在IDE关闭或者迁移项目时会出…

【普中开发板】基于51单片机的简易密码锁设计( proteus仿真+程序+设计报告+讲解视频)

基于51单片机的简易密码锁设计 1.主要功能:资料下载链接: 实物图:2.仿真3. 程序代码4. 设计报告5. 设计资料内容清单 【普中】基于51单片机的简易密码锁设计 ( proteus仿真程序设计报告讲解视频) 仿真图proteus8.16(有低版本) 程…

创建EasyCodeMybatisCodeHelperPro模板文件用于将数据库表生成前端json文件

在intellij idea中,通过插件EasyCodeMybatisCodeHelperPro,从现有的模板文件中选择一个复制粘贴,然后稍为修改,即可得到一个合适的模板文件。 现在的前端,越来越像后端。TypeScript替代了JavaScript,引入了…

如何在 Windows10 下运行 Tensorflow 的目标检测?

看过很多博主通过 Object Detection 实现了一些皮卡丘捕捉,二维码检测等诸多特定项的目标检测。而我跟着他们的案例来运行的时候,不是 Tensorflow 版本冲突,就是缺少什么包,还有是运行官方 object_detection_tutorial 不展示图片等…

基于Java开发的工作流审批系统,自定义工作流,表单绑定

前言 activiti工作流,企业erp、oa、hr、crm等审批系统轻松落地,请假审批demo从流程绘制到审批结束实例。 一、项目形式 springbootvueactiviti集成了activiti在线编辑器,快速开发平台,可插拔工作流服务。 二、项目介绍 本项目…

遗传算法总结(迭代版本2:附带MATLAB例题代码)

目录 基本概念: 具体例子 1.我们先对图像进行抽象化: 2.我们将得到的六串数字进行扁平化处理: 3.解释即后续操作​编辑 基本步骤: 总结 例题1: 例题2: 基本概念: 染色体(Ch…

WPF 基础入门(资源字典)

资源字典 每个Resources属性存储着一个资源字典集合。如果希望在多个项目之间共享资源的话,就可以创建一个资源字典。资源字段是一个简单的XAML文档,该文档就是用于存储资源的,可以通过右键项目->添加资源字典的方式来添加一个资源字典文件…

计算机组成原理之计算机硬件发展和计算机系统的组成

学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需…

Linux chmod命令详解

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令 Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users&#xff09…

高效底座模型LLaMA

论文标题:LLaMA: Open and Efficient Foundation Language Models 论文链接:https://arxiv.org/pdf/2302.13971.pdf 论文来源:Meta AI 1 概述 大型语言模型(Large Languages Models,LLMs)通过大规模文本数…

CMake入门教程【高级篇】qmake转cmake

😈「CSDN主页」:传送门 😈「Bilibil首页」:传送门 😈「动动你的小手」:点赞👍收藏⭐️评论📝 文章目录 1. 概述2.qmake与cmake的差异3. qmake示例4.qmake转cmake示例5.MOC、UIC和RCC…

关于“Python”的核心知识点整理大全63

目录 20.2.11 使用 Git 跟踪项目文件 1. 安装Git 2. 配置Git 3. 忽略文件 .gitignore 注意 4. 提交项目 20.2.12 推送到 Heroku 注意 20.2.13 在 Heroku 上建立数据库 20.2.14 改进 Heroku 部署 1. 在Heroku上创建超级用户 注意 注意 20.2.11 使用 Git 跟踪项目文件…

Ubuntu22.04,Nvidia4070配置llama2

大部分内容参考了这篇非常详细的博客,是我最近看到的为数不多的保姆级别的教学博客,建议大家去给博主点个赞【Ubuntu 20.04安装和深度学习环境搭建 4090显卡】_ubuntu20.04安装40系显卡驱动-CSDN博客 本篇主要是基于这篇博客结合自己配置的过程中一些注…