标签归档:macOS

black and silver laptop computer

在 macOS 下创建启动 U 盘

因为要重装 Mac mini ,所以研究了一下怎么配置启动 U 盘。

依赖

想要给 U 盘制作一个 macOS 的启动盘,首先,你需要有一个 macOS 的系统,并且有相应的安装软件(Install macOS Catalina 之类的)。此外,还需要有相应的容量 U 盘。

根据 macOS 的系统大小,我比较建议你使用 8G 或 16G 以上的 U 盘。

获取安装软件

由于安装软件比较大,所以一般情况下我们也不会保留这个软件,但当我们需要的时候,就要去安装对应的软件了。

你可以访问 Apple 的官网,找到相应的软件下载地址

系统下载地址:https://support.apple.com/zh-cn/HT211683

如果你已经升级了 Big Sur ,却希望制作 Catalina 的启动盘,那么你需要看看 这篇文章

选择你需要使用的系统

会自动打开下载界面

你只需要点击其中的获取,就可以下载相应的系统镜像。等软件自动下载并安装完成后,就可以进行安装操作了。

查看 U 盘挂载路径

想要制作启动 U 盘,自然要说明对应的路径,这个时候你需要先找到你自己的 U 盘。

你可以在终端中执行 df -h ,在其中找到你自己的 U 盘,比如我这里的是 /Volumes/install

制作启动盘

准备好软件和U盘后,剩下的比较简单,直接执行命令即可。

以 Catalina 为例,只需要执行如下命令

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/MyVolume

其他版本的系统可以参考 https://support.apple.com/zh-cn/HT201372

black and silver laptop computer

如何从 macOS 系统中启动到恢复模式

macOS 可以在开机的情况下通过按 Control + R 启动到 恢复模式,那是否有不按 Control + R 就能进入到 Recovery 的方式呢?

答案是,有的

你在 macOS 的 Terminal 中输入如下命令,即可进入到恢复模式中。

sudo nvram "recovery-boot-mode=unused"
sudo reboot

在操作完成后,你可以执行如下命令来移除添加的 Flag,重新进入到正常操作的系统中。

nvram -d recovery-boot-mode

来源:https://apple.stackexchange.com/questions/367336/can-i-initiate-a-macos-restart-to-recovery-mode-solely-from-the-command-line

green and black digital device

如何隐藏 oh-my-zsh 的 Last Login?

oh-my-zsh 是我目前配置新的 Mac 必然会装的。不过,oh-my-zsh 一直有一个我不喜欢的就是它会自动一个 Last Login 的 Hello Message。

这个 Hello Message 倒是不占位置,但是我觉得它让我的命令行不那么极简

因此,我希望将这个提醒删除掉。

删除的方法不复杂,只需要在用户的根目录创建一个空白的~/.hushlogin 文件即可

touch ~/.hushlogin

从语言到项目:看文件管理方式的改变

我昨天对 macOS 进行了重装,因此,不少的文件发生了改变,借此机会,谈一下新的系统下,我是如何管理我的文件的。

从语言入手

在我的根目录下,又一个文件夹 Developer,其下以语言为基础,分了多个不同的语言和文件夹,在不同的语言文件夹下面,则是对应的项目。

 ~/Developer/ tree -d -L 1
.
├── ebook
├── frontend
├── golang
├── hexo
├── minapp
└── php

这样的组织简洁明了,但遇到的问题是,当你要处理一个相对复杂的项目的时候,就会出现难以管理的问题。因为你的一个项目中的多个文件夹会分布在不同的文件夹下。

因此,在新的文件夹管理方式中,我引入了项目的概念。

转换为项目实现

在新的目录组织方式下,我在根目录放置了两个文件夹,分别是 DeveloperProjects

 ~/ tree -d -L 1
.
├── Developer
├── Projects
└── Public

Developer 文件夹和之前的项目没有区别,依然是基于语言 + 基于文件夹。不同的是,我在 Projects 中,以项目为基准,建立文件夹。

 ~/Projects/ tree
.
├── project1
│   └── minapp-for-client -> /Users/bestony/Developer/minapp/project1
└── projce2
    ├── main -> /Users/bestony/Developer/golang/src/projec2
    └── ops-config -> /Users/bestony/Developer/golang/src/project3

这样我就可以将一个项目的文件放置在一个文件夹下进行操作。

具体的操作是这样的:

  1. 在 Projects 下建立项目文件夹
  2. 进入到项目文件夹
  3. 使用软链接的方式,建立目标文件夹的快捷方式

这样的好处是,当我进行项目研发的时候,可以直接进入到 projects 目录,在相应目录根据需要进入到特定的文件夹。方便快捷。

总结

从语言到项目,表现出所专注的项目的复杂度不断提升,于此同时,相应的管理方案也需要跟着调整,以适应相应的变化。

black and silver laptop computer

制作一个 macOS 启动盘

我一直以来都是网络安装的 macOS ,但这次我的网络死活没有加载到恢复服务器,我就从相机中拔了一张空白的 SD 卡,来做一个启动盘。

1. 安装 macOS 镜像

安装制作 macOS 启动盘的时候,你需要这样一个 安装 macOS Catalina 的磁盘镜像。

但正常情况下,我们会把安装 OS 的软件删除掉(毕竟占地 8G),所以,如果你需要制作启动磁盘,第一步就需要安装 macOS 镜像。

你可以访问 App Store 下载:https://itunes.apple.com/cn/app/macos-catalina/id1466841314?ls=1&mt=12

2.制作启动盘

制作启动盘对于磁盘的大小和文件格式有要求,需要你的磁盘

  • 大于 12 GB
  • 磁盘格式为 macOS 拓展文件格式

安装完成 Catalina 后,就可以制作启动盘了,具体的命令如下

sudo /Applications/Install\ macOS\ Catalina.app/Contents/Resources/createinstallmedia --volume /Volumes/install

这里我的磁盘的名称是  install ,如果你的不是,则需要修改为对应的名字。

3. 使用启动盘重启

制作好启动磁盘,就可以试着使用你刚刚制作的启动磁盘重启,并使用其恢复。

black and silver laptop computer

macOS 重装记

我隔一段时间就会重装一次系统,原因是我的系统中的环境过多,会导致系统中的 PATH 紊乱。因此,当出现系统无法正常工作的时候,我就会考虑重装一次系统。

重装系统需要备份一些东西,做一些处理,写一篇博客记录一下,也方便我自己使用。

清理无用文件

1. 清理包管理器安装的依赖文件

我经常会使用 Python、Node.js 来写一些脚本,这些脚本会依赖 npm 生态下的 package。这些 package 可以基于 npm 下载又或者是类似 python ,提供了 requirements 文件的项目,可以使用命令快速恢复环境,因此,我会推荐将这些可以快速恢复的文件,直接清理掉,以加快安装的速度。

具体包括:

  • Node.js 的 Node Modules
  • Python 的 venv
  • PHP 的 vendor

这里我会使用这样的命令来进行删除

下面这段代码执行时不会确认,因此,如果修改,请再三确认再执行,避免酿成大错。

find . -name "node_modules" -exec rm -rf '{}' +

具体可以参考

https://www.ixiqin.com/2019/05/tool-command-delete-the-current-directory-node_modules-command/

清理完成后,项目目录会从 21G 瘦身至 7.6 G。

备份重要文件

备份 SSH 信息

一个很重要的需要备份的文件,就是我的 SSH 密钥/公钥,我管理服务器都需要它。因此,需要对齐进行备份

cp -R ~/.ssh /Volumes/backup/ssh

这里的 backup 是我的单独的磁盘,用来备份资料的。

备份项目资料

我会把所有涉及到开发的资料都放在一个文件夹里,因此,在处理备份的时候,我只需要把大的文件夹备份即可解决项目文件的存储问题。同时,因为不删除 .git 记录,还可以保留数据的编辑记录。

tar -zcvf /Volumes/backup/project.tar.gz ~/Developer

备份 MySQL 数据库

我使用 homebrew 安装了 MySQL ,因此,也需要把 MySQL 数据备份出来,以免后续搭建开发环境成本太高。执行命令,即可将所有数据库备份。

mysqldump -uroot -p --all-databases  --result-file=dump.sql

执行完命令,数据就会备份在当前目录下的 dump.sql 文件,接下来你只需要将其移动到你的备份文件中。

备份软件列表

备份软件列表,以方便后续可以方便的进行恢复,以免遗漏。当然,你也可以选择用到什么安装什么。但对于一些比较基础的、常用的,我还是比较喜欢重装完就安装,省的用到的时候现场装。

软件列表需要备份的有三处:

  • /Applications
  • brew list
  • brew cask list

需要做的就是将这些信息打印出来,并导出到 txt 文件,方便后续恢复。

ls /Applications > applications.txt
brew list > brew.txt
brew list --cask > brew-cask.txt

备份 dotfiles

我们在 ~ 目录下放置了不少常用的 dotfile,也需要将其备份,以便后续使用,因此,你也可以将这部分文件备份到你自己的磁盘中。

一些值得备份的文件

  • .gitignore
  • .zshrc
  • .gitconfig

你可以通过执行如下命令,找到隐藏的 dotfiles

ls -a | grep "^\."

当然,你也可以选择将其放置在 Github 上,开放自己的 dotfiles 也是一个非常常见的行为。

其他一些没有被 iCloud 备份的文件

我默认开通了 iCloud,因此 Documents 是不需要我进行维护的,不过,还有一些地方是 iCloud 无法覆盖的,因此,需要注意自行备份。他们包括

  • ~/Downloads:如果你和我一样,比较喜欢把 downlods 作为 workspace

还有哪些值得备份的?

  • 比如 Clash X,方便重装后快速联网
  • 比如 1Password 的密码备份文件,方便重装后快速恢复

重装系统

重启 macOS,并在重启后,按下 Command + R,来进入到维护模式,在维护模式中,你可以重装系统。

其他

如果你还有在备份的时候值得注意的,可以一并告诉我。

Reference

用 HomeBrew 安装字体

我因为有一些时候需要做 PPT,需要安装一些特定的字体,但是 macOS Catalina 的 字体册应用总是 Crash ,因此,我决定使用 HomeBrew 来安装字体

配置 Tap

使用 Homebrew 安装字体,就需要配置相应的 Tap (可以理解为 Ubuntu 中的 Source 和 CentOS 中的 Repository。

brew tap homebrew/cask-fonts

安装字体

执行命令,就可以安装相应的字体。

brew cask install font-noto-sans-cjk-sc
brew cask install font-noto-serif-cjk-sc
brew cask install font-jetbrains-mono
brew cask install font-source-han-noto-cjk

如果你想要搜索一个字体怎么办?打开 Github 页面

在其中点击 Find File

并在新的界面中输入你想要的字体的英文名,比如 Ubuntu

去掉最后的 .rb ,就是你安装时使用的字体名,比如,安装 Ubuntu 字体,只需要执行 brew cask install font-ubuntu