今天在Ubuntu服務器上安裝supervisor,部署沒成功想卸載重來,sudo apt-get remove supervisor
後發現配置文件還在,便手動刪除了配置文件。再次安裝,提示配置文件不存在,WTF!配置文件不應你軟件給我建立嗎?我想。服務器
查閱資料才知,還有 apt-get purge
這一選項,purge 清除。工具
劃重點:
apt-get remove 會刪除軟件包而保留軟件的配置文件
apt-get purge 會同時清除軟件包和軟件的配置文件this
可是爲何從新安裝會失敗呢?
系統中存在dpkg這麼一個工具,會記錄軟件包的狀態,不僅是安裝和未安裝兩種狀態,會記錄如下這些狀態:spa
not-installed - The package is not installed on this system
config-files - Only the configuration files are deployed to this system
half-installed - The installation of the package has been started, but not completed
unpacked - The package is unpacked, but not configured
half-configured - The package is unpacked and configuration has started but not completed
triggers-awaited - The package awaits trigger processing by another package
triggers-pending - The package has been triggered
installed - The packaged is unpacked and configured OKcode
當執行apt-get install
時,apt軟件包管理工具會先檢查要安裝的軟件的狀態,向我這種狀況下,手動刪除了軟件配置後,並不會引發dpkg中記錄的狀態的改變,即仍爲 config-files 狀態,因此安裝過程會直接跳過建立配置文件這一過程。因而當軟件想要啓動進程的時候,才發現找不到文件。進程
因此當你想完全地刪除軟件包的時候,用 apt-get purge
吧rem
原文:http://bencane.com/2014/08/18/removing-packages-and-configurations-with-apt-get/部署