
Я попытался удалить samba-server
с помощью этой команды ( sudo tasksel remove samba-server
), и все приложения, даже системные приложения, были удалены, и теперь xubuntu зависает при загрузке, просто показывая загрузку. Что мне делать?
Удалили tasksel
и мои файлы?
решение1
TL;DR - это серьезная ошибка, не используйте 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 названа так, samba-server
как вы написали:
$ 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^-
(в строке выше последний дефис -
вызывает проблемы).
Что я сделал:
- Загрузил чистую виртуальную машину Ubuntu 18.04 LTS, установил
tasksel
с помощьюsudo apt-get install tasksel
- Установил Samba с
sudo tasksel install samba-server
- Ран
sudo tasksel remove samba-server
- Перезагрузил и получил сломанную систему при следующей загрузке
Исправьте систему
Затем я попытался восстановить систему:
Нам нужно загрузитьсяРежим восстановления(нажмите Shiftна загрузку, в GRUB выберитеРасширенные возможности Ubuntu, выбиратьUbuntu, с Linux ... (режим восстановления))
Выберите
resume Resume normal boot
, чтобы получить доступ к оболочке входаОткройте первую консоль №1 с помощью Ctrl+ Alt+ 1и войдите в систему.
Если у вас нет интернета - проверьте имя интерфейса Ethernet и запустите на нем DHCP-клиент вручную:
ifconfig -a # got enp0s3 sudo dhclient enp0s3
Переустановите
xubuntu-desktop
метапакет в системе:sudo apt-get install xubuntu-desktop
После перезагрузки я могу получить доступ к системе.
Заключение
Похоже, это серьезная ошибка — я нашел несколько с почти такими же симптомами:
- Ошибка 574287, о которой сообщалось 03.05.2010 г.: «tasksel: принудительно удаляет пакеты при перекрытии задач»
- Ошибка 1338223, сообщенная 06.07.2014 г.: «Tasksel удалил все мои данные!».
Также я подал новыйошибка 1779645 «Критическая ошибка в tasksel: tasksel remove task-name
удаляет всю систему»