我的Xubuntu 18.04中的每个应用程序都被Tasksel删除了。请帮忙解决。

我试图使用这个命令(sudo tasksel remove samba-server)来移除samba服务器,结果所有的应用程序,甚至系统应用程序都被删除了,现在xubuntu无法启动,只显示加载中。我该怎么办?
tasksel也删除了我的文件吗?

你是指tasksel吗? - Organic Marble
是的,我犯了个错误,应该是'Tasksel'。 - Amanpreet Singh
2我刚刚在虚拟机上尝试了一下,确实就像你描述的那样。哇!这简直是一个等待引爆的炸弹。 - Organic Marble
很抱歉,您需要重新安装系统。不过我认为它并没有删除您的文件。 - Organic Marble
1但为什么会发生这种情况?我只是尝试删除Samba服务器和Tasksel抹掉了整个系统。 - Amanpreet Singh
1个回答

简而言之 - 这是一个严重的错误,请勿使用 tasksel 来删除任何内容!

分析

下面是 tasksel 的可用选项:

$ tasksel --help
Unknown option: help
Usage:
tasksel install <task>...
tasksel remove <task>...
tasksel [options]
    -t, --test          test mode; don't really do anything
        --new-install   automatically install some tasks
        --list-tasks    list tasks that would be displayed and exit
        --task-packages list available packages in a task
        --task-desc     returns the description of a task

Samba任务被命名为你所写的。
$ tasksel --list-tasks | grep -i Samba
u samba-server  Samba file server

它只包含一个包裹。
$ tasksel --task-packages samba-server
samba-server^

如果我们尝试模拟卸载,我们会得到以下的结果:
$ sudo tasksel --test remove samba-server
debconf-apt-progress -- apt-get -q -y \
-o APT::Install-Recommends=true \
-o APT::Get::AutomaticRemove=true -o APT::Acquire::Retries=3 \ 
install samba-server^-

在最后一个连字符上方的行中-会导致问题。
我所做的:
1. 启动Ubuntu 18.04 LTS干净的虚拟机,使用sudo apt-get install tasksel安装tasksel 2. 使用sudo tasksel install samba-server安装Samba 3. 运行sudo tasksel remove samba-server 4. 重新启动,下次启动时系统出现故障

修复系统

然后我尝试修复系统:
  1. 我们需要进入“恢复模式”(开机时按下Shift键,在GRUB菜单中选择“Ubuntu的高级选项”,然后选择“Ubuntu,带有Linux ...(恢复模式)”)

  2. 选择resume 恢复正常启动以访问登录Shell

  3. 使用Ctrl+Alt+1打开第一个控制台#1,然后登录

  4. 如果没有网络连接 - 检查以太网接口名称并手动运行DHCP客户端:

    ifconfig -a # 得到enp0s3
    sudo dhclient enp0s3
    
  5. 重新安装系统中的xubuntu-desktop元包:

    sudo apt-get install xubuntu-desktop
    
  6. 重启后,我可以访问系统。

结论

看起来这是一个严重的错误 - 我发现了一些几乎具有相同症状的错误:

此外,我还提交了新的bug 1779645 "tasksel中的关键错误:tasksel remove task-name会删除整个系统"

该怎么办?

至少在16.04 LTS、18.04 LTS和20.04 LTS上不要使用tasksel来删除东西。


3非常感谢!使用tasksel搞崩了我的Ubuntu系统。再也不会用它了。 - Tuan
3这在20.04版本仍然是如此的情况 :|. 在Ubuntu中不要使用tasksel。 - Barnaba