checkinstall 輕鬆移除安裝自源碼的套件 - Linux

Thomas avatar
By Thomas
at 2017-06-18T02:10

Table of Contents



今天如果你從源碼透過

>> 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


--
Tags: Linux

All Comments

Una avatar
By Una
at 2017-06-20T18:54
好用推
Annie avatar
By Annie
at 2017-06-22T11:00
詳細推。想當初有人在ptt只推了一個checkinstall,我還以為
他在發廢文XD
Victoria avatar
By Victoria
at 2017-06-26T01:00
debian系限定?
Jacky avatar
By Jacky
at 2017-06-27T11:40
AUR表示:
Queena avatar
By Queena
at 2017-07-01T06:28
這其實就跟AUR做一樣的事情了??
Ophelia avatar
By Ophelia
at 2017-07-01T22:08
推個,希望之後有更多分享
Barb Cronin avatar
By Barb Cronin
at 2017-07-02T12:16
OrzOGC 是喔
Carolina Franco avatar
By Carolina Franco
at 2017-07-05T22:18
rpm也可以
Cara avatar
By Cara
at 2017-07-08T13:17
推薦文章。
Emily avatar
By Emily
at 2017-07-13T01:29
push
Isla avatar
By Isla
at 2017-07-14T22:51
Audriana avatar
By Audriana
at 2017-07-17T21:17
好像很厲害!
Liam avatar
By Liam
at 2017-07-22T03:54
這個太棒了!感謝分享
Frederic avatar
By Frederic
at 2017-07-25T20:54
跟 SlackBuild 有 8 成像
Kelly avatar
By Kelly
at 2017-07-27T14:08
Mia avatar
By Mia
at 2017-08-01T10:19
這個工具拿來應急還可以,如果是長久的維護不建議用
Dorothy avatar
By Dorothy
at 2017-08-05T18:26
checkinstall好用耶,感謝

CentOS yum 和 rpm 出現 `XZ_5.1.2alpha' not found

Gilbert avatar
By Gilbert
at 2017-06-16T14:58
小弟目前用的一台虛擬機 CentOS 7.3 下載xz5.2.3編譯,卻無法使用,東搞西搞,用yum reinstall xz把它還原回來等等之類的 後來總之我把/usr/bin/xz弄成5.2.3版 但是我的yum及rpm就不能用 $ yum There was a problem importing ...

ubuntu連無線wifi

Anonymous avatar
By Anonymous
at 2017-06-16T09:42
請問如何在有ubuntu連接無線wifi 我的essid:amacus 秘碼:12345678 起先我用suso owlish wlp1s0 scan 然後我用sudo iwconfig wlp1s0 essid amacus key 12345678 出現Error for wireless req ...

windows使用shell script的書

Bennie avatar
By Bennie
at 2017-06-14T17:29
我是windows使用者 得知windows10有內建linux子系統可以輸入bash命令 在網路找了三本書 Linux Shell程式設計與管理實務 http://www.books.com.tw/products/0010618005 Linux Shell 程式設計實力養成 https://ww ...

安裝失敗

Todd Johnson avatar
By Todd Johnson
at 2017-06-14T01:32
想問大家一個問題我的ubuntu為什麼安裝完後,我關閉機器在打開後卻是這個畫面叫我又 重新安裝我明明安裝過了啊有人能幫幫我嗎? http://i.imgur.com/oFJDnL1.jpg - ...

偶爾用gcin輸入時在,chrome整個不見

Yuri avatar
By Yuri
at 2017-06-11T20:19
linux mint mate 18.1 我有輸入gcin詞音輸入法 chrome整個消失 依舊有chrome 開youtube的聲音 不過 我開監控線程器看chrome是睡眠 按中止才結束聲音及睡眠的chrome - ...