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.mzph.cn/news/613259.shtml

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

相关文章

使用python执行系统命令的五种方式

在日常开发中,有时需要在Python脚本中执行系统命令,Python有五种方式来执行系统命令,推荐使用第五种。 python执行系统命令的五种方式 方法1: os.system 这是最简单的方法,适合简单的业务场景,输入为完整命令字符串…

【IP-Adapter】进阶 - 同款人物【2】 ☑

测试模型:###最爱的模型\flat2DAnimerge_v30_2.safetensors [b2c93e7a89] 原图: 加入 control1 [IP-Adapter] 加入 control 2 [OpenPose] 通过openpose骨骼图修改人物动作。 加入 control 3 lineart 加入cotrol3 …

【LV12 DAY13 UART 串口通信】

UART–(一种通信协议) 通用异步收发器,是一种通用的串行,异步通信总线,该总线有两条数据线,可以实现全双工的发送和接收,在嵌入式系统中常用于主机与辅助设备之间的通信。 波特率 波特率用于描…

1.10 Unity中的数据存储 JSON

一、介绍 Json是最常用也是目前用的比较多的一种,超轻量级,可便捷性使用,平时用到比较多的都是解析Json和往Json中添加数据、修改数据等等JSON(JavaScript Object Notation,JS对象标记)是一种轻量级的数据交换格式,它基于ECMAScr…

Leetcode18-算术三元组的数目(2367)

1、题目 给你一个下标从 0 开始、严格递增 的整数数组 nums 和一个正整数 diff 。如果满足下述全部条件&#xff0c;则三元组 (i, j, k) 就是一个 算术三元组 &#xff1a; i < j < k &#xff0c; nums[j] - nums[i] diff 且 nums[k] - nums[j] diff 返回不同 算术三…

PR-视频去水印

文章目录 前言PR-视频去水印实现示例 前言 如果您觉得有用的话&#xff0c;记得给博主点个赞&#xff0c;评论&#xff0c;收藏一键三连啊&#xff0c;写作不易啊^ _ ^。   而且听说点赞的人每天的运气都不会太差&#xff0c;实在白嫖的话&#xff0c;那欢迎常来啊!!! PR-视频…

python绘制热力图-数据处理-VOC数据类别标签分布及数量统计(附代码)

前言 当你需要统计训练数据中每个类别标签有多少&#xff0c;并且想知道坐标中心分布在图像的位置信息时&#xff0c;你可以利用一下脚本进行计算&#xff01; 步骤 要绘制热力图来分析VOC数据的分布统计&#xff0c;可以按照以下步骤进行&#xff1a; 数据处理&#xff1…

XCTF:MISCall[WriteUP]

使用file命令&#xff0c;查看该文件类型 file d02f31b893164d56b7a8e5edb47d9be5 文件类型&#xff1a;bzip2 使用bzip2命令可对该文件进行解压 bzip2 -d d02f31b893164d56b7a8e5edb47d9be5 生成了一个后缀为.out的文件 再次使用file命令&#xff0c;查看该文件类型 file…

LC17. 电话号码的字母组合

代码随想录 class Solution {String[] numString {"", "", "abc", "def", "ghi", "jkl", "mno", "pqrs", "tuv", "wxyz"};List<String> res new ArrayList<…

[开发语言][python][c++]:C++中的this指针和Python中的Self -- 26岁生日

C中的this指针和Python中的Self 1. python中的Self2. C中的this指针3. C中的this指针和Python中self的异同点&#xff1a; 以朋友的新岁祝福开篇&#xff0c;祝笔者也祝大家☺️&#xff1a; 一岁一礼 一寸欢喜且喜且乐 且以永日​ From VardoZ癸卯年十一月廿六(兔年)之…

缓存代理服务器

1 缓存代理 1.1 缓存代理的概述 web代理的作用 缓存网页对象&#xff0c;减少重复请求 存储一些之前被访问的或且可能将要备再次访问的静态网页资源对象&#xff0c;使用户可以直接从缓存代理服务器获取资源&#xff0c;从而减少上游原始服务器的负载压力&#xff0c;加快整…

LeetCode刷题--- 地下城游戏

个人主页&#xff1a;元清加油_【C】,【C语言】,【数据结构与算法】-CSDN博客 个人专栏 力扣递归算法题 http://t.csdnimg.cn/yUl2I 【C】 ​​​​​​http://t.csdnimg.cn/6AbpV 数据结构与算法 ​​​http://t.csdnimg.cn/hKh2l 前言&#xff1a;这个专栏主要讲述动…

Java基础 | 类和对象

Java基础 | 类和对象 类成员变量成员方法权限修饰符 局部变量final变量this关键字类的构造方法静态变量和静态方法static修饰符 类的主方法 对象对象的创建对象的引用 数据类型转换隐式类型转换显式类型转换 所有知识点均来源于《Java从入门到精通》&#xff08;第六版&#xf…

在软件测试过程中如何有效的开展接口自动化测试

一.简介 接口自动化测试是指使用自动化测试工具和脚本对软件系统中的接口进行测试的过程。其目的是在软件开发过程中&#xff0c;通过对接口的自动化测试来提高测试效率和测试质量&#xff0c;减少人工测试的工作量和测试成本&#xff0c;并且能够快速发现和修复接口错误&#…

最长回文数字

中心扩散 中心扩散就是从中心往外逐层扩散。以单个字符往两边扩散&#xff0c;如果两边字符相等则是回文串。扩散又分两种情况 分别是以该字符为中心&#xff0c;和以该字符和下一个字符的空隙为中心 let longestPalindrome2 function (s) {const n s.lengthif (n 1) retu…

如何保护linux服务器远程使用的安全

服务器安全是一个非常敏感的问题&#xff0c;因服务器远程入侵导致数据丢失的安全问题频频出现&#xff0c;一旦服务器入侵就会对个人和企业造成巨大的损失。因此&#xff0c;在日常使用服务器的时候&#xff0c;我们需要采取一些安全措施来保障服务器的安全性。 目前服务器系…

线程休眠、线程让步、线程优先级相关内容学习笔记

1、线程休眠 &#xff08;1&#xff09;sleep() 如果需要让当前正在执行的线程暂停一段时间&#xff0c;并进入阻塞状态&#xff08;Timed_Waiting)&#xff0c;则可以通过调用Thread类的静态sleep()方法来实现。 static void sleep(long millis)&#xff1a;让当前正在执行的线…

Shell编程--函数function

函数 1.定义函数2.调用函数2.1.取消函数2.2.其他脚本调用 3.函数传参 1.定义函数 函数声明&#xff1a; function_name () { list of commands } 函数名 function_name&#xff0c;这就是你将使用它从其他地方在你的脚本调用。 function (功能) 功能函数 计算机函数&…

C++ 异常处理

C++ 异常处理 实验介绍 所谓的异常便是程序中数据出现不合理的特殊情况处理,在做项目时我们常常需要想到的是特殊的情况,只有将所有的特殊情况处理好之后程序才能很好的运行。 那么异常处理跟多态有什么关系呢? C++ 标准库中已经存在异常处理类,并且就是使用了多态的方式…

Vue:多组件样式冲突问题解决

一、场景描述 我们在开发Vue项目的时候&#xff0c;会有很多的组件&#xff0c;每个组件里&#xff0c;可能都会写相应的样式&#xff0c;这时候就会出现在父组件引入子组件的时候&#xff0c;同名样式会冲突的问题。从而导致样式出问题。 二、解决办法 给style标签加上scop…