Solaris 採用 SVR4 打包格式 (pkg) 與 IPS (Image Packaging System, Solaris 11+) 兩套軟體管理機制。本文詳細說明 pkgadd/pkgrm/pkginfo 核心操作、FTP 服務部署與檔案傳輸實戰。
| 類別 | 路徑 | 用途 | 介面 |
|---|---|---|---|
| 系統指令 | /bin、/sbin、/usr/bin、/usr/sbin | 核心系統管理 | 字元介面 |
| 應用程式 | /opt、/usr/local、自訂路徑 | 業務功能 (Oracle、WebLogic 等) | 字元/圖形 |
# 查詢已安裝包 pkginfo # 列出所有 pkginfo | wc -l # 統計數量 pkginfo -l # 詳細資訊 (分頁) pkginfo -l SUNWbash # 指定包詳細資訊 # 安裝包 pkgadd -d /cdrom/sol_10_1009_sparc/Solaris_10/Product SUNWbash # -d 指定來源裝置/目錄 (必須) # 來源可以是:光碟、本地目錄、HTTP/FTP URL (Solaris 10 支援有限) # 從儲存庫安裝 (預設 /var/spool/pkg) pkgadd SUNWbash # 省略 -d,從預設儲存庫安裝 # 驗證安裝完整性 pkgchk -v SUNWbash # 逐檔驗證 pkgchk -n SUNWbash # 僅檢查檔案存在性 # 查詢檔案屬於哪個包 pkgchk -l -p /usr/bin/ls # 顯示包含 /usr/bin/ls 的包 # 移除包 pkgrm SUNWbash # 互動確認 pkgrm -n SUNWbash # 無提示移除
# 發佈器管理 pkg publisher # 列出配置的發佈器 pkg set-publisher -g https://pkg.oracle.com/solaris/release solaris # 搜尋套件 pkg search -r bash # 搜尋含 bash 的套件 pkg list -a bash # 列出可用版本 # 安裝/更新/移除 pkg install bash pkg update bash pkg uninstall bash # 環境查詢 pkg info bash # 詳細資訊 pkg contents bash # 列出套件安裝的檔案 pkg verify bash # 驗證完整性 # 啟動環境 (BE) 管理 beadm list # 列出啟動環境 beadm create before-upgrade beadm activate before-upgrade
# 1. 允許 Root 登入 (預設禁止) vi /etc/ftpd/ftpusers # 註解掉 root 行:#root # 2. 啟用 FTP 服務 svcadm enable network/ftp svcs ftp # 驗證狀態 online # 3. 被動模式配置 (防火牆/NAT 環境必須) # 編輯 /etc/ftpd/ftpaccess # passive address 192.168.1.100 (對外公網 IP) # passive ports 50000 51000 (被動模式埠範圍) # 4. 防火牆開放埠 # 主動模式:20 (data)、21 (control) # 被動模式:21 + 50000-51000
C:\> ftp 192.168.1.100 Connected to 192.168.1.100. 220 solaris FTP server ready. User (192.168.1.100:(none)): root 331 Password required for root. Password: ******** 230 User root logged in. ftp> binary # 二進制模式 (傳輸 .pkg、.gz、.tar 等) 200 Type set to I. ftp> put local_file.pkg /var/spool/pkg/remote_file.pkg 200 PORT command successful. 150 Opening BINARY mode data connection. 226 Transfer complete. ftp> mget *.gz # 批次下載 ftp> prompt off # 關閉互動確認 ftp> mput *.pkg # 批次上傳 ftp> bye
| 指令 | 功能 |
|---|---|
| ls / dir | 列出遠端目錄 |
| cd / cwd | 切換遠端目錄 |
| lcd | 切換本地目錄 |
| get / recv | 下載單一檔案 |
| mget | 批次下載 (支援萬用字元) |
| put / send | 上傳單一檔案 |
| mput | 批次上傳 |
| binary / bin | 二進制模式 (預設 ASCII) |
| ascii | 文字模式 |
| prompt | 切換互動確認開關 |
| hash | 顯示傳輸進度 # 號 |
| bye / quit | 離開 |
binary → put oracle.pkg /var/spool/pkg/pkgadd -d /var/spool/pkg oraclepkgchk -v oraclerm /var/spool/pkg/oracle.pkg生產環境建議使用 SSH 協議傳輸,安全且支援斷點續傳:
# Windows (WinSCP/FileZilla) 或命令列 scp oracle.pkg root@solaris:/var/spool/pkg/ rsync -avzP /local/path/ root@solaris:/remote/path/