Red Hat Training

A Red Hat training course is available for Red Hat Satellite

章 6. 上​​​傳​​​與​​​維​​​護​​​自​​​訂​​​套​​​件​​​

端​​​看​​​用​​​得​​​是​​​何​​​種​​​ Red Hat Network 服​​​務​​​,有​​​兩​​​種​​​機​​​制​​​可​​​以​​​用​​​將​​​套​​​件​​​上​​​傳​​​到​​​私​​​有​​​頻​​​道​​​中​​​。​​​
RHN Proxy Server 的​​​用​​​戶​​​使​​​用​​​ RHN Package Manager 應​​​用​​​程​​​式​​​,它​​​可​​​以​​​將​​​套​​​件​​​表​​​頭​​​資​​​訊​​​傳​​​送​​​到​​​ Red Hat Network 伺​​​服​​​器​​​,並​​​將​​​套​​​件​​​本​​​身​​​放​​​到​​​使​​​用​​​ RHN Package Manager 的​​​ Proxy 之​​​本​​​機​​​軟​​​體​​​庫​​​中​​​。​​​
RHN Satellite Server 的​​​用​​​戶​​​使​​​用​​​ RHN Push 應​​​用​​​程​​​式​​​,它​​​可​​​以​​​將​​​套​​​件​​​表​​​頭​​​資​​​訊​​​傳​​​送​​​到​​​本​​​機​​​的​​​ RHN Satellite Server 上​​​,並​​​將​​​套​​​件​​​放​​​到​​​使​​​用​​​ RHN Push 的​​​ Satellite 上​​​。​​​
本​​​章​​​將​​​詳​​​細​​​描​​​述​​​這​​​兩​​​個​​​工​​​具​​​。​​​

警告

如​​​果​​​您​​​同​​​時​​​使​​​用​​​了​​​ RHN Proxy Server 與​​​ RHN Satellite Server,請​​​使​​​用​​​ RHN Push 即​​​可​​​。​​​Proxy-Satellite 的​​​組​​​合​​​僅​​​需​​​要​​​將​​​自​​​訂​​​套​​​件​​​與​​​頻​​​道​​​上​​​傳​​​至​​​ Satellite。​​​Proxy 會​​​從​​​該​​​處​​​獲​​​得​​​套​​​件​​​,並​​​發​​​送​​​到​​​用​​​戶​​​端​​​系​​​統​​​上​​​。​​​

6.1. 上​​​傳​​​套​​​件​​​至​​​ RHN Proxy Server

RHN Package Manager 能​​​讓​​​一​​​個​​​組​​​織​​​透​​​過​​​ RHN Proxy Server,利​​​用​​​私​​​有​​​的​​​ RHN 頻​​​道​​​發​​​送​​​自​​​訂​​​套​​​件​​​。​​​如​​​果​​​您​​​希​​​望​​​ RHN Proxy Server 僅​​​服​​​務​​​ Red Hat Enterprise Linux 套​​​件​​​,您​​​不​​​需​​​要​​​安​​​裝​​​ RHN Package Manager。​​​
要​​​使​​​用​​​ RHN Package Manager,請​​​安​​​裝​​​ rhns-proxy-package-manager RPM 套​​​件​​​及​​​其​​​相​​​依​​​套​​​件​​​。​​​此​​​套​​​件​​​可​​​以​​​在​​​已​​​註​​​冊​​​的​​​ RHN Proxy Server 系​​​統​​​上​​​找​​​到​​​,或​​​以​​​執​​​行​​​ up2date rhns-proxy-package-manager 的​​​方​​​式​​​安​​​裝​​​。​​​

注意

只​​​有​​​套​​​件​​​的​​​表​​​頭​​​資​​​訊​​​會​​​上​​​傳​​​到​​​ RHN 伺​​​服​​​器​​​上​​​。​​​表​​​頭​​​是​​​必​​​備​​​的​​​資​​​訊​​​,這​​​樣​​​ RHN 才​​​可​​​以​​​解​​​決​​​用​​​戶​​​端​​​系​​​統​​​上​​​,套​​​件​​​的​​​相​​​依​​​性​​​問​​​題​​​。​​​真​​​正​​​的​​​套​​​件​​​檔​​​案​​​(*.rpm)會​​​儲​​​存​​​在​​​ RHN Proxy Server 上​​​。​​​因​​​此​​​,雖​​​然​​​自​​​訂​​​套​​​件​​​都​​​列​​​了​​​出​​​來​​​,但​​​卻​​​不​​​能​​​透​​​過​​​ RHN 網​​​站​​​下​​​載​​​。​​​這​​​些​​​套​​​件​​​必​​​須​​​在​​​用​​​戶​​​端​​​上​​​,透​​​過​​​ up2date 存​​​取​​​。​​​

6.1.1. 設​​​定​​​與​​​使​​​用​​​ RHN Package Manager

在​​​您​​​使​​​用​​​ RHN Package Manager 將​​​套​​​件​​​上​​​傳​​​到​​​ RHN 之​​​前​​​,您​​​需​​​要​​​先​​​手​​​動​​​複​​​製​​​套​​​件​​​到​​​ Proxy 伺​​​服​​​器​​​。​​​舉​​​例​​​來​​​說​​​,您​​​可​​​以​​​在​​​發​​​展​​​機​​​器​​​上​​​用​​​ scp 指​​​令​​​。​​​
scp foo.rpm root@rhnproxy.example.com:/tmp
當​​​使​​​用​​​ RHN Package Manager 將​​​套​​​件​​​上​​​傳​​​到​​​ Red Hat Network 時​​​,指​​​向​​​您​​​之​​​前​​​複​​​製​​​到​​​伺​​​服​​​器​​​的​​​檔​​​案​​​。​​​

注意

在​​​將​​​自​​​訂​​​套​​​件​​​上​​​傳​​​至​​​ Red Hat Network 前​​​,請​​​建​​​立​​​至​​​少​​​一​​​個​​​私​​​有​​​頻​​​道​​​,以​​​接​​​收​​​這​​​些​​​套​​​件​​​。​​​這​​​是​​​因​​​為​​​系​​​統​​​要​​​收​​​到​​​套​​​件​​​前​​​,頻​​​道​​​是​​​必​​​要​​​的​​​東​​​西​​​。​​​
以​​​下​​​指​​​令​​​會​​​將​​​套​​​件​​​的​​​表​​​頭​​​上​​​傳​​​至​​​ RHN 伺​​​服​​​器​​​,並​​​將​​​套​​​件​​​複​​​製​​​到​​​ RHN Proxy Server 儲​​​存​​​地​​​去​​​:
rhn_package_manager -c label_of_private_channelpkg-list
label_of_private_channel 是​​​個​​​建​​​立​​​來​​​取​​​得​​​這​​​些​​​套​​​件​​​的​​​自​​​訂​​​頻​​​道​​​。​​​請​​​確​​​認​​​您​​​使​​​用​​​建​​​立​​​頻​​​道​​​時​​​所​​​設​​​立​​​的​​​精​​​確​​​頻​​​道​​​標​​​籤​​​。​​​如​​​果​​​您​​​要​​​指​​​定​​​一​​​或​​​多​​​個​​​頻​​​道​​​(透​​​過​​​ -c 或​​​ --channel),所​​​上​​​傳​​​的​​​套​​​件​​​表​​​頭​​​會​​​與​​​所​​​有​​​指​​​定​​​的​​​頻​​​道​​​相​​​連​​​結​​​。​​​若​​​您​​​未​​​指​​​定​​​頻​​​道​​​,套​​​件​​​將​​​存​​​在​​​「​​​套​​​件​​​管​​​理​​​」​​​網​​​頁​​​中​​​的​​​「​​​無​​​頻​​​道​​​」​​​一​​​節​​​中​​​。​​​有​​​關​​​於​​​重​​​新​​​指​​​定​​​套​​​件​​​上​​​的​​​說​​​明​​​,請​​​參​​​閱​​​ 節 4.6, “將​​​套​​​件​​​指​​​定​​​到​​​軟​​​體​​​頻​​​道​​​中​​​”。​​​
pkg-list 參​​​考​​​了​​​要​​​上​​​傳​​​套​​​件​​​的​​​清​​​單​​​。​​​這​​​些​​​套​​​件​​​必​​​須​​​已​​​經​​​複​​​製​​​到​​​ Proxy 主​​​機​​​上​​​。​​​否​​​則​​​的​​​話​​​,請​​​使​​​用​​​ -d 選​​​項​​​,指​​​定​​​包​​​含​​​要​​​加​​​入​​​頻​​​道​​​的​​​套​​​件​​​之​​​目​​​錄​​​。​​​RHN Package Manager 也​​​可​​​以​​​從​​​標​​​準​​​輸​​​入​​​讀​​​取​​​套​​​件​​​清​​​單​​​(使​​​用​​​ --stdin 選​​​項​​​)。​​​
其​​​他​​​選​​​項​​​會​​​在​​​一​​​個​​​設​​​定​​​檔​​​中​​​指​​​定​​​,例​​​如​​​ Red Hat Network 伺​​​服​​​器​​​網​​​址​​​、​​​HTTP 代​​​理​​​伺​​​服​​​器​​​的​​​使​​​用​​​者​​​名​​​稱​​​與​​​密​​​碼​​​(如​​​果​​​您​​​的​​​ HTTP 代​​​理​​​伺​​​服​​​器​​​需​​​要​​​認​​​證​​​的​​​話​​​),以​​​及​​​套​​​件​​​所​​​在​​​地​​​的​​​上​​​層​​​目​​​錄​​​。​​​此​​​特​​​定​​​設​​​定​​​一​​​定​​​「​​​不​​​能​​​被​​​」​​​修​​​改​​​,並​​​且​​​必​​​須​​​位​​​在​​​ /etc/rhn/default/rhn_proxy_package_manager.conf 中​​​。​​​您​​​可​​​以​​​藉​​​由​​​修​​​改​​​主​​​設​​​定​​​檔​​​ /etc/rhn/rhn.conf 或​​​透​​​過​​​傳​​​送​​​到​​​ RHN Package Manager 的​​​指​​​令​​​列​​​選​​​項​​​,覆​​​寫​​​預​​​設​​​設​​​定​​​檔​​​中​​​的​​​這​​​些​​​選​​​擇​​​。​​​
不​​​在​​​此​​​檔​​​案​​​中​​​設​​​定​​​的​​​參​​​數​​​會​​​從​​​目​​​前​​​登​​​入​​​的​​​使​​​用​​​者​​​家​​​目​​​錄​​​的​​​ .rhn_package_manager 中​​​讀​​​取​​​,最​​​終​​​會​​​從​​​ /etc/rhn/rhn_package_manager.conf 中​​​讀​​​取​​​。​​​請​​​確​​​定​​​所​​​有​​​這​​​些​​​檔​​​案​​​都​​​有​​​正​​​確​​​的​​​存​​​取​​​權​​​限​​​,以​​​避​​​免​​​其​​​他​​​使​​​用​​​者​​​讀​​​取​​​。​​​
在​​​上​​​傳​​​套​​​件​​​之​​​後​​​,請​​​檢​​​查​​​本​​​機​​​目​​​錄​​​是​​​否​​​與​​​ RHN 伺​​​服​​​器​​​的​​​頻​​​道​​​映​​​像​​​同​​​步​​​:
rhn_package_manager -s -c name_of_private_channel
-s 選​​​項​​​會​​​列​​​出​​​所​​​有​​​遺​​​失​​​的​​​套​​​件​​​,也​​​就​​​是​​​已​​​經​​​上​​​傳​​​到​​​ RHN 伺​​​服​​​器​​​,但​​​不​​​存​​​在​​​於​​​本​​​機​​​目​​​錄​​​的​​​套​​​件​​​。​​​您​​​必​​​須​​​是​​​ Organization Administrator 才​​​可​​​以​​​使​​​用​​​此​​​選​​​項​​​。​​​此​​​應​​​用​​​程​​​式​​​會​​​提​​​示​​​您​​​輸​​​入​​​ RHN 使​​​用​​​者​​​名​​​稱​​​與​​​密​​​碼​​​。​​​
--copyonly 選​​​項​​​會​​​將​​​參​​​數​​​中​​​列​​​出​​​的​​​套​​​件​​​複​​​製​​​到​​​特​​​定​​​的​​​頻​​​道​​​中​​​,而​​​不​​​會​​​上​​​傳​​​到​​​ Satellite 上​​​。​​​這​​​在​​​ RHN Proxy Server 上​​​的​​​頻​​​道​​​遺​​​失​​​了​​​一​​​個​​​套​​​件​​​,而​​​您​​​不​​​想​​​重​​​新​​​匯​​​入​​​頻​​​道​​​中​​​的​​​所​​​有​​​套​​​件​​​時​​​,特​​​別​​​有​​​用​​​。​​​
rhn_package_manager -c channel-name --copyonly /path/to/missing/file
您​​​也​​​可​​​以​​​使​​​用​​​ RHN Package Manager 擷​​​取​​​頻​​​道​​​內​​​的​​​套​​​件​​​清​​​單​​​,因​​​為​​​它​​​們​​​都​​​儲​​​存​​​在​​​ RHN 伺​​​服​​​器​​​上​​​:
rhn_package_manager -l -c name_of_private_channel
-l 選​​​項​​​會​​​列​​​出​​​位​​​於​​​特​​​定​​​頻​​​道​​​的​​​每​​​個​​​套​​​件​​​名​​​稱​​​、​​​版​​​本​​​號​​​碼​​​、​​​釋​​​出​​​版​​​本​​​、​​​架​​​構​​​,以​​​及​​​頻​​​道​​​名​​​稱​​​。​​​欲​​​取​​​得​​​額​​​外​​​選​​​項​​​上​​​的​​​相​​​關​​​資​​​訊​​​,請​​​參​​​閱​​​ 表格 6.1, “rhn_package_manager 選​​​項​​​”。​​​
表格 6.1, “rhn_package_manager 選​​​項​​​” 為​​​ RHN Package Managerrhn_package_manager)的​​​所​​​有​​​指​​​令​​​列​​​選​​​項​​​摘​​​要​​​。​​​

表格 6.1. rhn_package_manager 選​​​項​​​

選​​​項​​​ 描​​​述​​​
-v, --verbose 增​​​加​​​標​​​準​​​輸​​​出​​​訊​​​息​​​的​​​量​​​。​​​
-d, --dir DIRECTORY_NAME 從​​​此​​​目​​​錄​​​處​​​理​​​套​​​件​​​。​​​
-c, --channel CHANNEL_NAME 指​​​定​​​收​​​到​​​套​​​件​​​的​​​頻​​​道​​​。​​​您​​​可​​​以​​​使​​​用​​​多​​​個​​​ -c,指​​​定​​​多​​​個​​​頻​​​道​​​(例​​​如​​​ -c channel_one -c channel_two
-n, --count NUMBER 每​​​次​​​呼​​​叫​​​時​​​,處​​​理​​​這​​​個​​​數​​​量​​​的​​​表​​​頭​​​ — 預​​​設​​​值​​​為​​​ 32。​​​
-l, --list 列​​​出​​​特​​​定​​​頻​​​道​​​的​​​套​​​件​​​。​​​
-s, --sync 檢​​​查​​​本​​​機​​​目​​​錄​​​是​​​不​​​是​​​與​​​伺​​​服​​​器​​​的​​​同​​​步​​​。​​​
-p, --printconf 印​​​出​​​目​​​前​​​設​​​定​​​並​​​離​​​開​​​。​​​
--newest 只​​​將​​​更​​​新​​​的​​​套​​​件​​​推​​​送​​​到​​​伺​​​服​​​器​​​上​​​。​​​請​​​注​​​意​​​,原​​​始​​​碼​​​套​​​件​​​檔​​​是​​​很​​​特​​​別​​​的​​​,因​​​為​​​其​​​版​​​本​​​不​​​會​​​相​​​比​​​較​​​。​​​新​​​舊​​​與​​​否​​​取​​​決​​​於​​​它​​​們​​​的​​​相​​​關​​​二​​​進​​​位​​​套​​​件​​​。​​​使​​​用​​​ RHN Package Manager 此​​​選​​​項​​​與​​​一​​​個​​​原​​​始​​​碼​​​套​​​件​​​檔​​​會​​​上​​​傳​​​套​​​件​​​,但​​​是​​​原​​​始​​​套​​​件​​​並​​​不​​​會​​​出​​​現​​​在​​​ RHN 網​​​站​​​界​​​面​​​中​​​,除​​​非​​​相​​​關​​​的​​​二​​​進​​​位​​​套​​​件​​​也​​​上​​​傳​​​。​​​請​​​將​​​這​​​個​​​與​​​ --source 相​​​比​​​較​​​。​​​合​​​用​​​ --source --newest 選​​​項​​​「​​​會​​​」​​​以​​​更​​​新​​​的​​​版​​​本​​​更​​​新​​​獨​​​立​​​的​​​原​​​始​​​碼​​​套​​​件​​​,並​​​不​​​需​​​要​​​先​​​上​​​傳​​​相​​​關​​​的​​​二​​​進​​​位​​​檔​​​。​​​
--source 上​​​傳​​​所​​​指​​​示​​​的​​​原​​​始​​​碼​​​套​​​件​​​。​​​作​​​法​​​是​​​將​​​其​​​視​​​為​​​獨​​​立​​​套​​​件​​​,同​​​時​​​並​​​「​​​不​​​」​​​視​​​為​​​與​​​另​​​一​​​個​​​、​​​之​​​前​​​就​​​存​​​在​​​的​​​二​​​進​​​位​​​套​​​件​​​相​​​互​​​關​​​聯​​​的​​​特​​​別​​​原​​​始​​​碼​​​套​​​件​​​。​​​舉​​​例​​​來​​​說​​​,您​​​可​​​以​​​在​​​想​​​要​​​把​​​原​​​始​​​碼​​​套​​​件​​​,散​​​佈​​​給​​​自​​​外​​​於​​​正​​​規​​​原​​​始​​​碼​​​控​​​制​​​管​​​理​​​的​​​程​​​式​​​設​​​計​​​師​​​與​​​測​​​試​​​人​​​員​​​時​​​,就​​​可​​​以​​​這​​​樣​​​用​​​。​​​
--stdin 從​​​標​​​準​​​輸​​​入​​​讀​​​取​​​套​​​件​​​名​​​稱​​​。​​​
--nosig 即​​​使​​​套​​​件​​​沒​​​有​​​簽​​​署​​​,依​​​舊​​​繼​​​續​​​執​​​行​​​。​​​
--no-ssl 關​​​閉​​​ SSL(不​​​建​​​議​​​)。​​​
--stdin 從​​​標​​​準​​​輸​​​入​​​讀​​​取​​​套​​​件​​​名​​​稱​​​。​​​
--username USERNAME 指​​​定​​​ RHN 的​​​使​​​用​​​者​​​名​​​稱​​​。​​​如​​​果​​​您​​​沒​​​有​​​輸​​​入​​​使​​​用​​​者​​​名​​​稱​​​,系​​​統​​​會​​​提​​​示​​​您​​​輸​​​入​​​頻​​​道​​​管​​​理​​​者​​​的​​​使​​​用​​​名​​​稱​​​。​​​
--password PASSWORD 指​​​定​​​ RHN 密​​​碼​​​。​​​如​​​果​​​您​​​沒​​​有​​​輸​​​入​​​,系​​​統​​​會​​​提​​​示​​​您​​​輸​​​入​​​頻​​​道​​​管​​​理​​​者​​​的​​​密​​​碼​​​。​​​
--dontcopy 在​​​上​​​傳​​​後​​​的​​​步​​​驟​​​中​​​,不​​​複​​​製​​​套​​​件​​​到​​​套​​​件​​​樹​​​中​​​的​​​最​​​後​​​位​​​置​​​。​​​
--copyonly 僅​​​複​​​製​​​套​​​件​​​,不​​​重​​​新​​​匯​​​入​​​。​​​
--test 僅​​​列​​​出​​​將​​​被​​​推​​​送​​​的​​​套​​​件​​​清​​​單​​​。​​​
-?, --help 顯​​​示​​​求​​​助​​​清​​​單​​​,包​​​括​​​選​​​項​​​清​​​單​​​。​​​
--usage 簡​​​短​​​描​​​述​​​可​​​用​​​選​​​項​​​。​​​
--copyonly 僅​​​複​​​製​​​套​​​件​​​

注意

這​​​些​​​指​​​令​​​列​​​選​​​項​​​在​​​ rhn_package_manager 的​​​ man page 中​​​有​​​所​​​描​​​述​​​:man rhn_package_manager。​​​