Backup

用於 opensuse 的 etckeeper - bash 腳本安裝和配置

  • July 11, 2013

我想在 OpenSuse 12.3 上自動安裝etckeeper 。

我的第一個問題是標準 OpenSuse 儲存庫中似乎沒有 etckeeper。

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

我預計的第二個問題是,當我手動使用 etckeeper 時,有時我必須在它開始工作之前對其進行配置(init)。以下是自述文件中的相關資訊:

etckeeper init命令初始化 /etc/.git/ 儲存庫。如果您從包中安裝了 etckeeper,這可能是在包安裝期間自動執行的。如果沒有,您的第一步是手動執行它:

etckeeper init

我想要一個腳本來安裝它並讓它自動初始化,無需最終使用者干預。

好的,這是一個答案,但這並不理想。我希望從其中一個儲存庫中找到一個官方的 OpenSuse 包。但在有人提出更好的選擇之前,這就是我想出的:

  1. 找到包: http: //software.opensuse.org/package/etckeeper
  2. 下載它:wget http://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

引用自:https://unix.stackexchange.com/questions/82589