<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
    <channel>
        <title>macOS on JokemeBlog</title>
        <link>/categories/macos/</link>
        <description>Recent content in macOS on JokemeBlog</description>
        <generator>Hugo -- gohugo.io</generator>
        <language>zh-cn</language>
        <lastBuildDate>Mon, 14 Jul 2025 16:07:12 +0800</lastBuildDate><atom:link href="/categories/macos/index.xml" rel="self" type="application/rss+xml" /><item>
            <title>x86_64 Linux 服务器 手动迁移部分服务至qemu arm64 虚拟机中</title>
            <link>/p/migration_to_qemu_virtual_machine_record/</link>
            <pubDate>Mon, 14 Jul 2025 16:07:12 +0800</pubDate>
            <guid>/p/migration_to_qemu_virtual_machine_record/</guid>
            <description>&lt;img src=&#34;https://www.bing.com/th?id=OHR.NaqsheRustam_EN-CN2220219039_UHD.jpg&amp;pid=hp&amp;w=1080&amp;h=720&amp;rs=1&amp;c=4&#34; alt=&#34;Featured image of post x86_64 Linux 服务器 手动迁移部分服务至qemu arm64 虚拟机中&#34; /&gt;&lt;h1 id=&#34;服务迁移至qemu记录&#34;&gt;服务迁移至QEMU记录&#xA;&lt;/h1&gt;&lt;p&gt;之前国补在狗东入手了&lt;strong&gt;Mac mini&lt;/strong&gt; 万兆丐版，想着我那&lt;strong&gt;n2920&lt;/strong&gt;的小主机也是时候该退休了。小主机是2019年买的，中途ssd坏过一次，万幸数据救回来了。虽然换了ssd，但是也不是新的ssd是从另一个设备上拆下来的。就怕二次出现故障，加上服役6年多了，配置也很低。所以索性就把服务全部都迁移到mac上。&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;CPU&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;Intel N2920&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;Memry&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;32G&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;Disk&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;西数1T（PMR的蓝盘，还算抗造）&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;OS&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;Ubuntu 24.04.2 LTS&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;现在最大的问题莫过于架构问题了，&lt;strong&gt;n2920&lt;/strong&gt;虽然性能拉跨，但是胜在&lt;strong&gt;x86_64&lt;/strong&gt;的指令集，很多软件跑起来都没有问题。但是如果要转&lt;strong&gt;qemu&lt;/strong&gt;虚拟化来跑的话，就要从&lt;strong&gt;x86_64&lt;/strong&gt;过渡到&lt;strong&gt;arm64&lt;/strong&gt;也就是&lt;strong&gt;aarch64&lt;/strong&gt;了。我表示很担心兼容性问题。但是问了一下GPT，他表示问题不大，完全可以迁移，大部分软件都有&lt;strong&gt;aarch64&lt;/strong&gt;版本，要是担心兼容性问题，可以用&lt;strong&gt;Rosetta 2&lt;/strong&gt;转译运行，但是会有部分性能损失。我表示 不怕兼容性问题，就怕不能榨干M4的所有性能，那就直接装&lt;strong&gt;aarch64&lt;/strong&gt;版本的系统吧！&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装qemu&#34;&gt;安装qemu&#xA;&lt;/h2&gt;&lt;p&gt;这个很简单！直接用brew安装就完事了，并且qemu官网也是推荐的brew安装的。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;brew install qemu&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;qemu创建虚拟化主机&#34;&gt;Qemu创建虚拟化主机&#xA;&lt;/h2&gt;&lt;h3 id=&#34;创建磁盘&#34;&gt;创建磁盘&#xA;&lt;/h3&gt;&lt;p&gt;在创建虚拟主机之前，需要创建一块虚拟磁盘给虚拟机用，大小就30G吧，毕竟是丐版，磁盘给太大，对我这256G的磁盘来说就不礼貌了。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;qemu-img create -f qcow2 ubuntu-arm64.qcow2 30G&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;下载ubuntu-iso镜像&#34;&gt;下载Ubuntu iso镜像&#xA;&lt;/h3&gt;&lt;p&gt;可以去 &lt;a class=&#34;link&#34; href=&#34;https://ubuntu.com/download/server/arm&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Ubuntu for Arm&lt;/a&gt; 官网下载镜像。我一般是不用&lt;strong&gt;GUI&lt;/strong&gt;的，就直接下载server版本了。如果要下载&lt;strong&gt;desktop&lt;/strong&gt;版本的，还需要配置&lt;strong&gt;VNC&lt;/strong&gt;，麻烦不说，页面可能会&lt;strong&gt;卡顿&lt;/strong&gt;。还不如我&lt;strong&gt;ssh&lt;/strong&gt;直接敲命令方便。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://cdimage.ubuntu.com/releases/24.04/release/ubuntu-24.04.2-live-server-arm64.iso&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;下载bootloader&#34;&gt;下载Bootloader&#xA;&lt;/h3&gt;&lt;p&gt;虽然不知道为什么要这个&lt;strong&gt;Bootloader&lt;/strong&gt;，但是不用就无法启动。按道理说&lt;strong&gt;qemu&lt;/strong&gt;应该是自带引导的，不管了，不求甚解，能用就行。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;wget https://releases.linaro.org/components/kernel/uefi-linaro/16.02/release/qemu64/QEMU_EFI.fd&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;启动虚拟机安装系统&#34;&gt;启动虚拟机安装系统&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;sudo qemu-system-aarch64 &lt;span class=&#34;se&#34;&gt;\&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-M virt &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#通用虚拟化平台，支持加速&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-accel hvf &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#虚拟化加速&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-cpu host &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#直接使用本机CPU&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-smp &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#分配2核心&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-m &lt;span class=&#34;m&#34;&gt;2048&lt;/span&gt; &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#2G内存足以&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-drive &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;virtio,file&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;./ubuntu-arm64.qcow2,format&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;qcow2 &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#使用刚刚创建的虚拟磁盘用作虚拟机的磁盘&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-cdrom ./ubuntu-24.04.2-live-server-arm64.iso &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#下载的arm64的Ubuntu镜像&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-boot d &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#从cdrom启动&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-bios ./QEMU_EFI.fd &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#引导文件&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-device virtio-gpu-pci &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#虽然不需要GUI，但是保不齐后续我想玩一下VNC呢&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-nographic &lt;span class=&#34;se&#34;&gt;\ &lt;/span&gt;&lt;span class=&#34;c1&#34;&gt;#无GUI模式，所有操作在terminal中完成&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-nic vmnet-bridged,ifname&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;en0,model&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;virtio-net-pci &lt;span class=&#34;c1&#34;&gt;#macos特有的桥接方式。ifname 为需要桥接的目的网络接入接口&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;安装系统&#34;&gt;安装系统&#xA;&lt;/h3&gt;&lt;p&gt;这个就没有什么好说的了，下一步，下一步，设置密码，装内核，重启就可以了。&lt;/p&gt;&#xA;&lt;h3 id=&#34;配合-tmux-一键自动运行&#34;&gt;配合 tmux 一键自动运行&#xA;&lt;/h3&gt;&lt;p&gt;其实也可以设置开机自动运行的，但是我没有设置，因为偶尔还会用mac和老婆玩玩&lt;strong&gt;星露谷&lt;/strong&gt;和&lt;strong&gt;我的世界&lt;/strong&gt;，那就需要运行的时候在手动启动一下吧。&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;23&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;24&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;25&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;26&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;cp&#34;&gt;#!/bin/bash&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;QEMU_CMD&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;sudo /opt/homebrew/bin/qemu-system-aarch64 \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-M virt \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-accel hvf \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-cpu host \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-smp 2 \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-m 2048 \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-drive if=virtio,file=/xxx/ubuntu-arm64.qcow2,format=qcow2 \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-boot d \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-bios /xxx/QEMU_EFI.fd \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-nographic \&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;-nic vmnet-bridged,ifname=en0,model=virtio-net-pci&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nv&#34;&gt;TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;o&#34;&gt;=&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;qemu&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 检查 tmux 会话是否已经在运行&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; ! /opt/homebrew/bin/tmux has-session -t &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; 2&amp;gt;/dev/null&lt;span class=&#34;p&#34;&gt;;&lt;/span&gt; &lt;span class=&#34;k&#34;&gt;then&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Starting new tmux session &amp;#39;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39; and running QEMU...&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# 启动 tmux 会话并在其中执行 QEMU 命令&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;c1&#34;&gt;# -d 确保 tmux 会话在创建后立即分离，不会阻塞启动进程&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    /opt/homebrew/bin/tmux new-session -s &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt; -d &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$QEMU_CMD&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;QEMU started in tmux session &amp;#39;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39;.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;else&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;    &lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;Tmux session &amp;#39;&lt;/span&gt;&lt;span class=&#34;nv&#34;&gt;$TMUX_SESSION_NAME&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#39; already exists. QEMU might be running.&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;k&#34;&gt;fi&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;服务迁移&#34;&gt;服务迁移&#xA;&lt;/h2&gt;&lt;p&gt;大部分服务都可以正常迁移到arm64环境下，go，java，nodejs，python这些都么有问题，我需要的nginx，tailscale，docker还有aria2c等都正常！&lt;/p&gt;&#xA;&lt;h2 id=&#34;总结&#34;&gt;总结&#xA;&lt;/h2&gt;&lt;p&gt;目前看来&lt;strong&gt;arm64&lt;/strong&gt;用作生产力也不是不行。qemu虚拟化出来的性能也还可以。留待以后慢慢使用感受吧！&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>Hackintosh Laptop 常见快捷键</title>
            <link>/p/hackintosh_laptop_hotkey/</link>
            <pubDate>Tue, 01 Jun 2021 20:32:07 +0000</pubDate>
            <guid>/p/hackintosh_laptop_hotkey/</guid>
            <description>&lt;img src=&#34;https://cn.bing.com/th?id=OHR.HinterseeRamsau_EN-CN5297881270_UHD.jpg&amp;pid=hp&amp;w=1080&amp;h=720&amp;rs=1&amp;c=4&#34; alt=&#34;Featured image of post Hackintosh Laptop 常见快捷键&#34; /&gt;&lt;h1 id=&#34;hackintosh-laptop-常见快捷键&#34;&gt;Hackintosh Laptop 常见快捷键&#xA;&lt;/h1&gt;&lt;p&gt;一般来说可以&lt;strong&gt;macOS&lt;/strong&gt;和&lt;strong&gt;Windows&lt;/strong&gt;对应键位参考下面的对照表即可&lt;/p&gt;&#xA;&lt;table&gt;&#xA;  &lt;thead&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;macOS&lt;/th&gt;&#xA;          &lt;th style=&#34;text-align: center&#34;&gt;Windows&lt;/th&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/thead&gt;&#xA;  &lt;tbody&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Command / ⌘&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;win&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Option / ⌥&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;alt&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Control / ⌃&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;ctrl&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;      &lt;tr&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;Shift / ⇧&lt;/strong&gt;&lt;/td&gt;&#xA;          &lt;td style=&#34;text-align: center&#34;&gt;&lt;strong&gt;shift&lt;/strong&gt;&lt;/td&gt;&#xA;      &lt;/tr&gt;&#xA;  &lt;/tbody&gt;&#xA;&lt;/table&gt;&#xA;&lt;p&gt;所有的通用快捷键加粗标记&lt;/p&gt;&#xA;&lt;h2 id=&#34;系统快捷键&#34;&gt;系统快捷键:&#xA;&lt;/h2&gt;&lt;p&gt;强制退出：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;esc&lt;/code&gt;&lt;/p&gt;&#xA;&#xA;    &lt;blockquote&gt;&#xA;        &lt;p&gt;对标Windows的任务管理器，但是简化到了只有强制退出功能&lt;/p&gt;&#xA;&#xA;    &lt;/blockquote&gt;&#xA;&lt;p&gt;切换桌面：&lt;code&gt;ctrl&lt;/code&gt; +  &lt;code&gt;◀︎&lt;/code&gt; / &lt;code&gt;▶︎&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;切换任务：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;tab&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;打开finder：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;t&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;连接samba：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;k&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;常见通用快捷键&#34;&gt;常见通用快捷键：&#xA;&lt;/h2&gt;&lt;p&gt;&lt;strong&gt;全选：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;a&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;复制字符：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;c&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;保存：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;s&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;粘贴字符：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;v&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;退出登陆：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;shift&lt;/code&gt; + &lt;code&gt;q&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;剪切字符：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;x&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;撤销操作：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;z&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;中断执行：&lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;c&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;行首：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;◀︎&lt;/code&gt; / &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;a&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;行尾：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;▶︎&lt;/code&gt;/ &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;e&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;页首：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;▲&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;页尾：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;▼&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;输入emoji：&lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;win&lt;/code&gt; + &lt;code&gt;space&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;删除选中：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;back&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;h2 id=&#34;常见软件快捷键&#34;&gt;常见软件快捷键&#xA;&lt;/h2&gt;&lt;h3 id=&#34;typora&#34;&gt;Typora&#xA;&lt;/h3&gt;&lt;p&gt;一级标题：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;二级标题：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;2&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;加粗：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;b&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;表格：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;t&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;斜体：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;i&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;代码：&lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;`&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;下划线：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;u&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;超链接：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;k&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;无需列表：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;u&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;有序列表：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;o&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;显示大纲：&lt;code&gt;win&lt;/code&gt; +  &lt;code&gt;shift&lt;/code&gt; +  &lt;code&gt;l&lt;/code&gt; / &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;win&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;代码块：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;c&lt;/code&gt; / 建议还是直接打 &lt;code&gt;```&lt;/code&gt; 或者 &lt;code&gt;~~~&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;分割线：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;-&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;目录生成：&lt;code&gt;[toc]&lt;/code&gt;&lt;/p&gt;&#xA;&lt;h3 id=&#34;safari--chrome&#34;&gt;Safari / Chrome&#xA;&lt;/h3&gt;&lt;p&gt;开发者模式：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;i&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;刷新网页：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;r&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;切换标签页：&lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;tab&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;进入/退出 全屏模式：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;f&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;显示/隐藏 状态栏：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;shift&lt;/code&gt; + &lt;code&gt;b&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;显示/隐藏 所有历史记录：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;y&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;打开收藏栏第一个：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;打开收藏栏第二个：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;2&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;在侧边栏打开收藏栏：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;1&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;在侧边栏打开稍后阅读：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;2&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;新建窗口：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;alt&lt;/code&gt; + &lt;code&gt;n&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;新建无痕窗口：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;shift&lt;/code&gt; + &lt;code&gt;n&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;新建标签页：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;t&lt;/code&gt; / &lt;code&gt;win&lt;/code&gt; + &lt;code&gt;n&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;关闭标签页：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;退出当前软件：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;q&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;打开软件偏好设置：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;,&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;放大视图：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;+&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;&lt;strong&gt;缩小视图：&lt;code&gt;win&lt;/code&gt; + &lt;code&gt;-&lt;/code&gt;&lt;/strong&gt;&lt;/p&gt;&#xA;</description>
        </item><item>
            <title>macOS设置brew安装的软件自启动</title>
            <link>/p/macos_brew_installed_app_auto_start_at_boot/</link>
            <pubDate>Mon, 22 Feb 2021 19:34:20 +0000</pubDate>
            <guid>/p/macos_brew_installed_app_auto_start_at_boot/</guid>
            <description>&lt;img src=&#34;https://cn.bing.com/th?id=OHR.TurfHouse_EN-CN2756398853_UHD.jpg&amp;pid=hp&amp;w=1080&amp;h=720&amp;rs=1&amp;c=4&#34; alt=&#34;Featured image of post macOS设置brew安装的软件自启动&#34; /&gt;&lt;h1 id=&#34;home-brew-简介&#34;&gt;Home-brew 简介&#xA;&lt;/h1&gt;&lt;p&gt;先介绍一下本篇文章的主角：&lt;strong&gt;&lt;a class=&#34;link&#34; href=&#34;https://brew.sh/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;Home-brew&lt;/a&gt;&lt;/strong&gt;，它是一款&lt;strong&gt;macOS&lt;/strong&gt;的软件包管理器，当然也同样适用于&lt;strong&gt;Linux&lt;/strong&gt;（不会真的有人 Linux 服务器用 brew 吧？）。&lt;/p&gt;&#xA;&lt;p&gt;它的官网上有关于 brew 非常详细的文档，大家可以自己去看看。介绍了以后就到了我们的安装环节了！&lt;/p&gt;&#xA;&lt;h2 id=&#34;安装-brew&#34;&gt;安装 Brew&#xA;&lt;/h2&gt;&lt;p&gt;安装 brew 非常的简单，就需要一条命令就可以了，当然大家 99% 会遇到网络问题，安装过程中建议最好用 v 要不然缓慢的到超时的网络会让你年轻漂亮有活力的 ?！&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;/bin/bash -c &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;brew-换源&#34;&gt;brew 换源&#xA;&lt;/h2&gt;&lt;p&gt;平时我们执行 brew 命令安装软件的时候，跟以下 3 个仓库地址有关：&lt;/p&gt;&#xA;&lt;ol&gt;&#xA;&lt;li&gt;brew.git&lt;/li&gt;&#xA;&lt;li&gt;homebrew-core.git&lt;/li&gt;&#xA;&lt;li&gt;homebrew-bottles&lt;/li&gt;&#xA;&lt;/ol&gt;&#xA;&lt;p&gt;通过以下操作将这 3 个仓库地址全部替换为 Alibaba 提供的地址&lt;/p&gt;&#xA;&lt;h3 id=&#34;替换--还原-brewgit-仓库地址&#34;&gt;替换 / 还原 brew.git 仓库地址&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 替换成阿里巴巴的 brew.git 仓库地址:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;brew --repo&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote set-url origin https://mirrors.aliyun.com/homebrew/brew.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#=======================================================&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 还原为官方提供的 brew.git 仓库地址&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;brew --repo&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote set-url origin https://github.com/Homebrew/brew.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;替换--还原-homebrew-coregit-仓库地址&#34;&gt;替换 / 还原 homebrew-core.git 仓库地址&#xA;&lt;/h3&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 替换成阿里巴巴的 homebrew-core.git 仓库地址:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;brew --repo&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/Library/Taps/homebrew/homebrew-core&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote set-url origin https://mirrors.aliyun.com/homebrew/homebrew-core.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#=======================================================&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 还原为官方提供的 homebrew-core.git 仓库地址&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;cd&lt;/span&gt; &lt;span class=&#34;s2&#34;&gt;&amp;#34;&lt;/span&gt;&lt;span class=&#34;k&#34;&gt;$(&lt;/span&gt;brew --repo&lt;span class=&#34;k&#34;&gt;)&lt;/span&gt;&lt;span class=&#34;s2&#34;&gt;/Library/Taps/homebrew/homebrew-core&amp;#34;&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;git remote set-url origin https://github.com/Homebrew/homebrew-core.git&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h3 id=&#34;替换--还原-homebrew-bottles-访问地址&#34;&gt;替换 / 还原 homebrew-bottles 访问地址&#xA;&lt;/h3&gt;&lt;p&gt;这个步骤跟你的 macOS 系统使用的 shell 版本有关系&lt;/p&gt;&#xA;&lt;p&gt;所以，先来查看当前使用的 shell 版本&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;nv&#34;&gt;$SHELL&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 如果你的输出结果是 /bin/zsh，参考?的 zsh 终端操作方式&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 如果你的输出结果是 /bin/bash，参考?的 bash 终端操作方式&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h4 id=&#34;zsh-终端操作方式&#34;&gt;zsh 终端操作方式&#xA;&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 替换成阿里巴巴的 homebrew-bottles 访问地址:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#=======================================================&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 还原为官方提供的 homebrew-bottles 访问地址&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 然后，删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.zshrc&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h4 id=&#34;bash-终端操作方式&#34;&gt;bash 终端操作方式&#xA;&lt;/h4&gt;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;8&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 替换 homebrew-bottles 访问 URL:&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;echo&lt;/span&gt; &lt;span class=&#34;s1&#34;&gt;&amp;#39;export HOMEBREW_BOTTLE_DOMAIN=https://mirrors.aliyun.com/homebrew/homebrew-bottles&amp;#39;&lt;/span&gt; &amp;gt;&amp;gt; ~/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;#=======================================================&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 还原为官方提供的 homebrew-bottles 访问地址&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;vi ~/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;# 然后，删除 HOMEBREW_BOTTLE_DOMAIN 这一行配置&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;nb&#34;&gt;source&lt;/span&gt; ~/.bash_profile&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;h2 id=&#34;安装软件&#34;&gt;安装软件&#xA;&lt;/h2&gt;&lt;p&gt;当我们已经配置好国内源时，我们就可以正式使用 brew 来安装一些软件了&lt;/p&gt;&#xA;&lt;p&gt;eg：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;11&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;12&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;13&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;14&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;15&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;16&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;17&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;18&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;19&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;20&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;21&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;22&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;JokerMBP L-🌵-轩-🍂-X ~ &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;812&lt;/span&gt; ◯ : brew install nginx                                                ⏎ &lt;span class=&#34;o&#34;&gt;[&lt;/span&gt;~&lt;span class=&#34;o&#34;&gt;]&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; Downloading https://mirrors.tuna.tsinghua.edu.cn/homebrew-bottles/bottles/ng&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; Downloading from https://d29vzk4ow07wi7.cloudfront.net/9deda8734db308f21e3c8&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;c1&#34;&gt;######################################################################## 100.0%&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; Pouring nginx-1.19.5.big_sur.bottle.tar.gz&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; Caveats&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Docroot is: /usr/local/var/www&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;The default port has been &lt;span class=&#34;nb&#34;&gt;set&lt;/span&gt; in /usr/local/etc/nginx/nginx.conf to &lt;span class=&#34;m&#34;&gt;8080&lt;/span&gt; so that&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx can run without sudo.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;nginx will load all files in /usr/local/etc/nginx/servers/.&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;To have launchd start nginx now and restart at login:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  brew services start nginx&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Or, &lt;span class=&#34;k&#34;&gt;if&lt;/span&gt; you don&lt;span class=&#34;err&#34;&gt;&amp;#39;&lt;/span&gt;t want/need a background service you can just run:&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;  &lt;span class=&#34;nv&#34;&gt;nginx&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; Summary&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;🍺  /usr/local/Cellar/nginx/1.19.5: &lt;span class=&#34;m&#34;&gt;25&lt;/span&gt; files, 2.2MB&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;o&#34;&gt;==&lt;/span&gt;&amp;gt; &lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt;brew cleanup&lt;span class=&#34;sb&#34;&gt;`&lt;/span&gt; has not been run in &lt;span class=&#34;m&#34;&gt;30&lt;/span&gt; days, running now...&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;Pruned &lt;span class=&#34;m&#34;&gt;0&lt;/span&gt; symbolic links and &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; directories from /usr/local&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;可以看到在安装完成后 brew 给了我们很多有用的信息&lt;/p&gt;&#xA;&lt;p&gt;我先来总结一下：&lt;/p&gt;&#xA;&lt;p&gt;1：&lt;strong&gt;Docroot is: /usr/local/var/www&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;默认文档位置在 &lt;strong&gt;/usr/local/var/www&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;2：&lt;strong&gt;The default port has been set in /usr/local/etc/nginx/nginx.conf to 8080&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;你丫的没有用&lt;strong&gt;sudo&lt;/strong&gt;安装，我只能把默认端口给设置为 8080，你丫要是想改默认端口就要修改 &lt;strong&gt;/usr/local/etc/nginx/nginx.conf&lt;/strong&gt;里的配置&lt;/p&gt;&#xA;&lt;p&gt;3：&lt;strong&gt;To have launchd start nginx now and restart at login: brew services start nginx&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;你小子要想让 nginx 开机自启动就要运行： &lt;code&gt;brew services start nginx&lt;/code&gt;&lt;/p&gt;&#xA;&lt;p&gt;4：&lt;strong&gt;if you don&amp;rsquo;t want/need a background service you can just run: nginx&lt;/strong&gt;&lt;/p&gt;&#xA;&lt;p&gt;你小子 &lt;del&gt;要死&lt;/del&gt; 要是想让 nginx 不开机自启动，直接运行命令： &lt;code&gt;nginx&lt;/code&gt; 就可以了。&lt;/p&gt;&#xA;&lt;p&gt;就这一小段话，如果你没有注意，或者直接忽略了，那你可能在以后的使用过程中就会遇到很多的麻烦事！而且百度还可能找不到问题的答案！所以我就建议大家在安装完软件以后留意一下这个&lt;strong&gt;Tips&lt;/strong&gt;。&lt;/p&gt;&#xA;&lt;h2 id=&#34;设置软件开机自启&#34;&gt;设置软件开机自启&#xA;&lt;/h2&gt;&lt;p&gt;既然 brew 可以设置开机自启动那这篇文章还有啥意义？&lt;/p&gt;&#xA;&lt;p&gt;其实只是想让大家了解 macOS 开机自启的原理而已&lt;/p&gt;&#xA;&lt;p&gt;现在大家应该都知道了 brew 安装软件的具体位置了，没错就是在 &lt;code&gt;/usr/local/Cellar&lt;/code&gt; 文件夹下面，比如说我安装的 nginx 就在 &lt;code&gt;/usr/local/Cellar/nginx/&lt;/code&gt; 下面。我们不妨看看文件夹里面有啥：&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt; 1&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 2&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 3&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 4&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 5&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 6&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 7&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 8&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt; 9&#xA;&lt;/span&gt;&lt;span class=&#34;lnt&#34;&gt;10&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;JokerMBP L-?-轩-?-X /usr/local/Cellar/nginx &#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;&lt;span class=&#34;m&#34;&gt;978&lt;/span&gt; ◯ : ls 1.19.5                                                                                                                                                                                                                       total &lt;span class=&#34;m&#34;&gt;640&lt;/span&gt;&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r--  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff   300K &lt;span class=&#34;m&#34;&gt;11&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; 23:06 CHANGES&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r--  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff   791B  &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;22&lt;/span&gt; 20:09 INSTALL_RECEIPT.json&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r--  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff   1.4K &lt;span class=&#34;m&#34;&gt;11&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; 23:06 LICENSE&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r--  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff    49B &lt;span class=&#34;m&#34;&gt;11&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; 23:06 README&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;drwxr-xr-x  &lt;span class=&#34;m&#34;&gt;3&lt;/span&gt; frelon  staff    96B &lt;span class=&#34;m&#34;&gt;11&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; 23:06 bin&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;-rw-r--r--  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff   571B  &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;22&lt;/span&gt; 20:09 homebrew.mxcl.nginx.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;lrwxr-xr-x  &lt;span class=&#34;m&#34;&gt;1&lt;/span&gt; frelon  staff    16B  &lt;span class=&#34;m&#34;&gt;2&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;22&lt;/span&gt; 20:09 html -&amp;gt; ../../../var/www&#xA;&lt;/span&gt;&lt;/span&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;drwxr-xr-x  &lt;span class=&#34;m&#34;&gt;4&lt;/span&gt; frelon  staff   128B &lt;span class=&#34;m&#34;&gt;11&lt;/span&gt; &lt;span class=&#34;m&#34;&gt;24&lt;/span&gt; 23:06 share&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;可以看到啊，哪里有一个显眼的 &lt;em&gt;.plist&lt;/em&gt; 结尾的文件，此时此刻我相信大家心里面肯定有答案了，开机自启动肯定和这个文件有着千丝万缕的关系。大家不要急哈，一步一步来！先把这个文件软连接到 &lt;code&gt;/Library/LaunchAgents/&lt;/code&gt; 目录下，然后就可以执行&lt;/p&gt;&#xA;&lt;div class=&#34;highlight&#34;&gt;&lt;div class=&#34;chroma&#34;&gt;&#xA;&lt;table class=&#34;lntable&#34;&gt;&lt;tr&gt;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code&gt;&lt;span class=&#34;lnt&#34;&gt;1&#xA;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&#xA;&lt;td class=&#34;lntd&#34;&gt;&#xA;&lt;pre tabindex=&#34;0&#34; class=&#34;chroma&#34;&gt;&lt;code class=&#34;language-sh&#34; data-lang=&#34;sh&#34;&gt;&lt;span class=&#34;line&#34;&gt;&lt;span class=&#34;cl&#34;&gt;launchctl load /Library/LaunchAgents/homebrew.mxcl.xxx.plist&#xA;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&#xA;&lt;/div&gt;&#xA;&lt;/div&gt;&lt;p&gt;此时此刻这个软件就可以开机自启了！要知道有一些小众软件并不能通过 brew 安装，我们只能手动编译安装，这个时候如果我们想要使它开机自启动怎么办？没有了 brew 是不是突然就不知所措了！其实这个 &lt;em&gt;.plist&lt;/em&gt; 文件我们自己也是可以手动编写的，我们再通过上面的步骤是不是就可以很容易的就让一个自己编译的软件开机自启动了。&lt;/p&gt;&#xA;&lt;p&gt;本文参考博客园用户：&lt;a class=&#34;link&#34; href=&#34;https://www.cnblogs.com/wuygblog/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;wygbbb&lt;/a&gt; &amp;amp; &lt;a class=&#34;link&#34; href=&#34;https://www.cnblogs.com/tulintao/&#34;  target=&#34;_blank&#34; rel=&#34;noopener&#34;&#xA;    &gt;tulintao&lt;/a&gt; 的文章而写，侵联删。&lt;/p&gt;&#xA;</description>
        </item></channel>
</rss>
