{"id":9509,"date":"2021-08-30T09:31:29","date_gmt":"2021-08-30T06:31:29","guid":{"rendered":"https:\/\/ip-calculator.ru\/blog\/?p=9509"},"modified":"2021-08-30T09:31:29","modified_gmt":"2021-08-30T06:31:29","slug":"kak-ispolzovat-vagrant-s-libvirt-v-linux","status":"publish","type":"post","link":"https:\/\/ip-calculator.ru\/blog\/ask\/kak-ispolzovat-vagrant-s-libvirt-v-linux\/","title":{"rendered":"\u041a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Vagrant \u0441 Libvirt \u0432 Linux"},"content":{"rendered":"<div class=\"flat_pm_start\"><\/div>\n<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Vagrant \u0441 Libvirt \u0432 Linux. Vagrant &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 Ruby, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f VirtualBox, Hyper-V, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker, VMware, Libvirt \u0438 AWS. Vagrant \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.<\/p>\n<p>\u0421\u0430\u043c\u044b\u043c \u043f\u043e\u043f\u0443\u043b\u044f\u0440\u043d\u044b\u043c \u0432\u0430\u0440\u0438\u0430\u043d\u0442\u043e\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u044f \u043d\u0430 \u043b\u043e\u043a\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d\u0430\u0445 \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u043f\u0440\u043e\u0432\u0430\u0439\u0434\u0435\u0440\u0430 VirtualBox. \u0415\u0441\u043b\u0438 \u0432\u044b \u044f\u0432\u043b\u044f\u0435\u0442\u0435\u0441\u044c \u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u0435\u043b\u0435\u043c KVM \u0438 QEMU, \u044d\u0442\u0430 \u0441\u0442\u0430\u0442\u044c\u044f \u0434\u043b\u044f \u0432\u0430\u0441. KVM, \u043a\u0430\u043a \u0438\u0437\u0432\u0435\u0441\u0442\u043d\u043e, \u0438\u043c\u0435\u0435\u0442 \u043b\u0443\u0447\u0448\u0443\u044e \u043f\u0440\u043e\u0438\u0437\u0432\u043e\u0434\u0438\u0442\u0435\u043b\u044c\u043d\u043e\u0441\u0442\u044c \u0438 \u043c\u0435\u043d\u044c\u0448\u0435\u0435 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0440\u0435\u0441\u0443\u0440\u0441\u043e\u0432 \u043f\u043e \u0441\u0440\u0430\u0432\u043d\u0435\u043d\u0438\u044e \u0441 Virtualbox.<\/p>\n<p>Vagrant \u0441 Libvirt \u0432 Linux &#8212; \u0440\u0435\u0434\u0432\u0430\u0440\u0438\u0442\u0435\u043b\u044c\u043d\u044b\u0435 \u0442\u0440\u0435\u0431\u043e\u0432\u0430\u043d\u0438\u044f:<\/p>\n<ul>\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d Vagrant<\/li>\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d\u044b Libvirt \u0438 QEMU-KVM<\/li>\n<li>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 libvirt \u0434\u043b\u044f Vagrant<\/li>\n<\/ul>\n<h2>\u0423\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0430 \u043f\u043b\u0430\u0433\u0438\u043d\u0430 \u0434\u043b\u044f Vagrant<\/h2>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0442\u043e\u0433\u043e, \u043a\u0430\u043a \u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u043b\u0438 Vagrant \u0438 KVM, \u0432\u044b \u0434\u043e\u043b\u0436\u043d\u044b \u0431\u044b\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d libvirt, \u0447\u0442\u043e\u0431\u044b \u0432\u044b \u043c\u043e\u0433\u043b\u0438 \u043d\u0430\u0447\u0430\u0442\u044c \u0443\u043f\u0440\u0430\u0432\u043b\u044f\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u043c\u0438 \u043c\u0430\u0448\u0438\u043d\u0430\u043c\u0438 KVM \u0441 \u043f\u043e\u043c\u043e\u0449\u044c\u044e Vagrant.<\/p>\n<p>\u041d\u043e \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u0443\u0431\u0435\u0434\u0438\u0442\u0435\u0441\u044c, \u0447\u0442\u043e \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d \u043f\u0430\u043a\u0435\u0442 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 libvirt:<\/p>\n<pre># CentOS\/Fedora\r\n$ sudo yum -y install libvirt-devel\r\n$ sudo yum -y groupinstall \"Development Tools\"<\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u0435 \u043f\u043b\u0430\u0433\u0438\u043d Vagrant libvirt:<\/p>\n<pre>$ vagrant plugin install vagrant-libvirt\r\nInstalling the 'vagrant-libvirt' plugin. This can take a few minutes...\r\nBuilding native extensions. This could take a while...\r\nBuilding native extensions. This could take a while...\r\nInstalled the plugin 'vagrant-libvirt (0.0.45)'!<\/pre>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0441\u0442\u043e\u043b\u043a\u043d\u0443\u043b\u0438\u0441\u044c \u0441 \u043e\u0448\u0438\u0431\u043a\u043e\u0439, \u043a\u0430\u043a \u043f\u043e\u043a\u0430\u0437\u0430\u043d\u043e \u043d\u0438\u0436\u0435:<\/p>\n<pre>ERROR: Failed to build gem native extension.\r\n\r\ncurrent directory: \/home\/jmutai\/.vagrant.d\/gems\/2.5.1\/gems\/nokogiri-1.8.4\/ext\/nokogiri\r\n\/usr\/bin\/ruby -r .\/siteconf20180704-25314-14hvlbq.rb extconf.rb\r\nchecking if the C compiler accepts ... yes\r\nBuilding nokogiri using system libraries.\r\npkg-config could not be used to find libxml-2.0\r\nPlease install either `pkg-config` or the pkg-config gem per\r\ngem install pkg-config -v \"~&gt; 1.1\"<\/pre>\n<p>\u0422\u043e\u0433\u0434\u0430 \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435:<\/p>\n<pre>$ gem install nokogiri\r\n$ vagrant plugin install pkg-config<\/pre>\n<p>\u0418 \u043f\u043e\u043f\u0440\u043e\u0431\u0443\u0439\u0442\u0435 \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u043f\u043b\u0430\u0433\u0438\u043d \u0435\u0449\u0435 \u0440\u0430\u0437.<\/p>\n<pre>$ vagrant plugin install vagrant-libvirt<\/pre>\n<p>\u041f\u043e\u0441\u043b\u0435 \u0437\u0430\u0432\u0435\u0440\u0448\u0435\u043d\u0438\u044f \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0438 \u0432\u044b \u043c\u043e\u0436\u0435\u0442\u0435 \u043f\u043e\u0434\u0442\u0432\u0435\u0440\u0434\u0438\u0442\u044c, \u0447\u0442\u043e \u043f\u043b\u0430\u0433\u0438\u043d \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u043b\u0435\u043d, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u044f \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0443\u044e \u043a\u043e\u043c\u0430\u043d\u0434\u0443:<\/p>\n<pre>$ vagrant plugin list\r\nvagrant-libvirt (0.0.45)<\/pre>\n<p>\u0421\u043a\u0430\u0447\u0438\u0432\u0430\u043d\u0438\u0435 \u0431\u043e\u043a\u0441\u043e\u0432 Vagrant<\/p>\n<p>\u0411\u043e\u043a\u0441 Vagrant \u0434\u043b\u044f Libvirt \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u044f\u0435\u0442 \u0441\u043e\u0431\u043e\u0439 tar-\u0430\u0440\u0445\u0438\u0432 \u0441 3 \u0444\u0430\u0439\u043b\u0430\u043c\u0438 \u0432 \u043d\u0435\u043c.<\/p>\n<ul>\n<li>\u0411\u0430\u0437\u043e\u0432\u044b\u0439 VagrantFile<\/li>\n<li>\u0424\u0430\u0439\u043b metadata.json<\/li>\n<li>\u041e\u0431\u0440\u0430\u0437 \u0432 \u0444\u043e\u0440\u043c\u0430\u0442\u0435 QCOW2<\/li>\n<\/ul>\n<p>\u0415\u0441\u043b\u0438 \u0432\u044b \u0437\u0430\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u043d\u044b \u0432 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0438 \u0441\u043e\u0431\u0441\u0442\u0432\u0435\u043d\u043d\u044b\u0445 \u0431\u043e\u043a\u0441\u043e\u0432 Vagrant, \u0432\u0437\u0433\u043b\u044f\u043d\u0438\u0442\u0435 \u043d\u0430 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043d\u0438\u0435 \u0448\u0430\u0431\u043b\u043e\u043d\u043e\u0432 \u0441\u0431\u043e\u0440\u043a\u0438 <a href=\"https:\/\/www.packer.io\/downloads.html\">Packer<\/a> \u0438 Packer \u0434\u043b\u044f Vagrant \u0432 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u0438 <a href=\"https:\/\/github.com\/chef\/bento\">chef\/bento \u043d\u0430 github<\/a>. \u042d\u0442\u043e \u043f\u043e\u043c\u043e\u0436\u0435\u0442 \u0432\u0430\u043c \u043b\u0435\u0433\u043a\u043e \u043d\u0430\u0447\u0430\u0442\u044c \u0440\u0430\u0431\u043e\u0442\u0443.<\/p>\n<p>\u0412 \u044d\u0442\u043e\u043c \u043f\u0440\u0438\u043c\u0435\u0440\u0435 \u043c\u044b \u0431\u0443\u0434\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0433\u043e\u0442\u043e\u0432\u044b\u0439 \u0448\u0430\u0431\u043b\u043e\u043d. \u0414\u0430\u0432\u0430\u0439\u0442\u0435 \u0434\u043e\u0431\u0430\u0432\u0438\u043c \u043a\u043e\u0440\u043e\u0431\u043a\u0438 CentOS 7 \u0438 CentOS 6.<\/p>\n<pre>$ vagrant box add centos\/7 --provider=libvirt\r\n==&gt; box: Loading metadata for box 'centos\/7'\r\nbox: URL: https:\/\/vagrantcloud.com\/centos\/7\r\n==&gt; box: Adding box 'centos\/7' (v1902.01) for provider: libvirt\r\n\r\n$ vagrant box add centos\/8 --provider=libvirt<\/pre>\n<p>\u0414\u043e\u0431\u0430\u0432\u044c\u0442\u0435 Ubuntu 20.04 Vagrant box:<\/p>\n<pre>$ vagrant box add generic\/ubuntu2004 --provider=libvirt<\/pre>\n<p>\u041f\u0440\u043e\u0432\u0435\u0440\u044c\u0442\u0435 \u0441\u043f\u0438\u0441\u043e\u043a \u043a\u043e\u0440\u043e\u0431\u043e\u043a, \u043f\u0440\u0435\u0434\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0445 \u043d\u0430 \u043c\u0435\u0441\u0442\u0435.<\/p>\n<pre>$ vagrant box list \r\ncentos\/7 (libvirt, 1902.01)\r\nfedora\/29-cloud-base (libvirt, 29.20181024.1)\r\ngeneric\/ubuntu1804 (libvirt, 1.9.8)<\/pre>\n<h2>\u0421\u043e\u0437\u0434\u0430\u0442\u044c Vagrantfile \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b<\/h2>\n<p>Vagrant \u043d\u0443\u0436\u0435\u043d \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 \u0434\u043b\u044f \u043f\u043e\u043b\u0443\u0447\u0435\u043d\u0438\u044f \u0441\u0432\u0435\u0434\u0435\u043d\u0438\u0439 \u0438 \u043d\u0430\u0441\u0442\u0440\u043e\u0435\u043a \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0435\u043c\u043e\u0439 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b. \u0421\u043e\u0437\u0434\u0430\u0434\u0438\u043c \u0435\u0434\u0438\u043d\u044b\u0439 Vagrantfile \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u044b.<\/p>\n<pre>$ mkdir ~\/vagrant-vms\r\n$ cd ~\/vagrant-vms<\/pre>\n<p>\u0421\u043e\u0437\u0434\u0430\u0439\u0442\u0435 Vagrantfile \u0441 \u0441\u043e\u0434\u0435\u0440\u0436\u0438\u043c\u044b\u043c, \u0430\u043d\u0430\u043b\u043e\u0433\u0438\u0447\u043d\u044b\u043c \u043f\u0440\u0438\u0432\u0435\u0434\u0435\u043d\u043d\u043e\u043c\u0443 \u043d\u0438\u0436\u0435:<\/p>\n<pre># -*- mode: ruby -*-\r\n# vi: set ft=ruby :\r\n\r\nENV['VAGRANT_DEFAULT_PROVIDER'] = 'libvirt'\r\n\r\n\r\nVagrant.configure(\"2\") do |config|\r\n\r\n  ##### DEFINE VM #####\r\n  config.vm.define \"cent-01\" do |config|\r\n  config.vm.hostname = \"cent-01\"\r\n  config.vm.box = \"centos\/7\"\r\n  config.vm.box_check_update = false\r\n  config.vm.network \"private_network\", ip: \"192.168.18.9\"\r\n  config.vm.provider :libvirt do |v|\r\n    v.memory = 1024\r\n    end\r\n  end\r\nend<\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435:<\/p>\n<pre>$ vagrant up\r\nBringing machine 'cent-01' up with 'libvirt' provider...\r\n==&gt; cent-01: Creating image (snapshot of base box volume).\r\n==&gt; cent-01: Creating domain with the following settings...\r\n==&gt; cent-01: -- Name: centos-01_cent-01\r\n==&gt; cent-01: -- Domain type: kvm\r\n==&gt; cent-01: -- Cpus: 1\r\n==&gt; cent-01: -- Feature: acpi\r\n==&gt; cent-01: -- Feature: apic\r\n==&gt; cent-01: -- Feature: pae\r\n==&gt; cent-01: -- Memory: 1024M\r\n==&gt; cent-01: -- Management MAC:\r\n==&gt; cent-01: -- Loader:\r\n==&gt; cent-01: -- Nvram:\r\n==&gt; cent-01: -- Base box: centos\/7\r\n==&gt; cent-01: -- Storage pool: default\r\n==&gt; cent-01: -- Image: \/var\/lib\/libvirt\/images\/centos-01_cent-01.img (41G)\r\n==&gt; cent-01: -- Volume Cache: default\r\n==&gt; cent-01: -- Kernel:\r\n==&gt; cent-01: -- Initrd:\r\n==&gt; cent-01: -- Graphics Type: vnc\r\n==&gt; cent-01: -- Graphics Port: -1\r\n==&gt; cent-01: -- Graphics IP: 127.0.0.1\r\n==&gt; cent-01: -- Graphics Password: Not defined\r\n==&gt; cent-01: -- Video Type: cirrus\r\n==&gt; cent-01: -- Video VRAM: 9216\r\n==&gt; cent-01: -- Sound Type:\r\n==&gt; cent-01: -- Keymap: en-us\r\n==&gt; cent-01: -- TPM Path:\r\n==&gt; cent-01: -- INPUT: type=mouse, bus=ps2\r\n==&gt; cent-01: Creating shared folders metadata...\r\n==&gt; cent-01: Starting domain.\r\n==&gt; cent-01: Waiting for domain to get an IP address...\r\n==&gt; cent-01: Waiting for SSH to become available...\r\ncent-01:\r\ncent-01: Vagrant insecure key detected. Vagrant will automatically replace\r\ncent-01: this with a newly generated keypair for better security.\r\ncent-01:\r\ncent-01: Inserting generated public key within guest...\r\ncent-01: Removing insecure key from the guest if it's present...\r\ncent-01: Key inserted! Disconnecting and reconnecting using new SSH key...\r\n==&gt; cent-01: Setting hostname...\r\n==&gt; cent-01: Configuring and enabling network interfaces...\r\ncent-01: SSH address: 192.168.121.159:22\r\ncent-01: SSH username: vagrant\r\ncent-01: SSH auth method: private key\r\n==&gt; cent-01: Rsyncing folder: \/home\/jmutai\/hacks\/vagrant\/labs\/centos-01\/ =&gt; \/vagrant<\/pre>\n<p>Vagrant \u0441\u043e\u0437\u0434\u0430\u0441\u0442 \u043c\u043e\u0441\u0442 Linux \u0432 \u0445\u043e\u0441\u0442-\u0441\u0438\u0441\u0442\u0435\u043c\u0435.<\/p>\n<pre>$ brctl show virbr1\r\nbridge name\tbridge id\t\tSTP enabled\tinterfaces\r\nvirbr1\t\t8000.5254005351c7\tyes\t\tvirbr1-nic\r\n\t\t\t\t\t\t\tvnet0\r\n\r\n$ ip addr show dev virbr1\r\n8: virbr1: &lt;BROADCAST,MULTICAST,UP,LOWER_UP&gt; mtu 1500 qdisc noqueue state UP group default qlen 1000\r\n    link\/ether 52:54:00:53:51:c7 brd ff:ff:ff:ff:ff:ff\r\n    inet 192.168.121.1\/24 brd 192.168.121.255 scope global virbr1\r\n       valid_lft forever preferred_lft forever<\/pre>\n<p>\u0417\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u00a0 virsh list,\u00a0 \u0447\u0442\u043e\u0431\u044b \u0443\u0432\u0438\u0434\u0435\u0442\u044c, \u043f\u043e\u043b\u0443\u0447\u0438\u0442\u0435 \u043b\u0438 \u0432\u044b \u0441\u043f\u0438\u0441\u043e\u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d.<\/p>\n<pre>$ virsh list\r\nId Name State\r\n-----------------------------------\r\n3 centos-01_cent-01 running<\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0438\u0442\u044c\u0441\u044f \u043a \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u043e\u0439 \u043c\u0430\u0448\u0438\u043d\u0435 \u043f\u043e ssh, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u00a0 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 <code>vagrant ssh<\/code>.<\/p>\n<pre>$ vagrant ssh\r\nLast login: Fri Apr 19 07:40:17 2019 from 192.168.121.1\r\n\r\n[vagrant@cent-01 ~]$ cat \/etc\/redhat-release\r\nCentOS Linux release 7.6.1810 (Core)<\/pre>\n<p>\u0414\u043b\u044f \u0432\u044b\u0432\u043e\u0434\u0430. ssh\/config \u0434\u043e\u043f\u0443\u0441\u0442\u0438\u043c\u044b\u0439 \u0441\u0438\u043d\u0442\u0430\u043a\u0441\u0438\u0441 \u0434\u043b\u044f \u043f\u043e\u0434\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u044f \u043a \u044d\u0442\u043e\u0439 \u0441\u0440\u0435\u0434\u0435 \u0447\u0435\u0440\u0435\u0437 ssh, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435\u00a0 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 ssh-config. \u0412\u0430\u043c \u043d\u0443\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u043f\u043e\u043c\u0435\u0441\u0442\u0438\u0442\u044c \u043f\u0440\u0435\u0434\u043e\u0441\u0442\u0430\u0432\u043b\u0435\u043d\u043d\u044b\u0439 \u0432\u044b\u0432\u043e\u0434 \u0432 \u043a\u0430\u0442\u0430\u043b\u043e\u0433 <em>~\/.ssh\/config<\/em> \u0432 ssh.<\/p>\n<pre>$ vagrant ssh-config\r\nHost cent-01\r\n  HostName 192.168.121.159\r\n  User vagrant\r\n  Port 22\r\n  UserKnownHostsFile \/dev\/null\r\n  StrictHostKeyChecking no\r\n  PasswordAuthentication no\r\n  IdentityFile \/home\/jmutai\/hacks\/vagrant\/labs\/centos-01\/.vagrant\/machines\/cent-01\/libvirt\/private_key\r\n  IdentitiesOnly yes\r\n  LogLevel FATAL<\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u043f\u0435\u0440\u0435\u043d\u0430\u043f\u0440\u0430\u0432\u0438\u0442\u044c \u0432\u044b\u0432\u043e\u0434 \u0432 \u0444\u0430\u0439\u043b \u043a\u043e\u043d\u0444\u0438\u0433\u0443\u0440\u0430\u0446\u0438\u0438 ssh, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435:<\/p>\n<pre>vagrant ssh-config &gt;&gt;~\/.ssh\/config<\/pre>\n<p>\u0417\u0430\u0442\u0435\u043c \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435 \u043a\u043e\u043c\u0430\u043d\u0434\u0443 ssh \u0434\u043b\u044f \u0432\u0445\u043e\u0434\u0430 \u0432 \u0441\u0438\u0441\u0442\u0435\u043c\u0443 \u0441 \u0443\u043a\u0430\u0437\u0430\u043d\u043d\u044b\u043c \u0432\u044b\u0448\u0435 \u0438\u043c\u0435\u043d\u0435\u043c:<\/p>\n<pre>$ ssh cent-01\r\nLast login: Fri Apr 19 07:40:42 2019 from 192.168.121.1\r\n[vagrant@cent-01 ~]$<\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0432\u044b\u043a\u043b\u044e\u0447\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443, \u0437\u0430\u043f\u0443\u0441\u0442\u0438\u0442\u0435:<\/p>\n<pre>$ vagrant halt\r\n==&gt; cent-01: Halting domain\u2026<\/pre>\n<p>\u0427\u0442\u043e\u0431\u044b \u0443\u0441\u0442\u0430\u043d\u043e\u0432\u0438\u0442\u044c \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u0443\u044e \u043c\u0430\u0448\u0438\u043d\u0443 \u0432 \u0438\u0441\u0445\u043e\u0434\u043d\u043e\u0435 \u0441\u043e\u0441\u0442\u043e\u044f\u043d\u0438\u0435, \u043e\u0447\u0438\u0441\u0442\u0438\u0432 \u0432\u0441\u0435 \u0434\u0430\u043d\u043d\u044b\u0435, \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0439\u0442\u0435\u00a0 <code>vagrant destroy<\/code>:<\/p>\n<pre>$ vagrant destroy\r\ncent-01: Are you sure you want to destroy the 'cent-01' VM? [y\/N] y\r\n==&gt; cent-01: Removing domain\u2026<\/pre>\n<div class=\"container-lazyload preview-lazyload container-youtube js-lazyload--not-loaded\"><a href=\"https:\/\/www.youtube.com\/watch?v=X03VYNZI2aY\" class=\"lazy-load-youtube preview-lazyload preview-youtube\" data-video-title=\"1. Vagrant - \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435, \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d ?\" title=\"Play video &quot;1. Vagrant - \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435, \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d ?&quot;\">https:\/\/www.youtube.com\/watch?v=X03VYNZI2aY<\/a><noscript>Video can&#8217;t be loaded because JavaScript is disabled: <a href=\"https:\/\/www.youtube.com\/watch?v=X03VYNZI2aY\" title=\"1. Vagrant - \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435, \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d ?\">1. Vagrant &#8212; \u0447\u0442\u043e \u044d\u0442\u043e \u0442\u0430\u043a\u043e\u0435, \u0438 \u0437\u0430\u0447\u0435\u043c \u043e\u043d \u043d\u0443\u0436\u0435\u043d ? (https:\/\/www.youtube.com\/watch?v=X03VYNZI2aY)<\/a><\/noscript><\/div>\n<div class=\"flat_pm_end\"><\/div>\n","protected":false},"excerpt":{"rendered":"<p>\u0412 \u044d\u0442\u043e\u043c \u0440\u0443\u043a\u043e\u0432\u043e\u0434\u0441\u0442\u0432\u0435 \u043c\u044b \u0440\u0430\u0441\u0441\u043c\u043e\u0442\u0440\u0438\u043c, \u043a\u0430\u043a \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c Vagrant \u0441 Libvirt \u0432 Linux. Vagrant &#8212; \u044d\u0442\u043e \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0435 \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u0435 \u0441 \u043e\u0442\u043a\u0440\u044b\u0442\u044b\u043c \u0438\u0441\u0445\u043e\u0434\u043d\u044b\u043c \u043a\u043e\u0434\u043e\u043c, \u043d\u0430\u043f\u0438\u0441\u0430\u043d\u043d\u043e\u0435 \u043d\u0430 Ruby, \u0447\u0442\u043e\u0431\u044b \u043f\u043e\u043c\u043e\u0447\u044c \u0432\u0430\u043c \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u0438 \u043f\u043e\u0434\u0434\u0435\u0440\u0436\u0438\u0432\u0430\u0442\u044c \u043f\u043e\u0440\u0442\u0430\u0442\u0438\u0432\u043d\u044b\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0435 \u0441\u0440\u0435\u0434\u044b \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u043d\u043e\u0433\u043e \u043e\u0431\u0435\u0441\u043f\u0435\u0447\u0435\u043d\u0438\u044f, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0434\u043b\u044f VirtualBox, Hyper-V, \u043a\u043e\u043d\u0442\u0435\u0439\u043d\u0435\u0440\u043e\u0432 Docker, VMware, Libvirt \u0438 AWS. Vagrant \u0443\u043f\u0440\u043e\u0449\u0430\u0435\u0442 \u0441\u043e\u0437\u0434\u0430\u043d\u0438\u0435, \u043e\u0441\u0442\u0430\u043d\u043e\u0432\u043a\u0443 \u0438 \u0443\u043d\u0438\u0447\u0442\u043e\u0436\u0435\u043d\u0438\u0435 \u0432\u0438\u0440\u0442\u0443\u0430\u043b\u044c\u043d\u044b\u0445 \u043c\u0430\u0448\u0438\u043d. \u0421\u0430\u043c\u044b\u043c [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":9510,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-9509","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-ask"],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/posts\/9509","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/comments?post=9509"}],"version-history":[{"count":0,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/posts\/9509\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/media\/9510"}],"wp:attachment":[{"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/media?parent=9509"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/categories?post=9509"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ip-calculator.ru\/blog\/wp-json\/wp\/v2\/tags?post=9509"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}