博客
关于我
搭建个人的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/

    你可能感兴趣的文章
    Node 裁切图片的方法
    查看>>
    Node+Express连接mysql实现增删改查
    查看>>
    node, nvm, npm,pnpm,以前简单的前端环境为什么越来越复杂
    查看>>
    Node-RED中Button按钮组件和TextInput文字输入组件的使用
    查看>>
    Node-RED中Switch开关和Dropdown选择组件的使用
    查看>>
    Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本
    查看>>
    Node-RED中使用JSON数据建立web网站
    查看>>
    Node-RED中使用json节点解析JSON数据
    查看>>
    Node-RED中使用node-random节点来实现随机数在折线图中显示
    查看>>
    Node-RED中使用node-red-browser-utils节点实现选择Windows操作系统中的文件并实现图片预览
    查看>>
    Node-RED中使用node-red-contrib-image-output节点实现图片预览
    查看>>
    Node-RED中使用node-red-node-ui-iframe节点实现内嵌iframe访问其他网站的效果
    查看>>
    Node-RED中使用Notification元件显示警告讯息框(温度过高提示)
    查看>>
    Node-RED中使用range范围节点实现从一个范围对应至另一个范围
    查看>>
    Node-RED中实现HTML表单提交和获取提交的内容
    查看>>
    Node-RED中将CSV数据写入txt文件并从文件中读取解析数据
    查看>>
    Node-RED中建立TCP服务端和客户端
    查看>>
    Node-RED中建立Websocket客户端连接
    查看>>
    Node-RED中建立静态网页和动态网页内容
    查看>>
    Node-RED中解析高德地图天气api的json数据显示天气仪表盘
    查看>>