我以前是一直用的 win10 开发,但是基本每半年就因为各种原因要重装,最近刚攒了台电脑,想处理下这些问题。 听说很多人都是另外开一个虚拟机进行开发的是吗,我也想试试,但是不知道需要注意什么,现在只知道不要开快照,还有什么注意点没有。 还有,现在也纠结用那个系统比较好,以前都是用的 win10,linux 用的不多,黑苹果不想折腾了。 主要是在 win10 ltsc,openSUSE,Manjaro 三个里面选,各位觉得那个比较稳定好用舒服
1
NoNewWorld 2021-03-03 16:06:58 +08:00
撒开发?能接受长期 linux 选 Manjaro 呗
|
2
acmore 2021-03-03 16:20:49 +08:00
一般的开发还是用 Linux 环境最不容易出错,我的配置 👇
主力开发机:装了 Ubuntu Server 的主机 开发入口:装了 VS Code 的 Win 10 笔记本 + 大屏 |
5
Kinnice 2021-03-03 16:24:20 +08:00
× 折腾 Linux 环境
√ 购买 Macbook Pro |
6
wzb0909 2021-03-03 16:24:38 +08:00 via iPhone
linux 虚拟机,然后 vscode 用 ssh 连进去。
|
7
wxw752 2021-03-03 16:25:40 +08:00
单独一台电脑做开发比较稳定。我的这个系统已经两三年没有重装了。
|
8
easylee 2021-03-03 16:26:27 +08:00
想要 Linux 又不熟悉 Linux,Linux 发行版本建议使用 Ubuntu 。
|
11
owenzhang24 2021-03-03 16:58:45 +08:00
Macbook Pro
|
12
ikas 2021-03-03 17:03:40 +08:00 via Android
比较好奇你这 win 为啥重装,win 是笔记本从 win8 升级,然后复制到台式机,一直测试版升级到现在,开发机加游戏机,只是遇到些小问题而已
|
13
ikas 2021-03-03 17:07:15 +08:00 via Android
我这系统还是 vs 加 java,安卓,现在还开了 wsl2 来编译安卓。。无问题,稳定几年
|
15
x9sec 2021-03-03 17:16:01 +08:00
问下楼主 快照有啥坑啊。。我正打算给自己虚拟机拍个快照。。
|
16
lv2016 2021-03-03 17:18:23 +08:00
mbp ssh 到 linux 服务器,兼顾续航和性能🐶
|
17
also24 2021-03-03 17:21:13 +08:00
如果操作系统限定 Win10,那么可以考虑将开发环境尽量放进 WSL 来折腾,在重装系统前把 WSL 导出一下就好。
命令类似: wsl.exe --export <DistributionName> <FileName> 参考: https://docs.microsoft.com/en-us/windows/wsl/reference |
18
Macv1994 2021-03-03 17:29:19 +08:00
搞个 Windows/Linux 双系统呗
|
19
Stevenv 2021-03-03 17:31:41 +08:00 1
慎用 WSL,遇到奇怪的问题。太折腾。。。推荐 manjaro 。当然你也可以 ubuntu
|
20
assiadamo 2021-03-03 17:32:52 +08:00
windows docker,然后 vscode remote development
题外话,做桌面开发的会不会很无语,只能任由各种 unity 或 vs studio 把环境搞得一团糟 |
21
Kasumi20 2021-03-03 17:35:19 +08:00
WSL 就是辣鸡,我选 Ubuntu
|
22
kop1989 2021-03-03 17:37:45 +08:00
java+.net+android+xamarin+nodejs+jenkins+iis
6 年了,不知道重装为何物。 |
23
jmyz0455 2021-03-03 17:39:20 +08:00
我上学到开发这么多年 Windows 笔记本都没重装过,可能是个人习惯问题吧,我工作的电脑不装任何非工作相关的东西(点名批评迅雷),全正版,文件夹都是整整齐齐的,还时不时看任务管理器有没有啥流氓东西,比如 QQ 那个常驻进程,杀掉又没法用 QQ,不杀就开机自启,我索性卸掉,工作不闲聊,有事 Slack 。
|
24
clf 2021-03-03 17:40:09 +08:00
三选一的话,我选 Manjaro 。但我还是建议你用 Windows 。我也是做 Java 后端相关的开发的,Windows10+开启了 HyperV
我的开发基本环境: 1.本机使用 IDEA 开发。 2.本地安装 Docker 的运行环境,跑数据库之类的,数据目录挂载到本地目录。(用的是基于 HyperV 的 docker,而不是 wsl2 的,wsl2 的占用太大,而且 IO 效率越低) 3.项目 build 的时候本地打包 docker 镜像到阿里云的镜像市场,本地拉取最新的。 |
25
loading 2021-03-03 17:40:18 +08:00 via Android
我用 osx 做 host 系统是因为不会一下不小心装个流氓 app 。
当然,由于美观原因我把 linux 丢虚拟机里面了… |
26
scukmh 2021-03-03 17:41:24 +08:00
Arch 赛高 -- 来自 macos
|
27
northisland 2021-03-03 17:46:58 +08:00
可以试试多买 2 块硬盘,各种系统换着来。
一块装一个系统。 |
28
northisland 2021-03-03 17:47:46 +08:00
windows 不错,资要你不是开发 c++。
|
29
newmlp 2021-03-03 17:53:38 +08:00
当然 Windows+虚拟机
话说我从入职到跑路 3 年多都没重装过系统,你这咋重装这么频繁 |
30
lewinlan 2021-03-03 18:00:57 +08:00 via Android
重装?是否有国产流氓软件 盗版软件 盗版系统
|
31
uselessVisitor 2021-03-03 19:31:56 +08:00
为什么要重装?。。现在 wsl2+docker 满足大部分需求了吧
|
32
hejingyuan199 2021-03-03 20:42:38 +08:00
我觉得是个人工作方法导致的,和操作系统无关。
我有个 ubuntu 机器,由于我总是瞎操作,每几个月就重装一次。 因为这个机器定位就是各种随便折腾,不放重要文件材料。 我的 win10 的本子,我都小心翼翼用,三年前买来,还没有重装过。 因为这个机器定位是稳定输出。 所以,一个机器根本不够,起码得来 3 台。 |
33
ghost024 2021-03-03 20:56:40 +08:00 1
如果不喜欢折腾还想用 linux 建议 openSUSE,manjaro 还要配置输入法,openSUSE 直接就配置好了(虽然一个输入法配置起来不难,但是能够为中国用户弄好输入法我觉得这个发行版还是挺上心的),我不用 manjaro 是因为今年的 1 月 19 号的更新中放弃了对我笔记本声卡的支持,但又要滚动更新,才用上 openSUSE tumbleweed,从此之后再也没出过问题。
|
34
GiantHard 2021-03-03 21:02:11 +08:00
当然是 Linux 啊,定期 rclone 备份一下系统,基本上很难翻车。换了两三台电脑,系统每次都是用备份还原的,稍微用 mhwd 安装一下显卡驱动,然后重建一下 grub 引导,花不了多久时间就可以投入工作了。
|
35
oneisall8955 2021-03-03 21:09:05 +08:00 via Android
为啥要重装,公司电脑用了好久了,几乎不关机,也没卡顿。盲猜用了奇奇怪怪的软件,或者文件不归类,C 盘越来越大?
公司电脑配置:U:N 卡 9100,1T 固态,内存 16G,3 个个盘 C 盘 100G,其他对半 |
37
coolesting 2021-03-03 21:18:34 +08:00 via Android 1
我 win 7 用了十年没重装过一次,开机还保持 5 秒内进入桌面。里面装了 7~8 种语言和框架,几个数据库,几个服务器,还有一个虚拟机用来跑 Linux 的。 像浏览器,编辑器这些实验和开发软件一大堆。
个人认为,系统稳不稳定,还是看个人习惯和使用,和系统本身没有太大联系。 |
40
qiyue0726 OP @ikas 我现在笔记本用的 ltsc,最近系统更新总是有一个补丁安装不上,导致后面补丁也不行,试了一些方法都不行,后面可能哪天心血来潮又重装了
|
41
zhuangzhuang1988 2021-03-03 21:33:35 +08:00
一直 windows
别的用不惯. 也不重装. |
42
w468750 2021-03-03 21:36:49 +08:00
win10, ubuntu, Manjaro 都折腾过
要说合理安全稳定,建议无脑上 mac,太爽了,用来工作学习什么的非常合适,除了游戏不合适 |
43
HibernatePlus 2021-03-04 00:14:25 +08:00
废鸡巴话除了 mac 有能用的?
|
44
DiamondYuan 2021-03-04 00:25:10 +08:00
cloud ide , 通过配置文件指定开发所需要的环境。
点击链接自动启动一个容器,把环境配置好,可以保证环境 100% 稳定。 |
45
yjxjn 2021-03-04 00:27:16 +08:00
ThinkPad
|
46
AstroProfundis 2021-03-04 00:29:13 +08:00
我现在是长期 Linux 了,然后因为代码几乎都会及时 push 到远端所以其实本地资料的备份也不是太紧要
|
47
namelosw 2021-03-04 01:01:19 +08:00
虽然 MacOS 本身不稳定
但是考虑到人或多或少都是多动症, 还是 MacOS 用起来最“稳定” |
48
wangxn 2021-03-04 01:23:59 +08:00
直接用 Windows 就行了,Linux 桌面版基本是给自己找不自在。
我个人也不用什么虚拟机之类的,直接用原生的程序效率最高。 我另外有一个二手笔记本装了 Ubuntu Server,用来跑一些不会关的程序,如科学上网,RSS Reader 之类的。 |
49
xiadong1994 2021-03-04 06:26:19 +08:00
台式机装 server 版 linux,笔记本用 mac,开发 vscode+ssh+vim,完美。
|
50
Mirage09 2021-03-04 08:05:43 +08:00 via iPhone
MacBook Pro+ cloud desktop,最近要求统一把 cloud desktop 从 al2012 迁移到 al2
|
51
Cbdy 2021-03-04 08:08:18 +08:00 via Android
可以考虑用 Docker/Java/Node.js
|
52
boris93 2021-03-04 08:52:47 +08:00 via iPhone
工作用单位配的 MacBook Pro
自己写东西玩用自己的 MacBook Pro 游戏机是 Win10 话说我咋从来没更新出问题…倒是我从不手动点更新,就是等它自动推送 据说有的更新会在你手动点检查更新的时候提前给你装上,用你的机器来测试 |
53
petercui 2021-03-04 09:00:00 +08:00
java,go,python,nodejs,前端,做这些就 MacBook Pro
|
54
chiu 2021-03-04 09:24:07 +08:00 via Android
因为更新而重装的,不更新就 OK 吧。
|
55
imzcg2 2021-03-04 09:31:34 +08:00 via Android
docker 吧!代码及时上传
|
56
zhoujia456888 2021-03-04 09:42:56 +08:00
你要是觉得 Win10 更新麻烦。你可以装 Win10 LTSC 的版本
java+web 推荐的是 Mac OS (黑果选对硬件装起来很简单啊,2020 款的小新 Pro 咸鱼 4K 掏的,我就装黑果在用,有现成的 EFI ) 至于 linux 的话,装 Manjaro 如果不常用 linux,建议装 Win10 LTSC,然后开个虚拟机里面装 linux 不是很推荐直接装 linux 在硬盘上来使用,毕竟有些软件没有( QQ,微信之类的) 以前我也喜欢重装系统,有个什么垃圾软件污染了注册表之后就重装一下,换了 Mac OS 之后就没考虑过系统的问题了。 |
57
Foxalone 2021-03-04 09:52:41 +08:00
Mac 挺好的呀,也方便带去图书馆学习用。当然还是看你个人,我在公司用的是 mac,我自己也有一台 mac (自己开发和学习用),win 就是游戏机,有时候测试也用这个。其实黑苹果也不难,现在都是固态了,安装也挺快了(就是要经常用机械盘备份一下,防止更新出事)。买个方便黑苹果的笔记本也挺好的。如果用 linux 的话,可以用 manjaro 。用起来挺舒服的。
|
58
zone10 2021-03-04 10:02:49 +08:00
Win10
WSL2 + Docker Desktop + Hyper-V Oracle VirtualBox (最新版支持 Hyper-V) + Ubuntu 20.04LTS Server + VS Code Remote 有一说一, Linux 的桌面就算了, 都是浓屑, 经常出问题, 还有恶心人的 QQ 微信, Linux 推广的最大阻力得给鹅厂记一大功 |
59
guisheng 2021-03-04 10:11:14 +08:00
不都是 本机 windows 开发装几台 linux 虚拟机。个人觉得在 windows 中安装 docker 有点不干净,所以放在虚拟机中去安装了,放在机械硬盘中 随便怎么重装它都还在。
|
60
cookgo 2021-03-04 10:19:40 +08:00
Macbook Pro 做开发机,一直没有崩过
|
61
heart4lor 2021-03-04 10:29:58 +08:00
Win10,本地装个 MSYS,配个 linux 主机树莓派之类的
|
62
BeautifulSoap 2021-03-04 10:49:33 +08:00 via Android 1
都 win10 了,何必在宿主配置环境
wsl2 里面配置各种环境,ide 和各种工具也装在 wsl2 里,通过 xlaunch 与 wsl2 内的程序交互,和跑在宿主机里没区别 然后 docker for Windows 启用 wsl2 backend,这样所有的开发环境就完全和宿主隔离了 这么做最爽的是想把当前电脑的环境迁移或者分享到其他电脑的话,直接把 wsl2 的 vhdx 文件移动过去新机器装个 xlaunch 就行了,真的是爽翻天 |
63
vagranth 2021-03-04 10:53:47 +08:00
以前用 windows + ubuntu in vmware,很好用,但 ubuntu 空间紧张
现在直接用 ubuntu,开发没问题,但一些只有 windows 版本的软件使用起来比较困难,wine 难以完全达成目的 将来计划是 windows + ubuntu in wsl2,配合 portable ssd,要等 wsl2 的 mount 支持上到 stable 版本 |
64
junwind 2021-03-04 11:27:32 +08:00
一台云服务器+本地主机
|
65
Rache1 2021-03-04 13:19:41 +08:00 1
wsl2 也是拉胯的一批,用着用着,内存就飙升。
而且也不能直接使用 /mnt,否则性能怀疑人生。使用开发工具连接用 wsl:// 直接编辑,如 jetbrains 家的就会经常遇到一些文件权限问题 自身的 systemctl 也存在一些问题。 hyper-v 也是个坑,虽然他的虚拟机可以自启比较不错,但是有个巨坑的就是他会有一个「保留端口」的骚操作,用着用着就会导致你主机端口被保留,用 netstat -aon 查不到端口占用,却提示端口被占用。 虚拟机装 Linux 桌面也是坑,一堆常用软件用不了,要不就是动不动卡死,VSCode 这总轻量工具用起来问题还不大,jetbrains 家的三天两头出问题。 最后还是直接撸实在。 |
66
wyyyyyy123 2021-03-04 14:54:33 +08:00
@owenzhang24 +1
|
67
avalon0624 2021-03-04 15:56:09 +08:00
openSUSE 我用过,大约是四年前的 42.1 吧,那个时候我也是接近新手,弄崩过几回 KDE 。如果你不想学 Linux 相关的话,可能最后会与你在 Windows 10 下面的开发经历类似。
|
68
ericguo 2021-03-04 16:00:53 +08:00
@coolesting 我真不信,除非你装完从来不更新,操作系统从来不打补丁,不过这样的机器敢上网吗?
|
69
sarices 2021-03-04 17:10:15 +08:00
win10+virtualbox+ubuntu,安装虚拟机,然后为数据单独创建一个虚拟硬盘文件,独立挂载在 ubuntu 里面,开发采用 vscode+remote ssh,如果用 win10 挂载虚拟机里面的目录,推荐用 raidriver
只要虚拟机备份好了,随便迁移 |
70
cheng6563 2021-03-04 17:32:16 +08:00
除非你在某些脱离国产软件的外企,否则强烈建议不要使用桌面版 Linux
|
71
runliuv 2021-03-04 17:38:20 +08:00
每月或每周,用 WIN10 的系统备份即可。
WIN7 我几年不重装正常。除非我无聊重装玩。 在楼主没讲明是什么软件开发时,一股的推 LINUX ,MAC OS,不合适。 |
72
haokuderen 2021-03-04 17:41:41 +08:00
centos 都没人推荐吗?
|
73
ZxykM 2021-03-04 17:59:12 +08:00
ubuntu server 虚拟机然后 ssh
|
74
coolesting 2021-03-04 20:52:52 +08:00 via Android
@ericguo 你猜中一点,我基本上没打过补丁,从不更新,没有杀毒软件,没有常驻监控软件,没有桌面飘浮清内存之类的程序。
正常上网,一般工作用,偶尔看下视频。 还有 ,个人不熟悉的软件一律不装,要装也进虚拟机去装。 |
75
bthulu 2021-03-05 08:48:48 +08:00
@BeautifulSoap wsl2 崩溃的时候你就知道了, 启动就立马给你重装了个 wsl2 环境, 原有数据全部丢失
|
76
dayeye2006199 2021-03-05 10:09:13 +08:00
ubuntu + i3, 尽量少装点东西。
别和我提 office,我用 office365 web 版本 |
77
BeautifulSoap 2021-03-05 11:36:23 +08:00
@bthulu 建议 wsl2 的的 vhdx 文件移动到别的盘符,方便备份管理。至于崩溃目前没遇到过,不知道怎样才能让 wsl2 崩溃? 如果出现了 wsl2 崩溃数据丢失那肯定属于恶性 bug 了,可以去 wsl2 的 github 项目里提 issue
|
78
BeautifulSoap 2021-03-05 11:54:34 +08:00
@faqqcn wsl2 属于那种开箱就能用,但是想用好得微调的东西:
1. 内存占用是因为你没有设定 wsl2 的内存占用上限,默认 wsl2 会需要多少内存就占用多少内存。这个是和 Hyper-V 的动态内存功能保持一致的。每次谈 wsl2 都有人吐槽内存占用,问题是查一下就知道建个.wslconfig 配置文件就轻松解决的事,搞不懂为什么还那么多人吐槽 2. wsl2 和宿主之间文件交互性能较差(其实无论你用什么虚拟机这都是个问题),要么减少两者间交互,要么自己配置别的性能更好的网络文件系统 2. hyper-v 的端口占用问题和 hyper-v 无关,之前也遇到过后来找到原因是微软变更了 tcp/udp 的动态端口范围,从原本的 49152~65536 改成了 1024~11024 导致端口占用。变更下端口范围就行了 https://docs.microsoft.com/en-US/troubleshoot/windows-server/networking/default-dynamic-port-range-tcpip-chang 至于为什么会在 hyper-v 下触发就不得而知了 3. 虚拟机没事干嘛装图形桌面,直接通过 X Server 将虚拟机里的图形界面传送到宿主客户端渲染就行了,性能比在虚拟机里直接跑整个图形桌面好 |
79
Rache1 2021-03-05 12:46:06 +08:00
@BeautifulSoap
1 、私以为最基本的内存使用与归还作为最近本的部分,应该作为开箱可用,而不是需在发现问题后被动的去作修改,甚至是可能不一定有效的修改。使用 wsl 就意味着需要以 Window 为主,wsl 作为次选,而默认这样的行为对于宿主机会造成影响。 2 、确实,这些问题都存在,但是 wsl2 的口号之一不就是大大提升了 文件 IO,然而实际上属于感知不强的范围 3 、hyper-v 端口保留占用问题你不就觉得你说的前后矛盾吗 4 、Linux 虚拟机装图形,是为了作为最简单的开箱即用,个人觉得体验不好自然就不会使用,更何况 Linux 的图形也并不那么尽如人意。仅是拓展,X Server 是可以作为更加进阶的方案。 而你说的这一切都建立在你踩过的坑的基础上而来的,而这些坑在大多数时候足以劝退不少一部分人。 |
80
BeautifulSoap 2021-03-05 13:58:46 +08:00
@faqqcn 我倒不是想说 wsl2 有多好用,wsl2 我也觉得做的太糙了,但是原意稍微配置下的话其实体验是非常棒的,我现在就完全抛弃了原本的独立虚拟机,完全转向在 wsl2 内做开发了
你说的除了第三条我都赞成。内存这个我也搞不明白为什么微软要默认给 wsl2 启用动态内存,启用 wsl2 的时候给个内存占用上限的选择都比这要好,结合到现在 wsl2 都不支持静态 IP 只能说微软那帮人想法很奇怪 端口占用的根本原因在于微软改了动态端口范围,这个问题不光在 Hyper-V 下会出现,在其他场景下也有出现,触发条件我不清楚,只能说是 Hyper-V 在什么条件下触发了这个问题。但是你说这问题在不在 Hyper-V 我觉得不在,因为造成这个问题的根本原因还是微软改了端口范围 |