博客
关于我
搭建个人的Windows+Linux+NAS的开发环境
阅读量:498 次
发布时间:2019-03-06

本文共 1717 字,大约阅读时间需要 5 分钟。

如何搭建混合使用Windows和Linux的开发环境

在现代软件开发中,通常需要同时支持Windows和Linux环境以适应不同的开发需求。以下将详细介绍如何搭建一个以Windows为主要开发环境,以Linux作为辅助编译和执行环境,并通过NAS作为代码存储和交互介质的开发环境。


背景

开发者需要在不同操作系统之间切换,尤其是在涉及底层编译和高级开发时,这种切换往往效率低下。为了解决这一问题,我们尝试构建一个基于以下硬件和软件的开发环境:

  • Windows 10主机:主要用于开发和调试。
  • Ubuntu 18.04主机:作为辅助编译和执行环境。
  • NAS设备(以群晖DS218Play为例):用于存储代码和实现多机器间的数据交互。

准备工作

需要以下硬件和软件:

  • Windows主机:Windows 10(1809及以上版本)。
  • Linux主机:安装了Ubuntu 18.04的设备。
  • NAS设备:支持SMB和NFS协议的设备(群晖DS218Play等)。

环境搭建

环境的搭建主要分为Windows、Linux和NAS三个部分。以下将从不同操作系统的角度详细说明。

Windows 10端

  • 代码编辑器和编译器

    选择适合的开发工具。推荐使用VS Code(免费且功能强大)或Visual Studio 2013(适合专业开发)。

  • SSH连接工具

    为 WINDOWS - Linux 交互准备SSH工具。推荐使用XShell,其免费版本可通过以下方式获取:
    通过互联网下载并安装XShell客户端。

  • NAS访问配置

    创建并映射NAS上的网络驱动器。在文件资源管理器中,点击右键并选择“映射网络驱动器”,按照提示配置完成后,应可看到NAS中的内容。


  • Linux Ubuntu 18.04端

  • 安装SSH服务器

    为其他机器连接到Linux服务器,首先需要安装并启用开源SSH服务器:

    sudo apt install openssh-serversudo /etc/init.d/ssh start
  • 安装开发工具

    根据具体开发需求安装编译器和工具链。例如:

    sudo apt install gcc make python3
  • 配置NFS访问

    为Linux机器挂载NAS上的共享目录。首先需要在NAS端配置NFS共享,然后在Linux端执行:

    sudo apt install nfs-common nfs-kernel-server

    挂载命令:

    mount 10.0.0.13:/volume1/code /mnt

    注意:如果需要持久挂载,可以使用—bind选项。

  • 权限管理

    根据需求设置目录权限,确保开发者可以访问指定目录。例如,执行以下命令创建用户组并设置权限:

    sudo groupadd developerssudo usermod -aG developers usernamechmod -R 777 /mnt

  • NAS端

  • 配置SMB(用于Windows连接)

    使用群晖控制台,在“共享”界面中创建SMB共享,配置访问权限。在Windows端通过\\DataBase\( DataBase替换为NASIP)访问。

  • 配置NFS(用于Linux连接)

    在群晖控制台中启用NFS服务,并在指定目录下创建共享。此时,Linux端应可通过以下命令访问:

    mount 192.168.1.100:/volume1/code /mnt

    注意:IP地址需替换为实际NASIP,权限需提前配置。


  • 代码交互与管理

    通过NAS作为中转站,Windows和Linux端可以共享同一个发展环境。开发者可以通过 SSH连接到Linux服务器,或者在NAS端直接编辑代码,然后同步到Windows或Linux环境中执行。


    后记

    该搭建环境能满足基本的开发需求,但仍需注意以下几点:

    • 成本:NAS设备和云服务器的租金可能较高。
    • 安全性:确保NAS和服务器的防火墙配置合理,防止未经授权访问。
    • 性能:对于大型项目,建议使用云服务器替代部分功能。

    通过本文的步骤,您可以轻松搭建一个混合使用Windows和Linux的开发环境,并通过NAS实现跨平台的代码管理与协作。

    转载地址:http://yjodz.baihongyu.com/

    你可能感兴趣的文章
    NLog 自定义字段 写入 oracle
    查看>>
    NLog类库使用探索——详解配置
    查看>>
    NLP 基于kashgari和BERT实现中文命名实体识别(NER)
    查看>>
    NLP 模型中的偏差和公平性检测
    查看>>
    Vue3.0 性能提升主要是通过哪几方面体现的?
    查看>>
    NLP 项目:维基百科文章爬虫和分类【01】 - 语料库阅读器
    查看>>
    NLP_什么是统计语言模型_条件概率的链式法则_n元统计语言模型_马尔科夫链_数据稀疏(出现了词库中没有的词)_统计语言模型的平滑策略---人工智能工作笔记0035
    查看>>
    NLP三大特征抽取器:CNN、RNN与Transformer全面解析
    查看>>
    NLP学习笔记:使用 Python 进行NLTK
    查看>>
    NLP度量指标BELU真的完美么?
    查看>>
    NLP的不同研究领域和最新发展的概述
    查看>>
    NLP的神经网络训练的新模式
    查看>>
    NLP采用Bert进行简单文本情感分类
    查看>>
    NLP问答系统:使用 Deepset SQUAD 和 SQuAD v2 度量评估
    查看>>
    NLP项目:维基百科文章爬虫和分类【02】 - 语料库转换管道
    查看>>
    NLP:使用 SciKit Learn 的文本矢量化方法
    查看>>
    nmap 使用方法详细介绍
    查看>>
    Nmap扫描教程之Nmap基础知识
    查看>>
    nmap指纹识别要点以及又快又准之方法
    查看>>
    Nmap渗透测试指南之指纹识别与探测、伺机而动
    查看>>