# 進行第一次系統升級、調校及安裝基礎套件

##### **1 基本升級**

在安裝完基礎系統後，需進行基本的升級工作，建議使用安裝過程式的用戶名稱登入，並使用 sudo 指令進行系統更新作業。

```shell
$ sudo yum update -y
```

然後在這個連線階段第一次會出現以下的訊息：

```shell
我們相信您已經從本機系統管理員取得
日常注意事項。注意事項通常可以歸結為三件事情：

    #1) 尊重他人隱私。
    #2) 輸入指令前先三思。
    #3) 權力越大則責任越大。

[sudo] kevin 的密碼：
```

輸入正確的密碼後，就會以 Root 身份執行 yum update 的工作了，接下來會出現類似於以下的訊息，系統會接著執行到完成。

```shell
上次中介資料過期檢查：3:01:20 前，時間點為西元2022年05月30日 (週一) 17時48分58秒。
依賴關係解析完畢。
==============================================================================================================================================================================================================
 軟體包                                                 架構                                       版本                                                   軟體庫                                         大小
==============================================================================================================================================================================================================
升級:
 libipa_hbac                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        118 k
 libsss_autofs                                          x86_64                                     2.6.2-4.el8_6                                          baseos                                        120 k
 libsss_certmap                                         x86_64                                     2.6.2-4.el8_6                                          baseos                                        163 k
 libsss_idmap                                           x86_64                                     2.6.2-4.el8_6                                          baseos                                        122 k
 libsss_nss_idmap                                       x86_64                                     2.6.2-4.el8_6                                          baseos                                        129 k
 libsss_sudo                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        118 k
 python3-sssdconfig                                     noarch                                     2.6.2-4.el8_6                                          baseos                                        143 k
 rocky-gpg-keys                                         noarch                                     8.6-3.el8                                              baseos                                         12 k
 rocky-release                                          noarch                                     8.6-3.el8                                              baseos                                         21 k
 rocky-repos                                            noarch                                     8.6-3.el8                                              baseos                                         14 k
 rsync                                                  x86_64                                     3.1.3-14.el8_6.2                                       baseos                                        404 k
 sos                                                    noarch                                     4.2-19.el8_6                                           baseos                                        776 k
 sssd                                                   x86_64                                     2.6.2-4.el8_6                                          baseos                                        109 k
 sssd-ad                                                x86_64                                     2.6.2-4.el8_6                                          baseos                                        293 k
 sssd-client                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        226 k
 sssd-common                                            x86_64                                     2.6.2-4.el8_6                                          baseos                                        1.6 M
 sssd-common-pac                                        x86_64                                     2.6.2-4.el8_6                                          baseos                                        181 k
 sssd-ipa                                               x86_64                                     2.6.2-4.el8_6                                          baseos                                        360 k
 sssd-kcm                                               x86_64                                     2.6.2-4.el8_6                                          baseos                                        251 k
 sssd-krb5                                              x86_64                                     2.6.2-4.el8_6                                          baseos                                        161 k
 sssd-krb5-common                                       x86_64                                     2.6.2-4.el8_6                                          baseos                                        188 k
 sssd-ldap                                              x86_64                                     2.6.2-4.el8_6                                          baseos                                        237 k
 sssd-nfs-idmap                                         x86_64                                     2.6.2-4.el8_6                                          baseos                                        119 k
 sssd-proxy                                             x86_64                                     2.6.2-4.el8_6                                          baseos                                        150 k
將安裝依賴項目:
 bind-libs                                              x86_64                                     32:9.11.36-3.el8                                       appstream                                     174 k
 bind-libs-lite                                         x86_64                                     32:9.11.36-3.el8                                       appstream                                     1.2 M
 bind-license                                           noarch                                     32:9.11.36-3.el8                                       appstream                                     102 k
 fstrm                                                  x86_64                                     0.6.1-2.el8                                            appstream                                      28 k
 libmaxminddb                                           x86_64                                     1.2.0-10.el8                                           appstream                                      32 k
 protobuf-c                                             x86_64                                     1.3.0-6.el8                                            appstream                                      36 k
 python3-bind                                           noarch                                     32:9.11.36-3.el8                                       appstream                                     149 k
 python3-ply                                            noarch                                     3.9-9.el8                                              baseos                                        110 k
 python3-ptyprocess                                     noarch                                     0.5.2-4.el8                                            appstream                                      30 k
將安裝弱依賴項目:
 bind-utils                                             x86_64                                     32:9.11.36-3.el8                                       appstream                                     451 k
 geolite2-city                                          noarch                                     20180605-1.el8                                         appstream                                      19 M
 geolite2-country                                       noarch                                     20180605-1.el8                                         appstream                                     1.0 M
 python3-pexpect                                        noarch                                     4.3.1-3.el8                                            appstream                                     137 k

處理事項摘要
==============================================================================================================================================================================================================
安裝  13 軟體包
升級  24 軟體包
```

當看到「完成！」出現時，第一次因為有升級到 Kernel，所以建議要重新開機，記得下 reboot 重新開機，然後開機成功後應該就可以看到新的核心版本號了。

```shell
$ sudo reboot -> 這個連線階段的第 2 次執行，就不會問你密碼了。
Connection to 192.168.3.194 closed by remote host.
Connection to 192.168.3.194 closed.
```

[![image-1653958544838.png](https://docs.ossii.com.tw/uploads/images/gallery/2022-05/scaled-1680-/image-1653958544838.png)](https://docs.ossii.com.tw/uploads/images/gallery/2022-05/image-1653958544838.png)

##### **2 安裝基礎套件**

基本上會建議安裝以下常用的基本套件，這樣在之後的管理工作上會比較簡單，這份清單會隨著時間更新，列表及說明如下：

<table border="3" cellspacing="1" id="bkmrk-%E9%A0%85%E6%AC%A1-%E5%A5%97%E4%BB%B6%E5%90%8D%E7%A8%B1-%E8%AA%AA%E6%98%8E-1-vim-%E6%8F%90%E4%BE%9B%E6%9B%B4" style="border-collapse: collapse; width: 100%; height: 158.984px; border-color: #000000; border-style: inset;"><tbody><tr style="height: 29.7969px;"><td class="align-center" style="width: 6.30408%; height: 29.7969px;">項次</td><td class="align-center" style="width: 26.4452%; height: 29.7969px;">套件名稱</td><td class="align-center" style="width: 67.2507%; height: 29.7969px;">說明</td></tr><tr style="height: 29.7969px;"><td class="align-center" style="width: 6.30408%; height: 29.7969px;">1</td><td class="align-center" style="width: 26.4452%; height: 29.7969px;">vim</td><td style="width: 67.2507%; height: 29.7969px;">提供更多 vi 編輯器效果的延伸套件，讓你編輯純文字文件時不再只是單調的畫面。</td></tr><tr style="height: 29.7969px;"><td class="align-center" style="width: 6.30408%; height: 29.7969px;">2</td><td class="align-center" style="width: 26.4452%; height: 29.7969px;">wget</td><td style="width: 67.2507%; height: 29.7969px;">下載網路連結檔案的工具，常常會在安裝其它非 RPM Base 的工具中用到。</td></tr><tr style="height: 29.7969px;"><td class="align-center" style="width: 6.30408%; height: 29.7969px;">3</td><td class="align-center" style="width: 26.4452%; height: 29.7969px;">net-tools</td><td style="width: 67.2507%; height: 29.7969px;">基本網路查詢工具，在確認網路或是服務狀態時會常常用上。</td></tr><tr style="height: 29.7969px;"><td class="align-center" style="width: 6.30408%; height: 29.7969px;">4</td><td class="align-center" style="width: 26.4452%; height: 29.7969px;">yum-utils</td><td style="width: 67.2507%; height: 29.7969px;">套件升級工具的進階小指令。</td></tr><tr style="height: 10px;"><td class="align-center" style="width: 6.30408%; height: 10px;">5</td><td class="align-center" style="width: 26.4452%; height: 10px;">unzip</td><td style="width: 67.2507%; height: 10px;">解壓縮工具。</td></tr><tr><td class="align-center" style="width: 6.30408%;">6</td><td class="align-center" style="width: 26.4452%;">network-scripts</td><td style="width: 67.2507%;">啟用舊式 systemctl restart network.service 指令的套件。</td></tr><tr><td class="align-center" style="width: 6.30408%;">7</td><td class="align-center" style="width: 26.4452%;">policycoreutils-python-utils</td><td style="width: 67.2507%;">用來設定 SELinux 規則的工具。</td></tr><tr><td class="align-center" style="width: 6.30408%;">8</td><td class="align-center" style="width: 26.4452%;">network-scripts</td><td style="width: 67.2507%;">重新啟動網路的 scripts。</td></tr></tbody></table>

安裝指令如下：

```
$ sudo yum install vim wget net-tools yum-utils unzip policycoreutils-python-utils network-scripts -y
```

一樣在輸入 Root 密碼後，系統即會自動安裝完成。

##### **3 基本調校工作**

- **變更密碼**

如果您想要變更用戶密碼，可以使用「passwd」指令，變更 root 密碼的操作方式如下：

```shell
$ sudo passwd root
更改使用者 root 的密碼。
新 密碼：
再次輸入新的 密碼：
passwd：所有核對代符都已成功更新。
```

如果是變更自己的密碼，只需直接下 passwd 指令即可，但是要先輸入一次原先的密碼。

```shell
$ passwd
更改使用者 kevin 的密碼。
Current password:
新 密碼：
再次輸入新的 密碼：
passwd：所有核對代符都已成功更新。
```

- **變更系統網路 IP**

先查詢看看目前的 IP 及網卡資訊為何，我們可以使用 ifconfig 指令：

```shell
$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.194  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::f872:86ff:fe29:1587  prefixlen 64  scopeid 0x20<link>
        ether fa:72:86:29:15:87  txqueuelen 1000  (Ethernet)
        RX packets 34083  bytes 21446563 (20.4 MiB)
        RX errors 0  dropped 6  overruns 0  frame 0
        TX packets 5232  bytes 404374 (394.8 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

所以會看到，網路卡是 ens18，IP 則是 192.168.3.194，如果我們要變更網路資訊的話，請用 vim 指令([**<span style="color: #e03e2d;">vim 指令教學</span>**](https://blog.techbridge.cc/2020/04/06/how-to-use-vim-as-an-editor-tutorial/))編輯網路設定檔，本例如下：

```shell
$ sudo vim /etc/sysconfig/network-scripts/ifcfg-ens18
```

內容如下：

> TYPE=Ethernet  
> PROXY\_METHOD=none  
> BROWSER\_ONLY=no  
> BOOTPROTO=none  
> DEFROUTE=yes  
> IPV4\_FAILURE\_FATAL=no  
> IPV6INIT=yes  
> IPV6\_AUTOCONF=yes  
> IPV6\_DEFROUTE=yes  
> IPV6\_FAILURE\_FATAL=no  
> NAME=ens18  
> UUID=6b412bfd-da98-4545-a791-fe6e62bf816c  
> DEVICE=ens18  
> ONBOOT=yes  
> **<span style="color: #e03e2d;">IPADDR=192.168.3.198</span>**  
> PREFIX=24  
> <span style="color: #e03e2d;">**GATEWAY=192.168.3.1**</span>  
> <span style="color: #e03e2d;">**DNS1=8.8.8.8**</span>

上面 3 行就依照實際的網路環境變更即可，存檔後執行以下的指令重新取得新的 IP 資訊。

```shell
$ sudo nmcli networking off; sudo nmcli networking on
$ ifconfig
ens18: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.3.198  netmask 255.255.255.0  broadcast 192.168.3.255
        inet6 fe80::f872:86ff:fe29:1587  prefixlen 64  scopeid 0x20<link>
        ether fa:72:86:29:15:87  txqueuelen 1000  (Ethernet)
        RX packets 11107  bytes 1100107 (1.0 MiB)
        RX errors 0  dropped 1  overruns 0  frame 0
        TX packets 501  bytes 62526 (61.0 KiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0
```

當然你也可以用原本的指令，不過因為會斷線，所以建議採用以上的指令重設網路～

```shell
$ sudo systemctl restart network.service
```

- **調整系統時間**

在 CentOS 8 / Rock Linux 8 後，預設就會使用 chrony 套件進行網路校時的工作，服務也是啟動的狀態，所以網路若是通的，基本上就可以更新時間資訊，但是透過 date 的指令，你可能會發現時區的設定是錯的。

```shell
$ date
一  5月 30 23:51:10 NDT 2022
```

若要調整時區，請使用 timedatectl 指令來設定，若是 Asia/Taipei 時區，請使用下以下指令：

```shell
$ sudo timedatectl set-timezone Asia/Taipei
$ date
二  5月 31 10:23:06 CST 2022
```

這樣子就完成了時間的調校工作，如果想要列出所有時區的名稱，可以使用以下指令：

```shell
$ timedatectl list-timezones
Africa/Abidjan
Africa/Accra
Africa/Addis_Ababa
Africa/Algiers
Africa/Asmara
Africa/Bamako
Africa/Bangui
...
...
```

如此就完成了基本的主機調整工作啦～