学习 python 至今,一直是在 linux 上操做,感受仍是 linux 对 python 的支持更加友好,默认安装了 python 的版本 2 和 3 。为了打造更好的 python 开发环境,我准备使用本身的 windows 办公机器,利用 spice 的远程链接特性,打造一个基于 centos 7.x 的虚拟机(系统为 linuxmint 18.x 或 elementary os )开发环境。python
再也不赘述。请自行谷歌......linux
首先须要在宿主机上设置网桥,本文章的宿主机的系统是 Centos 7.x ,这是最关键的一步,不少人常常是死在这一步。windows
此处是以 eth0
网卡为例,实际环境请替换为本身的网卡名。网桥的名字建议设置为 br0
。centos
# add bridge "br0" [root@ousikongjian ~]# nmcli c add type bridge autoconnect yes con-name br0 ifname br0 Connection 'br0' (0f4b7bc8-8c7a-461a-bff1-d516b941a6ec) successfully added. # set IP for br0 [root@ousikongjian ~]# nmcli c modify br0 ipv4.addresses 10.0.0.30/24 ipv4.method manual # set Gateway for br0 [root@ousikongjian ~]# nmcli c modify br0 ipv4.gateway 10.0.0.1 # set DNS for "br0" [root@ousikongjian ~]# nmcli c modify br0 ipv4.dns 10.0.0.1 # remove the current setting [root@ousikongjian ~]# nmcli c delete eth0 # add an interface again as a member of br0 [root@ousikongjian ~]# nmcli c add type bridge-slave autoconnect yes con-name eth0 ifname eth0 master br0 # restart [root@ousikongjian ~]# reboot
重启以后,使用下面的命令。网络
[root@ousikongjian ~]# ip addr 1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_lft forever preferred_lft forever 2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast master br0 state UP group default qlen 1000 link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff 3: virbr0: <NO-CARRIER,BROADCAST,MULTICAST,UP> mtu 1500 qdisc noqueue state DOWN group default link/ether 22:f8:64:25:97:44 brd ff:ff:ff:ff:ff:ff inet 192.168.122.1/24 brd 192.168.122.255 scope global virbr0 valid_lft forever preferred_lft forever 4: br0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default link/ether 00:0c:29:9f:9b:d3 brd ff:ff:ff:ff:ff:ff inet 10.0.0.30/24 brd 10.0.0.255 scope global br0 valid_lft forever preferred_lft forever inet6 fe80::20c:29ff:fe9f:9bd3/64 scope link valid_lft forever preferred_lft forever
至此,网桥已经设置成功。跨越这一步,将是康庄大道。dom
[root@ousikongjian ~]# yum -y install qemu-kvm libvirt virt-install bridge-utils # make sure modules are loaded [root@ousikongjian ~]# lsmod | grep kvm kvm_intel 138567 0 kvm 441119 1 kvm_intel [root@ousikongjian ~]# systemctl start libvirtd [root@ousikongjian ~]# systemctl enable libvirtd
[root@ousikongjian ~]# yum -y install virt-manager
这个软件安装完成以后,你就可使用图形化界面来安装客户机了。tcp
Centos 7.x 默认安装以后, /home 路径分配的存储空间最大,而 virt-manager 默认的 /var/lib/libvirt/images 路径的空间每每不够大,所以此处须要咱们在 /home 路径下自定义设置存储空间。ide
至此,咱们已经把虚拟机建立完毕。能够启动该虚拟机,而后按照图形界面安装客户机了。oop
[root@ousikongjian ~]# yum -y install spice-server spice-protocol
为了让 virt-viewer 可以远程链接到客户机,须要配置远程链接的端口及可以访问的 IP。学习
[root@ousikongjian ~]# virsh edit ousi-linuxmint # edit the configration of "ousi-linuxmint"
<domain type='kvm'> <name>ousi-linuxmint</name> <uuid>b38a50ca-a1ae-4d37-ba10-caf1e05b43ce</uuid> <memory unit='KiB'>4194304</memory> <currentMemory unit='KiB'>4194304</currentMemory> <vcpu placement='static'>2</vcpu> . . . # add follows # set any password for "passwd=***" section # specify a uniq number for "sound" section "slot='0x06'" # the "slot='0x02'" in video section is fixed number for graphics <graphics type='spice' port='5900' autoport='no' listen='0.0.0.0' passwd='password'> <listen type='address' address='0.0.0.0'/> </graphics> # 主要是设置<graphics>的内容,若是不想再设置基于 virt-viewer 的密码能够删除 passwd='password' <sound model='ich6'> # 客户机若是是 linux,选择 ich6 <address type='pci' domain='0x0000' bus='0x00' slot='0x06' function='0x0'/> </sound> <video> <model type='qxl' ram='65536' vram='32768' heads='1'/> <address type='pci' domain='0x0000' bus='0x00' slot='0x02' function='0x0'/> </video> <memballoon model='virtio'> <address type='pci' domain='0x0000' bus='0x00' slot='0x05' function='0x0'/> </memballoon> </devices> </domain> Domain ousi-linuxmint XML configuration edited. [root@ousikongjian ~]# virsh start ousi-linuxmint # start VM Domain ousi-linuxmint started
[root@ousikongjian ~]# firewall-cmd --add-port=5900/tcp --permanent [root@ousikongjian ~]# firewall-cmd --reload
为了实现客户机和宿主机之间的复制、粘贴功能,须要在客户机上安装 spice-vdagent。
[root@ousikongjian ~]# yum -y install spice-vdagent #基于红帽的客户机使用该命令
[root@ousikongjian ~]# apt-get -y install spice-vdagent #基于 debian 的客户机使用该命令