用于python的linux系统管理工具
linux-utils的Python项目详细描述
python包linux utils提供了一些实用程序功能,使它变得简单 在python中的Linux系统上编写系统管理任务脚本。这个 目前已实现以下功能:
- 解析/etc/fstab和/etc/crypttab配置文件。
- 用于cryptsetup的基本python api和 cryptdisks_start和cryptdisks_stop(带有命令行接口)。
该包目前在cpython 2.6、2.7、3.4、3.5、3.6和pypy上测试 (2.7)在ubuntu linux上(使用Travis CI)。
Installation
linux实用程序包在PyPI上提供,这意味着安装应该 简单到:
$ pip install linux-utils
实际上有很多方法可以安装python包(例如per user site-packages directory,virtual environments),或者只安装 我不打算在这里讨论,所以 如果这让你感到害怕,那么在回到这些之前,先阅读一下你的选项 说明;-)。
Usage
有关python api的详细信息,请参阅api文档 在Read the Docs上提供。cryptdisks_start的python实现 命令行中的cryptdisks_stop如下所示 程序:
因为这些名字暗示着这些程序不是它们的功能等价物 “官方”对应,因为它们只支持luks加密和 可用加密选项的子集。
cryptdisks-start-fallback
用法:加密磁盘开始回退名称
读取/etc/crypttab并解锁具有给定名称的加密文件系统。
这个程序模拟Debian的CryptDisks启动程序的功能, 但它只支持luks加密和一小部分可用的 加密选项。
cryptdisks-stop-fallback
用法:加密磁盘停止回退名称
读取/etc/crypttab并用给定的名称锁定加密的文件系统。
这个程序模拟Debian的cryptdisks_stop程序的功能, 但它只支持luks加密和一小部分可用的 加密选项。
History
早在2015年,我就编写了一些python代码来解析linux配置文件 /etc/fstab和/etc/crypttab用于crypto-drive-manager。快的 到2017年,我发现自己想使用同样的功能 在rsync-system-backup中。我有三个选择:
复制/粘贴相关代码。必须在 多个位置导致低质量代码,因为必须复制 编写文档、开发测试和修复bug的努力是一项非常艰巨的任务。 使努力失去动力。
实际上,在2016年的某个时候,我确实将此代码的部分复制/粘贴到 项目在工作,因为我需要类似的功能。当然 从那时起,这两种实现方式开始出现分歧:-p.
使加密驱动器管理器成为rsync系统备份的依赖项。尽管 这种方法没有复制/粘贴代码那么难看,它仍然不是 非常优雅,因为这两个项目彼此无关 除了在linux上使用luks加密磁盘之外。
将功能提取到新包中。在我看来 显然,最优雅的方法,不幸的是它也需要 我的工作:-)。另一方面,我正在发布一个新的包 测试套件,这意味着更少的未测试代码仍留在crypto-drive-manager (在编写时没有测试套件)。
在提取代码时,我很快就考虑集成这些功能进入debuntu-tools,但是/etc/fstab和/etc/crypttab解析 完全不是debian或ubuntu特有的,debuntu-tools有几个 与Linux配置文件解析无关的依赖项。
从那时起,很明显这是一个很好的选择(不是合并 因为包现在提供了一个python 实现cryptdisks_start和cryptdisks_stop,其中大部分 在不是基于debian的的linux系统上很有用。
Contact
最新版本的linux实用程序可以在PyPI和GitHub上找到。这个 文档可以在Read the Docs上找到,其中包括changelog。为了 错误报告请在GitHub上创建问题。如果你有问题, 建议等。请随时给我发邮件到peter@peterodding.com。