Подробный гайд по полному удалению KVM, QEMU и libvirt в ALT Linux 11
Перед началом: убедитесь, что вам не нужны работающие ВМ. Удаление пакетов и данных необратимо.
1. Инвентаризация установленных компонентов
Проверьте, что именно установлено:
# Пакеты, связанные с KVM/QEMU
apt-cache policy | grep -E 'qemu|kvm|libvirt|virt'
# Более точный список установленных
rpm -qa | grep -Ei 'qemu|kvm|libvirt|virt-manager|virtinst'
# Запущенные службы
systemctl list-units --type=service --state=running | grep -Ei 'libvirt|kvm|qemu'
Типичный набор пакетов в ALT 11:
qemu-kvm/qemu-system-x86/qemu-system-commonlibvirt/libvirt-daemon/libvirt-clientsvirt-manager/virtinstbridge-utils,dnsmasq(могут использоваться и другими сервисами)
2. Остановка служб
sudo systemctl stop libvirtd
sudo systemctl stop libvirt-guests
sudo systemctl stop virtlogd.socket
sudo systemctl stop virtlockd.socket
sudo systemctl stop virtlogd.service
sudo systemctl stop virtlockd.service
# Если есть — остановите и другие
sudo systemctl stop libvirtd.socket
sudo systemctl stop libvirtd-admin.socket
sudo systemctl stop libvirtd-ro.socket
Отключите автозапуск:
sudo systemctl disable libvirtd
sudo systemctl disable libvirt-guests
sudo systemctl disable virtlogd.socket
sudo systemctl disable virtlockd.socket
Проверьте, что ничего не осталось:
systemctl list-units --type=service | grep -Ei 'libvirt|kvm|qemu'
# Вывод должен быть пустым
3. Удаление виртуальных машин (опционально)
Если хотите удалить ВМ до удаления пакетов:
# Список всех ВМ
sudo virsh list --all
# Остановить и удалить конкретную ВМ (например, "myvm")
sudo virsh destroy myvm
sudo virsh undefine myvm --remove-all-storage
# Удалить все ВМ сразу (осторожно!)
for vm in $(sudo virsh list --all --name); do
[ -n "$vm" ] && sudo virsh destroy "$vm" 2>/dev/null
[ -n "$vm" ] && sudo virsh undefine "$vm" --remove-all-storage 2>/dev/null
done
4. Удаление пакетов
Вариант А — удалить только KVM/QEMU, оставить libvirt
sudo apt-get remove qemu-kvm qemu-system-x86 qemu-system-common
Вариант Б — полное удаление всей виртуализации
sudo apt-get remove --purge \
qemu-kvm qemu-system-x86 qemu-system-common qemu-utils \
libvirt libvirt-daemon libvirt-clients \
virt-manager virtinst virt-viewer \
libvirt-daemon-driver-network libvirt-daemon-driver-storage \
libvirt-daemon-driver-nodedev libvirt-daemon-driver-interface \
libvirt-daemon-driver-nwfilter libvirt-daemon-driver-secret \
libvirt-daemon-driver-qemu libvirt-daemon-driver-lxc \
libvirt-daemon-kvm
Примечание:
В ALT Linux 11 точные имена пакетов могут отличаться. Если apt-get ругается на несуществующий пакет — просто уберите его из списка.
Удалите зависимости, которые больше не нужны:
sudo apt-get autoremove
Проверьте, не осталось ли чего:
rpm -qa | grep -Ei 'qemu|kvm|libvirt|virt-manager'
Если остались пакеты — удалите их по одному:
sudo apt-get remove --purge <имя-пакета>
5. Очистка данных и конфигурации
# Данные ВМ и хранилища
sudo rm -rf /var/lib/libvirt
sudo rm -rf /var/lib/qemu
# Конфигурация
sudo rm -rf /etc/libvirt
sudo rm -rf /etc/qemu
# Логи
sudo rm -rf /var/log/libvirt
sudo rm -rf /var/log/qemu
# Кэш и временные файлы
sudo rm -rf /var/cache/libvirt
sudo rm -rf /run/libvirt
sudo rm -rf /run/qemu
# Сокеты и pid-файлы
sudo rm -rf /var/run/libvirt
sudo rm -rf /var/run/qemu
Если вы использовали custom bridge-интерфейсы (например, br0 в /etc/net/ifaces/), удалите или отредактируйте соответствующие конфиги:
ls /etc/net/ifaces/
# Удалите файлы, относящиеся к bridge для ВМ, например:
# sudo rm -rf /etc/net/ifaces/br0
# Не забудьте пересоздать или восстановить основной интерфейс, если он был привязан к bridge
Пересоздайте сетевые настройки:
sudo systemctl restart network
# или
sudo service network restart
6. Выгрузка модулей ядра (опционально)
Проверьте загруженные модули:
lsmod | grep kvm
Выгрузите их:
sudo rmmod kvm_intel # или kvm_amd
sudo rmmod kvm
sudo rmmod kvm_irqchip # если есть
Чтобы модули не загружались при следующей загрузке, создайте чёрный список:
echo -e "blacklist kvm\nblacklist kvm_intel\nblacklist kvm_amd" | \
sudo tee /etc/modprobe.d/blacklist-kvm.conf
Это не обязательно, но полезно, если вы хотите гарантировать, что KVM не будет использоваться.
7. Финальная проверка
# Пакеты
rpm -qa | grep -Ei 'qemu|kvm|libvirt|virt-manager'
# Вывод должен быть пустым
# Службы
systemctl list-units --type=service | grep -Ei 'libvirt|kvm|qemu'
# Вывод должен быть пустым
# Модули ядра
lsmod | grep kvm
# Вывод должен быть пустым
# Файлы
ls /var/lib/libvirt 2>/dev/null
ls /etc/libvirt 2>/dev/null
# Оба должны вернуть "Нет такого файла или каталога"
8. Восстановление сетевых настроек (если нужно)
Если KVM/libvirt создавал виртуальные сети (virbr0, default), после удаления они исчезнут.
Если у вас был статический IP или DHCP на virbr0, проверьте:
ip addr show
ip route show
При необходимости отредактируйте /etc/net/ifaces/ и перезапустите сеть.
Мы делимся этой технической информацией, чтобы помочь вам в решении задач — используйте её с пониманием. Статья носит рекомендательный характер, поэтому, пожалуйста, применяйте описанные методы осмотрительно.