首頁 > 軟體

Spacewalk 安裝更新刪除軟體包

2020-06-16 18:05:14

經過前面兩篇文章的操作,我們就已經可以使用Spacewalk安裝系統了,但在真實場景中我們經常會需要通過 Spacewalk 來管理軟體包,比如:安裝、升級和刪除軟體包,下面我們就來看看通過 Spacewalk 怎樣實現這些功能。

  1. Spacewalk的設定與安裝Linux系統  http://www.linuxidc.com/Linux/2015-02/114087.htm
  2. Linux下Spacewalk的安裝設定  http://www.linuxidc.com/Linux/2015-02/113966.htm

安裝軟體包
存取 Systems -> Systems -> 選中機器 -> Software -> Packages -> Install
* 在 Filter 裡輸入Telnet(這裡我們假定需要在客戶機上安裝telnet工具)並選中 telnet 軟體包(比如:telnet-0.17-48.el6)
* 點選 "Install Selected Packages" 按鈕
* 在 "Confirm Package Install" 頁面直接點 Confirm 按鈕
* 然後在 Systems -> Systems -> 選中機器 -> Events -> Pending 頁面就會出現一個pending event
* 登入到客戶機,然後執行 rhn_check 命令,這個命令就會把上一步的 pending event 執行了
* 然後在客戶機可以使用 “rpm -qa | grep telnet” 來檢視結果。在 Spacewalk 上也可以觀察 Pending Event 就沒有了,而在 History Event 裡多了一條執行完成後的記錄。

升級軟體包
對於已經安裝過的軟體,如果 Spacewalk 的 Channel 里包括的 Repositories 中有新的軟體版本,此時在存取 Systems -> Systems 的時候就會在列表中機器的 Packages 列顯示需要升級的軟體個數。存取 Systems -> Systems -> 選中機器 -> Software -> Packages -> Upgrade
* 選中需要升級的軟體包, 點選 "Upgrade Packages" 按鈕
* 在 “ Confirm Package Upgrade ” 頁面直接點 Confirm 按鈕
* 然後在 Systems -> Systems -> 選中機器 -> Events -> Pending 頁面就會出現一個pending event
* 登入到客戶機,然後執行 rhn_check 命令。

刪除軟體包
存取 Systems -> Systems -> 選中機器 -> Software -> Packages -> List / Remove
* 在 Filter 裡輸入要刪除的軟體包並選中
* 選中需要升級的軟體包, 點選 "Remove Packages" 按鈕
* 在 “ Confirm Package Removal ” 頁面直接點 Confirm 按鈕
* 然後在 Systems -> Systems -> 選中機器 -> Events -> Pending 頁面就會出現一個pending event
* 登入到客戶機,然後執行 rhn_check 命令。

最後,由於對軟體包的安裝、升級和刪除操作都需要在客戶機上執行 rhn_check 命令,所以我們可以通過寫一個 cron job 來實現自動執行。

比如我們寫一個指令碼檔案來執行 rhn_check 命令

# cat my_rhn_check.sh

#!/bin/bash

ret=`ps -ef | grep python | grep rhn_check | wc -l`
if [ $ret = 0 ]; then
    /usr/sbin/rhn_check
fi

然後定一個 cron 作業來每分鐘執行一次檢查

# crontab -e

* * * * * /root/my_rhn_check.sh

最後重新啟動 crond 服務

# sudo /etc/init.d/crond restart 


IT145.com E-mail:sddin#qq.com