---
# System prepended metadata

title: Linux 初始安裝及設定手冊 Part 2

---

# Linux 初始安裝及設定手冊 Part 2
## 注意事項

請注意
建議搭配其他篇使用，前一篇是 Part 1

[Linux 初始安裝及設定手冊 Part 1（說明及前置）](https://hackmd.io/@JoeYang/HkXUyrBAel)
Linux 初始安裝及設定手冊 Part 2 ( 基礎安裝 )（本篇）
[Linux 初始安裝及設定手冊 Part 3  ( 一般開發相關 )](https://hackmd.io/@JoeYang/ByKPf2v0gg)
[Linux 初始安裝及設定手冊 Part 4 ( 容器相關開發環境 )](https://hackmd.io/@JoeYang/Sk2N6sP0el)
[Linux 初始安裝及設定手冊 part 5 ( 常用工具 )](https://hackmd.io/@JoeYang/ByyMCsPCll)
[Fedora install Nvidia Driver Guide](https://hackmd.io/@JoeYang/SkjToMrAxe)
[Fedora install CUDA Toolkit Guide](https://hackmd.io/@JoeYang/r1m736Vk-e)
[Fedora install cuDNN Guide](https://hackmd.io/@JoeYang/S13WPbBkbe)


## 基礎安裝

### 各項基礎工具安裝
#### Ubuntu 流程
```bash
sudo apt install git curl wget vim btop unzip zip p7zip-full unrar tar xz-utils build-essential
#如果是KDE可以不用裝
sudo apt install ark
```
#### Fedora 流程
```bash
sudo dnf install git curl wget vim btop unzip unrar zip p7zip p7zip-plugins tar xz
# 編譯相關
sudo dnf group install c-development
# 虛擬化相關
sudo dnf install @virtualization
# 如果是KDE可以不用裝
sudo dnf install ark
```

git：版控工具（Git）。
curl：用 URL 傳輸資料（支援 HTTP(S)、FTP…）。
wget：另一個常用下載器（續傳方便）
vim：經典終端文字編輯器。
btop：漂亮的互動式系統監控（CPU/RAM/磁碟/網路/程序）。
unzip / zip：解壓/壓縮 ZIP。
p7zip / p7zip-plugins：7-Zip 的 CLI 版本。
unrar：專門處理 RAR（尤其加密或新 RAR 版本更相容）。
tar：打包工具，常搭配壓縮。
xz：xz/txz 壓縮工具與庫。
c-development：C 編譯相關套件與開發工具
@virtualization：虛擬化套件

---

### Flatpak
#### Ubuntu
在 Ubuntu 中輸入以下指令來安裝 flatpak

```bash
sudo apt install flatpak
# 使用 GNOME 不用下面這一條
#sudo apt install gnome-software-plugin-flatpak
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
reboot
```

#### Fedora
Fedora 已自帶

---

### 小麥注音輸入法

- Repo: https://github.com/openvanilla/fcitx5-mcbopomofo
- Wiki: https://github.com/openvanilla/fcitx5-mcbopomofo/wiki
    - 安裝說明: https://github.com/openvanilla/fcitx5-mcbopomofo/wiki#%E5%AE%89%E8%A3%9D%E8%AA%AA%E6%98%8E

#### Flatpak Ver. ( Recommend )
Ubuntu 與 Fedora 皆適用
並且為全域安裝

參考網址
https://github.com/openvanilla/fcitx5-mcbopomofo/wiki/%E4%BD%BF%E7%94%A8-Flatpak-%E5%AE%89%E8%A3%9D--fcitx5-mcbopomofo

```bash
#可選:ubuntu可用以下指令移除ibus
sudo apt purge ibus
#logout is a good idea
flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo
# 可能需要輸入密碼驗證
flatpak install flathub org.fcitx.Fcitx5
flatpak install flathub org.fcitx.Fcitx5.Addon.McBopomofo
flatpak run org.fcitx.Fcitx5
```

使用以下指令設定
- `fcitx5-config-qt`

會提示要安裝 `fcitx5-configtool`，允許安裝即可

#### Ubuntu 流程

全域 global
安裝在全域，所有使用者皆可使用
按照以下步驟操作即可

```bash
sudo apt install fcitx5 fcitx5-chinese-addons
# from 24.04 install instrction
# might breal in 20.04
sudo apt install pkg-config fcitx5 libfcitx5core-dev libfcitx5config-dev libfcitx5utils-dev fcitx5-modules-dev cmake extra-cmake-modules gettext libfmt-dev libicu-dev libjson-c-dev

im-config -n fcitx5
sudo apt purge ibus
mkdir ~/Tools && cd ~/Tools

git clone https://github.com/openvanilla/fcitx5-mcbopomofo.git
cd fcitx5-mcbopomofo
```

- Ubuntu 20.04
  ```bash
  mkdir -p build
  cd build
  cmake ../ -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Debug -DUSE_LEGACY_FCITX5_API=1
  make
  ```
  
- Ubuntu 22.04/24.04
  ```bash
  cmake -B build -DCMAKE_INSTALL_PREFIX=/usr -DCMAKE_BUILD_TYPE=Release
  cmake --build build
  sudo cmake --install build

  # 初次安裝後，執行以下指令，小麥注音 icon 就會出現在 fcitx5 選單中
  sudo update-icon-caches /usr/share/icons/*
  ```
  
  
使用以下指令設定
- `fcitx5-config-qt`

會提示要安裝 `fcitx5-configtool`，允許安裝即可

#### Fedora 流程
一樣為全域安裝，使用 copr 來完成安裝，安裝完成後所有使用者皆可使用
按照以下步驟操作即可

https://github.com/openvanilla/fcitx5-mcbopomofo/wiki/%E5%A6%82%E4%BD%95%E5%9C%A8-Fedora-%E4%B8%8A%E5%AE%89%E8%A3%9D-fcitx5-mcbopomofo


```bash
# 還沒安裝 fcitx5 的話，先安裝 fcitx5
sudo dnf install fcitx5  

sudo dnf copr enable apicalshark/fcitx5-mcbopomofo
sudo dnf install fcitx5-mcbopomofo
```

Gnome 的自動啟動已由 fcitx5-autostart 設定
KDE 需由 Keyboard（鍵盤）> Virtual Keyboard (虛擬鍵盤)


使用以下指令設定
- `fcitx5-config-qt`

會提示要安裝 `fcitx5-configtool`，允許安裝即可

#### 設定為 KDE 預設輸入法

> fcitx 在 KDE 中預設啟動方式為設定預設虛擬鍵盤

- `~/.config/kwinrc`
- ```
  [Wayland]
  InputMethod[$e]=/usr/share/applications/fcitx5-wayland-launcher.desktop
  VirtualKeyboardEnabled=true
  ```
  
  
設完之後請登出再登入

---

### Oh-My-Zsh and powerlevel10k

#### Ubuntu 

首先安裝 Zsh

```bash
sudo apt install zsh
```

若進入 zsh 設定頁面，按 q 離開即可

#### Fedora

```
sudo dnf install zsh
```

若進入 zsh 設定頁面，按 q 離開即可


#### 以下兩者皆適用

#### 為單獨使用者安裝

輸入完成後使用以下指令套用 zsh

使用 `chsh -s $(which zsh)` 並且重開機
重新登入後繼續後續步驟
若進入 zsh 設定頁面，按 q 離開即可


接著在當前使用者安裝 `oh my zsh`
```
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
```

安裝完成 zsh 後安裝 `powerlevel10k`
首先下載所需字體

```bash
sudo mkdir -p /usr/local/share/fonts/m/

sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf"
```

接著執行以下指令套用
```bash
fc-cache -fv /usr/local/share/fonts
```

並且重開終端機重開完後
在 `Open Settings → Edit Current Profile → Appearance, click Select Font and select MesloLGS NF Regular`
（不一定需要，通常可以吃到）

接著安裝及下載 `powerlevel10k`
```bash
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k"
```

這會將 powerlevel10k 放在 oh my zsh 中的 theme 資料夾中
之後在 `.zshrc` 中更改這一行以便套用到 oh my zsh
```bash
ZSH_THEME="powerlevel10k/powerlevel10k"
```

接著按照指示設定即可


##### 為所有使用者進行安裝（全域安裝）
在前面安裝完 zsh 後
使用以下指令套用 zsh

輸入 `chsh -s $(which zsh)` 並且重開機
重新登入後繼續後續步驟
若進入 zsh 設定頁面，按 q 離開即可


首先，若是全新設定，使用者僅有一人的情況，請按照以下步驟操作
首先將未來新建立使用者預設為使用 zsh

```bash
sudo useradd -D -s /bin/zsh
```

接下來進行全域安裝
首先將 oh my zsh 下載到 `/usr/share/ohmyzsh`
```bash
sudo git clone https://github.com/ohmyzsh/ohmyzsh.git /usr/share/ohmyzsh
```

設定各項權限
```bash
# 把擁有權只給 root
sudo chown -R root:root /usr/share/ohmyzsh
# 將目錄權限設定為 755
sudo find /usr/share/ohmyzsh -type d -exec chmod 755 {} +
# 將檔案權限設定為 755
sudo find /usr/share/ohmyzsh -type f -exec chmod 755 {} +
```


安裝完成 zsh 後安裝 `powerlevel10k`
首先下載所需字體

```bash
sudo mkdir -p /usr/local/share/fonts/m/

sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Regular.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Italic.ttf"
sudo wget -P /usr/local/share/fonts/m/ "https://github.com/romkatv/powerlevel10k-media/raw/master/MesloLGS%20NF%20Bold%20Italic.ttf"
```

接著執行以下指令套用
```bash
fc-cache -fv /usr/local/share/fonts
```

並且重開終端機重開完後
在 `Open Settings → Edit Current Profile → Appearance, click Select Font and select MesloLGS NF Regular`
（不一定需要，通常可以吃到）


下載 `powerlevel10k` ( 這與上面安裝 `powerlevel10k` 的指令不一樣，請注意 )

```bash
sudo git clone --depth=1 https://github.com/romkatv/powerlevel10k.git "/usr/share/ohmyzsh/custom/themes/powerlevel10k"
```

接著在現在的使用者上面執行以下操作
```bash
nano ~/.zshrc
```

並輸入
```bash
export ZSH="/usr/share/ohmyzsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
source "$ZSH/oh-my-zsh.sh"
```



下載完成後
接著要設定新建使用者的參考檔案，使用以下指令
```bash
sudo nano /etc/skel/.zshrc
```

裡面寫
```bash
export ZSH="/usr/share/ohmyzsh"
ZSH_THEME="powerlevel10k/powerlevel10k"
source "$ZSH/oh-my-zsh.sh"
```

完成
之後新建的所有使用者會有 zsh + oh my zsh + powerlevel10k

### SSH Server 與 Client 設定教學（Linux Server + Windows Client）



#### 在 Linux 上設定 SSH 伺服器（Server）

##### 1. 安裝 SSH 服務

在 Fedora（或其他使用 dnf 的系統）使用 SSH
若是要使用 Client，通常有預裝，
但 server 可能沒有，若是沒有裝的話
使用以下指令安裝


```bash
# 安裝 ssh server
sudo dnf install openssh-server
```


##### 2. 啟用防火牆並開放 SSH

確認防火牆已開啟

```bash
sudo systemctl status firewalld
```

如果沒有開啟，使用以下指令開啟並檢查並檢查狀態

```bash
sudo systemctl enable --now firewalld
sudo systemctl status firewalld
```

之後
使用以下指令讓防火牆允許 ssh 的流量通過

```bash
sudo firewall-cmd --add-service=ssh --permanent
sudo firewall-cmd --reload
```


##### 3. 啟動並自動啟用 SSH 伺服器

使用以下指令啟動並設定開機自動啟用

```bash
sudo systemctl enable --now sshd
sudo systemctl status sshd
```


##### 4. 取得 SSH Server 公鑰指紋（fingerprint）

指紋是連線時用來確認伺服器真偽的「安全碼」。
假設使用的演算法是 `ed25519`
使用以下指令檢查指紋

```bash
ssh-keygen -lf /etc/ssh/ssh_host_ed25519_key.pub
```

> 若系統沒有這組檔案，可自行改用其他公鑰的檔案代替此檔
> 把顯示的指紋記下來，稍後 Windows 連線時要比對。


到此，Server 的 SSH 基本設定完成。
接下來可從 Windows 登入測試。


#### 在 Windows（Client）使用密碼登入

1. 開啟 PowerShell 或 CMD

2. 輸入：

   ```bash
   ssh <使用者名稱>@<伺服器IP>
   ```

   範例如下：

   ```bash
   ssh testuser@192.168.1.10
   ```

3. 第一次連線會顯示伺服器指紋。
   與剛剛在 Linux 那邊查到的指紋比對，若正確，輸入 `yes`。

4. 系統會要求輸入密碼 → 登入成功即完成。

至此，一般的 SSH 登入與設定完成

#### 使用金鑰登入（Key Pair Authentication）

除了密碼登入 SSH 以外，我們也可以使用金鑰登入
金鑰登入比密碼更安全。流程為「Windows 產生金鑰 > 上傳公鑰到 Server > 登入」。

##### 1. 在 Server 啟用金鑰登入功能

```bash
sudo nano /etc/ssh/sshd_config
```

找到並確認這行已啟用（取消註解）：

```bash
PubkeyAuthentication yes
```

存檔後離開。

然後，在要登入的使用者帳號下建立 SSH 資料夾：

```bash
cd ~
mkdir .ssh
```


##### 2. 在 Windows 產生金鑰

```bash
ssh-keygen -t ed25519 -C "my key"
```

-C 為註解

> 建議使用 `ed25519`（速度快、強度高）。
> 預設儲存在 `C:\Users\<你的帳號>\.ssh\`。
> 可選擇設定 passphrase（建議設定，增加安全性）。

完成後會生成兩個檔案：

```text
id_ed25519      私鑰（保存在本機）
id_ed25519.pub  公鑰（要傳給伺服器）
```

##### 3. 將公鑰上傳至 Server

在 PowerShell 輸入以下指令
將公鑰複製到指定使用者的家目錄

```bash
cd C:\Users\<你的帳號>\.ssh
scp id_ed25519.pub user@<server_ip>:~
```

##### 4. 在 Server 佈署公鑰

登入 Linux 後執行：

```bash
cat ~/id_ed25519.pub
# 打完上面這句後，將公鑰複製起來

nano ~/.ssh/authorized_keys
# 打完上面這句後，貼上剛複製的公鑰

chmod 600 ~/.ssh/authorized_keys

sudo systemctl restart sshd

rm -rf ~/id_ed25519.pub
```

這樣 Server 就會信任你這個金鑰。

---

##### 5. 測試免密碼登入

在 Windows：

```bash
ssh user@<server_ip>
```

若成功登入而不需輸入密碼（或只要求輸入 passphrase），代表金鑰設定成功。


#### 停用密碼登入（可選）

為安全起見，若確認金鑰登入可用，可關閉密碼登入：

```bash
sudo nano /etc/ssh/sshd_config
```

找到：

```bash
PasswordAuthentication yes
```

將其改成或取消註解後改成：

```bash
PasswordAuthentication no
```

存檔後重新啟動服務：

```bash
sudo systemctl restart sshd
```

結束設定