用于python的linux系统管理工具

linux-utils的Python项目详细描述


https://travis-ci.org/xolox/python-linux-utils.svg?branch=masterhttps://coveralls.io/repos/xolox/python-linux-utils/badge.svg?branch=master

python包linux utils提供了一些实用程序功能,使它变得简单 在python中的Linux系统上编写系统管理任务脚本。这个 目前已实现以下功能:

该包目前在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 directoryvirtual 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中。我有三个选择:

  1. 复制/粘贴相关代码。必须在 多个位置导致低质量代码,因为必须复制 编写文档、开发测试和修复bug的努力是一项非常艰巨的任务。 使努力失去动力。

    实际上,在2016年的某个时候,我确实将此代码的部分复制/粘贴到 项目在工作,因为我需要类似的功能。当然 从那时起,这两种实现方式开始出现分歧:-p.

  2. 使加密驱动器管理器成为rsync系统备份的依赖项。尽管 这种方法没有复制/粘贴代码那么难看,它仍然不是 非常优雅,因为这两个项目彼此无关 除了在linux上使用luks加密磁盘之外。

  3. 将功能提取到新包中。在我看来 显然,最优雅的方法,不幸的是它也需要 我的工作:-)。另一方面,我正在发布一个新的包 测试套件,这意味着更少的未测试代码仍留在crypto-drive-manager (在编写时没有测试套件)。

在提取代码时,我很快就考虑集成这些功能进入debuntu-tools,但是/etc/fstab/etc/crypttab解析 完全不是debian或ubuntu特有的,debuntu-tools有几个 与Linux配置文件解析无关的依赖项。

从那时起,很明显这是一个很好的选择(不是合并 因为包现在提供了一个python 实现cryptdisks_startcryptdisks_stop,其中大部分 在不是基于debian的的linux系统上很有用。

Contact

最新版本的linux实用程序可以在PyPIGitHub上找到。这个 文档可以在Read the Docs上找到,其中包括changelog。为了 错误报告请在GitHub上创建问题。如果你有问题, 建议等。请随时给我发邮件到peter@peterodding.com

License

此软件是根据MIT license授权的。

版权所有©2018彼得·奥丁。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
如何使用外部java程序在minecraft中移动minecraft角色的相机   java输出文本文件中的变量   java LazyLoadingException在我尝试从多通关系获取对象时出现   java json rest API的错误:ClassCastException:org。json。无法将JSONObject强制转换为组织。json。杰索纳雷   java BigInteger。C中的intValue()等价物#   java大写所有字符,但不包括带引号字符串中的字符   java获取特殊字符   javascript为什么Selenium中的所有getX()调用都需要这么长时间?   rabbitmq rabbitmq java客户端并行消费   如何使用selenium Java在popover窗口中提取文本   对象在java中构造一类对象   java Room数据库未实现   json JSONObject可以使用java保存大的格式化双值吗?   有时限的旅行推销员   java HttpsURLConnection openConnection查询   java无法使用Spring@Entity注释创建MySQL表   lambda Java 8仅映射到值类型集合   java提供OSGi服务而不实现接口   java单个对象重写对象数组,不确定原因