硬盘坏掉之后

背景

前一段时间,我的电脑突然就开不了机了,进入安全模式之后,发现硬盘无法读取,大概率是硬盘坏掉了。电脑是 MacBook,自己不太好换。于是跑到华强北,找了一家维修店,师傅给换了一块硬盘就好了(这里感谢一下董老师,带我跑华强北去维修)。

在硬盘坏掉之后,我发现可能会面临以下几个问题:

  1. 隐私泄漏(社死),电脑里面可能存了不想让别人知道的东东,如果硬盘修复一下又能够继续使用了,维修的师傅可能会看到硬盘上的内容,特别是如果不是立等可取的话,电脑放在别人那里很没安全感;
  2. 数据丢失,如果硬盘坏掉,里面的数据全部或者部分都会丢掉;
  3. 系统重装,所有软件重新安装,环境变量需要重新配置,非常的麻烦。

解决方案

因为我的硬盘是整个坏掉了,里面的数据也没办法读取了,所以也不存在社死的问题,换了硬盘之后,我就把坏掉的硬盘拿回家了。
这里主要分享一下数据丢失和软件重装的解决方案。

数据丢失

备份!备份!备份!重要的事情说三遍!
我在家里部署了一台 NAS,所有的数据我都会定期的往里面存,我用的是群晖的机器 DS220+ ,这个型号有两个硬盘插槽,互相备份,除非两块硬盘同时坏掉,否则数据不会丢失。

另外,它里面还有非常多的套件,有一个网盘同步的套件,可以将本地的数据同步到网盘里面,基本上市面上主流的网盘都支持,我就开了个百度网盘,将本地的数据再同步到百度网盘里面,这样就更加不会丢失了。

有个问题,群晖的用户量比较大,用它的 QuickConnect 服务,在外网访问的时候有时候速度会比较慢,在局域网里面就没问题。
这里可以考虑下国产的方案,比如华为家庭存储,使用华为全家桶的话,体验会比较好。

软件安装

还有另外一个让人烦恼的问题,就是换了硬盘之后,软件都必须重新安装,有一些环境变量还需要重新配置,都是一些没有技术含量的体力活,特别费劲。也可以将整个系统进行备份,但是这样就不太灵活,不方便随时更改。

docker可以解决么?
一开始,我想是不是可以用 docker 来解决呢?比如用 docker 部署一个 Android 的开发环境,这样当换电脑的时候,只要把对应的镜像下载到本地就可以了,而不需要再重新安装 java,Android studio,Android sdk,NDK 乱七八糟的一堆东西。

想象得很美好,但实际上好像不太行。docker 本身是用于部署运维的工具,对于 UI 貌似支持得不太好,而且 docker 在 Mac 上虚拟出一个 linux 环境,性能肯定没有直接在本机上跑好,所以这个方案不是很好。

homebrew
接着我想是不是可以用脚本来解决呢?

本质上我只是不想再做一些重复的体力活,如果将安装和配置环境变量的过程用脚本来实现,我只需要执行一下,就自动将环境配置好了,这样也能够满足我的需求,而且脚本还可以随时修改。

然后我就发现了 homebrew 这个神器!我们常用的一些软件,竟然都可以用它来安装,并且安装完成之后自动就帮我们配置好了环境变量!特别方便!

这里可以直接搜索它支持安装的软件
https://formulae.brew.sh/
在这里插入图片描述
然后,再写个脚本,就可以将我们需要的软件批量安装了!
分享一下我写的脚本,除了 ohmyzsh 是需要自己写安装过程,其他的软件都只要一行代码就可以了

#!/usr/bin/env base

#一些基础的软件
init() {
    /bin/bash -c "$(curl -fsSL https://gitee.com/ineo6/homebrew-install/raw/master/install.sh)"
    brew install git
    brew install git-lfs
    ohmyzsh
}

ohmyzsh() {
    # 安装
    sh -c "$(curl -fsSL https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh)"
    #安装插件
    git clone https://gitee.com/bright_007_admin/zsh-autosuggestions.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
    #配置插件
    tobeReplaced='plugins=(git)'
    replaced='plugins=(git zsh-autosuggestions)'
    file=~/.zshrc
    sed -i '.bak' "s/$tobeReplaced/$replaced/" "${file}"
    #提升速度
    git config --add oh-my-zsh.hide-dirty 1
    git config --add oh-my-zsh.hide-status 1
}

android() {
    brew install --cask android-studio
    brew install --cask homebrew/cask-versions/adoptopenjdk8
    # brew install --cask android-sdk
    # brew install --cask android-ndk
    brew install gradle
    brew install android-platform-tools
    brew install --cask flutter
}

other() {
    brew install nodejs
    brew install npm
    brew install python3
    # 博客工具
    npm install hexo-cli -g
    brew install --cask intellij-idea-ce
}

tools() {
    brew install --cask visual-studio-code
    brew install --cask snipaste
    brew install --cask utools
    brew install --cask google-chrome
    brew install --cask wpsoffice-cn
    brew install --cask betterzip
    brew install --cask safeincloud-password-manager
    brew install --cask wechat
    brew install --cask qq
    brew install --cask wechatwork
    brew install --cask notion
}

finish() {
    brew cleanup
}

#功能:往环境变量文件里面写入内容,如果文件里面已经存在,则不写入
write() {
    content=$1
    # 环境变量文件
    envFile=~/.zshrc
    if cat $envFile | grep "$content" >/dev/null; then
        echo "已经存在配置${content},不写入"
    else
        echo "写入配置${content}"
        echo "${content}" >>$envFile
    fi
}

echo "开始配置"
init
android
other
tools
finish
echo "结束配置"

总结

所以终极解决方案就是 NAS + homebrew

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值