从零到一:在VMware中部署Deepin 20.9并搭建全栈开发环境

张开发
2026/4/17 14:27:44 15 分钟阅读

分享文章

从零到一:在VMware中部署Deepin 20.9并搭建全栈开发环境
1. 为什么选择Deepin 20.9作为开发环境Deepin操作系统作为国内最受欢迎的Linux发行版之一其20.9版本基于Debian 10Buster构建提供了极其友好的中文使用体验和丰富的软件生态。对于开发者而言Deepin 20.9最大的优势在于它预装了完整的桌面环境和中文输入法省去了大量配置时间。我在实际使用中发现它的图形界面响应速度比Ubuntu更快特别是对于Java和Web开发者来说内置的WPS办公套件能完美兼容日常文档处理需求。选择VMware作为虚拟化平台主要考虑三点首先Workstation Pro 17.5版本对Linux系统的兼容性最好其次快照功能可以随时回滚配置错误最后它的网络配置灵活性非常适合模拟多节点开发环境。我曾经尝试过VirtualBox但在GPU加速和USB设备支持方面总遇到各种问题而VMware在这些方面表现更稳定。2. 从零开始安装Deepin 20.92.1 准备安装环境首先需要从VMware官网下载Workstation Pro 17.5。由于博通收购后政策变化现在需要注册账号才能下载。这里有个小技巧使用公司邮箱注册通过率更高。下载完成后建议关闭Windows Defender实时防护再进行安装否则可能会被误删某些驱动文件。Deepin镜像建议直接从官网下载当前20.9版本的ISO文件大小约3.5GB。我对比过多个镜像源官方源的下载速度反而比某些国内镜像站更快这可能与CDN优化有关。下载完成后务必校验SHA256值曾经有同事因为镜像损坏导致安装失败却误以为是硬件问题。2.2 创建虚拟机关键参数新建虚拟机时有几个关键设置需要注意固件类型选择UEFI不要选传统BIOS磁盘容量至少分配50GB实际占用约15GB网络适配器建议使用NAT模式显存要设置为2GB以上默认的1GB会导致桌面卡顿安装过程中有个容易踩坑的地方当安装程序询问是否安装第三方软件时建议取消勾选。这些软件可能会与后续自己安装的版本产生冲突。我遇到过因为预装旧版Node.js导致npm install报错的情况。3. 系统初始化与基础配置3.1 必做的安全加固安装完成后第一件事就是更新系统sudo apt update sudo apt upgrade -y接着配置防火墙规则sudo apt install ufw sudo ufw allow 22/tcp # 保留SSH端口 sudo ufw enable建议修改SSH默认端口并禁用root远程登录sudo vim /etc/ssh/sshd_config # 修改Port和PermitRootLogin参数 sudo systemctl restart ssh3.2 开发基础工具链编译环境是后续所有软件安装的基础sudo apt install -y build-essential gcc g make cmake网络工具也必不可少sudo apt install -y curl wget git openssl我习惯用zsh替代bashsudo apt install -y zsh chsh -s $(which zsh)4. 全栈开发环境搭建4.1 Java生态配置对于Java开发者建议同时安装多个JDK版本sudo apt install -y openjdk-8-jdk openjdk-11-jdk配置环境变量时有个技巧在/etc/profile.d/下创建单独的文件避免污染全局配置sudo tee /etc/profile.d/java.sh EOF export JAVA_HOME$(dirname $(dirname $(readlink -f $(which javac)))) export PATH\$PATH:\$JAVA_HOME/bin EOFMaven安装建议直接从官网下载最新版wget https://dlcdn.apache.org/maven/maven-3/3.9.6/binaries/apache-maven-3.9.6-bin.tar.gz tar -xzf apache-maven-3.9.6-bin.tar.gz -C /opt4.2 Node.js多版本管理使用nvm管理Node版本更灵活curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.7/install.sh | bash source ~/.zshrc nvm install 16 nvm install 18配置淘宝镜像加速npm config set registry https://registry.npmmirror.com yarn config set registry https://registry.npmmirror.com4.3 数据库全家桶MySQL 5.7安装有个特殊技巧wget https://downloads.mysql.com/archives/get/p/23/file/mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar tar -xvf mysql-server_5.7.42-1debian10_amd64.deb-bundle.tar sudo dpkg -i mysql-{common,community-client,client,community-server,server}_*.debRedis配置需要调整内存策略sudo vim /etc/redis/redis.conf # 修改maxmemory-policy为allkeys-lru sudo systemctl restart redisMongoDB 6.0的安装需要添加官方源wget -qO - https://pgp.mongodb.com/server-6.0.asc | sudo apt-key add - echo deb [archamd64] https://repo.mongodb.org/apt/debian buster/mongodb-org/6.0 main | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list sudo apt update sudo apt install -y mongodb-org5. 开发工具与效率软件5.1 IDE与编辑器VS Code的官方deb包有时会有依赖问题推荐用snap安装sudo apt install snapd sudo snap install code --classicIntelliJ IDEA的优化配置sudo tee /etc/sysctl.d/idea.conf EOF fs.inotify.max_user_watches 524288 EOF sudo sysctl -p --system5.2 效率工具链WPS字体缺失问题的终极解决方案wget https://mirrors.aliyun.com/deepin/pool/non-free/f/fonts-wqy-microhei/fonts-wqy-microhei_0.2.0-beta-2_all.deb sudo dpkg -i fonts-wqy-microhei_0.2.0-beta-2_all.deb微信和QQ的Deepin版有个常见问题无法打开网页链接。解决方法是在终端执行sudo apt install --reinstall deepin-elf-verify6. 网络与远程协作配置6.1 SSH高级配置生成更安全的ED25519密钥对ssh-keygen -t ed25519 -C your_emailexample.com配置SSH客户端保持长连接vim ~/.ssh/config # 添加 # Host * # ServerAliveInterval 60 # TCPKeepAlive yes6.2 内网穿透方案使用frp比商业工具更灵活wget https://github.com/fatedier/frp/releases/download/v0.54.0/frp_0.54.0_linux_amd64.tar.gz tar -xzf frp_0.54.0_linux_amd64.tar.gz配置服务端需要公网服务器# frps.ini [common] bind_port 7000客户端配置# frpc.ini [common] server_addr x.x.x.x server_port 7000 [ssh] type tcp local_ip 127.0.0.1 local_port 22 remote_port 60007. 性能优化与问题排查7.1 虚拟机性能调优在.vmx文件中添加这些参数可以显著提升性能mainMem.useNamedFile FALSE prefvmx.useRecommendedLockedMemSize TRUE prefvmx.minVmMemPct 100调整swappiness值减少磁盘交换echo vm.swappiness10 | sudo tee -a /etc/sysctl.conf sudo sysctl -p7.2 常见问题解决方案如果遇到GUI卡顿尝试安装VMware Tools的open-vm-tools替代版sudo apt install -y open-vm-tools-desktop sudo reboot中文输入法不工作的问题通常需要重置配置rm -rf ~/.config/fcitx fcitx-autostart

更多文章