openstack自定制cirros镜像

前言

cirros作为openstack常用的测试云镜像,基于busybox打包,体积小巧好用,只有14M,启动速度快,且包含常用的cli工具,比如ping,nc,ip等等。
但我在使用过程种,萌发了cirros定制的一些需求,比如:

  • 关闭cirros中的cloud-init功能。cloud-init功能主要是访问 169 网段,获取metadata信息,但我没部署nova的metadata服务,导致cloud-init会重试20秒,影响cirros的开机速度。
  • 放置脚本文件在cirros镜像中。测试过程中有些常用的脚本需要预先放置在cirros中,方便使用,甚至包括定制cirros的启机脚本rc.local。
  • 自定义密码。cirros默认的密码比较复杂,那就自定义一个简单的密码。

busybox最小系统的特点

  • 其终端shell是ash,而不是bash。ash的功能有限,不支持bash的很多语法。比如不支持bash的花括号{1…5},等等。

开发环境配置

我是在wsl ubt20上配置开发环境

sudo apt install qemu-kvm libvirt-daemon-system libvirt-clients bridge-utils
sudo apt install linux-image-generic-hwe-20.04
sudo adduser 'root' libvirt
sudo chmod go+r /boot/vmlinuz-*
sudo systemctl restart libvirtd

操作cirros镜像

我这里采用cirros 0.3.6 ,比这高的版本难以直接操作cirros中的文件系统。

guestfish --rw -a cirros-z.qcow2
><fs> run100% ⟦▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒⟧ 00:00
><fs> list-filesystems
/dev/sda1: ext3
/dev/sda15: vfat
><fs> mount /dev/sda1 /   # 挂载文件系统
><fs> touch /etc/rc.local
><fs> chmod 0777 /etc/rc.local  # 这里必须有先导0,表明是8进制。参考[guestfish](https://www.libguestfs.org/guestfish.1.html )
><fs> quit

openstack导入cirros镜像

openstack image create "cirros" --file cirros.img --disk-format qcow2 --container-format bare --public

导入成功后,创建虚机的时候就可以指定这个镜像名了。

参考

openstack镜像配置root密码远程ssh登录
windows - Resize qcow2 image on Ubuntu via WSL2? Kernel cannot be read by libguestfs-tools virt-resize - Stack Overflow
Install KVM on Ubuntu 20.04 {+ Create a Virtual Machine}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/88050.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

高效记录,事项井然——OmniOutliner 5 Pro for Mac 信息大纲记录工具

OmniOutliner 5 Pro for Mac 是一款强大的信息大纲记录工具&#xff0c;帮助您高效组织和管理各种信息。无论是个人笔记、工作计划、项目管理还是学习资料&#xff0c;这款应用都能满足您的需求&#xff0c;并使您的日常工作更加井然有序。 OmniOutliner 5 Pro 提供了一套丰富…

【我的创作纪念日】使用pix2pixgan实现barts2020数据集的处理(完整版本)

使用pix2pixgan &#xff08;pytorch)实现T1 -> T2的基本代码 使用 https://github.com/eriklindernoren/PyTorch-GAN/ 这里面的pix2pixgan代码进行实现。 进去之后我们需要重新处理数据集&#xff0c;并且源代码里面先训练的生成器&#xff0c;后训练鉴别器。 一般情况下…

UX设计VSUI设计

UX设计在近年来国内蓬勃发展,许多人对其产生了浓厚的兴趣。那么我们应该如何通过自学来系统地学习UX设计呢?话不多说&#xff0c;上干货&#xff01; 1、 深入了解UX设计行业 在开始学习之前,需要深入了解UX设计师的工作内容和行业发展前景。确定这是自己想要从事的职业后,再…

Nginx的反向代理、动静分离、负载均衡

反向代理 反向代理是一种常见的网络技术&#xff0c;它可以将客户端的请求转发到服务器群集中的一个或多个后端服务器上进行处理&#xff0c;并将响应结果返回给客户端。反向代理技术通常用于提高网站的可伸缩性和可用性&#xff0c;并且可以隐藏真实的后端服务器地址。 #user…

Kafka关键点总结-消息的顺序性

Kafka 通过不同的角度&#xff0c;即生产者、消费者和Broker&#xff0c;来保证消息的顺序性&#xff1a; 生产者角度&#xff1a; 消息按顺序发送&#xff1a;生产者可以确保它按照特定的顺序将消息发送到 Kafka 主题中的分区。这可以通过生产者端的顺序写入消息来实现。例如&…

零基础小白学习 Java 要经历的阶段!

Java是一种广泛使用的高级编程语言&#xff0c;具有强大的跨平台性和丰富的类库支持。对于初学者而言&#xff0c;学习Java可以从零基础开始&#xff0c;通过逐步深入的学习&#xff0c;最终掌握Java编程的基本技能和理论知识。本文将从零基础学习Java的角度&#xff0c;探讨学…

Vue模板语法【下】事件处理器,表单、自定义组件、通信组件

目录 一、事件处理器 1.1常用的事件修饰符 1.2常用的按键修饰符 二&#xff0c;vue中的表单 三、自定义组件 四&#xff0c;通信组件 一、事件处理器 1.1常用的事件修饰符 Vue的事件修饰符是用来改变事件的默认行为或者添加额外的功能。以下是一些常用的事件修饰符及其…

如何在Python中实现高效的数据处理与分析

在当今信息爆炸的时代&#xff0c;我们面对的数据量越来越大&#xff0c;如何高效地处理和分析数据成为了一种迫切的需求。Python作为一种强大的编程语言&#xff0c;提供了丰富的数据处理和分析库&#xff0c;帮助我们轻松应对这个挑战。本文将为您介绍如何在Python中实现高效…

医学影像SAM

医学影像SAM 1. 医学影像SAM1.1. MedSAM1.2. SAM-Adapter1.3. Medical-SAM-Adapter1.4. sam-med2d1.5. MS-SAM 下面整理了一些比较好的博客。 1. 医学影像SAM 由于sam在医学影像上表现不是特别好&#xff0c;在该类型数据集上就需要再训练。 1.1. MedSAM MedSAM&#xff1a…

Vue组件库Element

目录 Vue组件库ElementElement简介Element快速入门环境配置Element常用组件Table表格Table表格演示Table表格属性详解 Pagination分页Pagination分页演示Pagination分页属性详解Pagination分页事件详解 Dialog对话框Dialog对话框组件演示Dialog对话框属性详解 Form表单Form表单…

在Android studio高版本上使用低版本的Github项目库报错未能解析:Landroid/support/v4/app/FrageActivity;

我在我的项目中有一个导包: // 基础依赖包&#xff0c;必须要依赖 沉浸式狀態欄 implementation com.gyf.immersionbar:immersionbar:3.0.0 但是我的as版本比较高,我使用这个导包里面的方法会直接报错: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/suppor…

Halcon Window相关算子(一)

(1) dev_close_window( : : : ) 功能&#xff1a;关闭激活的活动图形显示窗口 (2) dev_open_window( : : Row, Column, Width, Height, Background : WindowHandle) 功能&#xff1a;打开一个新的图形窗口&#xff0c;该窗口可用于显示图像、区域和线条等对象以及执行文本输…

Python基于微博的舆论分析,微博情感分析可视化系统

博主介绍&#xff1a;✌程序员徐师兄、7年大厂程序员经历。全网粉丝30W、csdn博客专家、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 文章目录 简介意义 技术栈效果图微博首页情感分析关键词分析热门评论舆情预测 源码咨询 简介 Python基于微…

【操作系统笔记一】程序运行机制CPU指令集

内存地址 指针 / 引用 指针、引用本质上就是内存地址&#xff0c;有了内存地址就可以操作对应的内存数据了。 不同的数据类型 字节序 大端序&#xff08;Big Endian&#xff09;&#xff1a;字节顺序从低地址到高地址顺序存储的字节序小端序&#xff08;Little Endian&#…

从MVC到DDD,该如何下手重构?

作者&#xff1a;付政委 博客&#xff1a;bugstack.cn 沉淀、分享、成长&#xff0c;让自己和他人都能有所收获&#xff01;&#x1f604; 大家好&#xff0c;我是技术UP主小傅哥。多年的 DDD 应用&#xff0c;使我开了技术的眼界&#xff01; MVC 旧工程腐化严重&#xff0c;…

Python办公自动化之PDF

Python操作PDF 1、Python操作PDF概述2、批量拆分3、批量合并4、提取内容(文字)5、提取内容(表格)6、提取图片7、PDF添加水印8、加密与解密9、PDF转Word1、Python操作PDF概述 Python操作PDF主要有两个库:PyPDF2和pdfplumber PyPDF2是一个用于处理PDF文件的Python第三方库 官…

探索视听新纪元: ChatGPT的最新语音和图像功能全解析

&#x1f337;&#x1f341; 博主猫头虎&#xff08;&#x1f405;&#x1f43e;&#xff09;带您 Go to New World✨&#x1f341; &#x1f405;&#x1f43e;猫头虎建议程序员必备技术栈一览表&#x1f4d6;&#xff1a; &#x1f916; 人工智能 AI: &#x1f9e0; Machine …

图形处理软件Photoshop Elements 2020 mac中文版 ps简化版

Photoshop Elements 2020 mac是一款非常实用的图形处理工具。ps elements 2020 mac中文版可以帮助您自动生成照片和视频作品的功能&#xff0c;采用Adobe Sensei AI技术可进行图像组织、编辑和创建等。Photoshop Elements 2020 for Mac激活版可以帮助您轻松整理照片和视频&…

GeoPandas和Matplotlib地图高亮显示——与中国建交的国家(不全)

GeoPandas和Matplotlib地图高亮显示——与中国建交的国家&#xff08;不全&#xff09; 一、概要二、整体架构流程三、完整代码 一、概要 这段代码是使用GeoPandas和Matplotlib库在Python中绘制世界地图的一个例子&#xff0c;它突出了与中国建交的国家&#xff08;部分&#x…

全栈工程师必须要掌握的前端JavaScript技能

作为一名全栈工程师&#xff0c;在日常的工作中&#xff0c;可能更侧重于后端开发&#xff0c;如&#xff1a;C#&#xff0c;Java&#xff0c;SQL &#xff0c;Python等&#xff0c;对前端的知识则不太精通。在一些比较完善的公司或者项目中&#xff0c;一般会搭配前端工程师&a…