人工智慧可以協助您管理 Linux 系統的 7 種方法
人工智慧確實有其用途,其中一個可能的用途是幫助你管理 Linux 系統,無論是桌面端還是伺服器端。
Linux-Terminal.com 的主要收穫
- 人工智慧在 Linux 世界中有它的位置。
- 如果你是新手或非常忙,人工智慧可以提供很大幫助。
- 在這些領域之一使用人工智慧以減輕你的負擔。
我並不是很喜歡在所有事情上都使用人工智慧。我堅信它在創作活動中應該沒有立足之地(有些例外——例如 DaVinci Resolve 令人難以置信的 AI 音聲隔離功能),但在某些領域使用人工智慧是有道理的。
例如:Linux 系統管理。
在任何人激動之前,我並不是說系統管理員應該被機器取代。我想說的是,人工智慧可以幫助那些剛接觸 Linux 的人學習如何管理(或更好地管理)他們的系統。而在某些情況下,如果單個管理員必須管理超出其時間所能應付的機器,人工智慧可以成為一個很好的助手。
但是在哪些方面?
我整理了七種 AI 真正能為那些非常忙碌或剛開始學習 Linux 細節的人帶來幫助的用途。
1. Bash 腳本
雖然對於基本的桌面 Linux 使用來說,bash 腳本並不是必需的,但任何曾經管理過 Linux 伺服器或只是想為他們的桌面創建自定義備份任務的人來說,bash 腳本都是必不可少的。
對於剛學習 Linux 的人來說,這些腳本可能會令人畏懼,這就是 AI 可以派上用場的地方。使用 AI,你可以輸入這樣的提示,例如:「建立一個 Linux bash 腳本,每天將我的 ~/Documents 目錄備份到掛載於 /backups 的外部硬碟,並且只保留最近的五個備份。」
你的 AI 將為你創建 bash 腳本,然後你可以進行測試。如果它能運作,將其設為定時任務(這又是一個你可能需要使用 AI 的情況),並相信你的備份將會成功。務必要確保不僅備份能正常運作,還要確保備份中包含你想備份的檔案。因為……你永遠不知道會發生什麼。
2. 解析日誌文件
日誌檔案是了解系統運作或發生了什麼事情的關鍵。大多數 Linux 日誌檔案位於 /var/log 中,其中一些可能有點難以理解。這裡有一個很好的例子。我最近遇到了一個我以前從未見過的 syslog 條目。每個條目都包含“cause font doesn't have a family name。”我在 DuckDuckGo 上查詢過,但沒有找到任何結果。然後我打開了 Opera 的 Aria 並查詢了這個錯誤。結果發現,這個錯誤與字體處理或渲染有關,相關字體缺少一個重要屬性(在這種情況下是字體家族名稱)。顯然,這不是我需要擔心的錯誤,因此我決定透過在 /etc/rsyslog.d/ 創建一個黑名單檔案來抑制這些錯誤,其內容如下:
:msg,包含,“因為字體沒有字體家族名稱” 停止
然後我使用以下命令重新啟動了 rsyslog:
sudo systemctl restart rsyslog
錯誤不再存在。
3. 了解 journalctl 輸出
Systemd 有時候可能有點令人困惑,尤其是在遇到錯誤時。當你遇到錯誤時,系統會指向 journalctl 工具,它可能包含一些非常難以理解的輸出。大多數時候,我可以理解它的意思,但偶爾,journalctl 的輸出會讓我想,『嗯?』當這種情況發生時,AI 可以提供幫助。
請記住,你不應該只是對 AI 說:「這個輸出是什麼意思?」你還應該包括你正在排除故障的應用程式或服務,例如,「這個 openssh-server 的 journalctl 輸出 XXX 是什麼意思」(其中 XXX 是實際的 journalctl 輸出)。
人工智慧在幫助你理解你正在看的東西方面相當不錯。
4. 生成 iptables 防火牆規則
Iptables 是所有 Linux 防火牆的基礎,而且,老實說,它可以非常複雜。你通常不需要去處理 iptables,因為你大多數時候會使用更簡單的對應工具,例如 UFW。但是如果有一次你必須使用 iptables,你會很快意識到它有多麼複雜。
我記得我第一次必須使用 iptables 的時候(大約在 1990 年代後期),我當時心裡想:「我永遠也不會理解這個!」如果當時有 AI 幫我解開 iptables 的複雜性,事情就會像查詢一樣簡單:
編寫一條 IPtables 規則,以允許通過乙太網裝置 eth0 的 2022 端口進行 SSH 連接。
是啊,這樣簡單多了。
5. 過程監控
儘管有大量工具可以幫助你監控 Linux 進程(特別是一些出色且使用者友好的圖形介面),你可能仍會遇到那種必須僅依靠命令行來解決問題的罕見情況。如果你理解 ps 命令,你應該沒問題;否則,可以考慮諮詢你最喜愛的 AI:
我如何找出在 Linux 系統中哪個進程使用了最多系統資源,以及我該如何停止它?
這個答案應該可以讓你開始著手監控 Linux 系統進程的旅程。
6. 管理使用者帳號和權限
如果你需要將某個使用者鎖定在包含自主 AI 的 Linux 系統帳戶之外,你總是可以查詢:
將瑪麗鎖在她的帳號之外一週。
如果 AI 被設定了適當的權限,你很可能會被要求輸入你的 sudo 密碼以便流程能繼續。輸入你的 sudo 密碼後,你的 AI 很可能會執行該指令:
sudo chage -E $(date -d "+7 days" +%Y-%m-%d) Mary
因為檔案/資料夾的權限可能有點複雜難以學習,你可能會使用 AI 來幫助你。這在包含自主 AI 的系統上尤其容易。有了這個,你可以做類似以下的事情:
更改 /data 的資料夾擁有權和權限,使群組 editors 擁有完全存取權限。
7. 虛擬化
雖然你可能永遠不需要處理虛擬機,但可能會有這樣的時候,你想在背景運行虛擬機,這樣你就可以訪問局域網中的特定伺服器,而不必讓圖形界面全天候運行。
例如,你可能有一個運行 Nextcloud 的虛擬機器,作為你在家中使用 Google Workspace 的解決方案。與其運行 VirtualBox GUI 然後再啟動伺服器 GUI(兩個 GUI 都會佔用寶貴的系統資源),你可以以無頭模式運行它(意思是沒有 GUI),這樣你仍然可以從局域網中的任何地方訪問它。
為此,你可以查詢:
我如何運行名為 Nextcloud 的 VirtualBox 虛擬機的無頭實例?
你可能會在輸出中看到以下內容:
VBoxManage startvm "Nextcloud" --type headless
還有很多其他方式可以使用 AI 來幫助管理 Linux 系統,而上述方法將很容易讓你開始這段旅程。
