记一次使用apt autoremove卸除Ubuntu自带python2.7、python3、python3.6等导致gnome桌面被依赖卸载

参考:purge remove及autoremove删除操作

apt-get remove卸载的是自己

apt-get autoremove卸载的是自己以及自己依赖的包,依赖的包也可能被其他软件包所依赖,从而导致其他软件不可用;

我使用apt autoremove卸载了python2.7、python3、python3.6等不是我自己安装的python版本,产生了如下几个严重后果:

车祸发生的顺序是:首先apt autoremove python2.7 python3 python 3.6卸载python——》立刻马上搜狗输入法不能用了,调不出来,遂重装搜狗输入法——》在使用apt-get -f install(即apt-get --fix-broken install)补全依赖包后gnome-tarminal终端又不见了,ctrl+Alt+T呼出的居然是XTerm。

我意识到问题大了,还想着像Windows一样来个万能重启,然后以下是急救现场:

1、重启后进不了gnome桌面了,只能进入tty1~tty6,百度说是gnome桌面被卸载了,按Ubuntu卸载自带Python后无法进入桌面,依次执行sudo apt-get install ubuntu-minimal ubuntu-standard ubuntu-desktop后startx或reboot重启能进入;

2、搜狗输入法是依赖Python2.7的(第一次安装时可以看到安装的依赖里面有python2.7与qt等的包),这要在执行上一步先修复gnome桌面后再dpkg -i sogoupinyin_2.3.1.0112_amd64.deb重新安装下载自官网的deb包,安装时可能出现缺依赖像以及“覆盖文件 /usr/glib-2.0/schemas/50_sogoupinyin.gschema.override 中指定的方案 org.gnome.settings-daemon.plugins.xsettings 中没有键 Gtk/IMModule;忽略对此键的覆盖”的提示:

执行apt-get --fix-broken install后能补全安装依赖但,但再次安装sougoupinyin.deb时仍会提示“覆盖文件 /usr/glib-2.0/schemas/50_sogoupinyin.gschema.override 中指定的方案 org.gnome.settings-daemon.plugins.xsettings 中没有键 Gtk/IMModule;忽略对此键的覆盖”,参考Ubuntu安装sogoupinyin报错No such key ‘Gtk/IMModule’,我卸载后再重装依然提示这个错误,但可以在Fcitx配置中添加搜狗输入法了,添加后也能正常使用。

3、(gnome-terminal终端其实是在autoremove python使搜狗输入法挂掉后重装搜狗输入法并apt-get -f install补全依赖包时被卸载的,但我是在重装gnome桌面后又自动安装了gnome-terminal,没有手动安装apt install gnome-terminal,这里还是记录一下相应的急救手册:)gnome-tarminal被卸载后,使用ctrl+Alt+T呼出来的终端变成XTerm了,英文字体变得瘦小,没有菜单栏,并且还不能显示中文字体,export LANG=zh_CN.UTF-8; export LANGUAGE=zh_CN.UTF-8都不好使,百度后说是这个终端缺字体!好在gnome-terminal与gnome桌面一样都是可安装的软件,参考系统默认的终端在更新后竟然变成了xterm?手动安装gnome终端apt install gnome-terminal后ctrl+Alt+T就又能呼出熟悉的gnome-terminal了,这篇文章还讲到其是在执行了apt-get -f install(也就是apt-get --fix-broken install)补全依赖包后gnome-terminal被卸载的,与我的车祸现场简直一样一样的,所以我想以后还是避免用apt-get -f install(也就是apt-get --fix-broken install),自己手动安装那些依赖项,这样应该可以避免自动卸载一些被其他软件依赖的包。

<think>好的,我现在需要在Ubuntu卸载Python 2.7,但不知道具体步骤。首先,我需要确认系统是否真的安装了Python 2.7。根据用户提供的引用[^1],可以通过运行`python -V`或`python2 -V`来查看已安装的Python版本。所以第一步应该是打开终端,输入这些命令检查版本。 如果确认有Python 2.7,接下来需要卸载它。但我知道直接卸载可能会影响系统其他依赖它的程序,比如有些旧脚本或软件包可能需要Python 2.7。所以需要谨慎处理。用户提到想彻底删除,可能需要先查找所有相关的软件包。 得在Ubuntu中,通常使用apt来管理软件包。可以使用`apt list --installed | grep python2`来列出所有已安装的Python 2相关包。然后逐个卸载这些包,或者使用通配符,比如`sudo apt purge python2.*`,不过不确定这个通配符是否正确。可能更稳妥的是用`sudo apt purge python2.7`以及相关的依赖包。 另外,用户可能还安装了通过pip安装的模块,这时候可能需要用pip2卸载,但既然Python 2.7本身被卸载了,这些模块可能也会被清理,或者需要手动删除。 还有要注意的是,某些系统工具可能依赖Python 2.7,所以在卸载前最好先检查是否有重要的依赖。可以使用`apt-cache rdepends python2.7`来查看反向依赖,确保没有关键组件受影响。如果有,可能需要保留Python 2.7,或者寻找替代方案。 最后,卸载完成后,再次运行`python2 --version`确认是否成功,如果显示命令未找到,说明卸载完成。同时,清理残留文件,如配置文件或者用户目录下的相关文件,可能需要手动删除。 总结步骤应该是:确认安装、检查依赖、卸载软件包、清理残留。需要确保用户了解风险,并在操作前备份重要数据。</think>在Ubuntu卸载Python 2.7需要谨慎操作,避免影响系统依赖。以下是分步指南: ### 步骤1:确认Python 2.7安装 ```bash python2 -V # 输出应为"Python 2.7.x" ``` 若提示命令不存在,则系统未安装Python 2.7[^1]。 ### 步骤2:列出Python 2.7相关包 ```bash apt list --installed | grep python2 ``` 这会显示所有关联包,例如`python2.7`、`python2.7-minimal`等。 ### 步骤3卸载主程序包 ```bash sudo apt purge python2.7 python2.7-minimal ``` ### 步骤4:清理依赖关系 ```bash sudo apt autoremove # 自动移除不再需要的依赖项 ``` ### 步骤5:检查残留配置(可选) ```bash whereis python2 # 若仍有残留文件可手动删除 ``` ### 注意事项 1. **系统依赖风险**:部分系统工具(如`apt`旧版本)可能依赖Python 2.7,建议通过`apt-cache rdepends python2.7`检查反向依赖关系 2. **备份建议**:操作前建议创建系统快照`sudo timeshift --create`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值