安裝全流程:從鏡像下載到Docker部署避坑指南)
1. 為什么值得花時(shí)間裝一臺(tái)歐拉系統(tǒng)OpenEuler歐拉系統(tǒng)這兩年在國內(nèi)服務(wù)器圈子的存在感越來越強(qiáng)尤其是做信創(chuàng)適配、政企項(xiàng)目交付、國產(chǎn)化替代的團(tuán)隊(duì)基本繞不開它。它脫胎于 CentOS 體系但又不是簡單的換皮——內(nèi)核版本更新、軟件包管理策略、安全加固方向都有自己的路子。很多人第一次接觸歐拉是因?yàn)楣卷?xiàng)目要求服務(wù)器必須跑國產(chǎn)操作系統(tǒng)結(jié)果拿到手發(fā)現(xiàn)連安裝界面都跟熟悉的 CentOS 不太一樣網(wǎng)絡(luò)配置、桌面環(huán)境、軟件源都得重新摸一遍。這篇內(nèi)容就是把我自己反復(fù)裝歐拉、踩坑、重裝、再踩坑的過程整理出來。從下載鏡像、VMware 建虛擬機(jī)、分區(qū)規(guī)劃、網(wǎng)絡(luò)配置到裝完之后的桌面環(huán)境、Docker、常用開發(fā)工具鏈一條龍講清楚。適合兩類人看一是完全沒碰過歐拉但工作需要快速上手的新手二是裝過一兩次但總在某個(gè)環(huán)節(jié)卡住、想系統(tǒng)梳理一遍的老手。全文基于 OpenEuler 22.03 LTS 和 24.03 LTS 兩個(gè)版本的實(shí)際操作命令和界面截圖描述都盡量還原真實(shí)場景。裝系統(tǒng)這件事說難不難說簡單也不簡單。難的是你不知道哪個(gè)選項(xiàng)選錯(cuò)了會(huì)導(dǎo)致后面網(wǎng)絡(luò)不通、yum 用不了、圖形界面起不來簡單的是只要關(guān)鍵節(jié)點(diǎn)做對了剩下就是一路回車。我見過太多人卡在“裝完沒網(wǎng)”或者“裝完沒桌面”這兩步上其實(shí)根源都在安裝階段的選擇。所以下面我會(huì)把每個(gè)容易出問題的環(huán)節(jié)單獨(dú)拎出來講包括為什么這么選、選錯(cuò)了怎么救。2. 安裝前的準(zhǔn)備工作與版本選擇2.1 鏡像下載與版本差異歐拉的官網(wǎng)是 openeuler.org進(jìn)去之后找“下載”欄目。這里有個(gè)坑官網(wǎng)提供多個(gè)版本類型包括 LTS長期支持版、創(chuàng)新版、以及各種架構(gòu)的鏡像。如果你是企業(yè)環(huán)境用無腦選 LTS目前主流是 22.03 LTS SP 系列和 24.03 LTS。22.03 的生態(tài)兼容性更好很多老軟件、驅(qū)動(dòng)、數(shù)據(jù)庫比如 Oracle 19c在它上面驗(yàn)證得更充分24.03 內(nèi)核更新適合跑新硬件和新容器技術(shù)。鏡像文件一般有兩個(gè)選擇openEuler-22.03-LTS-SP4-x86_64-dvd.iso這種 DVD 版和netinst網(wǎng)絡(luò)安裝版。強(qiáng)烈建議下 DVD 版大概 4-5 個(gè) G里面包含了基礎(chǔ)軟件倉庫裝完之后本地 yum 源直接能用不需要額外配網(wǎng)絡(luò)源就能裝常用工具。netinst 版只有幾百兆裝的時(shí)候必須聯(lián)網(wǎng)從遠(yuǎn)程源拉包萬一網(wǎng)絡(luò)配置沒弄好裝到一半就卡死了。下載完之后務(wù)必校驗(yàn)一下 SHA256官網(wǎng)有校驗(yàn)值。我遇到過下載不完整導(dǎo)致安裝到 80% 報(bào)“介質(zhì)損壞”的情況重下才解決。校驗(yàn)命令在 Linux 下用sha256sumWindows 下可以用 certutil 或者第三方工具。2.2 VMware 虛擬機(jī)創(chuàng)建的關(guān)鍵參數(shù)用 VMware Workstation 建虛擬機(jī)幾個(gè)參數(shù)直接影響后續(xù)體驗(yàn)CPU至少 2 核建議 4 核。歐拉默認(rèn)安裝帶圖形界面的話2 核會(huì)有點(diǎn)卡。內(nèi)存最小 2GB建議 4GB 以上。如果要在上面跑 Docker 或者數(shù)據(jù)庫直接給 8GB。磁盤默認(rèn) 20GB 起步建議 40GB 以上并且選“將虛擬磁盤拆分成多個(gè)文件”還是“存儲(chǔ)為單個(gè)文件”——單文件性能略好但遷移不方便拆分成多個(gè)文件方便拷貝性能差異在日常使用中幾乎感知不到。網(wǎng)絡(luò)模式這是重中之重。VMware 有三種常用模式橋接Bridged、NAT、僅主機(jī)Host-Only。橋接模式下虛擬機(jī)會(huì)從你物理網(wǎng)絡(luò)的 DHCP 拿 IP跟宿主機(jī)同網(wǎng)段局域網(wǎng)內(nèi)其他機(jī)器能直接訪問NAT 模式下虛擬機(jī)通過宿主機(jī)上網(wǎng)外部訪問不了虛擬機(jī)僅主機(jī)模式只能宿主機(jī)和虛擬機(jī)通信。做服務(wù)器實(shí)驗(yàn)建議用橋接這樣你可以在宿主機(jī)上用 SSH 直接連模擬真實(shí)服務(wù)器環(huán)境。還有一個(gè)細(xì)節(jié)VMware 的“虛擬化引擎”選項(xiàng)里如果宿主機(jī)支持把“虛擬化 Intel VT-x/EPT”勾上對后續(xù)在歐拉里跑 KVM 或者 Docker 有性能幫助。2.3 安裝介質(zhì)的引導(dǎo)與語言選擇虛擬機(jī)建好后掛載 ISO開機(jī)。歐拉安裝界面第一屏是引導(dǎo)菜單默認(rèn)選“Install openEuler”直接回車。如果卡在引導(dǎo)界面不動(dòng)檢查一下 VMware 的固件類型是 BIOS 還是 UEFI——?dú)W拉兩個(gè)都支持但有些老版本 VMware 默認(rèn) BIOS新版本默認(rèn) UEFI一般不用改。進(jìn)入安裝器后第一件事選語言。雖然歐拉支持中文但我建議安裝階段選英文。原因有兩個(gè)一是中文界面下某些專業(yè)術(shù)語翻譯得比較生硬反而不好理解二是安裝日志和報(bào)錯(cuò)信息在英文下更容易搜索到解決方案。裝完之后系統(tǒng)里可以隨時(shí)改中文不影響使用。語言選完進(jìn)入“安裝信息摘要”頁面這是整個(gè)安裝過程的核心控制臺(tái)。里面有日期時(shí)間、鍵盤、語言支持、安裝源、軟件選擇、安裝目的地、KDUMP、網(wǎng)絡(luò)和主機(jī)名、Root 密碼、創(chuàng)建用戶等條目。帶紅色感嘆號(hào)的必須處理完才能開始安裝。3. 分區(qū)規(guī)劃與軟件包選擇的核心邏輯3.1 手動(dòng)分區(qū)方案與參數(shù)計(jì)算歐拉默認(rèn)的分區(qū)方案是自動(dòng)的但自動(dòng)方案有時(shí)候會(huì)把根分區(qū)給得很小后期裝點(diǎn)東西就滿了。我習(xí)慣手動(dòng)分區(qū)下面是一套經(jīng)過多次驗(yàn)證的方案以 40GB 磁盤為例掛載點(diǎn)建議大小文件系統(tǒng)說明/boot1GBext4內(nèi)核和引導(dǎo)文件1GB 足夠/boot/efi200MBEFI System PartitionUEFI 啟動(dòng)必須BIOS 啟動(dòng)可不要swap4GBswap內(nèi)存小于 8GB 時(shí)建議等于內(nèi)存大小大于 8GB 給 4-8GB/20GBext4根分區(qū)裝系統(tǒng)和常用軟件/home剩余空間ext4用戶數(shù)據(jù)方便重裝系統(tǒng)時(shí)保留/var5GBext4日志和容器數(shù)據(jù)跑 Docker 建議單獨(dú)分如果磁盤更大比如 100GB可以把 /var 給到 20GB/home 給 50GB。分區(qū)的時(shí)候注意歐拉安裝器里創(chuàng)建分區(qū)要先選“手動(dòng)分區(qū)”或者“自定義”然后點(diǎn)“”號(hào)添加掛載點(diǎn)。文件系統(tǒng)默認(rèn)是 ext4也可以選 xfsxfs 在大文件和高并發(fā)場景下表現(xiàn)更好但 ext4 兼容性更穩(wěn)。新手建議 ext4。注意如果選了 UEFI 啟動(dòng)必須有一個(gè) /boot/efi 分區(qū)格式選 EFI System Partition否則裝完重啟會(huì)找不到引導(dǎo)。BIOS 啟動(dòng)則不需要這個(gè)分區(qū)但需要一個(gè) 1-2MB 的 bios boot 分區(qū)歐拉安裝器會(huì)自動(dòng)處理一般不用手動(dòng)加。3.2 軟件選擇最小安裝還是帶 GUI“軟件選擇”這一項(xiàng)決定了你裝完之后有沒有圖形界面。歐拉提供的選項(xiàng)包括最小安裝只有命令行沒有桌面體積最小適合服務(wù)器。服務(wù)器命令行加一些服務(wù)器常用工具推薦生產(chǎn)環(huán)境用。帶 GUI 的服務(wù)器命令行加 GNOME 桌面適合需要圖形化操作的場景。虛擬化主機(jī)帶虛擬化工具鏈。工作站帶更多開發(fā)工具和桌面環(huán)境。如果你裝完發(fā)現(xiàn)沒有桌面想補(bǔ)裝圖形界面可以在命令行下執(zhí)行dnf groupinstall Server with GUI或者dnf groupinstall GNOME然后systemctl set-default graphical.target設(shè)置默認(rèn)啟動(dòng)圖形界面。但這個(gè)過程需要網(wǎng)絡(luò)源可用所以最好在安裝階段就選好。我個(gè)人的習(xí)慣是生產(chǎn)服務(wù)器選“最小安裝”需要桌面的實(shí)驗(yàn)環(huán)境選“帶 GUI 的服務(wù)器”。選“帶 GUI 的服務(wù)器”之后裝完默認(rèn)啟動(dòng)就是圖形登錄界面GNOME 桌面跟 CentOS 的體驗(yàn)很接近。3.3 網(wǎng)絡(luò)和主機(jī)名配置的時(shí)機(jī)安裝信息摘要頁面里的“網(wǎng)絡(luò)和主機(jī)名”一定要點(diǎn)進(jìn)去配置。默認(rèn)情況下網(wǎng)卡是關(guān)閉的你需要在列表里選中網(wǎng)卡一般是 ens33 或 ens160 這種名字點(diǎn)右上角的開關(guān)打開。打開之后默認(rèn)是 DHCP 自動(dòng)獲取 IP如果你需要靜態(tài) IP點(diǎn)“配置”按鈕手動(dòng)填。這里有個(gè)經(jīng)驗(yàn)安裝階段就把網(wǎng)絡(luò)配好裝完之后直接能上網(wǎng)、能用 yum。如果安裝階段沒配裝完進(jìn)系統(tǒng)再配也可以但那時(shí)候你可能連ifconfig命令都沒有最小安裝不帶 net-tools得用ip addr看網(wǎng)卡用nmcli或修改配置文件來配多一道手續(xù)。主機(jī)名也在這里改默認(rèn)是 localhost.localdomain改成你想要的比如euler-server-01。改完點(diǎn)“應(yīng)用”。4. 安裝過程與首次啟動(dòng)的關(guān)鍵操作4.1 Root 密碼與用戶創(chuàng)建Root 密碼必須設(shè)而且歐拉對密碼復(fù)雜度有要求至少 8 位包含大小寫字母和數(shù)字。如果你設(shè)得太簡單安裝器會(huì)提示“密碼太弱”但可以點(diǎn)兩次“完成”強(qiáng)制通過。生產(chǎn)環(huán)境別這么干老老實(shí)實(shí)設(shè)個(gè)復(fù)雜點(diǎn)的。除了 root建議再創(chuàng)建一個(gè)普通用戶勾選“將此用戶設(shè)為管理員”這樣這個(gè)用戶可以用 sudo。日常操作別用 root這是基本安全習(xí)慣。所有紅色感嘆號(hào)處理完之后點(diǎn)“開始安裝”。安裝過程大概 10-20 分鐘取決于磁盤性能和選的軟件包數(shù)量。裝完后點(diǎn)“重啟”。4.2 首次啟動(dòng)的許可與初始設(shè)置重啟后第一次進(jìn)系統(tǒng)如果是帶 GUI 的會(huì)有一個(gè)初始設(shè)置向?qū)гS可協(xié)議、網(wǎng)絡(luò)、用戶等。許可協(xié)議勾選同意網(wǎng)絡(luò)如果之前配好了這里會(huì)顯示已連接。設(shè)置完進(jìn)入桌面。如果是最小安裝重啟后直接是命令行登錄提示。用 root 或者你創(chuàng)建的用戶登錄。登錄后第一件事檢查網(wǎng)絡(luò)ip addr看網(wǎng)卡有沒有拿到 IP。如果沒有用nmcli配置nmcli con show nmcli con up ens33如果 DHCP 沒拿到地址可以手動(dòng)配靜態(tài)nmcli con mod ens33 ipv4.addresses 192.168.1.100/24 nmcli con mod ens33 ipv4.gateway 192.168.1.1 nmcli con mod ens33 ipv4.dns 8.8.8.8 nmcli con mod ens33 ipv4.method manual nmcli con up ens33這套命令在歐拉上通用因?yàn)闅W拉默認(rèn)用 NetworkManager 管理網(wǎng)絡(luò)。4.3 配置本地 YUM 源如果你裝的是 DVD 版光盤里自帶軟件倉庫。把 ISO 掛載到系統(tǒng)里然后配本地源mkdir /mnt/cdrom mount /dev/sr0 /mnt/cdrom然后創(chuàng)建 repo 文件vi /etc/yum.repos.d/local.repo內(nèi)容[local] nameLocal DVD baseurlfile:///mnt/cdrom enabled1 gpgcheck0保存后執(zhí)行dnf clean all dnf makecache然后dnf repolist看是否生效。這樣即使沒外網(wǎng)也能裝常用軟件。如果要配網(wǎng)絡(luò)源歐拉的官方源地址在/etc/yum.repos.d/openEuler.repo里默認(rèn)就有但需要外網(wǎng)。國內(nèi)可以用一些鏡像站加速改 baseurl 就行。5. 裝完系統(tǒng)后必做的幾件事5.1 安裝常用工具鏈最小安裝的系統(tǒng)很干凈很多工具沒有。先裝一批基礎(chǔ)工具dnf install -y vim wget curl net-tools tar unzip gitGit 裝完后要配一下用戶信息git config --global user.name Your Name git config --global user.email youremail.com如果要用 Python 開發(fā)歐拉自帶 Python3但 pip 可能沒裝dnf install -y python3-pip需要更獨(dú)立的 Python 環(huán)境可以裝 Minicondawget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh bash Miniconda3-latest-Linux-x86_64.sh一路回車最后source ~/.bashrc生效。5.2 安裝 Docker 與容器環(huán)境歐拉裝 Docker 有兩種方式用官方源或者用歐拉自帶的 docker 包。推薦用歐拉源dnf install -y docker systemctl enable docker systemctl start docker docker version裝完后可以配一下國內(nèi)鏡像加速編輯/etc/docker/daemon.json{ registry-mirrors: [https://your-mirror.com] }然后systemctl daemon-reload systemctl restart docker。注意歐拉 24.03 默認(rèn)可能用 podman 替代 docker如果你習(xí)慣 docker 命令可以裝 docker-ce 或者用 podman 的 docker 兼容別名。dnf install -y podman-docker可以讓 podman 響應(yīng) docker 命令。5.3 圖形界面與 UKUI 桌面如果裝的是最小安裝后來想加桌面除了 GNOME歐拉還支持 UKUI 桌面來自麒麟的桌面環(huán)境。裝 UKUIdnf install -y ukui systemctl set-default graphical.target rebootUKUI 的界面更接近 Windows 風(fēng)格對新手更友好。但 UKUI 的包依賴比較多裝的時(shí)候注意磁盤空間。5.4 修改文件夾權(quán)限與用戶管理歐拉里改文件夾權(quán)限用chmod和chown。比如把某個(gè)目錄給某個(gè)用戶chown -R username:groupname /path/to/dir chmod -R 755 /path/to/dir755 表示所有者可讀寫執(zhí)行組和其他人可讀可執(zhí)行。如果目錄里有敏感數(shù)據(jù)用 700 只給所有者權(quán)限。添加用戶useradd -m -s /bin/bash newuser passwd newuser usermod -aG wheel newuserwheel組在歐拉里默認(rèn)有 sudo 權(quán)限。6. 常見問題排查與避坑經(jīng)驗(yàn)6.1 裝完沒有網(wǎng)絡(luò)怎么辦這是最高頻的問題。排查順序ip addr看網(wǎng)卡有沒有 IP。沒有的話nmcli con show看連接狀態(tài)。如果網(wǎng)卡是 down 的nmcli con up ens33。如果是 VMware 環(huán)境檢查虛擬機(jī)網(wǎng)絡(luò)模式是不是橋接宿主機(jī)網(wǎng)卡有沒有選對。如果是靜態(tài) IP檢查網(wǎng)關(guān)和 DNS 是否跟宿主機(jī)同網(wǎng)段。防火墻可能擋了systemctl stop firewalld臨時(shí)關(guān)掉測試。6.2 YUM 報(bào)錯(cuò) “Cannot find a valid baseurl”一般是源配置問題。檢查/etc/yum.repos.d/下的 repo 文件baseurl 是否可達(dá)。本地源檢查 ISO 是否掛載到/mnt/cdrom。網(wǎng)絡(luò)源檢查 DNS 和網(wǎng)絡(luò)連通性。6.3 沒有顯示器和 IP 怎么進(jìn)后臺(tái)這種情況常見于物理服務(wù)器。如果服務(wù)器有串口Serial Console可以通過串口連接。歐拉默認(rèn)可能沒開串口控制臺(tái)需要在 GRUB 里加consolettyS0,115200參數(shù)。如果是虛擬機(jī)可以在 VMware 里直接看控制臺(tái)或者用 VNC 連。如果連 IP 都沒有只能通過帶外管理IPMI、iDRAC、iLO進(jìn) KVM over IP或者接顯示器鍵盤。沒有這些條件的話只能進(jìn)單用戶模式重置網(wǎng)絡(luò)配置。6.4 升級 OpenSSH 的注意事項(xiàng)歐拉自帶的 OpenSSH 版本可能比較老有安全掃描要求時(shí)需要升級。升級前務(wù)必備份/etc/ssh/目錄。確認(rèn)新版本編譯依賴zlib、openssl已裝。編譯安裝后不要覆蓋舊版本先裝到/usr/local/下測試新 sshd 能啟動(dòng)再替換。保留一個(gè)已連接的 SSH 會(huì)話不要斷萬一新 sshd 起不來還能用舊會(huì)話救回來。6.5 安裝 Oracle 19c 的前置條件歐拉上裝 Oracle 19c 是很多信創(chuàng)項(xiàng)目的需求。關(guān)鍵點(diǎn)內(nèi)核參數(shù)調(diào)整/etc/sysctl.conf里加fs.file-max、kernel.sem、net.ipv4.ip_local_port_range等。用戶和組創(chuàng)建oinstall、dba組和oracle用戶。依賴包dnf install -y binutils compat-libcap1 gcc gcc-c glibc-devel libaio libaio-devel libstdc-devel等。歐拉的 glibc 版本可能比 Oracle 官方要求的更新需要做兼容處理比如軟鏈接舊版本庫。這個(gè)主題展開能寫一整篇這里只點(diǎn)一下關(guān)鍵方向。7. 幾個(gè)容易被忽略的細(xì)節(jié)裝歐拉的過程中有幾個(gè)細(xì)節(jié)看似不起眼但影響很大。第一個(gè)是 SELinux。歐拉默認(rèn)開啟 SELinux enforcing 模式。如果你裝某些軟件比如 Oracle、某些 Web 服務(wù)遇到莫名其妙的權(quán)限拒絕先看/var/log/audit/audit.log臨時(shí)用setenforce 0關(guān)掉測試。生產(chǎn)環(huán)境不建議永久關(guān)閉但實(shí)驗(yàn)環(huán)境可以改/etc/selinux/config為 permissive。第二個(gè)是防火墻。歐拉默認(rèn) firewalld 開啟很多端口沒放行。裝完 Docker 后容器端口映射可能被防火墻擋。要么關(guān)防火墻要么用firewall-cmd --add-port放行。第三個(gè)是時(shí)間同步。歐拉默認(rèn)可能沒開 chronyd導(dǎo)致時(shí)間不準(zhǔn)影響證書、日志、集群。systemctl enable chronyd systemctl start chronyd然后chronyc sources看同步狀態(tài)。第四個(gè)是 tar 解壓。歐拉里解壓 tar.gz 用tar -zxvf file.tar.gz解壓 tar.xz 用tar -Jxvf file.tar.xz。如果提示xz: command not found裝xz包。第五個(gè)是文件夾權(quán)限的繼承。用chmod -R遞歸改權(quán)限時(shí)如果目錄里有符號(hào)鏈接可能會(huì)跟著改到鏈接目標(biāo)。用chmod -R --no-dereference避免。這些細(xì)節(jié)單獨(dú)看都不大但組合起來就是“為什么我的歐拉跟別人不一樣”的根源。我自己的習(xí)慣是裝完系統(tǒng)先跑一個(gè)初始化腳本把時(shí)區(qū)、時(shí)間同步、防火墻策略、SELinux、常用工具、Docker、Python 環(huán)境一次性配好省得每次重裝都重復(fù)勞動(dòng)。最后說一個(gè)實(shí)際體會(huì)歐拉的文檔雖然全但很多是面向企業(yè)級部署的對個(gè)人學(xué)習(xí)者和中小團(tuán)隊(duì)來說最實(shí)用的還是社區(qū)里那些“我裝的時(shí)候遇到什么坑”的帖子。我寫這篇也是這個(gè)目的——把官方文檔里不會(huì)寫的、但實(shí)際會(huì)卡住人的地方講清楚。裝系統(tǒng)這件事第一次裝可能花兩小時(shí)第二次半小時(shí)第三次就變成肌肉記憶了。關(guān)鍵是第一次別被嚇退。