V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
wellR
V2EX  ›  程序员

每次换开发电脑都要把各种软件重新装一遍,好麻烦,有什么方便的办法吗

  •  
  •   wellR · 2023-04-13 15:57:11 +08:00 · 14855 次点击
    这是一个创建于 371 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,有什么工具可以将软件备份,可以在一台新电脑上一键实施,大家有类似的工具或方法吗

    107 条回复    2023-04-17 17:26:08 +08:00
    1  2  
    ivanchou
        1
    ivanchou  
       2023-04-13 15:57:52 +08:00
    Time Machine ?
    mohumohu
        2
    mohumohu  
       2023-04-13 15:58:37 +08:00   ❤️ 2
    windows to go? 别说软件了,整个系统带走
    yanzhiling2001
        3
    yanzhiling2001  
       2023-04-13 16:02:29 +08:00   ❤️ 1
    虚拟机,不二之选。
    重装之后只要安装个虚拟机软件就行了。日常用 rdp 连接进虚拟机操作。既保证隐私,也方便迁移。
    现在的电脑性能都过剩,笔记本电脑都能运行两个 win 虚拟机,没问题的。
    AlexHsu
        4
    AlexHsu  
       2023-04-13 16:04:06 +08:00
    brew install ****
    git clone dotfiles
    NessajCN
        5
    NessajCN  
       2023-04-13 16:04:29 +08:00
    sysinit.sh

    #!/bin/bash
    pacman -S base devel qtcreator .....
    echo "alias ll='ls -alF --color=auto' " >> /home/user/.bashrc
    ....
    aw2350
        6
    aw2350  
       2023-04-13 16:10:53 +08:00   ❤️ 2
    diskgenius 生成镜像,在 winpe 里还原 ,或者 直接用它里面的系统迁移
    brader
        7
    brader  
       2023-04-13 16:15:05 +08:00
    windows 吗,试试系统备份还原呗,只要新机的硬件不是差太远,估计你还原完,最多装下驱动就好
    tonytonychopper
        8
    tonytonychopper  
       2023-04-13 16:15:42 +08:00
    弱弱的问一下各位大佬:macOS 有类似的工具吗?
    jjianwen68
        9
    jjianwen68  
       2023-04-13 16:18:08 +08:00   ❤️ 1
    另一种方式,用 scoope 、choco 、winget 做成脚本,换机器后执行,一键安装,也可以把配置环境等都做到脚本中
    seth19960929
        10
    seth19960929  
       2023-04-13 16:20:29 +08:00
    winget
    swordfairy
        11
    swordfairy  
       2023-04-13 16:22:21 +08:00
    @tonytonychopper 时间机器不就可以么
    kxccc
        12
    kxccc  
       2023-04-13 16:30:04 +08:00 via iPhone
    我在虚拟机用 NixOS ,整个系统都通过集中的配置文件构建,可以为不同的开发环境写不同的构建文件,一键切换
    seth19960929
        13
    seth19960929  
       2023-04-13 16:33:45 +08:00   ❤️ 8
    raptor
        14
    raptor  
       2023-04-13 16:39:47 +08:00
    @tonytonychopper mac 系统自带——time machine 在旧电脑备份在新电脑恢复即可。老款更简单粗暴,把原来的硬盘拆下来通过 USB 硬盘盒接到新电脑上直接恢复即可。
    BeautifulSoap
        15
    BeautifulSoap  
       2023-04-13 16:44:28 +08:00   ❤️ 3
    windows ? windows 估计是目前迁移开发环境最简单粗暴的系统的了。所有开发在 wsl2 里开发,环境也在 wsl2 里搭建,ide 也用 wslg 跑。换电脑的时候把 wsl2 的 vhdx 镜像复制出来移动到新电脑里,你的整个开发环境立刻恢复原样

    如果 lz 问的是更加一般的系统软件迁移,分个区,软件都装那个分区里。换电脑的时候把整个分区复制粘贴到新电脑重建下快捷方式,结束。(这个地球上大部分的软件本质上实际上就是个绿色软件,装完系统之后依旧直接能打开)所以说 2023 年了,装系统分个区依旧是有必要的。当然倒也不是所有软件都能这么搞,比如 Office ,Adobe 这类非常复杂的软件,你只能重装了。对于一些喜欢把用户配置文件噻 HOME 的软件,迁移的时候单独从 HOME 里复制一下就好了。
    0o0O0o0O0o
        16
    0o0O0o0O0o  
       2023-04-13 17:13:35 +08:00
    ( ( Vagrantfile + ) NixOS + ) https://containers.dev/

    单纯 Windows 很难做到,越复杂的软件越难绿色
    OrdinaryMan
        17
    OrdinaryMan  
       2023-04-13 17:17:30 +08:00
    scoop 包管理器,支持软件迁移:scoop reset *
    bruce0
        18
    bruce0  
       2023-04-13 17:19:19 +08:00
    我想把我的 windows 系统做一个 ghost 镜像 后面只要还原一下就行了, linux 用的虚拟机 ,直接复制就行
    zhengkk
        19
    zhengkk  
       2023-04-13 17:22:15 +08:00
    开发环境放在云上,日常软件搞在本地。
    Cheons
        20
    Cheons  
       2023-04-13 17:24:13 +08:00 via Android
    换硬盘,更新驱动
    brader
        21
    brader  
       2023-04-13 17:34:35 +08:00
    @seth19960929 他看起来很酷,可以介绍下他如何运作和使用的吗
    bluedawn
        22
    bluedawn  
       2023-04-13 17:36:04 +08:00 via iPhone
    开发环境 docker 感觉还好
    SimonOne
        23
    SimonOne  
       2023-04-13 17:44:00 +08:00
    @BeautifulSoap #15 用虚拟机来当开发环境的话,宿主机用哪个还有关系吗,不都是直接虚拟机打包带走的吗😂
    jstony
        24
    jstony  
       2023-04-13 17:48:16 +08:00
    唯有 time machine 可以一战。
    richangfan
        25
    richangfan  
       2023-04-13 18:00:43 +08:00
    旧电脑的硬盘拔了,插到新机子上
    HTDit
        26
    HTDit  
       2023-04-13 18:12:21 +08:00 via Android
    今天因为 SSD 磨损容量降低,排查不到容量变小的原因,重装了系统,除几个软件外,工作环境 VM 虚拟机,下载镜像重装系统,前后 2 个小时,开始干活。
    没事不要折磨自己,能上虚拟机的都进去吧,崩了还能直接还原。
    capplenerv
        27
    capplenerv  
       2023-04-13 18:21:55 +08:00
    在 2000 年代,Windows 不稳定,经常需要重装。大家常用 Norton Ghost 做个备份镜像。
    HFX3389
        28
    HFX3389  
       2023-04-13 18:23:26 +08:00
    @brader #21 winget(Windows 程序包管理器)是微软为 Windows 10 开发的一款自由开源的软件包管理器。它由一个命令行实用程序和一组安装应用程序的服务组成。 独立软件供应商可以将其作为软件包的分发渠道。
    wellR
        29
    wellR  
    OP
       2023-04-13 18:32:19 +08:00
    @seth19960929 谢谢,我去试试
    brader
        30
    brader  
       2023-04-13 18:32:45 +08:00
    @HFX3389 去了解过了,我是想知道 #13 楼是否有特殊用法,还是单纯只是一个笔记,我以为他做了什么脚本封装,拉倒电脑上实现一键安装所需软件
    mailx3
        31
    mailx3  
       2023-04-13 18:33:21 +08:00
    Hyper-V ,CPU 性能基本没损失
    HFX3389
        32
    HFX3389  
       2023-04-13 18:37:05 +08:00
    @brader #30 目测应该是一个单纯的笔记
    HFX3389
        33
    HFX3389  
       2023-04-13 18:37:40 +08:00
    @brader #30 一个脚本笔记吧,重装过后运行一下然后就可以去喝咖啡等系统自己装完
    lodisy
        34
    lodisy  
       2023-04-13 18:41:20 +08:00 via Android
    dot files
    wellR
        35
    wellR  
    OP
       2023-04-13 18:48:02 +08:00
    @0o0O0o0O0o 嗯,开发的软件基本都搞成了免安装的
    wellR
        36
    wellR  
    OP
       2023-04-13 18:50:20 +08:00
    目前我是给放到 u 盘了,换电脑时一个个解压配置,太糙。
    windows 系统的办法还是多啊,总结一下大家的点子:虚拟机 系统镜像 winget 之类的软件
    BeautifulSoap
        37
    BeautifulSoap  
       2023-04-13 20:56:01 +08:00 via Android
    @SimonOne wsl2 虽然是虚拟机,但是他和系统的整合还有启动速度是所有虚拟机都比不了的。
    stacker
        38
    stacker  
       2023-04-13 21:46:32 +08:00 via Android
    一键 ghost ,傲梅,diskgenius 都可以
    chocotan
        39
    chocotan  
       2023-04-13 21:57:19 +08:00
    我是直接把旧硬盘 dd 到新硬盘里,再重新安装一下 efi 和 grub 就能直接用了( archlinux
    baobao1270
        40
    baobao1270  
       2023-04-13 22:09:38 +08:00
    虚拟机+镜像,必要时搭配云服务器、RDP/VNC 使用
    heyjike2318
        41
    heyjike2318  
       2023-04-13 22:23:00 +08:00
    易数备份,挺好用的
    hotsymbol
        42
    hotsymbol  
       2023-04-13 22:52:30 +08:00
    dev-setup 了解下
    MXMIS
        43
    MXMIS  
       2023-04-13 22:57:31 +08:00   ❤️ 2
    我基本半年重装一次,不为别的,感觉像换新电脑一样。
    非开发软件我是能用免装版就都是免装,开发的我一部分是虚拟机,还有一些没办法我是手动安装
    wetalk
        44
    wetalk  
       2023-04-13 23:07:31 +08:00   ❤️ 2
    最简单的办法,安装软件时不要用安装包,用压缩包解压使用
    DOLLOR
        45
    DOLLOR  
       2023-04-13 23:14:39 +08:00   ❤️ 1
    所有工具,能用便携版的就用便携版。
    wynemo
        46
    wynemo  
       2023-04-14 00:34:27 +08:00
    Code Server 是一个将 Visual Studio Code 变成可在浏览器中使用的工具。它允许您将 Visual Studio Code 部署在任何地方,并通过浏览器进行访问。
    Code Server 的主要功能包括:
    • 在浏览器中运行 Visual Studio Code 。支持 Chrome,Firefox,Safari 等主流浏览器。
    • 支持 Visual Studio Code 的大多数功能,包括代码补全,语法高亮,代码修复等。
    • 可以自托管,也支持部署在云服务器 wie AWS EC2,Google Cloud 等。
    bingkxChen
        47
    bingkxChen  
       2023-04-14 08:22:40 +08:00   ❤️ 1
    居然没人推荐 dism++
    kealm
        48
    kealm  
       2023-04-14 09:20:59 +08:00 via iPhone
    把开发环境整 Docker 里面
    shnehna
        49
    shnehna  
       2023-04-14 09:34:20 +08:00   ❤️ 2
    如果时间多,比较享受重新下载安装破解每个软件的过程 哈哈
    Wtuchuan
        50
    Wtuchuan  
       2023-04-14 09:54:32 +08:00
    @BeautifulSoap 问下,之前尝试过在 wsl2 下开发,但是能明显感觉到磁盘 IO 以及项目启动没有原生在 windows 下快,请问有遇到过或者解决吗
    lqzhgood
        51
    lqzhgood  
       2023-04-14 09:54:38 +08:00
    装软件没啥,最麻烦的是配置吧~

    好多软件把配置文件写到用户文件夹下,又不提供修改。应该是把环境变量硬编码了~ 例如 %AppData% %HOMEPATH%

    个人目录下一大堆 如 .npmrc .ssh .android .gitconfig ~~

    有没有办法可以劫持这些软件的环境变量,做到把配置文件放到指定目录?

    mklink 可是可以,就是个人目录还是有一大堆”快捷方式“ ……
    JadePenG
        52
    JadePenG  
       2023-04-14 10:07:36 +08:00
    用 vm 的虚拟机,如果长期主机不关机,那么虚拟机中的系统就会很卡延迟很大,各位不会这样吗,我还以为是 windows 的通病。
    IvanLi127
        53
    IvanLi127  
       2023-04-14 10:07:39 +08:00 via Android
    装个 docker 和 vs code ,项目使用 dev container 。想在哪开发就在哪开发。
    cy18
        54
    cy18  
       2023-04-14 10:12:42 +08:00
    scoop+portable apps
    KKLeon
        55
    KKLeon  
       2023-04-14 10:13:41 +08:00 via Android
    dism++ +1
    M003
        56
    M003  
       2023-04-14 10:16:06 +08:00
    @tonytonychopper 时间机器. 你可以找下 b 站换硬盘的操作,

    买个 16+256 坚持过质保期,直接上 1T 硬盘,然后恢复原系统. 丝划操作.
    wu67
        57
    wu67  
       2023-04-14 10:30:39 +08:00
    前端仔的方案
    开发环境直接 docker 搞定, 配置在项目代码里面跟着 git 走.
    开发机只需要装 v2ray vscode homebrew iterm oh-my-zsh, 打开 Safari 下载 chrome. (1/1)辱 Safari 完成.
    日常频繁日更新的可以到官网下载安装, 例如 vscode 和 浏览器,
    其他都可以通过 cask 搞定. 不常用的到需要时再装就行
    hlobo
        58
    hlobo  
       2023-04-14 11:57:14 +08:00 via iPhone
    时间机器
    lyxeno
        59
    lyxeno  
       2023-04-14 13:21:00 +08:00
    @BeautifulSoap 学到了.
    就是不知道 wslg 性能损耗如何
    clf
        60
    clf  
       2023-04-14 13:29:23 +08:00
    我是自己复制一份微信文件到 U 盘,然后迁移。

    其它的文件是有同步文件夹,自动同步到家里的电脑,新电脑装了同步软件后会自动同步回来,大概就 10 分钟的事情。

    软件则是 U 盘里一个文件夹会放好所有安装包。
    huangmingyou
        61
    huangmingyou  
       2023-04-14 13:37:08 +08:00   ❤️ 1
    我的方案是数据和配置分开; 新的电脑我会用一个 ansible playbook 把环境初始化好,然后工作数据都在 git 里面。
    ShadowPower
        62
    ShadowPower  
       2023-04-14 13:37:32 +08:00
    其实我一直都很推荐 Windows+WSL ,只要你能用 Linux 做开发,这套东西就可以用,比这论坛里很多人推荐的用 Mac 远程连接一台开发机做开发还要方便好几倍。
    你可以用 Windows 的 IDE 远程连接 WSL 做远程调试,也可以直接在 WSL 环境里跑 IDE 。根据具体的需求决定。
    然后在 Windows 里解决 QQ 、微信、Office 之类的办公协作生态问题。也不需要像 Linux 桌面一样面对桌面环境和硬件驱动稳定性的问题。

    之前推荐的时候有人说“反正都是在虚拟机里运行,为什么我不直接用虚拟机”,其实 WSL 跟 Windows 桌面环境的整合程度,比所有的虚拟机方案都好。

    另外我不建议直接复制 WSL2 的 vhdx ,有官方提供的导入导出方案。

    关于 WSLg 的性能,我曾经用来跑 Wine 运行 Windows 游戏,玩古墓丽影 9 ,非常流畅。甚至玩 MuseDash 也没有多少音频延迟。
    Cu635
        63
    Cu635  
       2023-04-14 13:40:06 +08:00
    软件安装是小事情,各种数据体积又大文件数量又多才是头疼的地方。
    seth19960929
        64
    seth19960929  
       2023-04-14 13:45:23 +08:00
    @brader
    @HFX3389 对, 这是我的笔记. 因为每个人要装的软件不同,
    你要装什么软件 winget search 一下, 然后自己整理成一个这样的列表. 最后新建文件: install.bat
    新的电脑直接运行这个 install.bat, 去外面逛逛回来就好了
    lixinrui000
        65
    lixinrui000  
       2023-04-14 14:02:59 +08:00
    我是分三个部分:
    1. 软件:靠 winget 导出导入
    2. 注册表:总是要设置的注册表项保存成 reg 文件
    3. 配置文件:自己写了个 PyQt 程序进行备份还原
    同步靠 git
    1014982466
        66
    1014982466  
       2023-04-14 14:06:26 +08:00
    软件尽量用绿色版,配置尽量保存在软件自己目录里就好了,换机时直接拷走
    adoyle
        67
    adoyle  
       2023-04-14 15:05:54 +08:00
    命令行软件都封装到 docker image 里。平台应用都写脚本一键安装。
    vcbal
        68
    vcbal  
       2023-04-14 16:25:33 +08:00
    @tonytonychopper Time Machine 1#已经说了
    zhangtest
        69
    zhangtest  
       2023-04-14 16:34:32 +08:00
    那些动不动就 docker 想偷懒的,都不考虑你使用的软件版本更新吗?
    onevcat
        70
    onevcat  
       2023-04-14 16:50:46 +08:00   ❤️ 1
    @lqzhgood Mackup 。Windows 的话应该也有类似的?没有的话正好可以自己撸一个呗。
    Admstor
        71
    Admstor  
       2023-04-14 16:54:54 +08:00
    虚拟机+1

    除非你的开发需要用 GPU,不然真的狠方便

    还可以随时根据物理主机性能调整 CPU 和内存
    Goojoe
        72
    Goojoe  
       2023-04-14 17:12:14 +08:00 via Android
    @lixinrui000 PYQT 备份程序能不能分享下,我找 GPT4 问了几个小时还是不满意
    Ocean810975
        73
    Ocean810975  
       2023-04-14 17:30:56 +08:00
    @seth19960929 #13 这个 --rainbow 参数是干啥的?
    iXingo
        74
    iXingo  
       2023-04-14 17:56:35 +08:00   ❤️ 1
    本地的命令行工具可以使用 scoop/Windows; brew/macOS; apt/Ubuntu;
    中间件,数据库,缓存啥的可以用 docker/docker compose ;
    IDE 的话设置把 intelliJ 和 VSCode 的设置云端同步打开
    Sharenruma
        75
    Sharenruma  
       2023-04-14 18:20:14 +08:00 via iPhone
    Windows 的话 可以试试把你现在用的系统导成 vhdx ,then mount and boot it anywhere 。我现在都不用虚拟机了,直接 vhdx 养蠱。
    lixinrui000
        76
    lixinrui000  
       2023-04-14 20:25:17 +08:00
    Byzliu
        77
    Byzliu  
       2023-04-14 20:29:11 +08:00 via Android
    虚拟机或者 win to go
    xiangyuecn
        78
    xiangyuecn  
       2023-04-14 20:33:30 +08:00
    带薪吗,一点都不麻烦。
    haikea
        79
    haikea  
       2023-04-14 20:34:31 +08:00
    windows 系统迁移了解一下
    BeautifulSoap
        80
    BeautifulSoap  
       2023-04-14 20:43:53 +08:00
    @lyxeno wsl2 可以几乎以宿主性能使用到宿主的显卡
    @SimonOne 对了,上面回复忘了说这点了,wsl2 使用宿主显卡这点也是 wsl2 和其他虚拟机最大的不同
    BeautifulSoap
        81
    BeautifulSoap  
       2023-04-14 20:46:24 +08:00
    @Wtuchuan 我用 dd 测试了一下写入性能,写入 8G 是 1.3 GB/s 。没有什么性能损失。你可能需要确认一下用的是 wsl 还是 wsl2 。还用 wsl2 的磁盘是用的 vhdx ,如果 wsl2 性能低的话新建一个 vhdx 磁盘,然后挂载到系统测一下写入性能,或者开个 hyper-v 虚拟机测一下写入性能看看是哪里有问题
    YiyangDing
        82
    YiyangDing  
       2023-04-14 20:52:24 +08:00
    我喜欢用 Homebrew,
    brew install --cask jetbrains-toolbox visual-studio-code hbuilderx;
    用空格分隔,可以一次性安装多个软件,自己维护一个软件列表
    SenLief
        83
    SenLief  
       2023-04-14 22:05:21 +08:00
    我都是放弃原来的引导,改用 ventory 或者 grub2 引导电脑上的虚拟机。
    sencat31
        84
    sencat31  
       2023-04-14 22:07:20 +08:00
    直接 nixos 安排
    Chipmunker
        85
    Chipmunker  
       2023-04-14 22:07:42 +08:00
    用 NixOS 系统?
    alafun
        86
    alafun  
       2023-04-14 22:10:20 +08:00
    pip install -r requirement
    duke807
        87
    duke807  
       2023-04-14 22:27:46 +08:00 via Android
    我十多年换好几个笔记本了,硬盘 dd 对考即可,至今用十年前安装的 gentoo 系统,系统一直是滚动升级
    3kkkk
        88
    3kkkk  
       2023-04-14 22:34:57 +08:00   ❤️ 1
    我用的 win11 大部分软件不用重装的。我会装在 d 盘新建目录,数据再放在另一个。新电脑直接拷贝过去。然后把快捷方式也都复制过去。我平常打开软件用 rolan ,也直接复制过去就可以。如果一些软件有必要会把环境变量也复制过去。
    bluetree2039
        89
    bluetree2039  
       2023-04-14 22:47:24 +08:00 via iPhone
    @3kkkk 很多软件要写注册表的😅
    Aresrun
        90
    Aresrun  
       2023-04-14 22:56:41 +08:00
    brew bundle ?
    vlgs
        91
    vlgs  
       2023-04-14 23:04:17 +08:00
    重装也是一个解压的过程
    xtinput
        92
    xtinput  
       2023-04-14 23:13:25 +08:00
    macOS 的时间机器,windows 好像没有比较完美的,如果配置差异大驱动冲突就不好搞了
    直接把系统安装在移动硬盘里最好,插上就能用,而且现在移动硬盘读写也不慢
    lqzhgood
        93
    lqzhgood  
       2023-04-15 00:18:07 +08:00
    @onevcat Mackup 这个好~ 自动 mklink 了, 撸一个确实不难

    就是要测这么多软件在 Windows 上的位置就是个体力活了(不排除不同平台文件名、位置不一样)
    细想的话 这里面还有个软件版本可能位置不一样的问题

    我现在用 bat 写了一个 mklink 集合也能用
    有空确实可以搞个 windows 的,不过没社区的力量一个人真搞不定
    fqns
        94
    fqns  
       2023-04-15 04:32:04 +08:00   ❤️ 1
    学会归档, 我的是 Window 环境, 开发环境和常用软件都是 D 盘, 写了一个脚本, 一键设置开发环境, 绿化软件的快捷键都是归类好的. 比 linux 还方便...
    wuzhewuyou
        95
    wuzhewuyou  
       2023-04-15 08:54:54 +08:00
    哪有那么多开发电脑好换?搞个云主机,装 docker 。数据库,nodejs ,go ,java 等开发环境,电脑 win 装日常软件及 vs code 了远程,要是再套壳用 mac 了远程桌面 win 搞开发就更优雅了
    zbowen66
        96
    zbowen66  
       2023-04-15 14:28:56 +08:00
    NAS 开个盘给 Time Machine ,全程无感备份
    nicevar
        97
    nicevar  
       2023-04-15 23:28:16 +08:00
    没有那么多花里胡哨,现在 ssd 都是白菜价,东哥家便宜的 ssd 512G 128 块,买个硬盘克隆设备,拔下来插上几分钟就备份好了。
    mayli
        98
    mayli  
       2023-04-16 04:45:10 +08:00 via Android
    你有啥要装的软件?
    wellR
        99
    wellR  
    OP
       2023-04-16 08:24:50 +08:00 via Android
    @mayli 主要是 java 开发那套东西以及一些用惯了的软件
    Makao
        100
    Makao  
       2023-04-16 09:21:34 +08:00 via Android
    我都转移到云电脑了……
    1  2  
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3640 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 04:19 · PVG 12:19 · LAX 21:19 · JFK 00:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.