首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> Oracle 資料庫 >> Oracle 教學

Solaris 軟體包管理 (pkg) 與 FTP 服務部署實戰

     編輯:Oracle 教學

Solaris 軟體包管理 (pkg) 與 FTP 服務部署實戰

Solaris 採用 SVR4 打包格式 (pkg) 與 IPS (Image Packaging System, Solaris 11+) 兩套軟體管理機制。本文詳細說明 pkgadd/pkgrm/pkginfo 核心操作、FTP 服務部署與檔案傳輸實戰。

應用程式 vs 系統指令

類別路徑用途介面
系統指令/bin、/sbin、/usr/bin、/usr/sbin核心系統管理字元介面
應用程式/opt、/usr/local、自訂路徑業務功能 (Oracle、WebLogic 等)字元/圖形

SVR4 包管理 (Solaris 10/11 相容)

核心指令

# 查詢已安裝包
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/.gz):預編譯、特定平台、安裝快 (熟雞蛋)
  • 原始碼包 (.tar.gz/.tar.bz2):跨平台、需編譯、可定製 (生雞蛋)
  • 安裝程式包:自帶安裝精靈 (如 Oracle runInstaller)
  • 免安裝綠色版:解壓即用、無註冊表/資料庫依賴

IPS 套件管理 (Solaris 11+ 現代化)

# 發佈器管理
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

FTP 服務部署實戰

Solaris 內建 FTP (proftpd / in.ftpd)

# 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

Windows 用戶端連線測試

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

常用 FTP 指令速查

指令功能
ls / dir列出遠端目錄
cd / cwd切換遠端目錄
lcd切換本地目錄
get / recv下載單一檔案
mget批次下載 (支援萬用字元)
put / send上傳單一檔案
mput批次上傳
binary / bin二進制模式 (預設 ASCII)
ascii文字模式
prompt切換互動確認開關
hash顯示傳輸進度 # 號
bye / quit離開

軟體部署完整流程範例

  1. Windows: binary → put oracle.pkg /var/spool/pkg/
  2. Solaris: pkgadd -d /var/spool/pkg oracle
  3. 驗證: pkgchk -v oracle
  4. 清理: rm /var/spool/pkg/oracle.pkg

替代方案:SFTP / SCP / rsync

生產環境建議使用 SSH 協議傳輸,安全且支援斷點續傳:

# Windows (WinSCP/FileZilla) 或命令列
scp oracle.pkg root@solaris:/var/spool/pkg/
rsync -avzP /local/path/ root@solaris:/remote/path/
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved