戰(zhàn)部署:信創(chuàng)環(huán)境下的完整指南)
1. 項(xiàng)目概述為什么選擇Kylin Server V10最近在幫一個(gè)做信創(chuàng)項(xiàng)目的朋友部署測試環(huán)境他那邊指定要用Kylin Server V10。說實(shí)話雖然國產(chǎn)操作系統(tǒng)喊了很多年但真正上手去裝、去配尤其是作為服務(wù)器版本來用很多人心里還是有點(diǎn)打鼓的。網(wǎng)上搜了一圈關(guān)于Kylin V10的安裝教程要么太老要么就是語焉不詳特別是遇到一些依賴問題或者驅(qū)動(dòng)兼容性的時(shí)候資料更是零散。所以我決定把這次從零開始安裝、配置Kylin Server V10的完整過程連同踩過的坑和解決辦法詳細(xì)記錄下來。這篇內(nèi)容不僅是一份按圖索驥的安裝指南更會(huì)深入到安裝后的基礎(chǔ)優(yōu)化、常見服務(wù)部署以及那些官方文檔里可能不會(huì)明說的“實(shí)戰(zhàn)經(jīng)驗(yàn)”。無論你是初次接觸國產(chǎn)服務(wù)器系統(tǒng)還是需要在信創(chuàng)環(huán)境下進(jìn)行遷移和適配的運(yùn)維工程師這份基于真實(shí)項(xiàng)目經(jīng)驗(yàn)的總結(jié)應(yīng)該都能給你提供直接的參考。Kylin Server V10也就是銀河麒麟高級(jí)服務(wù)器操作系統(tǒng)V10是基于Linux內(nèi)核針對我國關(guān)鍵行業(yè)和領(lǐng)域進(jìn)行深度優(yōu)化和定制的操作系統(tǒng)。它最大的特點(diǎn)就是高安全、高可靠以及對國產(chǎn)CPU如飛騰、鯤鵬、龍芯、申威等和軟硬件生態(tài)的良好支持。選擇它往往不是技術(shù)選型上的“最優(yōu)解”而是特定場景下的“必選項(xiàng)”。因此我們的安裝思路就不能完全照搬CentOS或者Ubuntu需要多一份對國產(chǎn)化軟硬件兼容性的考量。2. 安裝前的核心準(zhǔn)備工作安裝任何操作系統(tǒng)準(zhǔn)備工作做得好能省去后面至少一半的麻煩。對于Kylin Server V10準(zhǔn)備工作需要格外細(xì)致。2.1 鏡像獲取與校驗(yàn)首先你需要從官方或可信渠道獲取Kylin Server V10的安裝鏡像。通常鏡像文件是一個(gè).iso格式的文件名稱可能類似于Kylin-Server-10-SP1-Release-Build09-20210524-x86_64.iso。這里有幾個(gè)關(guān)鍵點(diǎn)需要注意架構(gòu)匹配務(wù)必確認(rèn)你的服務(wù)器或虛擬機(jī)的CPU架構(gòu)。是常見的x86_64AMD64還是ARM架構(gòu)如飛騰FT-2000/64、鯤鵬920下載對應(yīng)架構(gòu)的鏡像否則根本無法啟動(dòng)安裝程序。從網(wǎng)絡(luò)熱詞看很多人卡在第一步可能就是鏡像沒選對。版本確認(rèn)關(guān)注是SP1還是SP2是Release還是某個(gè)特定更新版本。不同版本的內(nèi)核、軟件包版本和驅(qū)動(dòng)支持可能有差異特別是對新型硬件的支持。完整性校驗(yàn)下載完成后強(qiáng)烈建議使用sha256sum或md5sum工具校驗(yàn)鏡像文件的哈希值并與官方提供的校驗(yàn)和進(jìn)行比對。這是確保鏡像在下載過程中未損壞、未被篡改的重要一步對于生產(chǎn)環(huán)境尤為重要。注意由于版權(quán)和分發(fā)限制本文不提供具體的鏡像下載鏈接。請通過正規(guī)商業(yè)授權(quán)或從銀河麒麟官網(wǎng)的指定渠道獲取。2.2 啟動(dòng)介質(zhì)制作有了ISO鏡像下一步是制作啟動(dòng)介質(zhì)。對于物理服務(wù)器通常使用U盤對于虛擬機(jī)則可以直接掛載ISO文件。U盤制作物理機(jī)安裝 在Windows下推薦使用Rufus或Ventoy這類工具。使用Rufus時(shí)選擇你的U盤設(shè)備在“引導(dǎo)類型選擇”處點(diǎn)擊“選擇”按鈕加載下載好的.iso文件“分區(qū)類型”通常選擇“GPT”針對UEFI啟動(dòng)或“MBR”針對傳統(tǒng)BIOS啟動(dòng)這需要與你服務(wù)器的啟動(dòng)模式一致。點(diǎn)擊開始等待制作完成即可。 使用Ventoy則更靈活你只需將Ventoy安裝到U盤一次之后就可以直接把多個(gè)ISO文件拷貝到U盤里在啟動(dòng)時(shí)選擇要安裝的系統(tǒng)鏡像非常適合需要攜帶多個(gè)系統(tǒng)鏡像的運(yùn)維人員。虛擬機(jī)環(huán)境準(zhǔn)備 如果你是在VMware Workstation、VirtualBox或KVM上進(jìn)行測試安裝過程就簡單多了。新建一臺(tái)虛擬機(jī)分配好內(nèi)存建議至少2GB4GB或以上更佳、硬盤空間建議40GB起步用于后續(xù)安裝服務(wù)和數(shù)據(jù)然后在虛擬機(jī)的光驅(qū)設(shè)置中直接指向你下載的ISO鏡像文件即可。2.3 服務(wù)器硬件與啟動(dòng)模式檢查對于物理服務(wù)器在按下電源鍵之前最好能進(jìn)入服務(wù)器的BIOS/UEFI設(shè)置界面確認(rèn)兩件事啟動(dòng)模式是UEFI還是Legacy BIOS這決定了你制作啟動(dòng)U盤時(shí)的分區(qū)格式GPT對應(yīng)UEFIMBR對應(yīng)Legacy也影響系統(tǒng)安裝時(shí)的分區(qū)方案。目前新服務(wù)器普遍支持UEFI其安全性和啟動(dòng)速度更優(yōu)。安全啟動(dòng)Secure Boot部分國產(chǎn)操作系統(tǒng)或硬件驅(qū)動(dòng)可能尚未完全兼容UEFI安全啟動(dòng)。如果在安裝過程中遇到無法識(shí)別啟動(dòng)介質(zhì)或加載失敗的問題可以嘗試在BIOS中暫時(shí)關(guān)閉Secure Boot功能待安裝完成后再根據(jù)實(shí)際情況決定是否開啟。3. 圖解安裝步驟全流程實(shí)錄假設(shè)我們已經(jīng)做好了啟動(dòng)U盤并將其插入服務(wù)器或者已經(jīng)在虛擬機(jī)中掛載了ISO鏡像。下面我們進(jìn)入正式的安裝環(huán)節(jié)。整個(gè)安裝過程是圖形化的與RHEL/CentOS 8的Anaconda安裝程序非常相似這對熟悉紅帽系系統(tǒng)的朋友來說會(huì)很友好。3.1 啟動(dòng)與安裝程序引導(dǎo)開機(jī)選擇從U盤或虛擬光驅(qū)啟動(dòng)你會(huì)看到麒麟的啟動(dòng)菜單。通常直接選擇第一項(xiàng)“Install Kylin Linux Advanced Server V10”即可。系統(tǒng)會(huì)加載內(nèi)核和安裝環(huán)境這個(gè)過程可能需要一兩分鐘。之后你會(huì)進(jìn)入圖形化的安裝程序歡迎界面語言選擇“中文簡體”點(diǎn)擊“繼續(xù)”。3.2 安裝信息摘要與關(guān)鍵配置這是安裝的核心配置頁面所有設(shè)置都在這里完成。你需要逐一檢查并配置以下項(xiàng)目1. 本地化日期和時(shí)間點(diǎn)擊進(jìn)入在地圖上選擇你所在的時(shí)區(qū)例如“亞洲/上海”。確保“網(wǎng)絡(luò)時(shí)間”開關(guān)是打開的這樣系統(tǒng)安裝后會(huì)自動(dòng)通過NTP同步時(shí)間。對于服務(wù)器準(zhǔn)確的時(shí)間至關(guān)重要關(guān)乎日志分析、證書驗(yàn)證等。鍵盤保持“漢語”布局即可。語言支持主語言已經(jīng)是“中文簡體”可以額外添加“英語美國”等支持方便在某些純英文環(huán)境下操作。2. 軟件安裝源因?yàn)槲覀兪鞘褂猛暾腎SO鏡像安裝這里會(huì)自動(dòng)識(shí)別為“本地介質(zhì)”無需更改。如果是網(wǎng)絡(luò)安裝則需要在這里配置網(wǎng)絡(luò)倉庫地址。軟件選擇這是非常關(guān)鍵的一步默認(rèn)是“最小安裝”只包含最基本的系統(tǒng)環(huán)境。對于服務(wù)器我強(qiáng)烈建議你根據(jù)用途選擇帶GUI的服務(wù)器如果你需要圖形界面進(jìn)行管理或運(yùn)行某些圖形化工具盡管對于服務(wù)器不推薦但某些特定管理軟件可能需要可以選這個(gè)。服務(wù)器這是最常用的選擇它會(huì)安裝一系列服務(wù)器常用的工具和服務(wù)如網(wǎng)絡(luò)服務(wù)器工具、系統(tǒng)管理工具、兼容性程序庫等但不會(huì)安裝圖形桌面。虛擬化主機(jī)如果你打算在這臺(tái)服務(wù)器上再運(yùn)行KVM虛擬機(jī)就選這個(gè)。最小安裝僅用于構(gòu)建極度精簡、安全的定制化基礎(chǔ)鏡像或者你對系統(tǒng)有完全的控制欲愿意手動(dòng)安裝所有需要的包。 我通常選擇“服務(wù)器”然后在右側(cè)的“附加選項(xiàng)”中勾選上我明確知道需要的環(huán)境例如“開發(fā)工具”包含GCC、Make等編譯環(huán)境、“系統(tǒng)管理工具”、“網(wǎng)絡(luò)服務(wù)器工具”等。記住一個(gè)原則服務(wù)器上不需要的服務(wù)一個(gè)都不裝需要的服務(wù)一個(gè)都不能少。3. 系統(tǒng)安裝目的地即磁盤分區(qū)這是另一個(gè)核心步驟。點(diǎn)擊進(jìn)入。如果你只有一塊磁盤它會(huì)自動(dòng)被選中。在“存儲(chǔ)配置”下我推薦選擇“自定義”然后點(diǎn)擊“完成”進(jìn)入手動(dòng)分區(qū)界面。這能給你最大的靈活性。手動(dòng)分區(qū)方案推薦對于大多數(shù)服務(wù)器一個(gè)經(jīng)典的分區(qū)方案如下/boot或/boot/efi如果是UEFI啟動(dòng)需要?jiǎng)?chuàng)建一個(gè)約300MB-1GB的EFI系統(tǒng)分區(qū)類型選EFI系統(tǒng)分區(qū)掛載點(diǎn)為/boot/efi。如果是Legacy啟動(dòng)則創(chuàng)建約500MB-1GB的/boot分區(qū)類型選標(biāo)準(zhǔn)分區(qū)文件系統(tǒng)xfs或ext4。這個(gè)分區(qū)存放系統(tǒng)內(nèi)核和引導(dǎo)文件。swap交換分區(qū)大小通常為物理內(nèi)存的1-2倍如果內(nèi)存很大如64GB以上可以酌情減少或按固定大小如8GB。類型選swap。/根分區(qū)占用剩余的大部分空間。文件系統(tǒng)選擇xfsKylin默認(rèn)或ext4均可。XFS在處理大文件時(shí)性能更好是默認(rèn)推薦。可選/home如果計(jì)劃有多個(gè)用戶存放大量數(shù)據(jù)可以單獨(dú)分區(qū)。可選/var如果服務(wù)器是Web或數(shù)據(jù)庫服務(wù)器日志和動(dòng)態(tài)數(shù)據(jù)會(huì)很多單獨(dú)分區(qū)可以避免根分區(qū)被日志塞滿。創(chuàng)建好分區(qū)后在下方還有一個(gè)“文件系統(tǒng)”選項(xiàng)建議將根分區(qū)和boot分區(qū)的文件系統(tǒng)選為xfs。然后點(diǎn)擊“完成”系統(tǒng)會(huì)提示你確認(rèn)更改點(diǎn)擊“接受更改”返回摘要頁。KDUMP這是一個(gè)內(nèi)核崩潰轉(zhuǎn)儲(chǔ)機(jī)制用于系統(tǒng)崩潰時(shí)收集調(diào)試信息。對于生產(chǎn)服務(wù)器建議啟用它但會(huì)占用一部分內(nèi)存默認(rèn)是物理內(nèi)存的160MB 每1TB磁盤2MB。如果你的內(nèi)存非常緊張可以禁用。網(wǎng)絡(luò)和主機(jī)名點(diǎn)擊進(jìn)入你應(yīng)該能看到你的網(wǎng)絡(luò)設(shè)備如ens33或eth0。將其開關(guān)從“關(guān)閉”撥到“打開”系統(tǒng)會(huì)自動(dòng)通過DHCP獲取IP地址。在主機(jī)名輸入框里為你的服務(wù)器設(shè)置一個(gè)有意義的主機(jī)名例如kylin-srv-01。點(diǎn)擊“應(yīng)用”。更詳細(xì)的靜態(tài)IP配置我們可以等系統(tǒng)安裝完成后再進(jìn)行那樣更穩(wěn)妥。安全策略Kylin V10內(nèi)置了安全增強(qiáng)功能你可以在這里選擇預(yù)定義的安全策略如“標(biāo)準(zhǔn)系統(tǒng)安全配置文件”。對于一般應(yīng)用可以先不選擇安裝后再根據(jù)實(shí)際需要使用security相關(guān)命令如setenforcesemanage來配置SELinux默認(rèn)是強(qiáng)制模式Enforcing或者使用firewall-cmd配置防火墻。初期為了排除問題方便有些管理員會(huì)選擇先設(shè)置為“允許”但生產(chǎn)環(huán)境務(wù)必根據(jù)業(yè)務(wù)需求嚴(yán)格配置。4. 用戶設(shè)置根密碼Root Password為root超級(jí)用戶設(shè)置一個(gè)強(qiáng)密碼。務(wù)必牢記創(chuàng)建用戶User Creation強(qiáng)烈建議創(chuàng)建一個(gè)日常使用的普通用戶并勾選“將此用戶設(shè)為管理員”這樣該用戶就可以通過sudo命令來執(zhí)行需要特權(quán)的操作避免了直接使用root帶來的風(fēng)險(xiǎn)。輸入用戶名、全名和密碼即可。3.3 開始安裝與初始設(shè)置當(dāng)所有帶黃色警告嘆號(hào)的配置項(xiàng)都消失表示已配置完成右下角的“開始安裝”按鈕就會(huì)變成藍(lán)色可用。點(diǎn)擊它安裝程序就會(huì)正式開始將系統(tǒng)寫入硬盤。安裝過程大概需要10-30分鐘取決于你的磁盤速度和選擇的軟件包數(shù)量。屏幕上會(huì)顯示進(jìn)度條和提示信息。安裝完成后點(diǎn)擊右下角的“重啟”按鈕。系統(tǒng)會(huì)提示你拔出安裝介質(zhì)U盤或彈出虛擬光驅(qū)然后按回車重啟。首次重啟后你會(huì)看到Kylin的引導(dǎo)菜單如果有多個(gè)內(nèi)核的話通常等待幾秒或直接回車進(jìn)入默認(rèn)項(xiàng)。之后系統(tǒng)會(huì)進(jìn)行首次啟動(dòng)的初始化設(shè)置。許可證信息需要閱讀并接受許可證協(xié)議。完成配置可能會(huì)讓你確認(rèn)一下網(wǎng)絡(luò)、主機(jī)名、時(shí)區(qū)等信息這些我們在安裝時(shí)都配好了直接點(diǎn)“完成配置”即可。登錄界面出現(xiàn)圖形登錄界面如果你安裝了GUI或字符登錄提示符如果是最小化或服務(wù)器安裝。使用你創(chuàng)建的普通用戶和密碼登錄。恭喜你Kylin Server V10操作系統(tǒng)已經(jīng)成功安裝到了你的服務(wù)器上4. 安裝后的首要優(yōu)化與必備配置系統(tǒng)裝好只是第一步要讓其成為一個(gè)穩(wěn)定、好用的服務(wù)器還需要進(jìn)行一系列“開箱后”的優(yōu)化配置。這些步驟很多是通用Linux最佳實(shí)踐但在Kylin環(huán)境下有一些細(xì)節(jié)需要注意。4.1 網(wǎng)絡(luò)靜態(tài)IP配置如果適用安裝時(shí)我們用了DHCP但服務(wù)器通常需要固定的IP地址。通過命令行配置# 1. 查看當(dāng)前網(wǎng)絡(luò)連接名稱 nmcli connection show # 輸出類似NAME UUID TYPE DEVICE # ens33 xxxxxxxx ethernet ens33 # 2. 編輯對應(yīng)連接的配置文件假設(shè)連接名是ens33 sudo nmcli connection modify ens33 ipv4.method manual ipv4.addresses 192.168.1.100/24 ipv4.gateway 192.168.1.1 ipv4.dns 8.8.8.8 # 解釋將ens33的連接方式改為手動(dòng)設(shè)置IP/掩碼、網(wǎng)關(guān)和DNS。 # 3. 重啟網(wǎng)絡(luò)連接使配置生效 sudo nmcli connection up ens33 # 4. 驗(yàn)證配置 ip addr show ens33 ping -c 4 8.8.8.8實(shí)操心得在Kylin V10中網(wǎng)絡(luò)管理工具默認(rèn)是NetworkManager使用nmcli命令非常高效。比起直接去編輯/etc/sysconfig/network-scripts/ifcfg-ens33文件這種方式在新版本中已逐漸被棄用nmcli能更好地與系統(tǒng)集成避免配置沖突。4.2 更新系統(tǒng)與配置軟件源剛安裝的系統(tǒng)軟件包可能不是最新的。首先更新系統(tǒng)sudo dnf makecache # 刷新元數(shù)據(jù)緩存 sudo dnf update -y # 升級(jí)所有可更新的軟件包Kylin V10默認(rèn)使用的是其自帶的軟件倉庫。有時(shí)你可能需要添加EPELExtra Packages for Enterprise Linux倉庫來獲取更多第三方軟件。但要注意兼容性不是所有EPEL包都能在Kylin上完美運(yùn)行。# 示例添加EPEL倉庫請根據(jù)你的系統(tǒng)架構(gòu)選擇正確的包 # 首先安裝epel-release包可以從官網(wǎng)下載對應(yīng)版本的rpm包或者如果網(wǎng)絡(luò)可達(dá)使用如下命令 sudo dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-10.noarch.rpm # 安裝后可以再次運(yùn)行 sudo dnf makecache 和 sudo dnf update注意事項(xiàng)在信創(chuàng)環(huán)境中尤其是使用國產(chǎn)CPU如飛騰、鯤鵬時(shí)務(wù)必優(yōu)先使用麒麟官方或芯片廠商提供的軟件源。x86架構(gòu)的兼容性相對較好但ARM架構(gòu)下很多x86的二進(jìn)制包無法運(yùn)行必須使用針對該ARM架構(gòu)編譯的版本。盲目添加外部源可能導(dǎo)致依賴地獄甚至系統(tǒng)損壞。4.3 基礎(chǔ)工具與服務(wù)安裝根據(jù)你的服務(wù)器角色安裝一些必備工具# 開發(fā)編譯環(huán)境如果安裝時(shí)沒選 sudo dnf groupinstall -y Development Tools # 常用工具 sudo dnf install -y vim wget curl net-tools tree htop ncdu lsof bash-completion # 如果要做Web服務(wù)器可以安裝Nginx或Apache sudo dnf install -y nginx sudo systemctl enable --now nginx # 啟動(dòng)并設(shè)置開機(jī)自啟 # 如果要做數(shù)據(jù)庫服務(wù)器可以安裝MySQL或PostgreSQL注意版本 sudo dnf install -y mariadb-server mariadb sudo systemctl enable --now mariadb sudo mysql_secure_installation # 運(yùn)行安全初始化腳本4.4 安全加固初步配置防火墻Kylin V10默認(rèn)使用firewalld。sudo systemctl enable --now firewalld # 確保防火墻服務(wù)運(yùn)行 sudo firewall-cmd --permanent --add-servicehttp # 永久允許HTTP服務(wù) sudo firewall-cmd --permanent --add-servicehttps # 永久允許HTTPS服務(wù) sudo firewall-cmd --permanent --add-port22/tcp # 永久允許SSH端口如果改了SSH端口這里要改 sudo firewall-cmd --reload # 重載配置使其生效 sudo firewall-cmd --list-all # 查看當(dāng)前所有規(guī)則SSH安全編輯/etc/ssh/sshd_config。修改Port 22為其他非標(biāo)準(zhǔn)端口如Port 2345。設(shè)置PermitRootLogin no禁止root直接登錄。設(shè)置PasswordAuthentication no并配合使用SSH密鑰登錄安全性更高。修改后執(zhí)行sudo systemctl restart sshd。SELinux了解其狀態(tài)。getenforce查看Enforcing/Permissive/Disabled。除非你非常清楚如何配置SELinux策略否則對于初學(xué)者或特定兼容性有問題的應(yīng)用可以先設(shè)置為Permissive模式觀察日志sudo setenforce 0。但這只是臨時(shí)生效永久修改需編輯/etc/selinux/config文件。5. 高頻問題與故障排查實(shí)錄即使按照圖解步驟操作在實(shí)際部署中也可能遇到各種問題。下面是我總結(jié)的幾個(gè)最常見的問題及其排查思路。5.1 安裝程序無法啟動(dòng)或卡住現(xiàn)象從U盤啟動(dòng)后黑屏、卡在LOGO界面、或提示錯(cuò)誤。排查校驗(yàn)鏡像首先確認(rèn)ISO鏡像的SHA256校驗(yàn)和是否正確。檢查啟動(dòng)介質(zhì)重新制作U盤啟動(dòng)盤嘗試換一個(gè)U盤或使用Ventoy。關(guān)閉安全啟動(dòng)進(jìn)入服務(wù)器BIOS將Secure Boot設(shè)置為Disabled。嘗試文本安裝模式在啟動(dòng)菜單選擇“Install Kylin Linux Advanced Server V10”后按Tab或E鍵編輯啟動(dòng)參數(shù)在行尾添加inst.text或nomodeset然后按回車。inst.text進(jìn)入文本安裝模式nomodeset禁用顯卡驅(qū)動(dòng)檢測常用于解決顯卡兼容性問題。檢查硬件兼容性特別是使用非常新的硬件時(shí)可能需要更新主板BIOS或?qū)ふ野买?qū)動(dòng)的新版系統(tǒng)鏡像。5.2 安裝過程中找不到磁盤現(xiàn)象在“安裝目的地”步驟中看不到任何磁盤。排查磁盤控制器模式常見于虛擬機(jī)。對于VMware檢查虛擬機(jī)設(shè)置中SCSI控制器類型如LSI Logic SAS, VMware Paravirtual。對于VirtualBox嘗試將SATA控制器改為SATAAHCI或SCSI。對于物理服務(wù)器可能是RAID卡驅(qū)動(dòng)未加載。驅(qū)動(dòng)問題如果服務(wù)器使用了特殊的硬件RAID卡或NVMe硬盤可能需要額外的驅(qū)動(dòng)。在安裝啟動(dòng)時(shí)編輯內(nèi)核參數(shù)嘗試添加modprobe.blacklistnouveau如果是因?yàn)殚_源NVIDIA驅(qū)動(dòng)沖突或rd.driver.pre參數(shù)來預(yù)加載驅(qū)動(dòng)。更復(fù)雜的情況需要準(zhǔn)備驅(qū)動(dòng)盤Driver Disk在安裝源界面加載。5.3 安裝后無法連接網(wǎng)絡(luò)現(xiàn)象系統(tǒng)安裝完成重啟后無法ping通網(wǎng)關(guān)或外網(wǎng)。排查ip addr或nmcli device status查看網(wǎng)卡是否被識(shí)別且處于connected狀態(tài)。如果沒有inet地址說明沒獲取到IP。NetworkManager服務(wù)確保服務(wù)已啟動(dòng)sudo systemctl status NetworkManager。配置文件沖突如果手動(dòng)編輯過舊的ifcfg-*文件可能與NetworkManager管理的配置沖突。建議統(tǒng)一使用nmcli命令管理。防火墻確認(rèn)本機(jī)防火墻沒有阻斷。可臨時(shí)關(guān)閉防火墻測試sudo systemctl stop firewalld。網(wǎng)卡命名新版Kylin使用類似ens33的預(yù)測性網(wǎng)絡(luò)接口名而非傳統(tǒng)的eth0。在腳本或配置中引用時(shí)要注意。5.4 軟件包安裝失敗或依賴錯(cuò)誤現(xiàn)象使用dnf install安裝軟件時(shí)提示“沒有可用軟件包”或依賴關(guān)系沖突。排查軟件源問題首先sudo dnf clean all然后sudo dnf makecache刷新緩存。倉庫是否啟用sudo dnf repolist all查看所有倉庫及其啟用狀態(tài)。確保你需要的倉庫是enabled的。架構(gòu)與版本匹配再次確認(rèn)你安裝的軟件包是否適用于你的系統(tǒng)架構(gòu)x86_64 vs aarch64和系統(tǒng)版本V10 SP1?。優(yōu)先級(jí)設(shè)置如果添加了多個(gè)倉庫如官方源和EPEL可能出現(xiàn)同一個(gè)軟件有多個(gè)版本??梢耘渲胐nf的插件priorities來設(shè)置倉庫優(yōu)先級(jí)確保優(yōu)先從官方源安裝。手動(dòng)下載rpm包對于特別難找的包可以嘗試從可信站點(diǎn)如麒麟軟件倉庫鏡像站、芯片廠商提供的光盤下載對應(yīng)的.rpm文件然后用sudo dnf install ./package.rpm本地安裝dnf會(huì)自動(dòng)處理依賴。5.5 圖形界面相關(guān)故障如果安裝了GUI現(xiàn)象登錄后黑屏、花屏、或者分辨率異常。排查顯卡驅(qū)動(dòng)集成顯卡通常沒問題。如果是獨(dú)立顯卡特別是NVIDIA可能需要安裝閉源驅(qū)動(dòng)。Kylin的軟件倉庫可能提供了akmod-nvidia或nvidia-driver包。安裝前先sudo dnf update kernel*確保內(nèi)核是最新的因?yàn)轵?qū)動(dòng)需要匹配內(nèi)核版本。顯示管理器默認(rèn)可能是GDM或LightDM??梢試L試切換TTYCtrlAltF2登錄命令行然后重啟顯示服務(wù)sudo systemctl restart gdm。Wayland與Xorg嘗試在登錄界面點(diǎn)擊用戶名下方的齒輪或設(shè)置圖標(biāo)將會(huì)話從“Wayland”切換到“Xorg”反之亦然。Wayland是新協(xié)議兼容性可能不如傳統(tǒng)的Xorg。6. 進(jìn)階在Kylin V10上部署關(guān)鍵服務(wù)實(shí)戰(zhàn)系統(tǒng)穩(wěn)定后就可以部署實(shí)際應(yīng)用了。這里以部署一個(gè)Python Web應(yīng)用使用Nginx uWSGI為例展示在Kylin V10上的標(biāo)準(zhǔn)流程。6.1 部署Python環(huán)境與虛擬環(huán)境系統(tǒng)可能自帶了Python3但版本可能較舊。我們可以通過dnf安裝較新版本或使用pyenv管理多版本。這里使用dnf安裝并配置虛擬環(huán)境。# 1. 安裝Python3及常用工具 sudo dnf install -y python3 python3-pip python3-devel # 2. 安裝虛擬環(huán)境工具 sudo pip3 install virtualenv virtualenvwrapper # 3. 為當(dāng)前用戶配置virtualenvwrapper echo export WORKON_HOME$HOME/.virtualenvs ~/.bashrc echo export VIRTUALENVWRAPPER_PYTHON/usr/bin/python3 ~/.bashrc echo source /usr/local/bin/virtualenvwrapper.sh ~/.bashrc source ~/.bashrc # 4. 為你的項(xiàng)目創(chuàng)建虛擬環(huán)境 mkvirtualenv myproject -p python3 workon myproject # 激活環(huán)境6.2 安裝uWSGI與應(yīng)用依賴在虛擬環(huán)境中安裝uWSGI和你的項(xiàng)目依賴假設(shè)有一個(gè)requirements.txt。# 確保在虛擬環(huán)境 ‘myproject’ 中 pip install uwsgi # 安裝項(xiàng)目依賴 pip install -r /path/to/your/project/requirements.txt6.3 配置uWSGI Emperor模式推薦使用Emperor模式可以方便地管理多個(gè)uWSGI應(yīng)用。# 1. 創(chuàng)建配置目錄和socket目錄 sudo mkdir -p /etc/uwsgi/vassals sudo mkdir -p /var/run/uwsgi sudo chown -R your_username:your_username /var/run/uwsgi # 將所有權(quán)給你的用戶方便管理 # 2. 創(chuàng)建你的應(yīng)用配置文件 /etc/uwsgi/vassals/myproject.ini sudo vim /etc/uwsgi/vassals/myproject.ini配置文件內(nèi)容示例[uwsgi] # 應(yīng)用基礎(chǔ)路徑 chdir /path/to/your/project # Python虛擬環(huán)境路徑 home /home/your_username/.virtualenvs/myproject # WSGI模塊入口 module your_app_module:app # 例如對于Flask: myapp:app # 使用socket與Nginx通信 socket /var/run/uwsgi/myproject.sock # 設(shè)置socket權(quán)限 chmod-socket 660 # 清理退出時(shí)的socket文件 vacuum true # 進(jìn)程管理 master true processes 4 threads 2 # 日志記錄 daemonize /var/log/uwsgi/myproject.log6.4 配置Systemd服務(wù)管理uWSGI Emperor創(chuàng)建systemd服務(wù)文件讓系統(tǒng)管理uWSGI Emperor進(jìn)程。sudo vim /etc/systemd/system/uwsgi-emperor.service服務(wù)文件內(nèi)容[Unit] DescriptionuWSGI Emperor Aftersyslog.target network.target [Service] ExecStart/home/your_username/.virtualenvs/myproject/bin/uwsgi --emperor /etc/uwsgi/vassals Restartalways KillSignalSIGQUIT Typenotify NotifyAccessall Useryour_username Groupyour_username [Install] WantedBymulti-user.target啟動(dòng)并啟用服務(wù)sudo systemctl daemon-reload sudo systemctl enable --now uwsgi-emperor sudo systemctl status uwsgi-emperor # 檢查狀態(tài)6.5 配置Nginx作為反向代理編輯Nginx的站點(diǎn)配置文件。sudo vim /etc/nginx/conf.d/myproject.conf配置文件內(nèi)容server { listen 80; server_name your_domain_or_ip; location / { include uwsgi_params; uwsgi_pass unix:/var/run/uwsgi/myproject.sock; uwsgi_param Host $host; uwsgi_param X-Real-IP $remote_addr; uwsgi_param X-Forwarded-For $proxy_add_x_forwarded_for; uwsgi_param X-Forwarded-Proto $scheme; } # 靜態(tài)文件處理如果有的話 location /static { alias /path/to/your/project/static; expires 30d; } }測試Nginx配置并重啟sudo nginx -t # 測試配置語法 sudo systemctl reload nginx # 平滑重載配置現(xiàn)在訪問你的服務(wù)器IP或域名應(yīng)該就能看到部署的Python應(yīng)用了。6.6 配置防火墻開放端口最后別忘了在防火墻開放80端口如果用了HTTPS還有443端口。sudo firewall-cmd --permanent --add-servicehttp sudo firewall-cmd --permanent --add-servicehttps # 如果配置了SSL sudo firewall-cmd --reload這套流程在Kylin V10上經(jīng)過實(shí)測是暢通的。關(guān)鍵在于路徑和權(quán)限的配置特別是socket文件的所屬用戶和組必須與uWSGI進(jìn)程的運(yùn)行用戶一致否則Nginx會(huì)報(bào)502 Bad Gateway錯(cuò)誤。通過systemd管理服務(wù)也保證了應(yīng)用在服務(wù)器重啟后能自動(dòng)運(yùn)行。