在Arch Linux上安装和配置Qemu-KVM [更新]

虚拟经理

在一个 以前的文章 我们看到了如何安装 Qemu-KVM en 德比安·威兹(Debian Wheezy) 多亏了 菲乔 这次,我将向您展示如何做 Arch Linux的.

Debian的,接下来我要向您展示的内容会比较重,但是,得出最终结果确实很容易。 让我们开始吧:

安装必要的软件包

我们将安装使其工作所需的软件包 Qemu-KVM 并能够管理我们的虚拟机。

$ sudo pacman -S qemu dmidecode ebtables dnsmasq libvirt bridge-utils openbsd-netcat radvd urlgrabber virtviewer virtinst virt-manager ifplugd ifenslave tcl

以前,该包裹被称为 qemu-kvm,对我而言,不再只是 。 其余的软件包是网络选件等正常工作所必需的。

埃尔帕克特 最原始的 在存储库中找不到或重命名。 现在只需要包 virt-manager,libvirt-glib,libvirt,vde2 y

安装这些软件包后,我们将用户添加到组中 KVM y 波尔基特:

$ sudo gpasswd -your_kvm用户$ sudo gpasswd -your_polkitd用户

然后,我们提出必要的模块,具体取决于视频卡:

$ sudo modprobe kvm-intel $ sudo modprobe kvm

如果您使用AMD,则应使用kvm-amd,我假设NVidia用户使用kvm-nvidia。 老实说,我不确定后者。

现在我们激活该服务:

$ sudo systemctl enable libvirtd.service

如果我们要启动它,您已经知道:

systemctl start libvirtd.service

我们只需要为Policykit创建或编辑规则,该规则使我们能够与用户一起管理虚拟机。 为此,我们编辑或创建文件:

$ sudo nano /etc/polkit-1/rules.d/50-org.libvirt.unix.manage.rules

然后在其中插入以下几行:

polkit.addRule(函数(动作,主题){if(action.id ==“ org.libvirt.unix.manage” && subject.user ==“您的用户”){返回polkit.Result.YES;}});

我们必须更换 您的用户 当然是由我们的用户我们会剩下什么? 好了,重新启动计算机,然后尝试制作一个新的虚拟机。

在我的特定情况下,当尝试使用现有映像创建新的虚拟机时,在完成向导后它给了我一个权限错误。 我只需要授予.img文件的读/写权限

参考文献: 因子质量管理.


本文内容遵循我们的原则 编辑伦理。 要报告错误,请单击 信息.

33条评论,留下您的评论

发表您的评论

您的电子邮件地址将不会被发表。

*

*

  1. 负责数据:MiguelÁngelGatón
  2. 数据用途:控制垃圾邮件,注释管理。
  3. 合法性:您的同意
  4. 数据通讯:除非有法律义务,否则不会将数据传达给第三方。
  5. 数据存储:Occentus Networks(EU)托管的数据库
  6. 权利:您可以随时限制,恢复和删除您的信息。

  1.   Federico A.ValdésToujague

    问候埃拉夫! 我并不认为它比Debian更复杂。 也许是不同的命令。 总是值得执行一些命令以安装此功能强大的工具来制造虚拟机。 即使我不使用Arch,也感谢您分享它在该发行版中的安装方式。

    1.    拉夫

      您必须执行一些额外的步骤……这就是我所说的复杂情况。 在Debian中,除了安装软件包并将我们的用户添加到相应的组外,无需执行其他任何操作。

  2.   奥兹卡尔

    一个问题,拉夫:Arch已经使用systemd了,是否有必要将.service放入服务中? 例如,尚未由systemctl'action'kdm识别?

    1.    拉夫

      是的,Arch使用Systemd。 我不知道没有.service是否可以完成它,而且正如Wiki中一样,我做到了😀

    2.    他们携带

      如果您识别出它,则无需放置它。

  3.   pandev92

    osx非常好... OHH WAIT XD

    1.    拉夫

      xDD我希望OSX成为我的KDE😛

      1.    pandev92

        明天。

        1.    eliotime3000

          我同意@elav,因为OSX的Aqua接口消耗256 MB的视频,而KDE约为96 MB(支持的最小)和128 MB(建议的最小)。

          在Slackware中,KDE可以运行96 MB的视频,就像它拥有128 MB的视频一样。 无论如何,在口味和颜色之间...

          1.    pandev92

            我不在乎消耗,我购买了另一个4 GB模块,就是XDD

          2.    pandev92

            在视频方面,最近4年中的任何显卡都带有1 GB ddr2或ddr3 xD ..,最高610欧元的nvidia gt40。

          3.    eliotime3000

            @ pandev92:

            我生活在拉丁美洲的一个国家,那里的购买力限制了普通人购买优质视频卡的可能性,但是我想使用一个带有Intel芯片组的技嘉(它本身就是我使用过的最好的主板品牌)到目前为止)。

          4.    泽维尔

            显然,pandev92的购买力无关紧要,更不用说XD

  4.   狮子座

    Arch并不复杂,您只需要花更多时间阅读Wiki。

    1.    eliotime3000

      Arch本身同时是KISS和RTFM(您始终依赖于Wiki更新,以避免对更新过程进行任何修改)。

  5.   pandev92

    这并不是说它是否复杂,它并不适合最终用户。

    1.    eliotime3000

      如果您不想进入此RTFM(阅读《操手册》)模式,最好使用Mint。

    2.    泽维尔

      那不是针对最终用户的,我不在乎XD

  6.   伯尼

    您应该像这样离开策略工具包,因此请检查它是否在组中,仅此而已,
    因此,如果您有一个以上的用户,则该用户在该组中时将具有访问权限,尽管我只是为自己使用计算机,但我有多个用户用于不同的项目,如果将其作为用户放置,则只能与该用户一起使用

    问候语

    polkit.addRule(功能(动作,主题){
    如果(action.id ==“ org.libvirt.unix.manage” &&
    subject.isInGroup(“ libvirt”)){
    返回polkit.Result.YES;
    }
    });

    1.    伯尼

      我放置了libvirt组,但是您可以放置​​所需的组,在您的情况下是kvm或polkitd

  7.   索斯洛格

    嗨,有谁知道为什么kvm会出现此错误:

    无法完成安装:“内部错误:连接到监视器时进程结束:char设备重定向到/ dev / pts / 0(标签charserial0)
    qemu-system-x86_64:-驱动器文件= / home / zpabuin /下载/ Fedora-Live-LXDE-x86_64-19-1.iso,如果=无,id =驱动器ide0-1-0,只读=开启,格式=原始:无法打开磁盘映像/home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso:权限被拒绝

    追溯(最近一次通话):
    在cb_wrapper中的文件“ /usr/share/virt-manager/virtManager/asyncjob.py”,第100行
    回调(asyncjob,* args,** kwargs)
    在do_install中的文件“ /usr/share/virt-manager/virtManager/create.py”,第1920行
    guest.start_install(False,米=米)
    在start_install中的文件“ /usr/share/virt-manager/virtinst/Guest.py”,行1134
    noboot)
    _create_guest中的文件“ /usr/share/virt-manager/virtinst/Guest.py”,行1202
    dom = self.conn.createLinux(start_xml或final_xml,0)
    在createLinux中,文件“ /usr/lib/python2.7/site-packages/libvirt.py”,第2892行
    如果ret为None:引发libvirtError('virDomainCreateLinux()失败',conn = self)
    libvirtError:内部错误:连接到监视器时进程终止:char设备重定向到/ dev / pts / 0(标签charserial0)
    qemu-system-x86_64:-驱动器文件= / home / zpabuin /下载/ Fedora-Live-LXDE-x86_64-19-1.iso,如果=无,id =驱动器ide0-1-0,只读=开启,格式=原始:无法打开磁盘映像/home/zpabuin/Descargas/Fedora-Live-LXDE-x86_64-19-1.iso:权限被拒绝

    谢谢,顺便说一句,virtinst是自XNUMX月以来已过时且已不需要的软件包。

  8.   泽维尔

    问...

    当我尝试提起kvm-intel内核模块(这是我拥有的处理器)时,它告诉我:

    modprobe:错误:无法插入“ kvm_intel”:不支持的操作

    在我的系统中,我注意到kvm-intel模块存在于
    /usr/lib/modules/3.10.10-1-ARCH/kernel/arch/x86/kvm/kvm-intel.ko.gz

    (是的,运行egrep -c“(svm | vmx)” / proc / cpuinfo确定它应该在此处支持虚拟化)

    我的问题是双重的:

    -我不需要启用/启用内核中的某些功能来支持此功能吗?
    -我的系统是64位,我看到该模块位于x86中,是因为这个原因吗? 在这种情况下,我会问我是否可以安装64位模块并停止对我的困扰?

    提前致谢!

    1.    泽维尔

      问题解决了,我需要在系统的BIOS中启用虚拟化...🙂

      谢谢!

  9.   莱昂纳多普1991

    我知道它找不到此文件“ virtinst”

    1.    迈克535

      我尚未安装的最原始的软件包,因为它不再位于存储库中。

      我收到与Xorlogs相同的错误:

      无法完成安装:'内部错误:连接到监视器时进程结束:qemu-system-x86_64:-驱动器文件= / home / maykel / archlinux-2013.10.01-dual.iso,如果=无,id =驱动器-ide0 -1-0,只读=启用,格式=原始:无法打开磁盘映像/home/maykel/archlinux-2013.10.01-dual.iso:权限被拒绝

      追溯(最近一次通话):
      在cb_wrapper中的文件“ /usr/share/virt-manager/virtManager/asyncjob.py”,第100行
      回调(asyncjob,* args,** kwargs)
      在do_install中的文件“ /usr/share/virt-manager/virtManager/create.py”,第1920行
      guest.start_install(False,米=米)
      在start_install中的文件“ /usr/share/virt-manager/virtinst/Guest.py”,行1134
      noboot)
      _create_guest中的文件“ /usr/share/virt-manager/virtinst/Guest.py”,行1202
      dom = self.conn.createLinux(start_xml或final_xml,0)
      在createLinux中,文件“ /usr/lib/python2.7/site-packages/libvirt.py”,第2897行
      如果ret为None:引发libvirtError('virDomainCreateLinux()失败',conn = self)
      libvirtError:内部错误:连接到监视器时,进程结束:qemu-system-x86_64:-drive文件= / home / maykel / archlinux-2013.10.01-dual.iso,如果= none,id = drive-ide0 -1 -0,只读=启用,格式=原始:无法打开磁盘映像/home/maykel/archlinux-2013.10.01-dual.iso:权限被拒绝

      1.    拉夫

        现在我安装的是:

        -libvirt
        -libvirt-glib
        -经理
        -virtviewer

        检查😉

        1.    迈克535

          您是否更新了拱门? 您已经通过更新virt-manager 0.10.0-4看到了virt-manager中的漂亮错误

          错误:“ NoneType”对象没有属性“ __getitem__”

          https://bugs.archlinux.org/task/37990

  10.   声音炼金术士

    您的教程很好,并且由于使用了virt-manager几乎没有问题,因此在您的笔记中,您没有解释要添加什么.img权限,并且我无法创建虚拟机

  11.   江户

    virtinst软件包不存在,它还告诉我“ openbsd-netcat和gnu-netcat发生冲突。 删除gnu-netcat? [y / n]',所以我不能离开gnu-netcat?

  12.   曼努埃尔

    你好,我有一台三星chromebook,我认为它是Snow Clear模型,我想知道Qemu是否可以安装在ARM平台上,我知道如何安装ubuntu,事实上,我出于无法运行的简单事实将其卸载了exe文件,wine不能仅使用intel在此基础上运行,但这似乎是肯定的,但是我不知道如何安装它:/希望您尽快给我答复,谢谢,干得好。

  13.  

    如果我没记错的话,KVM可以加快qemu的速度。 由于qemu仿真整个处理器,因此它比诸如virtualbox之类的虚拟机要慢。 因此,据我所知,当来宾的体系结构与主机相同时,KVM使qemu像虚拟机一样工作。 不是吗无论如何,这篇文章很有趣。

    Qemu rox !!

    问候。

  14.   罗伯托

    下午好,谢谢我一直在寻找的教程,但是我需要您帮助我,了解如何在外部磁盘上安装虚拟机而不使用主机物理空间,谢谢

  15.   佩斯·阿斯加迪乌斯

    在用modprobe激活内核模块的部分中,实际上已激活了与cpu对应的模块,因为kvm使用cpu的虚拟化指令来工作。 我有一台装有Intel cpu和amd gpu的电脑,它对我来说是如此