作者fish830617 (方方)
看板Linux
標題[心得] checkinstall 輕鬆移除安裝自源碼的套件
時間Sun Jun 18 02:10:38 2017
今天如果你從源碼透過
>> 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
推 Vdragon: 好用推 06/18 03:11
推 sppmg: 詳細推。想當初有人在ptt只推了一個checkinstall,我還以為 06/18 03:44
→ sppmg: 他在發廢文XD 06/18 03:44
推 OrzOGC: debian系限定? 06/18 08:08
推 a07051226: AUR表示: 06/18 09:33
→ a07051226: 這其實就跟AUR做一樣的事情了?? 06/18 09:35
推 will12345610: 推個,希望之後有更多分享 06/18 10:04
→ Vdragon: OrzOGC 是喔 06/18 12:14
推 obarisk: rpm也可以 06/18 15:42
推 Debian: 推薦文章。 06/19 02:52
推 holishing: push 06/19 03:05
推 ddtsatan: 推 06/19 07:59
推 kewang: 好像很厲害! 06/19 12:51
推 laputaflutin: 這個太棒了!感謝分享 06/19 14:18
推 drm343: 跟 SlackBuild 有 8 成像 06/20 02:01
推 WindSucker: 讚 06/20 11:27
推 fourdollars: 這個工具拿來應急還可以,如果是長久的維護不建議用 06/29 14:51
推 qsort: checkinstall好用耶,感謝 07/12 16:10