工作中關於rpm的乙個簡單但頭疼的問題

2021-09-03 04:18:42 字數 1305 閱讀 8571

工作中關於rpm的乙個簡單但頭疼的問題:

公司有個需要自動化更新rpm包的需求,rpm包名是:tingyun-agent-php-1.0.5-1.x86_64,本來是乙個很簡單的東西,一行**就可以實現:

for a in `rpm-aq|grep tingyun`;do rpm -e $a;done

但是結果是:

[root@centos scripts]# for a in`rpm -aq|grep tingyun`;do rpm -e $a;done

error: packagetingyun-agent-php-1.0.5-1.x86_64 is not installed

報了個錯誤,說沒有安裝此包,但是很明顯,查詢這個包是存在的:

[root@centos scripts]# rpm-aq|grep tingyun

tingyun-agent-php-1.0.5-1.x86_64

手動執行可以解除安裝沒有問題:

[root@centos scripts]# rpm -etingyun-agent-php-1.0.5-1.x86_64

[root@centos scripts]#

但是這個需要用指令碼實現,於是我寫在了指令碼裡,用-x來檢視步驟:

[root@centos scripts]# sh -xtest.sh

++ rpm -aq

++ grep tingyun

+ for a in '`rpm -aq|greptingyun`'

+ rpm -e'tingyun-agent-php-1.0.5-1.x86_64'

error:package tingyun-agent-php-1.0.5-1.x86_64 is not installed

然後我把倒數第二行的結果拿出來單獨執行,是可以執行成功的:

[root@centos scripts]# rpm -e'tingyun-agent-php-1.0.5-1.x86_64'

[root@centos scripts]#

於是我換一種方法:

[root@centos scripts]# rpm-aq|grep tingyun|xargs rpm -e

error: packagetingyun-agent-php-1.0.5-1.x86_64 is not installed

for a in `rpm -aq tingyun-agent-php`;do rpm -e $a;done

直接用rpm –aq  rpm包名,不用grep,  完美解決問題。

非常感謝老男孩老師,解決了我一大頭疼的問題。不得不說,姜還是老的辣

工作中的乙個SQL查詢總結

前一段時間的工作中有一項是計算實時統計結果並生成相應的資料表 主要是算產品pv,uv的環比什麼的 所謂實時統計,就是終端請求server介面時把相應資料寫進日誌,然後使用python分析日誌程式,將各統計項整理成各自的檔案。再將這些整理好的檔案定時傳送到解析檔案介面中解析並入庫。最後寫sql計算統計...

乙個案例說說工作中的溝通

程式不會有錯的,都是人的錯 最近一直是6 8 6 22 00 工作狀態,正解決程式中出現的問題時,老大來了上面的一句話,小夥伴們都驚呆了,在這樣的夜晚,安靜的辦公室,噠噠的鍵盤聲中,這麼驚悚的一句話似乎要將所有麻痺狀態下的小夥伴驚呆呀!回到主題,先看乙個案例,該案例 於開發生活,可能有高於生活,但絕...

工作中碰到的乙個問題(cookie相關)

今天上線了乙個api,6臺機器做的集群。api的第一步是讀取cookie,判斷使用者是否登入。例如,線上伺服器分別是 10.255.242.1 10.255.242.2 10.255.242.3 10.255.242.4 10.255.242.5 10.255.242.6,api位址是 mlserv...