<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[JZ]]></title><description><![CDATA[Thoughts, stories and ideas.]]></description><link>https://blog.jacyzon.com/</link><generator>Ghost 0.11</generator><lastBuildDate>Sun, 12 Apr 2026 05:14:42 GMT</lastBuildDate><atom:link href="https://blog.jacyzon.com/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[實驗室網路架構]]></title><description><![CDATA[<p>維護實驗室 server 的工作告一段落，在交接前寫文件並紀錄實驗室的網路架構。</p>

<p>原本實驗室 server 是單一台 bare-metal PC 裝 Ubuntu Server 13.10，由於 13.10 不是LTS，當時已經沒有在維護了，許多安全性更新不能更新，並且在其中一次的升級就炸了直接 kernel panic，於是只好用 Live USB 開機然後 chroot 進原本的系統暫時提供服務。</p>

<p>同時找了另外一台電腦灌 VMWare ESXI 做虛擬化，並且慢慢把服務轉移到這台電腦，於是乎有了現在的架構。</p>

<h2 id="">主要系統</h2>

<p>現在的架構圖
<img src="https://s3.jacyzon.com/images/lab-network.png" alt=""></p>

<p>下層高度剛好是一台PC的高度，可以放一排像這樣，除了兩台主要的其他都是實驗用。
<img src="https://i.jacyzon.com/1200x,q60/lab-servers.jpg" alt="">
因為一般電腦沒有 IPMI 不能遠端操作，所以有些電腦屁股在前，接 KVM 比較方便。</p>

<h3 id="nas">NAS</h3>

<p>用 FreeNAS</p>]]></description><link>https://blog.jacyzon.com/lab-network-architecture/</link><guid isPermaLink="false">fdf54968-205d-42f0-8491-613d5642beb1</guid><category><![CDATA[SysAdmin]]></category><dc:creator><![CDATA[jz]]></dc:creator><pubDate>Tue, 28 Feb 2017 18:11:51 GMT</pubDate><media:content url="https://i.jacyzon.com/1200x,q60/lab-servers.jpg" medium="image"/><content:encoded><![CDATA[<img src="https://i.jacyzon.com/1200x,q60/lab-servers.jpg" alt="實驗室網路架構"><p>維護實驗室 server 的工作告一段落，在交接前寫文件並紀錄實驗室的網路架構。</p>

<p>原本實驗室 server 是單一台 bare-metal PC 裝 Ubuntu Server 13.10，由於 13.10 不是LTS，當時已經沒有在維護了，許多安全性更新不能更新，並且在其中一次的升級就炸了直接 kernel panic，於是只好用 Live USB 開機然後 chroot 進原本的系統暫時提供服務。</p>

<p>同時找了另外一台電腦灌 VMWare ESXI 做虛擬化，並且慢慢把服務轉移到這台電腦，於是乎有了現在的架構。</p>

<h2 id="">主要系統</h2>

<p>現在的架構圖
<img src="https://s3.jacyzon.com/images/lab-network.png" alt="實驗室網路架構"></p>

<p>下層高度剛好是一台PC的高度，可以放一排像這樣，除了兩台主要的其他都是實驗用。
<img src="https://i.jacyzon.com/1200x,q60/lab-servers.jpg" alt="實驗室網路架構">
因為一般電腦沒有 IPMI 不能遠端操作，所以有些電腦屁股在前，接 KVM 比較方便。</p>

<h3 id="nas">NAS</h3>

<p>用 FreeNAS 建構，兩顆硬碟做 RAIDZ1，提供 NFS 服務給 RancherOS，主要用於備份用以及提供空間作為 ownCloud 的資料區；另外也供給 SSH Server 掛載家目錄用。</p>

<p>每三小時快照，減少誤刪資料或中勒索病毒的風險。另每三天 Rsync 到另外一台小型 NAS 做 offsite backup。</p>

<h3 id="ups">UPS</h3>

<p>UPS 的部份透過在筆電的 UPS 軟體監控，若切換到電池供電超過三分鐘，呼叫關機腳本通知各 server 關機。</p>

<h3 id="firewall">Firewall</h3>

<p>pfSense 建置，兩台分別放在不同ESXI Host，CARP 虛擬出共用 IP 作為備援，VM 預設路由會走第一台 pfSense，若第一台掛掉，VM 對外流量會導向第二台。</p>

<p>另外，也提供 DNS 作為內部 VM 與 Public DNS，僅有內部網路開放 recursive 查詢。</p>

<h3 id="rancher">Rancher</h3>

<p>三台 RancherOS 作為放置 Docker container 的機器，Rancher Server 為 scheduler，負責指揮容器要開在那台 RancherOS 上。</p>

<h3 id="sshserver">SSH Server</h3>

<p>供實驗室成員使用，可以管理自己的家目錄與個人網頁。</p>

<h2 id="">容器部份</h2>

<h3 id="owncloud">ownCloud</h3>

<p>除了可以透過 Samba 對 NAS 存取，可以從 ownCloud 透過網頁的方式存取資料。</p>

<h3 id="joomla">Joomla</h3>

<p>實驗室網頁。</p>

<h3 id="ldap">LDAP</h3>

<p>帳號資訊放在 LDAP Server 上，統一帳號密碼管理。</p>

<h3 id="caddy">Caddy</h3>

<p>作 SSL termination 與 reverse proxy 之用，掛 Let's Encrypt 憑證。</p>

<h3 id="prometheus">Prometheus</h3>

<p>收集 NAS 與容器的 log，監控服務狀態。</p>

<h3 id="grafana">Grafana</h3>

<p>作為 Prometheus 的前端，視覺化呈現，並在有服務 outage 時寄 mail 通知管理者。
  可以達到像這樣的效果。</p>

<p><a href="https://s3.jacyzon.com/images/lab-grafana.png"><img src="https://i.jacyzon.com/360/lab-grafana.png" alt="實驗室網路架構" title=""></a></p>

<h3 id="galera">Galera</h3>

<p>Mariadb cluster，提供資料庫給各服務使用。</p>

<h3 id="gitserver">Git Server</h3>

<p>實驗室版控系統。</p>

<h3 id="dockerregistry">Docker Registry</h3>

<p>不想公開的 docker image 放在自己家。</p>

<h2 id="">結語</h2>

<p>目標是盡量的達到 "infrastructure as code "，容器的部份全部用 docker-compose 管理，VM 用 ansible 管理。</p>

<p>唯二沒有 infrastructure as code 的地方是 ESXI VM 的創建，這部份可以用
<a href="https://www.terraform.io">terraform</a> 管理。另外， pfSense 的設定雖然可以匯出，但重新匯入很難保證可以還原的回來，尤其是有安裝額外套件的情況，而且 pfSense 的設定相對不好版控。若以後有閒可以試試 <a href="https://vyos.io">VyOS</a> 搭配 ansible，取代現有的 pfSense。</p>]]></content:encoded></item><item><title><![CDATA[Archlinux 安裝教學-基礎系統]]></title><description><![CDATA[<p>最近換了SSD (其實好幾個月了.. 拖到現在才寫)，舊電腦是傳統的BIOS，新電腦變UEFI BIOS，需要調整一下分割區跟bootloader,
想說順便寫一下教學順便紀錄一下如何安裝Archlinux, BIOS boot + EFI 開機。</p>

<p>Archlinux 是使用 <a href="https://en.wikipedia.org/wiki/Rolling_release">Rolling Release</a> 機制的Linux 作業系統，沒有固定的 release 週期，只有 LiveCD 每月會更新一次，不像 Windows 或 Ubuntu 每更新大版本就要重灌一次電腦，作為一般的工作機我認為是很適合的。</p>

<p>另外喜歡的一點是 Archlinux 不會給你多餘的，所有東西都是盡量跟 upstream 一致，
不太會在 package repository 做多餘的更改，因為什麽東西都要自己設定，對於如何運作會有比較清楚的了解，
不會說，安裝系統就下一步下一步就裝好了，不知道爲什麽就 work 了。對於 Linux 有點熱情的話可以嘗試看看，</p>]]></description><link>https://blog.jacyzon.com/archlinux-installation-tutorial-part1/</link><guid isPermaLink="false">dad53104-9551-4b32-83da-e48d590a39af</guid><category><![CDATA[OS]]></category><dc:creator><![CDATA[jz]]></dc:creator><pubDate>Thu, 29 Oct 2015 15:51:00 GMT</pubDate><content:encoded><![CDATA[<p>最近換了SSD (其實好幾個月了.. 拖到現在才寫)，舊電腦是傳統的BIOS，新電腦變UEFI BIOS，需要調整一下分割區跟bootloader,
想說順便寫一下教學順便紀錄一下如何安裝Archlinux, BIOS boot + EFI 開機。</p>

<p>Archlinux 是使用 <a href="https://en.wikipedia.org/wiki/Rolling_release">Rolling Release</a> 機制的Linux 作業系統，沒有固定的 release 週期，只有 LiveCD 每月會更新一次，不像 Windows 或 Ubuntu 每更新大版本就要重灌一次電腦，作為一般的工作機我認為是很適合的。</p>

<p>另外喜歡的一點是 Archlinux 不會給你多餘的，所有東西都是盡量跟 upstream 一致，
不太會在 package repository 做多餘的更改，因為什麽東西都要自己設定，對於如何運作會有比較清楚的了解，
不會說，安裝系統就下一步下一步就裝好了，不知道爲什麽就 work 了。對於 Linux 有點熱情的話可以嘗試看看，對於電腦系統的運作會有比較好的了解。</p>

<p>如果你是初學者、一般使用者，或是本來就很了解 Linux 系統，那些瑣碎的安裝與設定流程不是你喜歡或想要的，
這邊推薦幾個我覺得不錯的發行版 ( 當然每個 distro 我都愛但沒用過總不敢亂說 )</p>

<ul>
<li><a href="https://www.debian.org">Debian</a></li>
<li><a href="http://xubuntu.org">Xubuntu</a></li>
<li><a href="https://manjaro.github.io">Manjaro</a></li>
<li><a href="https://www.opensuse.org">Opensuse</a></li>
</ul>

<p>在進入 Archlinux 的奇幻旅程之前，<a href="https://wiki.archlinux.org">Archlinux Wiki</a> 是平常常會查閱的文件，大概是我目前看到維護最好的 Linux Wiki, 很多教學或問題都可以在 Wiki 找到，必讀。</p>

<p>雖然有時候還是會發現：很好很詳細，還是不知道怎麽做 哈哈哈。</p>

<p>----------- 我是分割線 -----------</p>

<p><em>* 進入正題 *</em> <del>前面廢話太多</del></p>

<p>首先先去官網下載 <a href="https://www.archlinux.org/download/">Live CD</a>, 不論是用燒錄光碟或是用<a href="https://wiki.archlinux.org/index.php/USB_flash_installation_media"> USB 隨身碟</a></p>

<h1 id="step1">Step 1 分割硬碟</h1>

<p>我用兩顆硬碟做示範，之後會格式化，<strong>資料會不見</strong>，如果你是用舊電腦記得先備份啊，或是在 VM 底下操作。
這裡有 <code>sda 64G</code>，作為系統。</p>

<p>我們可以用 lsblk 列出所有 block devices。</p>

<p>gdisk 是硬碟分割工具，與 fdisk 的區別是支援 GPT 分割表。 <br>
我們先處理第一顆硬碟。</p>

<pre><code class="language-bash">gdisk /dev/sda  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_sda.png" alt="gdisk sda"></p>

<p><code>p</code> 來列出現有的分割區，目前是空的。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_p.png" alt="gdisk p"></p>

<h2 id="biosbootpartition">BIOS boot partition</h2>

<p>為了讓 Grub 能在 Legacy BIOS 開機，需要新增一個 BIOS boot partition。</p>

<p><code>n</code> 來新增一個分割區。</p>

<ul>
<li>Partition number: (預設, 直接enter)</li>
<li>First sector: (預設, 直接enter)</li>
<li>Last sector: +1M</li>
<li>Partition type: ef02。</li>
</ul>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_bios_boot_partition.png" alt="gdisk bios boot"></p>

<p>再次用 p 來檢查分割區。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_bios_boot_partition_p.png" alt="gdisk bios boot p"></p>

<h2 id="bootpartition">Boot partition</h2>

<ul>
<li>Partition number: (預設, 直接enter)</li>
<li>First sector: (預設, 直接enter)</li>
<li>Last sector: +100M</li>
<li>Partition type: (預設, 直接enter)。</li>
</ul>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_boot_partition.png" alt="gdisk boot"></p>

<p>再次用 p 來檢查分割區。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_boot_partition_p.png" alt="gdisk boot p"></p>

<h2 id="swappartition">Swap partition</h2>

<ul>
<li>Partition number: (預設, 直接enter)</li>
<li>First sector: (預設, 直接enter)</li>
<li>Last sector: +4096M</li>
<li>Partition type: 8200 (Linux swap)。</li>
</ul>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_swap_partition.png" alt="gdisk swap"></p>

<p>關於 swap partition 到底要分割多大，參考 Rat Hat 手冊 <a href="https://access.redhat.com/documentation/en-US/Red_Hat_Enterprise_Linux/7/html/Installation_Guide/sect-disk-partitioning-setup-x86.html">Recommended System Swap Space</a></p>

<div class="markdown">  
| Amount of RAM in the system |    Recommended swap space | Recommended swap space if allowing for hibernation |
| ------------- |:-------------:| -----:|
| less than 2 GB | 2 times the amount of RAM | 3 times the amount of RAM |
| 2 GB - 8 GB | Equal to the amount of RAM | 2 times the amount of RAM |
| 8 GB - 64 GB | 0.5 times the amount of RAM | 1.5 times the amount of RAM |
| more than 64 GB | workload dependent | hibernation not recommended |
</div>

<blockquote>
  <p>如果想要使用休眠功能，swap partition 必須大於實體 RAM 大小。</p>
</blockquote>

<p>再次用<code>p</code>列出分割表狀態</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_swap_partition_p.png" alt="gdisk swap p"></p>

<h2 id="rootpartition">Root partition</h2>

<p>剩餘的空間我們分割作為跟目錄使用</p>

<ul>
<li>Partition number: (預設, 直接enter)</li>
<li>First sector: (預設, 直接enter)</li>
<li>Last sector: (預設, 直接enter)</li>
<li>Partition type: (預設, 直接enter)</li>
</ul>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_root_partition.png" alt="gdisk root"></p>

<p>再次用<code>p</code>列出分割表狀態</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_root_partition_p.png" alt="gdisk root p"></p>

<p>最終我們按<code>w</code>將分割表寫入硬碟</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/gdisk_sda_w.png" alt="gdisk sda w"></p>

<hr>

<h1 id="step2">Step 2 格式化</h1>

<h2 id="bootpartition">Boot partition</h2>

<p>建議格式化為Fat 32，被比較多的 UEFI BIOS 與 Bootloader 支援。</p>

<pre><code class="language-bash">mkfs.vfat -F 32 /dev/sda2  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mkfs_vfat_boot_partition.png" alt="mkfs vfat boot partition"></p>

<h2 id="swappartitin">Swap partitin</h2>

<pre><code class="language-bash">mkswap /dev/sda3  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mkswap.png" alt="mkswap"></p>

<h2 id="rootfilesystem">Root file system</h2>

<pre><code class="language-bash">mkfs.btrfs /dev/sda4  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mkfs_btrfs_root_partition.png" alt="mkfs btrfs root partition"></p>

<hr>

<h1 id="step3">Step 3 安裝</h1>

<p>在安裝前必須先將檔案系統掛載進來，chroot 之後才可以安裝。</p>

<h2 id="mountfilesystem">Mount file system</h2>

<p>掛載 Root file system</p>

<pre><code class="language-bash">mount /dev/sda4 /mnt  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mount_root.png" alt="mount root"></p>

<p>掛載 Boot partition</p>

<pre><code class="language-bash">mkdir /mnt/boot  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mkdir_boot.png" alt="mkdir boot"></p>

<pre><code class="language-bash">mount /dev/sda2 /mnt/boot  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mount_boot.png" alt="mount boot"></p>

<p>掛載 Swap partition</p>

<pre><code class="language-bash">swapon /dev/sda3  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/swapon.png" alt="swapon"></p>

<h2 id="mirrorlistranking">Mirror List Ranking</h2>

<p>在安裝前先利用<code>rankmirrors</code>工具來排序比較快的站點。
在排序前先複製一份 mirrorlist，因為等一下會被覆蓋掉，再註解掉不想加入的站點(可選)，便可開始排序。</p>

<pre><code class="language-bash">cp /etc/pacman.d/mirrorlist /etc/pacman.d/mirrorlist.bak  
rankmirrors -n 5 /etc/pacman.d/mirrorlist.bak &gt; /etc/pacman.d/mirrorlist  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/rankmirrors.png" alt="rankmirrors"></p>

<h2 id="installbasesystem">Install Base System</h2>

<p>安裝基本的 base 和 base-devel packages，base-devel 包含了基本的編譯工具。</p>

<pre><code class="language-bash">pacstrap -i /mnt base base-devel  
</code></pre>

<p>按 Enter 安裝所有的軟體。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/pacstrap.png" alt="pacstrap"></p>

<h2 id="generatefstab">Generate fstab</h2>

<p><code>/etc/fstab</code> 這個檔案設定了 Linux 系統開機需要掛載哪些檔案系統，使用<code>genfstab</code> 可以自動產生。</p>

<p><code>-U</code> 的參數是表示使用 UUID 作為分割區的識別碼，不會有因為換了排線接線順序導致代號變動的情況。</p>

<pre><code class="language-bash">genfatab -U -p /mnt &gt;&gt; /mnt/etc/fstab  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/genfstab.png" alt="genfstab"></p>

<blockquote>
  <p>如果使用 SSD ，建議可以在產生之後再編輯 <code>/etc/fstab</code> ，在 SSD 的分割區多加 <code>discard</code> 與 <code>noatime</code> 這些參數。
  <code>discard</code> 參數會在檔案被刪除之後真的實際抹除檔案，因為在 SSD ，寫入檔案時必須先將先前資料清空。
  傳統 Hard Drive 刪除檔案只是將檔案標記為可刪除的狀態，詳見 <a href="https://en.wikipedia.org/wiki/Trim_%28computing%29">Trim</a>。
  <code>noatime</code> 則是不記錄檔案讀取時間。以上兩個設定，對 SSD 的效能都有幫助。
  關於 <code>atime</code>,<code>noatime</code>, <code>relatime</code> 詳見 <a href="https://wiki.archlinux.org/index.php/Fstab#atime_options">fstab</a> 與 <a href="https://wiki.archlinux.org/index.php/Solid_State_Drives">Solid State Drives</a>。</p>
</blockquote>

<h2 id="chroot">Chroot</h2>

<p>Chroot到掛載的檔案系統裡面使用root身分來繼續安裝系統， <br>
chroot 之後就很像進到了要安裝的系統裡面，雖然我們現在是用Live CD。</p>

<pre><code class="language-bash">arch-root /mnt /bin/bash  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/chroot.png" alt="chroot"></p>

<h2 id="locale">Locale</h2>

<p>編輯語系設定檔，編輯 <code>/etc/locale.gen</code>，將 <code>zh_TW.UTF-8 UTF-8</code> 與 <code>en_US.UTF-8 UTF-8</code> 取消註解。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/locale.png" alt="locale"></p>

<p><strong>產生語系檔</strong></p>

<pre><code class="language-bash">locale-gen  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/locale_gen.png" alt="locale gen"></p>

<p><strong>設定預設語系</strong></p>

<pre><code class="language-bash">echo "LANG=en_US.UTF-8" &gt; /etc/locale.conf  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/default_locale.png" alt="default locale"></p>

<blockquote>
  <p>建議可以用英文作為預設語系，這樣在無 GUI 介面下的 terminal 時才不會有中文字型問題，
  真正的語系可以往後在 <code>.xinitrc</code> 設定。</p>
</blockquote>

<h2 id="timezoneclock">Timezone &amp; Clock</h2>

<p>設定時區</p>

<pre><code class="language-bash">ln -s /usr/share/zoneinfo/Asia/Taipei /etc/localtime  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/timezone.png" alt="timezone"></p>

<p>同步 Hardware clock</p>

<pre><code class="language-bash">hwclock --systohc --utc  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/hwclock.png" alt="hwclock"></p>

<blockquote>
  <p>如果你是灌雙系統 (Linux/Windows)，可能會遇到 Windows 用 localtime 非 UTC 的問題，
  詳見 <a href="https://wiki.archlinux.org/index.php/Time#UTC_in_Windows">UTC<em>in</em>Windows</a></p>
</blockquote>

<h2 id="initfilesystem">Init File System</h2>

<pre><code class="language-bash">mkinitcpio -p linux  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/mkramfs.png" alt="mkramfs"></p>

<h2 id="bootloadergrub">Bootloader (Grub)</h2>

<pre><code class="language-bash">pacman -S grub efibootmgr  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/install_grub.png" alt="install grub">
<img src="https://s3.jacyzon.com/images/archlinux-part-1/install_efibootmgr.png" alt="install efibootmgr"></p>

<p>安裝 grub bootloader for EFI</p>

<pre><code class="language-bash">grub-install --target=x86_64-efi --efi-directory=/boot --bootloader-id=arch --recheck  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/grub_install.png" alt="grub install"></p>

<p>安裝 grub bootloader for MBR boot</p>

<pre><code class="language-bash">grub-install --target=i386-pc --recheck /dev/sda  
</code></pre>

<p>產生 grub 設定檔</p>

<pre><code class="language-bash">grub-mkconfig -o /boot/grub/grub.cfg  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/grub_mkconfig.png" alt="grub mkconfig"></p>

<h2 id="hostname">Hostname</h2>

<p>設定主機名稱</p>

<pre><code class="language-bash">echo "YOUR-HOSTNAME" &gt; /etc/hostname  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/hostname.png" alt="hostname"></p>

<p>編輯 <code>/etc/hosts</code> 讓剛剛設定的主機名稱可以被解析到自己電腦。</p>

<h2 id="pacmansetting">Pacman setting</h2>

<p>編輯 pacman 設定檔，開啟 multilib。</p>

<blockquote>
  <p>multilib 允許 64 位元系統可以安裝 32 位元的 library 。</p>
</blockquote>

<p>增加以下設定檔，以便安裝 yaourt，
將來想要安裝 AUR (Arch User Repository) 的套件(非官方)，可以用 yaourt 存取。</p>

<pre><code class="language-bash">vi /etc/pacman.conf  
</code></pre>

<pre><code>[archlinuxfr]
SigLevel = Optional TrustAll  
Server = http://repo.archlinux.fr/$arch  
</code></pre>

<p>安裝 yaourt</p>

<pre><code class="language-bash">pacman -S yaourt  
</code></pre>

<h2 id="setupuserchangepassword">Setup User &amp; Change Password</h2>

<p>變更 root 密碼</p>

<pre><code class="language-bash">passwd  
</code></pre>

<p>新增系統管理者並增加至 sudo list</p>

<pre><code class="language-bash">useradd YOUR-USER-NAME -d /home/YOUR-USER-NAME -s /bin/bash  
mkhomedir_helper YOUR-USER-NAME  
passwd YOUR-USER-NAME  
sudoedit /etc/sudoers  
</code></pre>

<p>新增以下</p>

<pre><code>YOUR-USER-NAME ALL=(ALL) ALL  
</code></pre>

<hr>

<h1 id="step4">Step 4 第一次的重開機</h1>

<h2 id="reboot">Reboot</h2>

<p>做到此步驟，可以進行第一次的重開機，使用新安裝好的系統開機，以剛剛建立的系統管理者身份登入。</p>

<p>退出 chroot 環境</p>

<pre><code class="language-bash">exit  
</code></pre>

<blockquote>
  <p>也可以使用 Ctrl-D 退出</p>
</blockquote>

<p>卸載掛上的分割區</p>

<pre><code class="language-bash">umount -R /mnt  
</code></pre>

<p>重開機</p>

<pre><code class="language-bash">sync &amp;&amp; reboot  
</code></pre>

<h2 id="networksetup">Network Setup</h2>

<p>以新使用者登入。</p>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/first_login.png" alt="first login"></p>

<p>看一下網路卡設定，待會要設定 DHCP ，由此可得網路卡名稱是 <code>enp0s3</code></p>

<pre><code class="language-bash">ip link  
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/iplink.png" alt="iplink"></p>

<p>啟用 DHCP 服務，使用 <code>enp0s3</code> 這張網卡。</p>

<pre><code class="language-bash">$ sudo systemctl enable dhcpd@enp0s3.service
</code></pre>

<p>開啟服務</p>

<pre><code class="language-bash">$ sudo systemctl start dhcpd@enp0s3.service
</code></pre>

<p>檢查狀態</p>

<pre><code class="language-bash">$ sudo systemctl status dhcpd@enp0s3.servce
</code></pre>

<p><img src="https://s3.jacyzon.com/images/archlinux-part-1/dhcp_service.png" alt="dhcp service"></p>

<p>ping google 看看</p>

<pre><code class="language-bash">$ ping google.com
</code></pre>

<p>網路通了！</p>

<p>----------- 我是分割線 -----------</p>

<p>Part 1 到這裡一段落，接下來 Part 2 會設定 xfce4 桌面環境。</p>]]></content:encoded></item></channel></rss>