iT邦幫忙

2023 iThome 鐵人賽

DAY 27
0

前言
雖然在虛擬機安裝Linux很方便且不會影響現有檔案,但對我來說如果沒有在實體機安裝就不算用過Linux(加上我的筆電剛好要重灌),所以這幾天我將會講如何在實體機安裝Arch Linux。
至於選擇Arch Linux有以下原因

  1. 自由地建構你自己的電腦作業系統。
  2. 採取滾動更新模式,意味著你可以獲得最新的系統、核心和軟體版本。
  3. 必須自己打指令安裝和設定每個元件,可以更好了解Linux是如何運作

    除非你是用archinstall或其他圖形化介面安裝

  4. [Arch Wiki(https://wiki.archlinux.org/)提供非常豐富和完善的社群文檔
  5. Arch Linux有一個龐大的軟體庫,以及一個由使用者貢獻的軟體平台,(Arch User Repository,簡稱AUR。這些地方可以讓你找到幾乎任何你想要的軟體,而且安裝起來非常方便。
  6. 可以跟別人炫耀自己用Arch Linux (BTW i use Arch)

安裝前準備

  1. 訪問Arch Linux官網以進入iso下載界面
  2. 找到台灣的mirror site後點選iso結尾的檔案以下載Arch Linux iso檔

  3. 使用燒錄軟體將iso燒入usb或光碟(我這邊使用rufus)
  4. 重新開機並進入BIOS,然後調整開機順序為Arch Linux安裝碟優先或直接從安裝碟開機


看到這個介面之後代表成功進入Liveiso介面了

前無圖形介面。接下來Arch Wiki很有用

安裝系統

以下都是以UEFI系統為前提安裝

0. 前置設定

  • 設定時間
    timedatectl set-ntp 1
    
  • 連接網路
    使用有線網路的人可以先跳過這部分
  • wifi(使用iwctl)
    • 進入交互介面
    iwctl
    
    • 顯示可用裝置並檢查裝置是否啟用
    device list
    

    也可以直接在shell打iwctl <command>達成相同效果
    如果沒有啟用就使用以下指令開啟

    device <device-name> set-property Powered on
    
    • 掃描目前無線網路
    station <device-name> scan
    
    • 列出目前無線網路
    station <device-name> get-networks
    
    • 連接無線網路
    station <device-name> connect <SSID>
    
    如果網路有密碼,會提示輸入。
    也可以從命令列參數直接輸入密碼
    # iwctl --passphrase [wifi-password] station <device> connect <SSID>
    
    成功連接後可以使用ping測試網路是否連接成功
    ping -c 3 archlinux.org
    

1. 切割磁碟分區

這邊我使用cfdisk進行切割

cfdisk /dev/<disk-partition>
partition path size filesystem 備註
swap 1.5*RAM_SIZE Linux swap 如果RAM夠大可不分配
/mnt/boot 512M EFI system 只有UEFI才需要
/mnt/ 0.25*<DISK_SIZE> Linux filesystem 建議將root跟home以1:3分割
/mnt/home 0.75*<DISK_SIZE> Linux filesystem

2. 格式化分區

# create ext4 system
mkfs.ext4 /dev/<disk-partition>
# create boot partition
mkfs.fat -F 32 /dev/<boot-partition>
# create swap
mkswap /dev/<swap-partition>

3. 掛載硬碟

  • 掛載根目錄
mount /dev/<root-partition> /mnt

對於其他目錄可以先利用mkdir建立新目錄後再掛載或直接在mount指令加上--mkdir

mount --mkdir /dev/<disk-partition> /mnt/<path>
  • 啟用swap
swapon /dev/<swap-partition>
  • 產生fstab
genfstab -U /mnt >> /mnt/etc/fstab

4. 為新系統下載Linux核心與套件

建議先運行pacman -Syy進行更新

pacstrap -K /mnt base base-devel \
                 linux linux-firmware

5. 切換至新安裝的系統

arch-chroot /mnt
  • 安裝必要軟體
pacman -S sudo networkmanager vim tmux iwd

sudo: 用戶提權用
networkmanager: 重新開機後連接網路用
vim: 文字編輯器(可改用nano或vi)

  • 設定時區
ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
hwclock --systohc
  • 地區與語言設置
  1. 編輯 /etc/locale.gen然後取消註解en_US.UTF-8與自己所在地區或需要的語系
    接下來執行locale-gen生成地區設定
  2. 建立/etc/locale.conf,在裡面設定LANG變數為en_US.UTF-8

為了避免tty介面亂碼,我們等進入桌面環境後再設為中文

  • 網路設置
  1. 建立/etc/hostname並輸入自己的主機名稱
    echo <hostname> > /etc/hostname
  2. 建立/etc/hosts並加入
127.0.0.1 localhost
::1 localhost
127.0.1.1 <hostname>
  1. 設定開機自動啟用網路服務
systemctl enable NetworkManager

  • 修改root密碼
    因為我會等安裝完系統後才建立使用者帳戶,做這步是為了避免無法登入(root密碼為空時會禁用root帳號)
    執行passwd並輸入兩次密碼
  • 設定開機引導
    這邊我使用GRUB來做為引導,所以先安裝
pacman -S grub efibootmgr os-prober

安裝GRUB至EFI分區

grub-install --target=x86_64-efi --bootloader-id=GRUB --efi-directory=/boot
grub-mkconfig -o /boot/grub/grub.cfg

MSI筆電或主機板的人記得在grub-install後間加--removable

然後就可以重開機了

# 退出新安裝的系統,並回到LiveISO環境
exit

# 解除掛載可做可不做
umount -a

reboot

上一篇
Day26: 檔案權限
下一篇
Day28: 實體機安裝Arch Linux(extra)
系列文
I Use Linux BTW: 談Linux與其指令30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言