- Вопрос или проблема
- 1. Сначала убейте процессы vbox
- 2. Избавьтесь от служб
- 3. Удалите virtualbox
- Ответ или решение
- Устранение проблем с VirtualBox-5.1 в зависшем состоянии
- Шаг 1: Проверка работающих процессов
- Шаг 2: Остановка и отключение сервисов
- Шаг 3: Удаление конфигурационных файлов
- Шаг 4: Удаление VirtualBox
- Шаг 5: Очистка системы
- Заключение
Вопрос или проблема
Я не новичок в Linux и сталкивался с разными странными пакетами или ситуациями установки, но это просто ужасно. На данный момент я бы хотел уничтожить это огнём!
У меня установлен Virtualbox-5.1 в довольно запутанном состоянии. Кажется, что-то пошло не так, когда я пытался обновить его пару месяцев назад, и я не стал разбираться в этом. С тех пор, как я попытался его установить, я получаю сообщения об ошибках каждый раз, когда обновляю пакеты. Конкретно:
Запущенные виртуальные машины найдены
VirtualBox в данный момент работает. Пожалуйста, закройте его и попробуйте снова. Обратите внимание, что выполнение VirtualBox (в частности, демона VBoxSVC) может занять до десяти секунд.
Теперь я выполнил обычные команды ps -aux | grep vbox
и ps -aux | grep virtualbox
, и могу вас заверить, что ни одного процесса vbox не работает.
Я также проверил /tmp
на наличие файлов блокировок, которые должны называться ‘.vbox-username-ipc’. Его там нет.
У меня нет представления, как моя система оказалась в таком состоянии, но я очень хотел бы удалить virtualbox без переустановки. Есть идеи?
У меня была такая же проблема, только немного в другом виде. Я попытался переустановить virtualbox (перейдя с дистрибутива на официальную версию), и он не смог удалить предыдущую версию, поэтому я не смог удалить или установить новую копию. Я смог исправить проблему, создав пустой файл:
/usr/lib/virtualbox/prerm-common.sh
Правка: Сделайте файл исполняемым с помощью chmod +x /usr/lib/virtualbox/prerm-common.sh
Затем выполните sudo apt-get remove virtualbox
У меня была такая же проблема. Я решил её, убив все процессы VB.
-
получите все процессы, содержащие VB
ps -A | grep VB
-
затем убейте все процессы с помощью команды
sudo kill <pid>
замените <pid>
на идентификаторы процессов, которые вы получили из вышеуказанной команды.
-
потом выполните
sudo apt-get remove virtualbox-* --purge
У вас может работать служба автоматического запуска VirtualBox. Проверьте, выполнив следующую команду.
sudo systemctl status vboxautostart-service
Если она запущена, то остановите её.
sudo systemctl stop vboxautostart-service
Затем найдите и убейте все запущенные процессы, используя команды ниже. (Должно быть около трёх (3))
ps -A | grep VB
sudo kill <pid>
Наконец, удалите и очистите VirtualBox
sudo apt-get remove virtualbox-* --purge
Я пробовал всё, что предлагали здесь и в других местах, но ничего не сработало. Он продолжал говорить, что Запущенные виртуальные машины найдены. В итоге оказалось, что в /etc/vbox был файл autostart.cfg.
После того как я удалил/переместил этот файл, установка прошла гладко. Трудно поверить, что я потратил так много времени, пытаясь разрешить это.
Ответ был скрыт в посте
Ошибка обновления и удаления.
Выполните следующие команды:
$ whereis vbox
скопируйте все папки из вывода
$ sudo rm -rf (все папки)
$ whereis virtualbox
скопируйте все папки из вывода
$ sudo rm -rf (все папки)
$ sudo apt-get remove virtualbox-* --purge
Вот так я его удалил. Надеюсь, это поможет.
Когда я обновил Virtualbox с версии 6.0 до 6.1, у меня возникла проблема с удалением, похожая на ту, что была описана в этой теме.
Чтобы исправить проблему, я выполнил следующие шаги:
-
Удалите
/usr/bin/virtualbox
и/usr/share/virtualbox
:sudo rm -rfd /usr/share/virtualbox sudo rm -rfd /usr/bin/virtualbox
-
Распакуйте
virtualbox-6.1_6.1.22-144080_Ubuntu_eoan_amd64.deb
и скопируйте данные изvirtualbox-6.1_6.1.22-144080_Ubuntu_eoan_amd64/data/usr/lib/virtualbox
в/usr/lib/
:sudo cp -ar ~/virtualbox-6.1_6.1.22-144080_Ubuntu_eoan_amd64/data/usr/lib/virtualbox /usr/lib/
-
Удалите
virtualbox
:sudo apt remove --purge virtualbox-*
-
Переустановите или обновите:
sudo apt install --reinstall virtualbox-6.1
sudo service vboxdrv stop
помогло мне, отсюда https://github.com/buguroo/cuckooautoinstall/issues/8#issuecomment-258797788
Для меня удаление virtualbox потребовало комбинации большинства ответов, упомянутых здесь, и нескольких настроек.
Это предполагает, что вы пытаетесь удалить с оригинальным методом установки или выполняете sudo /opt/VirtualBox/uninstall.sh
и любые другие варианты, которые уже не сработали. Это полностью удаляет virtualbox из системы. Сохраните ваши виртуальные машины в другом месте, где вы сможете их сохранить в безопасности.
Как обычно в Интернете, НЕ копируйте и не вставляйте всё! Используйте проверки, чтобы найти правильные местоположения/имена того, что вам нужно, и адаптируйте команды к своему случаю.
1. Сначала убейте процессы vbox
Убедитесь, что процессы virtualbox не работают. Для этого проверьте с помощью ps
:
ps -ef | grep VB
ps -ef | grep vbox
Убейте их с помощью:
sudo kill <process_id/pid>
# или:
sudo pkill -9 <process_id/pid>
И проверьте в htop
, чтобы убедиться. (почему не просто ps? Я не уверен, почему, но клянусь, что всё ещё мог найти процессы virtualbox в htop)
2. Избавьтесь от служб
Я также избавился от служб, так как они мешали удалению virtualbox. Я сначала остановил эту основную службу:
sudo service vboxdrv stop
Сначала найдите, какие у вас есть:
sudo systemctl list-units | grep virtualbox
sudo systemctl list-units | grep v
sudo systemctl list-units | grep vbox
Затем остановите и отключите их:
sudo systemctl stop vboxballoonctrl-service.service
sudo systemctl stop vboxweb-service.service
sudo systemctl stop vboxdrv.service
sudo systemctl disable vboxballoonctrl-service.service
sudo systemctl disable vboxweb-service.service
sudo systemctl disable vboxdrv.service
Перезагрузите и проверьте, сработало ли:
systemctl daemon-reload
sudo systemctl list-units | grep vbox
Если они всё ещё появляются как неуспешные, просто очистите флаги и проверьте снова:
sudo systemctl reset-failed
sudo systemctl list-units | grep vbox
Теперь проверьте файлы служб и удалите их:
ls /lib/systemd/system | grep vbox
sudo rm /lib/systemd/system/vbox*.service
ls /lib/systemd/system | grep vbox
3. Удалите virtualbox
Наконец, я исследовал и удалил все файлы virtualbox:
whereis vbox
whereis virtualbox
Замените местоположения выводами предыдущих команд
sudo rm -rf /opt/VirtualBox/
sudo rm -rf /usr/lib/virtualbox/
sudo rm -rf ~/.config/VirtualBox/
Перед удалением я следовал ответу TheBat и ТАКЖЕ создал папку:
mkdir -p /usr/lib/virtualbox/
sudo touch /usr/lib/virtualbox/prerm-common.sh
sudo chmod +x /usr/lib/virtualbox/prerm-common.sh
sudo chmod +x /usr/lib/virtualbox/prerm-common.sh
Проверьте, чтобы не было запущенных процессов virtualbox:
ps -ef | grep VB
ps -ef | grep vbox
htop
Убейте их, если они есть.
Теперь я фактически использовал свой менеджер пакетов для завершения удаления:
sudo apt remove virtualbox-* --purge
sudo apt remove virtualbox --purge
sudo apt remove virtualbox* --purge
Затем просто очистите любые возможные остатки:
sudo apt autopurge
sudo apt autoclean
И всё!
После всего этого я смог установить Virtualbox из .deb файла на официальной странице oracle, и всё работало, как ожидалось!
Ответ или решение
Устранение проблем с VirtualBox-5.1 в зависшем состоянии
Как опытный IT-специалист, вы наверняка столкнулись с различными проблемами при работе с пакетами в Linux. Проблема, связанная с VirtualBox-5.1, когда приложение не удается удалить или обновить из-за зависших процессов, требует комплексного подхода и терпения. Ниже приведены подробные шаги по устранению данной ситуации.
Шаг 1: Проверка работающих процессов
Первое, что вам нужно сделать, — это убедиться, что все процессы, связанные с VirtualBox, действительно остановлены. Для этого выполните следующие команды:
ps -ef | grep vbox
ps -ef | grep virtualbox
Если вы обнаружите работающие процессы, их следует завершить. Сделать это можно с помощью команды kill
:
sudo kill <pid>
или, если процессов много, вы можете использовать pkill
:
sudo pkill -9 vbox
Шаг 2: Остановка и отключение сервисов
Одной из причин, по которой вы не можете удалить VirtualBox, могут быть активные системные сервисы. Для их остановки выполните команды:
sudo systemctl stop vboxautostart-service
sudo systemctl stop vboxballoonctrl-service
sudo systemctl stop vboxweb-service
sudo systemctl stop vboxdrv.service
Если необходимо, отключите сервисы, чтобы они не запускались автоматически после перезагрузки:
sudo systemctl disable vboxautostart-service
sudo systemctl disable vboxballoonctrl-service
sudo systemctl disable vboxweb-service
sudo systemctl disable vboxdrv.service
Проверьте статус сервисов:
sudo systemctl list-units | grep vbox
Шаг 3: Удаление конфигурационных файлов
Если предыдущие шаги не помогли, возможно, проблема кроется в конфигурационных файлах, которые остались после предыдущих установок. Проверьте наличие файла autostart.cfg
в директории /etc/vbox
и удалите его:
sudo rm /etc/vbox/autostart.cfg
Шаг 4: Удаление VirtualBox
Теперь вы можете попробовать удалить VirtualBox с помощью команды:
sudo apt-get remove --purge virtualbox-*
Если вы столкнетесь с ошибкой, попробуйте создать пустой файл prerm-common.sh
для обхода блокировок:
sudo touch /usr/lib/virtualbox/prerm-common.sh
sudo chmod +x /usr/lib/virtualbox/prerm-common.sh
После этого снова выполните удаление:
sudo apt-get remove --purge virtualbox-*
Шаг 5: Очистка системы
Для завершения процесса можно выполнить чистку оставшихся ненужных пакетов и конфигураций:
sudo apt-get autoremove
sudo apt-get autoclean
Заключение
После выполнения всех вышеуказанных шагов вы должны быть в состоянии успешно удалить VirtualBox-5.1 и подготовить систему для установки новой версии. Если у вас все еще возникают проблемы, возможно, стоит рассмотреть полное удаление оставшихся файлов, используя команды whereis
для поиска всех директива, связанных с VirtualBox, и их ручное удаление:
whereis virtualbox
Сохраните свои виртуальные машины в другом месте, если это необходимо, перед удалением. После этого можно начинать новую установку VirtualBox с официального сайта Oracle.
Следуйте этим шагам, и ваша проблема с зависшим состоянием VirtualBox будет успешно решена.