如何在Kubuntu中彻底卸载PostgreSQL?解决卸载时的APT源冲突问题
如何在Kubuntu中彻底卸载PostgreSQL?解决卸载时的APT源冲突问题
别担心,我来帮你一步步搞定这个问题。你现在遇到的是APT源的签名路径冲突,这会卡住后续的卸载操作,我们先解决这个冲突,再彻底清理掉PostgreSQL。
第一步:修复APT源的签名冲突
这个错误是因为你之前添加PGDG源时指定了.asc格式的签名文件,但系统里的postgresql-common包自带的配置用的是.gpg格式的签名文件,两者冲突导致APT无法读取源列表。我们可以直接修正这个源文件,或者干脆移除它(毕竟我们要卸载PostgreSQL,之后也用不上这个源了):
- 先备份一下源文件,防止改错:
sudo cp /etc/apt/sources.list.d/pgdg.list /etc/apt/sources.list.d/pgdg.list.bak - 编辑源文件:
sudo nano /etc/apt/sources.list.d/pgdg.list - 你可以选择两种操作:
- 要么把里面的
signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.asc改成signed-by=/usr/share/postgresql-common/pgdg/apt.postgresql.org.gpg,保存退出(按Ctrl+O回车,再Ctrl+X); - 要么直接删除整个文件里的内容(或者干脆删除这个源文件:
sudo rm /etc/apt/sources.list.d/pgdg.list)。
- 要么把里面的
- 更新APT缓存,确认没有错误:
sudo apt update
第二步:彻底卸载PostgreSQL
现在APT源的问题解决了,我们可以开始彻底清理PostgreSQL:
- 先列出所有和PostgreSQL相关的包:
dpkg -l | grep postgres - 彻底卸载所有相关包,包括配置文件:
sudo apt-get --purge remove postgresql* - 清理残留的依赖包:
sudo apt-get autoremove - 删除PostgreSQL的残留目录(数据、配置等):
sudo rm -rf /var/lib/postgresql/ sudo rm -rf /etc/postgresql/ sudo rm -rf /usr/share/postgresql/ - 最后再检查一遍有没有残留的包,如果还有,用
--purge remove命令单独卸载:dpkg -l | grep postgres # 如果有残留,比如postgresql-common,就执行: # sudo apt-get --purge remove postgresql-common
这样操作之后,PostgreSQL就会被彻底从你的Kubuntu系统中移除了。
备注:内容来源于stack exchange,提问作者AliakbarSoli
相关产品推荐
相关产品推荐

