虚拟机安装及控制

1.虚拟机的安装

图形界面的安装:virt-manager

在真机中执行:virt-manager(选择左上角的电脑)

(2)输入虚拟机的名称

第一行:镜像安装iso

第二,三行:网络安装

第四行:快照导入安装

(3)选择镜像的绝对路径

(4)选择Rom以及cpu的配置

(5)选择虚拟机的硬盘大小

(6)确认信息,选择安装完成后手动配置

(7)移动光标选择安装:

(8)可以选择安装的类型,有图形的,有仅有基本功能的等,按需求安装对应的

(9)添加硬盘的大小(手动选择)

(10)设置超级用户密码

(11)显示正在安装(最小安装有324个软件包)

经过以上步骤一个虚拟机安装完成;可以在virt-manager界面控制所有的虚拟机的运行以及关闭,删除,暂停等。

注意: 版本不同,安装略有不同

man virt-install ###查看详细信息

对于刚接触Linux,虚拟机必不可少,避免因为误删而重新安装Linux,虚拟机中可操作性也更高,实验性更强

2.虚拟机的脚本安装:(本次安装Linux系统为rhel7.0)

(只能实现部分自动安装)安装后的语言,时区配置等仍要手动选择

注意:

echo $1 ###相当于print

’ ’ ##表示一行命令分开写;用于同一条命令的分割

vim /sbin/vm_create.sh ##建立脚本文件,方便直接用名字调用

#!/bin/bash ##幻数,脚本中命令的解释器指定

virt-install \ ##虚拟机安装命令

–name $1 \ ##指定名字,$1脚本后所加的第一串字符

–ram 1024 \ ##内存

–vcpus 1\ ##cpu

–disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=8 ##硬盘

–network source=br0,model=virtio ,type=direct \ ##网卡

–cdrom /home/koisk/Desktop/镜像名.iso &

注意: ‘&’ #####打入后台执行

3.虚拟机的管理命令

virsh create 虚拟机名称.xml ##一次性恢复 (硬盘文件路径要指定一致)

virsh define 虚拟机名称.xml ##永久恢复

virsh list --all ##显示虚拟机列表

virsh undefine 虚拟机名称 ##删除虚拟机硬件信息文件

virsh destroy 虚拟机名称 ##强行关闭虚拟机

/var/lib/libvirt/images/虚拟机.qcow2 ##硬盘文件

/etc/libvirt/qemu/虚拟机.xml ##虚拟机硬件信息文件

xml ##可扩展标记语言,里面有关于虚拟机的硬盘文件信息,cup信息等

4.虚拟机块照脚本

#!/bin/bash

qemu-img create -f qcow2 -b \ ##快照的建立

/var/lib/libvirt/images/要块照的虚拟机名称(母盘).qcow2 \

/var/lib/libvirt/images/$1.qcow2 &>/dev/null

##导入块照,依据块照安装

virt-install \

–ram 1024 \

–vcpus 1 \

–disk /var/lib/libvirt/images/$1.qcow2,bus=virtio,size=8 ##硬盘

–network source=br0,model=virtio ,type=direct \ ##网卡

–name $1 \

–import &>/dev/null & ##快照的导入

注意:chmod +x XXXX.sh #####给脚本加执行权限
file 块照的虚拟机名称.qcow2 ##查看母盘,也就是根据哪个虚拟机块照出来的

5.虚拟机块照重置脚本

vim /bin/reset.sh

#!/bin/bash

virsh destroy $1

rm -fr /var/lib/libvirt/images/$1.qcow2

qemu-img create -f qcow2 -b \ ##-f: 硬盘类型 -b:备份

/var/lib/libvirt/images/要块照的虚拟机名称.qcow2 \

/var/lib/libvirt/images/$1.qcow2

virs start $1

virt-viewer $1 &

rm -fr /boot/* ##删除虚拟机VM1的/boot/*,虚拟机重启打不开,用重置脚本恢复:

虚拟机打不开:

用脚本恢复:

虚拟机的自动安装:

1.真机httpd的下载以及安装虚拟机用到的安装包的配置:

(1)需要有一个镜像,从官方下载

镜像版本和系统版本一致

mkdir /iso #在真机中建立/mnt

mv xxxx.iso /mnt ##把下载的镜像移到目录里,以免误删镜像

mount /mnt/xxxx.ios /iso ##把镜像挂载到/iso里

(2)vim /etc/yum.repos.d/yum.repo ###指定yum源的位置在/iso/

(3)现在可以通过挂载的yum源下载httpd:

(4)mkdir /var/www/html/rhel7.0 ##建立/var/www/html/rhel7.0 ,并且把/mnt/XXX.iso挂载到/var/www/html/rhel7.0 这个共享目录里

(5)配置虚拟机安装中用到的yum源

/etc/rc.d/rc.local ##这个配置文件是永久挂载的配置文件

把/mnt/XXX.iso永久挂载到/var/www/html/rhel7.0 这个共享目录里,并且给/etc/rc.d/rc.local执行权限;

虚拟机的httpd的下载:(打开vm-manager)

(1)在虚拟机中添加镜像:下载httpd

(2)关闭虚拟机重启,镜像添加成功

(3)把镜像挂载到/iso下

(4)虚拟机可以通过/iso下载httpd

注意:

baseurl=file:///iso ##访问本地文件方式

下载httpd之后,真机虚拟机都执行以下命令:

systemctl start httpd ##开启httpd

systemctl stop firewalld ##关闭火墙

systemctl mask firewalld ##锁定火墙

这样才可以在网络共享,互相之间都可以通过IP访问
(5)下面为虚拟机访问真机:

vim /var/www/html/file ##虚拟机可以访问到var/www/html/下的信息

hostnamectl ##获取本机的系统信息

umount /目录 ##卸下所挂的yum源

2.ks.cfg的生成

下载并打开system-config-kickstart ##打开虚拟机的图形配置ks.cfg,并且保存在虚拟机的/var/www/html/(默认共享目录)

(1)选择时区和用户密码:

(2)选择yum源IP以及yum源所在的目录:

(3)硬盘分区:

(4)设置网关,选择DHCP动态分配IP

(5).在生成ks.cfg的虚拟机中vim /var/www/html/ks.cfg ##编辑ks.cfg

编辑完成之后;执行:

ksvalidator /var/www/html/ks.cfg ##检查ks.cfg文件是否配置正确

4.安装脚本的建立

在真机中修改之前创建的/sbin/vm_create.sh

(1)删除:

–cdrom;

(2)添加:

–location http://172.25.254.78(真机IP)/rhel7.2 \

–extra-args “ks=http://172.25.254.178/ks.cfg" \(虚拟机IP,也就是/ks.cfg所在的虚拟机)/ks.cfg" \

把下载所用到的yum源文件指定到http:/172.25.254.78/rhel7.0(真机中)

把下载所用到的ks.cfg文件指定到http:172.25.254.178/ks.cfg(虚拟机)

在虚拟机中把ks.cfg文件编辑完成之后保存在/var/www/html/

(3)退出保存

(4)chmod +x /sbin/vm_create.sh ##加权限让脚本执行

以上虚拟机安装中的问题的解答(ks.cfg:http:172.25.254.178/ks.cfg)以及安装虚拟机用到的安装包就配置完成(安装包:http:/172.25.254.78/rhel7.0)

5.安装环境的搭建

(1)yum install tftp-server.86_64 -y ##文件共享

(2)yum install syslinux.86_64 -y

(3)yum install xinetd.86_64 -y

(4)xinetd : 提供了系统接口69

(5)cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot ##把引导程序复制到/var/lib/tftpboot

(6)vim /etc/xinetd.d/tftp ##把xinetd服务开启,编辑好后重启服务

(7)cp -r /iso/isolinux/* /var/lib/tftpboot ##把在虚拟机上挂载的/iso/isolinux/* 复制到/var/lib/tftpboot,(安装需要/iso/isolinux/*的所有文件 )

(8)vim /var/lib/tftpboot/pxelinux.cfg/default ##配置安装用到的安装源以及ks.cfg(menu default在哪个目录下面,那个目录就是默认菜单,会自动进入;因为要安装虚拟机,那就放在安装的目录下)

也可以修改安装时的背景图片(把图片像素改为默认像素,复制到此目录即可)以及等待进入的时间(timeout 60 就是6秒)

/var/lib/tftpboot的目录,安装用到的文件

(9)确保安装源和ks.cfg所在的主机火墙已经关闭

6.DHCP的搭建以及配置文件的设置

yum install dhcp -y ##下载dhcp

vim /etc/dhcp/dhcpd.conf (如下图)

next-server 172.25.254.104 ##动态分配IP的主机

filename " pxelinux.0" ##在pxelinux.0的引导下,按照/var/lib/tftpboot/pxelinux.cfg/default文件的内容进行安装

7.虚拟机的安装

(1)用真机进入virt-manager

(2)执行vm_create.sh test ##建立虚拟机

(3)把网络放在第一个执行

(4)安装选择界面

(5)文本安装界面

(6)安装完成后,调整磁盘为第一个执行

(7)

注意:主要是环境的搭建和安装源以及ks.cfg的生成

基于数据挖掘的音乐推荐系统设计与实现 需要一个代码说明,不需要论文 采用python语言,django框架,mysql数据库开发 编程环境:pycharm,mysql8.0 系统分为前台+后台模式开发 网站前台: 用户注册, 登录 搜索音乐,音乐欣赏(可以在线进行播放) 用户登陆时选择相关感兴趣的音乐风格 音乐收藏 音乐推荐算法:(重点) 本课题需要大量用户行为(如播放记录、收藏列表)、音乐特征(如音频特征、歌曲元数据)等数据 (1)根据用户之间相似性或关联性,给一个用户推荐与其相似或有关联的其他用户所感兴趣的音乐; (2)根据音乐之间的相似性或关联性,给一个用户推荐与其感兴趣的音乐相似或有关联的其他音乐。 基于用户的推荐和基于物品的推荐 其中基于用户的推荐是基于用户的相似度找出相似相似用户,然后向目标用户推荐其相似用户喜欢的东西(和你类似的人也喜欢**东西); 而基于物品的推荐是基于物品的相似度找出相似的物品做推荐(喜欢该音乐的人还喜欢了**音乐); 管理员 管理员信息管理 注册用户管理,审核 音乐爬虫(爬虫方式爬取网站音乐数据) 音乐信息管理(上传歌曲MP3,以便前台播放) 音乐收藏管理 用户 用户资料修改 我的音乐收藏 完整前后端源码,部署后可正常运行! 环境说明 开发语言:python后端 python版本:3.7 数据库:mysql 5.7+ 数据库工具:Navicat11+ 开发软件:pycharm
MPU6050是一款广泛应用在无人机、机器人和运动设备中的六轴姿态传感器,它集成了三轴陀螺仪和三轴加速度计。这款传感器能够实时监测并提供设备的角速度和线性加速度数据,对于理解物体的动态运动状态至关重要。在Arduino平台上,通过特定的库文件可以方便地与MPU6050进行通信,获取并解析传感器数据。 `MPU6050.cpp`和`MPU6050.h`是Arduino库的关键组成部分。`MPU6050.h`是头文件,包含了定义传感器接口和函数声明。它定义了类`MPU6050`,该类包含了初始化传感器、读取数据等方法。例如,`begin()`函数用于设置传感器的工作模式和I2C地址,`getAcceleration()`和`getGyroscope()`则分别用于获取加速度和角速度数据。 在Arduino项目中,首先需要包含`MPU6050.h`头文件,然后创建`MPU6050`对象,并调用`begin()`函数初始化传感器。之后,可以通过循环调用`getAcceleration()`和`getGyroscope()`来不断更新传感器读数。为了处理这些原始数据,通常还需要进行校准和滤波,以消除噪声和漂移。 I2C通信协议是MPU6050与Arduino交互的基础,它是一种低引脚数的串行通信协议,允许多个设备共享一对数据线。Arduino板上的Wire库提供了I2C通信的底层支持,使得用户无需深入了解通信细节,就能方便地与MPU6050交互。 MPU6050传感器的数据包括加速度(X、Y、Z轴)和角速度(同样为X、Y、Z轴)。加速度数据可以用来计算物体的静态位置和动态运动,而角速度数据则能反映物体转动的速度。结合这两个数据,可以进一步计算出物体的姿态(如角度和角速度变化)。 在嵌入式开发领域,特别是使用STM32微控制器时,也可以找到类似的库来驱动MPU6050。STM32通常具有更强大的处理能力和更多的GPIO口,可以实现更复杂的控制算法。然而,基本的传感器操作流程和数据处理原理与Arduino平台相似。 在实际应用中,除了基本的传感器读取,还可能涉及到温度补偿、低功耗模式设置、DMP(数字运动处理器)功能的利用等高级特性。DMP可以帮助处理传感器数据,实现更高级的运动估计,减轻主控制器的计算负担。 MPU6050是一个强大的六轴传感器,广泛应用于各种需要实时运动追踪的项目中。通过 Arduino 或 STM32 的库文件,开发者可以轻松地与传感器交互,获取并处理数据,实现各种创新应用。博客和其他开源资源是学习和解决问题的重要途径,通过这些资源,开发者可以获得关于MPU6050的详细信息和实践指南
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值