用于 opensuse 的 etckeeper - bash 脚本安装和配置

用于 opensuse 的 etckeeper - bash 脚本安装和配置

我想自动安装等等管理员在 OpenSuse 12.3 上。

我的第一个问题是,etckeeper 在标准 OpenSuse 存储库中似乎不可用。

zypper search etckeeper
Loading repository data...
Reading installed packages...
No packages found.

我预计的第二个问题是,当我手动使用 etckeeper 时,有时必须在它开始工作之前对其进行配置(init)。以下是自述文件中的相关信息:

etckeeper init命令初始化 /etc/.git/ 存储库。如果您从软件包安装了 etckeeper,这可能是在软件包安装过程中自动执行的。如果没有,您的第一步是手动运行它:

etckeeper init

我想要一个脚本来安装它并自动初始化它,而不需要最终用户干预。

答案1

好的,这是一个答案,但并不理想。我希望从其中一个存储库中找到一个官方的 OpenSuse 包。但在有人提出更好的选择之前,我想到的是:

  1. 找到包: http://software.opensuse.org/package/etckeeper

  2. 下载:wgethttp://download.opensuse.org/repositories/home:/Peuserik:/OSSFAC/openSUSE_12.3/noarch/etckeeper-1.3-2.1.noarch.rpm

  3. 安装它:etckeeper-1.3-2.1.noarch.rpm 中的 sudo zypper

  4. 初始化它: sudo etckeeper init

所以脚本是:

#!/bin/sh
wget http://download.opensuse.org/repositories/home:/Peuserik:/OSSFAC/openSUSE_12.3/noarch/etckeeper-1.3-2.1.noarch.rpm
sudo zypper in etckeeper-1.3-2.1.noarch.rpm
sudo mv /etc/etckeeper/etckeeper.conf /etc/etckeeper/etckeeper.conf.original
sudo tee /etc/etckeeper/etckeeper.conf > /dev/null << ENDDOC
HIGHLEVEL_PACKAGE_MANAGER=zypper
LOWLEVEL_PACKAGE_MANAGER=rpm
VCS="git"
ENDDOC #no space before this line
cd etc
sudo etckeeper init
sudo git commit -m "initial checkin"
sudo git gc # pack git repo to save a lot of space
cd -
exit 0

相关内容