很多人常會發生把某個套件搞爛了, 或者設定檔之類不小心砍掉了,
再來想到的當然是移除再重新安裝 或直接 (apt-get install –reinstall package),
但是怎麼裝, 設定檔就是回不來, 搞爛的資料也還是留著.
這並不是 Debian 的錯, 主要是怕你在移除時,
不小心就將重要資料跟著就砍掉了(ex: MySQL 不小心移除就把 DB 砍掉, 這就很尷尬了.)
此篇文章也有說明發生狀況: 如何在 Debian Etch 系統下完全移除套件與實體目錄?
套件重新安裝
就上述那篇文章的例子, 不小心將 Apache 的設定檔蓋掉/砍掉, 所以打算重新安裝 Apache.
套件移除重新安裝, 和 apt-get install –reinstall apache2 並沒有錯,
只不過問題是, apache2 的 package 裡面並沒有 設定檔. Orz.
由此可見 Package 套件內容:
apt-get install –reinstall apache2.2-common
即可. (請修改成自己系統的 apache2 版本)
套件完整移除
現在遇到的另一個狀況是, MySQL 被搞爛了, 所以要將全部移除(含資料都要移除), 再重新安裝.
完整移除的步驟:
apt-get remove –purge mysql-server mysql-server-5.0 mysql-common mysql-client mysql-client-5.0
這一行就會將 DB/設定檔都完整移除(–purge 會將所有移除), 不過大多人的問題是, –purge 後面那一串是從哪來的?
可用下述查法:
移除之後, 重新安裝直接 apt-get install 就可以囉~
註: 若只是 Database file 爛了, 只要 apt-get remove –purge mysql-server-5.0, 再重新安裝 mysql-server-5.0 即可.
套件鎖定版本
此段內容詳可見: Apt和dpkg快速參考
假設現在要鎖定 gaim 版本, 不想要 gaim 被升級或降級,有下述兩種做法:
1.echo “gaim hold" | dpkg –set-selections # 將 gaim 鎖定版本
dpkg –get-selections “gaim" # 檢查: 出現 gaim hold # 狀態是 hold, 就不能被升級了.
2.vim /etc/apt/preferences # 內容如下, 把版本編號寫死.
Package: gaim
Pin: version 0.58*
套件解除鎖定
1.echo “gaim install" | dpkg –set-selections
2.dpkg –get-selections “gaim" # 檢查: 出現 gaim install # 狀態被重置為 install, 就可以繼續升級了
狀態檔案位置
其它相關
相關網頁