zectl ZFS Boot Environment Manager for Linux

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

内容简介: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.

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

查看所有标签

猜你喜欢:

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

Programming Ruby中文版

Programming Ruby中文版

托马斯 / 孙勇、姚延栋、张海峰 / 电子工业出版社 / 2007-3 / 99.00元

《Programming Rudy》(中文版)(第2版)是它的第2版,其中包括超过200页的新内容,以及对原有内容的修订,涵盖了Ruby 1.8中新的和改进的特性以及标准库模块。它不仅是您学习Ruby语言及其丰富特性的一本优秀教程,也可以作为日常编程时类和模块的参考手册。Ruby是一种跨平台、面向对象的动态类型编程语言。Ruby体现了表达的一致性和简单性,它不仅是一门编程语言,更是表达想法的一种简......一起来看看 《Programming Ruby中文版》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

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

多种字符组合密码