[心得] checkinstall 輕鬆移除安裝自源碼的套件
今天如果你從源碼透過
>> make install
安裝了一個套件, 當你想移除他的時候該怎麼辦呢?
如果你運氣很好, 源碼的 Makefile 有 uninstall 這個 target 的話,
你只需要執行
>> make uninstall
就能夠達成你的目的. 然而並不是所有的套件都有這個功能.
當 make uninstall 無法使用的時候該怎麼辦呢?
土法煉鋼的方式就是一步一步拆回去.
>> make -n install
這個指令會顯示你在 make install 過程中每一步發生的事情,
你需要做的事情很簡單 -- 逆著步驟「肅清」就可以了.
但有的時候, 這個過程很繁冗, 甚至會出現一些莫名的問題,
這時 checkinstall 就派上用場了!
checkinstall 執行的事情可以簡單理解成:
把 make install 過程中的所有檔案都包裝成一個 .deb 檔 (以 Debian 系列為例)
舉個小小的例子
假設今天你透過原始碼及 make install 安裝了一個套件,
你不知道要如何移除它.
過程如下: (以 Debian 系列為例)
1. 透過 apt-get 安裝 checkinstall
>> sudo apt-get install checkinstall
2. 進入原始碼的路徑下, 用 checkinstall 把整個套件包裝成 .deb 檔
>> cd $PACKAGE_SOURCE_DIR
>> sudo checkinstall
這個步驟其實是「重新安裝一次」套件.
sudo checkinstall 這個指令等同於 make install 後
再把套件的所有檔案包裝成一個 .deb 檔
3. 如果上一步成功的話, 可以透過 dpkg -L $PACKAGE_NAME 檢查.
如果有的話 -- 恭喜你可以透過
>> sudo dpkg -r $PACKAGE_NAME
來移除這個套件了!
為了方便管理這些用 make install 安裝自源碼的套件,
可以考慮未來要 make install 時全部使用 checkinstall 來取代喔!
更多關於 checkinstall 的資訊可以參考
https://help.ubuntu.com/community/CheckInstall
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 106.1.101.166
※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1497723043.A.002.html
推
06/18 03:11, , 1F
06/18 03:11, 1F
推
06/18 03:44, , 2F
06/18 03:44, 2F
→
06/18 03:44, , 3F
06/18 03:44, 3F
推
06/18 08:08, , 4F
06/18 08:08, 4F
推
06/18 09:33, , 5F
06/18 09:33, 5F
→
06/18 09:35, , 6F
06/18 09:35, 6F
推
06/18 10:04, , 7F
06/18 10:04, 7F
→
06/18 12:14, , 8F
06/18 12:14, 8F
推
06/18 15:42, , 9F
06/18 15:42, 9F
推
06/19 02:52, , 10F
06/19 02:52, 10F
推
06/19 03:05, , 11F
06/19 03:05, 11F
推
06/19 07:59, , 12F
06/19 07:59, 12F
推
06/19 12:51, , 13F
06/19 12:51, 13F
推
06/19 14:18, , 14F
06/19 14:18, 14F
推
06/20 02:01, , 15F
06/20 02:01, 15F
推
06/20 11:27, , 16F
06/20 11:27, 16F
推
06/29 14:51, , 17F
06/29 14:51, 17F
推
07/12 16:10, , 18F
07/12 16:10, 18F