系統管理
1748010 會員
4926 線上
108757 解決方案
發表新文章

rpm -e 移不掉已經安裝的東西,怎處理

 
watermelonyu
教授

rpm -e 移不掉已經安裝的東西,怎處理

我用rpm -e 移不掉 oracle-xe-10.2.0.1-0.1,請問該怎樣強迫移除呢?



# rpm -e oracle-xe-10.2.0.1-0.1

/var/tmp/rpm-tmp.56498: line 1: /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/shutdb.sh: No such file or directory

error: %preun(oracle-xe-10.2.0.1-0.1.i386) scriptlet failed, exit status 127
3則回覆 3
watermelonyu
教授

rpm -e 移不掉已經安裝的東西,怎處理

touch /usr/lib/oracle/xe/app/oracle/product/10.2.0/server/config/scripts/shutdb.sh,產生一個空檔,再試看看
watermelonyu
教授

rpm -e 移不掉已經安裝的東西,怎處理

感謝,的確touch 一個shutdb.sh可以解決這個問題

但是我有一個疑問

rpm -e 不是直接去刪除檔案就好了嗎

為什麼檔案不存在會導致移除失敗呢?

rpm 移除為什麼會去檢查該檔案不存在呢?

這個紀錄又放在哪裡,我可以進去修改嗎?
watermelonyu
教授

rpm -e 移不掉已經安裝的東西,怎處理

因為當初使用 rpm 指令來安裝時, 會把所有安裝進系統的檔案名稱紀錄到 rpm DB 中 /var/lib/rpm/* , 所以要移除時自然也要找的到這些安裝進去的檔案將其刪除 , 而放在 /var/lib/rpm/* 的這些檔案都是由 rpm 指令來自動維護, 千萬不要自行修改, 萬一有問題會很麻煩的