zectl ZFS Boot Environment Manager for Linux

栏目: IT技术 · 发布时间: 6年前

内容简介:I’m happy to announce a new ZFS boot environment manager written completely from scratch in C -In 2018 I wroteFor a summary on what a boot environment manager is, and how it can be used seemy previous post.

I’m happy to announce a new ZFS boot environment manager written completely from scratch in C - zectl .

In 2018 I wrote zedenv , a ZFS Boot Environment manager, I’ve taken what I learned from zedenv and added improvements in workflow, performance and reliability.

For a summary on what a boot environment manager is, and how it can be used seemy previous post.

Why the Rewrite

I had been having misgivings about writing my original implementation in Python. At the time of writing there was no libzfs library interface for python and I wrote my own “wrapper library” - pyzfscmds - that simply called out to the zfs binary. While the wrapper has worked, it meant a lot of extra work was done parsing string output from zfs subcommands. Directly using the libzfs library allows for more robust code, significantly better performance, and error handling. I was considering porting the python tool to use py-libzfs , or writing it in C when the tool bectl came out for FreeBSD. Seeing bectl ’s impressive implementation I was inspired to do the rewrite in C.

Plugins

Part of the reasoning behind writing the original tool in Python was to facilitate a plugin interface. Having a way to extend the codebase in key so that I, and potentially others, could write plugins for additional bootloaders without requiring them to be part of the core tool. I wanted to carry over the plugin functionality to the C tool, I felt this would be possible using dynamically linked libraries, and have implemented a similar plugin interface using dlopen . As of now a plugin exists for the systemd-boot bootloader, and one is in the works for GRUB.

Contributing

zectl is Open source (MIT-licensed) and looking for contributions.

If you’d like to help out with the project, please reach out to us on GitHub , via email, or on #zectl:matrix.org .

Thanks to

  • Markus Kessler who has been a big help reviewing the code, helping brainstorm, and adding improvements.
  • Zach Himsel for beta-testing and feedback.

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

深入浅出Node.js

深入浅出Node.js

朴灵 / 人民邮电出版社 / 2013-12-1 / CNY 69.00

本书从不同的视角介绍了 Node 内在的特点和结构。由首章Node 介绍为索引,涉及Node 的各个方面,主要内容包含模块机制的揭示、异步I/O 实现原理的展现、异步编程的探讨、内存控制的介绍、二进制数据Buffer 的细节、Node 中的网络编程基础、Node 中的Web 开发、进程间的消息传递、Node 测试以及通过Node 构建产品需要的注意事项。最后的附录介绍了Node 的安装、调试、编码......一起来看看 《深入浅出Node.js》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

随机密码生成器
随机密码生成器

多种字符组合密码

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具