É seguro remover o KVM de uma estação de trabalho F25 sem necessidade de virtualização?

2

Eu instalei o Fedora 25 em algum hardware AMD. Eu notei que uma ponte está presente após a instalação. É incomum, pois não o instalei nem peço um pacote que o inclua. Minha instalação é uma estação de trabalho com ferramentas para desenvolvedores.

virbr0: flags=4099<UP,BROADCAST,MULTICAST>  mtu 1500
        inet 192.168.122.1  netmask 255.255.255.0  broadcast 192.168.122.255
        ether 52:54:00:f6:da:cf  txqueuelen 1000  (Ethernet)
        RX packets 0  bytes 0 (0.0 B)
        RX errors 0  dropped 0  overruns 0  frame 0
        TX packets 0  bytes 0 (0.0 B)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

libvirt e qemu são os suspeitos usuais, mas não parecem estar instalados:

bulldozer$ sudo dnf remove libvirt
No match for argument: libvirt
Error: No packages marked for removal.
bulldozer$ sudo dnf remove qemu
No match for argument: qemu
Error: No packages marked for removal.

Parece que o KVM é o pacote (veja abaixo). Não consegui encontrar uma razão para o pacote pré-instalado.

Minha pergunta é, é seguro remover o KVM de uma estação de trabalho sem cabeçalho que usa apenas SSH para acesso remoto e ferramentas de desenvolvedor? O KVM agora é necessário para o Fedora funcionar?

================================================================================
 Package                         Arch   Version                 Repository
                                                                           Size
================================================================================
Removing:
 SDL2                            x86_64 2.0.5-3.fc25            @updates  1.1 M
 boost-random                    x86_64 1.60.0-10.fc25          @updates   25 k
 boost-thread                    x86_64 1.60.0-10.fc25          @updates  162 k
 celt051                         x86_64 0.5.1.3-11.fc24         @anaconda 112 k
 corosync                        x86_64 2.4.2-1.fc25            @updates  475 k
 corosynclib                     x86_64 2.4.2-1.fc25            @updates  277 k
 cyrus-sasl                      x86_64 2.1.26-26.2.fc24        @anaconda 137 k
 cyrus-sasl-md5                  x86_64 2.1.26-26.2.fc24        @anaconda  84 k
 dmidecode                       x86_64 1:3.0-6.fc25            @updates  215 k
 edk2-ovmf                       noarch 20161105git3b25ca8-1.fc25
                                                                @updates  6.2 M
 genisoimage                     x86_64 1.1.11-31.fc24          @anaconda 1.1 M
 glusterfs                       x86_64 3.9.1-1.fc25            @updates  1.8 M
 glusterfs-api                   x86_64 3.9.1-1.fc25            @updates  170 k
 glusterfs-client-xlators        x86_64 3.9.1-1.fc25            @updates  3.8 M
 glusterfs-fuse                  x86_64 3.9.1-1.fc25            @updates  329 k
 glusterfs-libs                  x86_64 3.9.1-1.fc25            @updates  1.2 M
 gnome-boxes                     x86_64 3.22.3-2.fc25           @updates  5.0 M
 gperftools-libs                 x86_64 2.5-2.fc25              @anaconda 1.3 M
 gtk-vnc2                        x86_64 0.6.0-1.fc25            @anaconda 205 k
 gvnc                            x86_64 0.6.0-1.fc25            @anaconda 241 k
 ipxe-roms-qemu                  noarch 20160622-1.git0418631.fc25
                                                                @anaconda 2.2 M
 libcacard                       x86_64 3:2.5.2-2.fc24          @anaconda  93 k
 libfdt                          x86_64 1.4.2-1.fc25            @anaconda  45 k
 libgovirt                       x86_64 0.3.4-1.fc25            @anaconda 198 k
 libibverbs                      x86_64 1.2.1-1.fc25            @anaconda 123 k
 libiscsi                        x86_64 1.15.0-2.fc24           @anaconda 186 k
 libnfs                          x86_64 1.9.8-2.fc24            @anaconda 284 k
 libphodav                       x86_64 2.1-1.fc25              @updates  109 k
 libqb                           x86_64 1.0.1-1.fc25            @updates  187 k
 librados2                       x86_64 1:10.2.4-2.fc25         @updates  6.4 M
 librbd1                         x86_64 1:10.2.4-2.fc25         @updates  7.8 M
 librdmacm                       x86_64 1.1.0-1.fc25            @anaconda 136 k
 libusal                         x86_64 1.1.11-31.fc24          @anaconda 450 k
 libvirt-daemon                  x86_64 2.2.0-2.fc25            @updates  2.5 M
 libvirt-daemon-config-network   x86_64 2.2.0-2.fc25            @updates  228
 libvirt-daemon-driver-interface x86_64 2.2.0-2.fc25            @updates  112 k
 libvirt-daemon-driver-network   x86_64 2.2.0-2.fc25            @updates  534 k
 libvirt-daemon-driver-nodedev   x86_64 2.2.0-2.fc25            @updates  112 k
 libvirt-daemon-driver-nwfilter  x86_64 2.2.0-2.fc25            @updates  169 k
 libvirt-daemon-driver-qemu      x86_64 2.2.0-2.fc25            @updates  1.3 M
 libvirt-daemon-driver-secret    x86_64 2.2.0-2.fc25            @updates   83 k
 libvirt-daemon-driver-storage   x86_64 2.2.0-2.fc25            @updates  658 k
 libvirt-daemon-kvm              x86_64 2.2.0-2.fc25            @updates    0
 libvirt-gconfig                 x86_64 1.0.0-1.fc25            @updates  359 k
 libvirt-glib                    x86_64 1.0.0-1.fc25            @updates  257 k
 libvirt-gobject                 x86_64 1.0.0-1.fc25            @updates  216 k
 libvirt-libs                    x86_64 2.2.0-2.fc25            @updates   22 M
 libwsman1                       x86_64 2.6.2-7.fc25            @anaconda 322 k
 lttng-ust                       x86_64 2.8.1-2.fc25            @anaconda 977 k
 lzop                            x86_64 1.03-15.fc25            @anaconda 103 k
 netcf-libs                      x86_64 0.2.8-4.fc24            @anaconda 199 k
 numactl-libs                    x86_64 2.0.11-2.fc24           @anaconda  45 k
 numad                           x86_64 0.5-21.20150602git.fc24 @anaconda  56 k
 qemu-common                     x86_64 2:2.7.1-2.fc25          @updates  1.0 M
 qemu-img                        x86_64 2:2.7.1-2.fc25          @updates  4.2 M
 qemu-kvm                        x86_64 2:2.7.1-2.fc25          @updates    0
 qemu-system-x86                 x86_64 2:2.7.1-2.fc25          @updates   20 M
 radvd                           x86_64 2.14-1.fc25             @anaconda 179 k
 seabios-bin                     noarch 1.9.3-1.fc25            @anaconda 647 k
 seavgabios-bin                  noarch 1.9.3-1.fc25            @anaconda 230 k
 sgabios-bin                     noarch 1:0.20110622svn-9.fc24  @anaconda 4.0 k
 sheepdog                        x86_64 1.0.1-2.fc25            @updates  851 k
 spice-glib                      x86_64 0.33-2.fc25             @anaconda 1.3 M
 spice-gtk3                      x86_64 0.33-2.fc25             @anaconda 257 k
 spice-server                    x86_64 0.13.3-1.fc25           @updates  1.2 M
 systemd-container               x86_64 231-12.fc25             @updates  955 k
 usbredir                        x86_64 0.7.1-2.fc24            @anaconda  96 k
 userspace-rcu                   x86_64 0.9.2-2.fc25            @anaconda 292 k
 virglrenderer                   x86_64 0.5.0-1.20160411git61846f92f.fc25
                                                                @anaconda 1.8 M
 vte3                            x86_64 0.36.5-2.fc24           @anaconda 987 k
 xen-libs                        x86_64 4.7.1-6.fc25            @updates  1.5 M
 xen-licenses                    x86_64 4.7.1-6.fc25            @updates  389 k

Transaction Summary
================================================================================
Remove  72 Packages

Installed size: 109 M
Is this ok [y/N]:
    
por jww 04.02.2017 / 08:52

2 respostas

4

1. "libvirt e qemu são os suspeitos do costume"

but they do not appear to be installed

$ rpm -q --whatprovides /lib/systemd/system/libvirtd.service
libvirt-daemon-2.2.0-2.fc25.x86_64

Há uma alternativa para remover o pacote:

systemctl disable --now libvirtd.service

Ou se você quiser ter certeza de que nenhum software pode solicitar o libvirtd para iniciar:

systemctl mask --now libvirt.service

Você pode ter encontrado essa aparência na lista de serviços em execução ( systemctl ) ou processos ( ps -ax / ps ax ). Se você encontrou o ID do processo primeiro, existe um truque para obter o serviço, mesmo que o nome seja diferente.

$ ps -ax|grep libvirt
  992 ?        Ssl    0:00 /usr/sbin/libvirtd
 1365 ?        S      0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
 1366 ?        S      0:00 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
 6997 pts/0    S+     0:00 grep --color=auto libvirt
$ systemctl status 992
● libvirtd.service - Virtualization daemon
   Loaded: loaded (/usr/lib/systemd/system/libvirtd.service; enabled; vendor preset: enabled)
   Active: active (running) since Sat 2017-02-04 13:15:19 GMT; 3h 41min ago
     Docs: man:libvirtd(8)
           http://libvirt.org
 Main PID: 992 (libvirtd)
    Tasks: 18 (limit: 4915)
   CGroup: /system.slice/libvirtd.service
           ├─ 992 /usr/sbin/libvirtd
           ├─1365 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper
           └─1366 /sbin/dnsmasq --conf-file=/var/lib/libvirt/dnsmasq/default.conf --leasefile-ro --dhcp-script=/usr/libexec/libvirt_leaseshelper

Warning: Journal has been rotated since unit was started. Log output is incomplete or unavailable.

2. "Não consegui encontrar uma razão para o pacote pré-instalado"

...
gnome-boxes
$ dnf info gnome-boxes|grep Summary
Summary     : A simple GNOME 3 application to access remote or virtual systems

3. "É seguro remover o KVM"

from a headless workstation which only uses SSH for remote access and developer tools? Is KVM now necessary for Fedora to work?

Sua lista de remoção parece boa para mim.

Ele nem mesmo desinstala o GNOME. Observe que comandos como dnf remove systemd ou dnf remove dnf avisariam sobre a remoção de "pacotes protegidos". No entanto, eu entendo a preocupação de que algum pacote importante possa ser removido, o que não é uma dependência de pacotes restrita. Você pode reduzir o que precisa analisar:

No Debian, eu usaria apt-get remove X . Ele me mostraria os pacotes removidos, e separadamente mostraria os pacotes que podem ser "auto-removidos", já que não são mais dependentes de nenhum pacote.

O resultado deixa claro que você está removendo apenas libvirt , gnome-boxes e uma biblioteca chamada libguestfs , que depende da libvirt (mas da qual nada mais depende).

libguestfs tem / é usado por algumas ferramentas muito legais. virt-sparsify pode ser usado (com a libvirt desativada, se você a executar como root) para obter uma imagem esparsa de uma unidade removível particionada.

EDIT: Notei que dnf remove no Fedora 26 já mostrará listas separadas para "Removendo pacotes dependentes" e "Removendo dependências não utilizadas". Yay! Não me lembro de fazer isso antes.

Se o seu comando dnf não apareceu para mostrar listas separadas, existe uma abordagem mais obscura, para fazer com que ele se comporte como apt-get e não inclua o% automáticoautoremove de dependências não usadas.

# dnf remove --setopt "clean_requirements_on_remove=0" libvirt-daemon 
Dependencies resolved.
======================================================================================================================================================
 Package                                            Arch                      Version                               Repository                   Size
======================================================================================================================================================
Removing:
 gnome-boxes                                        x86_64                    3.22.3-2.fc25                         @updates                    5.0 M
 libguestfs                                         x86_64                    1:1.34.3-1.fc25                       @fedora                     3.8 M
 libguestfs-tools-c                                 x86_64                    1:1.34.3-1.fc25                       @fedora                      15 M
 libguestfs-xfs                                     x86_64                    1:1.34.3-1.fc25                       @fedora                       9  
 libvirt-daemon                                     x86_64                    2.2.0-2.fc25                          @updates                    2.5 M
 libvirt-daemon-config-network                      x86_64                    2.2.0-2.fc25                          @updates                    228  
 libvirt-daemon-driver-interface                    x86_64                    2.2.0-2.fc25                          @updates                    112 k
 libvirt-daemon-driver-network                      x86_64                    2.2.0-2.fc25                          @updates                    534 k
 libvirt-daemon-driver-nodedev                      x86_64                    2.2.0-2.fc25                          @updates                    112 k
 libvirt-daemon-driver-nwfilter                     x86_64                    2.2.0-2.fc25                          @updates                    169 k
 libvirt-daemon-driver-qemu                         x86_64                    2.2.0-2.fc25                          @updates                    1.3 M
 libvirt-daemon-driver-secret                       x86_64                    2.2.0-2.fc25                          @updates                     83 k
 libvirt-daemon-driver-storage                      x86_64                    2.2.0-2.fc25                          @updates                    658 k
 libvirt-daemon-kvm                                 x86_64                    2.2.0-2.fc25                          @updates                      0  

Transaction Summary
======================================================================================================================================================
Remove  14 Packages

Installed size: 29 M
Is this ok [y/N]

(Então, depois eu usaria dnf autoremove ).

    
por 04.02.2017 / 17:42
4

É seguro remover o KVM. Ele é instalado por padrão na Workstation porque é um caso de uso comum de desenvolvedor de software. Se você não precisa, você pode removê-lo. (Por outro lado, a sobrecarga de estar lá é relativamente pequena, considerando todas as coisas, então você também pode ignorá-lo.)

    
por 04.02.2017 / 15:40