Ubuntu关于apt-get remove与apt-get purge
今天在Ubuntu服務器上安裝supervisor,部署沒成功想卸載重來,sudo apt-get remove supervisor 后發現配置文件還在,便手動刪除了配置文件。再次安裝,提示配置文件不存在,WTF!配置文件不該你軟件給我創建嗎?我想。
查閱資料才知,還有 apt-get purge 這一選項,purge 清除。
劃重點:
apt-get remove 會刪除軟件包而保留軟件的配置文件
apt-get purge 會同時清除軟件包和軟件的配置文件
但是為什么重新安裝會失敗呢?
系統中存在dpkg這么一個工具,會記錄軟件包的狀態,不只是安裝和未安裝兩種狀態,會記錄以下這些狀態:
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 OK
當執行apt-get install時,apt軟件包管理工具會先檢查要安裝的軟件的狀態,向我這種情況下,手動刪除了軟件配置后,并不會引起dpkg中記錄的狀態的改變,即仍為 config-files 狀態,所以安裝過程會直接跳過創建配置文件這一過程。于是當軟件想要啟動進程的時候,才發現找不到文件。
所以當你想徹底地刪除軟件包的時候,用 apt-get purge 吧。
總結:
apt-get remove 會刪除軟件包而保留軟件的配置文件
apt-get purge 會同時清除軟件包和軟件的配置文件
總結
以上是生活随笔為你收集整理的Ubuntu关于apt-get remove与apt-get purge的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 嘿!不用太过于担心的单点故障
- 下一篇: redis解决“高并发定时秒杀”库存误差