{"componentChunkName":"component---src-templates-blog-post-js","path":"/simplified-installation-steps-for-archlinux/","result":{"data":{"site":{"siteMetadata":{"title":"星雨之夜"}},"markdownRemark":{"id":"d8476d8f-f316-5ad7-af0f-0bc337abe6c2","excerpt":"昨天下午摸鱼的时候心血来潮，在 Virtual Box 中安装了一遍 Arch Linux。很久以前虽然也装过，还是带 X 的，但是这回装个不带 X 的居然还碰到了一堆坑。于是整理出一份精简版的安装步骤，供后来者（包括健忘的自己）参考，少走弯路。 一、安装准备 将 Arch Linux…","html":"<p>昨天下午<del>摸鱼</del>的时候心血来潮，在 Virtual Box 中安装了一遍 Arch Linux。很久以前虽然也装过，还是带 X 的，但是这回装个不带 X 的居然还碰到了一堆坑。于是整理出一份精简版的安装步骤，供后来者（包括健忘的自己）参考，少走弯路。</p>\n<h2>一、安装准备</h2>\n<p>将 Arch Linux 镜像作为介质导入新建的 Virtual Box 虚拟机，启动进入镜像系统，此步详情略去不表。</p>\n<h3>确保联网</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">ping</span> google.com</code></pre></div>\n<p>连不上的话暂时就不用往下看了。</p>\n<h3>更新系统时间</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">timedatectl set-ntp <span class=\"token boolean\">true</span></code></pre></div>\n<h3>建立硬盘分区</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">fdisk</span> /dev/sda</code></pre></div>\n<p>进入 <a href=\"https://wiki.archlinux.org/index.php/Fdisk\">fdisk</a> 之后：</p>\n<ol>\n<li><code class=\"language-text\">n</code></li>\n<li><code class=\"language-text\">p</code></li>\n<li>默认全部按回车</li>\n<li><code class=\"language-text\">w</code></li>\n</ol>\n<p>以上步骤是把 <code class=\"language-text\">/dev/sda</code> 分为只带一个 <code class=\"language-text\">/dev/sda1</code> 分区的磁盘。</p>\n<h3>格式化分区</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">mkfs.ext4 /dev/sda1</code></pre></div>\n<h3>挂载分区</h3>\n<p>将根分区挂载到 <code class=\"language-text\">/mnt</code>：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">mount</span> /dev/sda1 /mnt</code></pre></div>\n<h2>二、安装</h2>\n<h3>选择镜像</h3>\n<p>编辑 <code class=\"language-text\">/etc/pacman.d/mirrorlist</code>，大陆用户最好找标识为 <code class=\"language-text\">China</code> 的镜像地址，选一个把它放到第一行。比如：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token comment\"># 中国科学技术大学开源软件镜像</span>\nServer <span class=\"token operator\">=</span> http://mirrors.ustc.edu.cn/archlinux/<span class=\"token variable\">$repo</span>/os/<span class=\"token variable\">$arch</span></code></pre></div>\n<h3>安装基本系统</h3>\n<p>安装 <code class=\"language-text\">base</code> 和 <code class=\"language-text\">base-devel</code> 组中的内容到 <code class=\"language-text\">/mnt</code>：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">pacstrap -i /mnt base base-devel</code></pre></div>\n<h2>三、配置系统</h2>\n<h3>fstab</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">genfstab -U /mnt <span class=\"token operator\">>></span> /mnt/etc/fstab</code></pre></div>\n<h3>chroot</h3>\n<p>“change root”，切换到新安装的系统：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">arch-chroot /mnt</code></pre></div>\n<h3>设置时区</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">ln</span> -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime\nhwclock --systohc</code></pre></div>\n<h3>本地化</h3>\n<p>编辑 <code class=\"language-text\">/etc/locale.gen</code>，找到下面几行取消注释（zh_CN 可以不用）：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">en_US.UTF-8 UTF-8\nzh_CN.UTF-8 UTF-8</code></pre></div>\n<p>保存退出后执行下方命令生成 locale 信息：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">locale-gen</code></pre></div>\n<p>创建 <code class=\"language-text\">/etc/locale.conf</code>，添加默认 <code class=\"language-text\">LANG</code> 信息：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token assign-left variable\"><span class=\"token environment constant\">LANG</span></span><span class=\"token operator\">=</span>en_US.UTF-8</code></pre></div>\n<h3>主机名</h3>\n<p>创建 <code class=\"language-text\">/etc/hostname</code>，选定一个主机名比如 <code class=\"language-text\">myhostname</code>：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">myhostname</code></pre></div>\n<p>编辑 <code class=\"language-text\">/etc/hosts</code>，添加对应信息：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\"><span class=\"token number\">127.0</span>.0.1\t localhost\n::1\t\t     localhost\n<span class=\"token number\">127.0</span>.1.1\t myhostname.localdomain\tmyhostname</code></pre></div>\n<h3>网络配置</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">systemctl start dhcpcd\nsystemctl <span class=\"token builtin class-name\">enable</span> dhcpcd</code></pre></div>\n<h3>Root 密码</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">passwd</span></code></pre></div>\n<h3>安装引导程序</h3>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">pacman -S grub\ngrub-install --target<span class=\"token operator\">=</span>i386-pc /dev/sda\n<span class=\"token function\">grub-mkconfig</span> -o /boot/grub/grub.cfg</code></pre></div>\n<h2>四、重启</h2>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token builtin class-name\">exit</span>\n<span class=\"token function\">umount</span> -R /mnt\n<span class=\"token function\">shutdown</span> -h now</code></pre></div>\n<p>从介质中移除镜像，重启虚拟机，进入引导界面，默认选择第一个选项。</p>\n<p>至此我们的安装工作已经全部完成，并已登录为 <code class=\"language-text\">root</code> 用户。</p>\n<h2>五、收尾</h2>\n<h3>创建用户</h3>\n<p>新建一个名为 <code class=\"language-text\">newuser</code> 的用户，并以 <code class=\"language-text\">zsh</code> 作为默认 shell：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">useradd</span> -m -g <span class=\"token function\">users</span> -G wheel -s /bin/zsh newuser</code></pre></div>\n<p>设置密码：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\"><span class=\"token function\">passwd</span> newuser</code></pre></div>\n<p>编辑 <code class=\"language-text\">/etc/sudoers</code>，取消注释下面这行：</p>\n<div class=\"gatsby-highlight\" data-language=\"shell\"><pre class=\"language-shell\"><code class=\"language-shell\">%wheel <span class=\"token assign-left variable\">ALL</span><span class=\"token operator\">=</span><span class=\"token punctuation\">(</span>ALL<span class=\"token punctuation\">)</span> ALL</code></pre></div>\n<p>之后进入系统就可以使用 <code class=\"language-text\">newuser</code> 登录啦，并配合 <code class=\"language-text\">sudo</code> 提权。</p>\n<h3>滚动更新</h3>\n<p>Arch Linux 怎么能少了更新呢，马上滚一发 🎉 ：</p>\n<div class=\"gatsby-highlight\" data-language=\"bash\"><pre class=\"language-bash\"><code class=\"language-bash\">pacman -Syu</code></pre></div>\n<p>其实已经是最新了（。</p>\n<h2>六、注意事项</h2>\n<ol>\n<li>新系统默认没有 <code class=\"language-text\">vim</code>，所以 <code class=\"language-text\">chroot</code> 之后需要先安装它，或者暂时使用 <code class=\"language-text\">nano</code>；</li>\n<li>官方文档最靠谱；</li>\n</ol>\n<h2>七、参考链接</h2>\n<ol>\n<li><a href=\"https://wiki.archlinux.org/index.php/Installation_guide\">Installation guide</a></li>\n<li><a href=\"https://wiki.archlinux.org/index.php/fdisk\">fdisk</a></li>\n<li><a href=\"https://wiki.archlinux.org/index.php/GRUB\">GRUB</a></li>\n<li><a href=\"https://wiki.archlinux.org/index.php/General_recommendations\">General recommendations</a></li>\n</ol>","frontmatter":{"title":"Arch Linux 的简化版安装步骤整理","date":"2018 年 10 月 25 日","description":"本文整理了在虚拟机里安装 Arch Linux 的步骤，简单到基本上只要按照命令一条一条跑就可以了。"}}},"pageContext":{"slug":"/simplified-installation-steps-for-archlinux/","previous":{"fields":{"slug":"/how-to-create-a-reverse-proxy-for-wechat-dev/"},"frontmatter":{"title":"如何为微信开发建立本地反向代理"}},"next":{"fields":{"slug":"/the-little-schemer-summary-1/"},"frontmatter":{"title":"The Little Schemer 知识点整理（一）：玩具总动员"}}}}}