AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

    • 主页
    • 系统&网络
    • Ubuntu
    • Unix
    • DBA
    • Computer
    • Coding
    • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 13091
In Process
Kyle Burton
Kyle Burton
Asked: 2009-05-28 08:31:36 +0800 CST2009-05-28 08:31:36 +0800 CST 2009-05-28 08:31:36 +0800 CST

关于在 VCS 中存储 /etc 的建议?

  • 772

用于跟踪 /etc 的最简单的 VCS 是什么?在版本控制中存储 etc 目录有哪些挑战,最佳实践?我应该使用集中式还是分布式 VCS?

vcs
  • 7 7 个回答
  • 878 Views

7 个回答

  • Voted
  1. Gene Gotimer
    2009-05-28T10:35:07+08:002009-05-28T10:35:07+08:00

    您可以使用etckeeper来处理它,这将允许您使用 git、mercurial、darcs 或 bzr 作为存储库。

    • 12
  2. jldugger
    2009-05-28T21:03:45+08:002009-05-28T21:03:45+08:00

    使用etckeeper为您完成。这有很多原因:

    • 您有时会忘记使用 VCS;etckeeper 挂钩到包管理器,为您提供安装前和安装后状态以回滚
    • 你会搞砸文件权限
    • 您将搞砸处理影子密码文件
    • 6
  3. jedberg
    2009-05-28T08:48:17+08:002009-05-28T08:48:17+08:00

    我发现 git 最擅长这项工作(尽管 Mercurial 可能也可以工作)。/etc 中的一个简单的“git init”,你就在路上。之后,只需添加您关心的文件,然后在它们发生更改时,您可以将其签入。您甚至可以设置 cron 以在每次发生更改时自动进行签入(尽管那时您不会收到日志文件)。如果您想设置与第一台具有所有相同配置的第二台机器,或者只是作为备份,您也可以推送 repo。

    当我开始系统管理时,rcs 是 /etc 的首选方法。然后是 CVS,然后是 SVN。我怀疑当有新事物出现时,我会转向那个。:) 但是随着 VCS 中的每一个新范例,我的生活实际上变得更轻松了。

    • 4
  4. John
    2009-05-28T08:53:44+08:002009-05-28T08:53:44+08:00

    我同意 jedberg 的观点,但是反过来。使用 git 存储库但创建一个 .gitignore 忽略所有文件,然后为您关心的文件添加一个 unignore。至少这样你的 git 状态不会一直很脏。

    即:.gitignore * !hosts !resolv.conf

    ETC...

    约翰

    • 2
  5. Anders Hansson
    2009-05-28T08:55:40+08:002009-05-28T08:55:40+08:00

    没有任何宗教意图:我强烈推荐使用分布式 VCS,最好是 Bazaar。这是因为:

    • Bazaar 易于安装(在 Ubuntu 和 Debian 服务器上只需apt-get install bzr.
    • 它很容易设置和开始:
    cd /etc
    bzr init .
    bzr add .
    bzr commit . -m "Initial configuration"
    
    • 无需服务器设置。Bazaar 可以连接并推送到远程存储库,而无需运行任何远程 Bazaar 服务器。适用于任何 FTP 服务器或 WEBDAV 等。

    Git 和 Mercurial 是另外两个参赛者(正如其他答案中所指出的那样),但他们缺乏在没有设置的情况下推送到远程服务器的能力(至少目前如此)。

    • 2
  6. jtimberman
    2009-06-14T00:47:46+08:002009-06-14T00:47:46+08:00

    我不会在版本控制系统中管理所有 /etc。原因是,/etc 的大部分内容可能不会随着时间的推移而发生太大变化。包管理工具将为您管理 /etc 中的大量文件,升级包可能会导致与 VCS 发生有趣的冲突。

    相反,我会使用一个配置 管理系统来管理我的服务器的各种组件和包,使用模板和静态文件(如果适用)来配置将文件存储在 /etc(和其他地方)中的服务和设置。我会将所有内容存储在版本控制系统中,我个人更喜欢 Git,因为作为系统管理员,“典型”Git 工作流程对我来说比 Subversion(或 CVS)更有意义。Git 的去中心化对我来说是系统管理的巨大胜利。

    • 2
  7. lkraav
    2010-11-15T05:46:38+08:002010-11-15T05:46:38+08:00

    作为之前所有建议的补充(这些建议几乎完全描述了我所做的),我刚刚为自己发现了tig。使用 cmdline 使用 git 管理等让我发疯,变化很快堆积起来,而我却没有表现出任何照顾它们的愿望。只是随机四处寻找 git GUI,我注意到存在这个基于 ncurses 的名为 tig 的 GUI。

    现在我真的很期待管理我的 /etc!

    • 0

相关问题

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    从 IP 地址解析主机名

    • 8 个回答
  • Marko Smith

    如何按大小对 du -h 输出进行排序

    • 30 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    Windows 中执行反向 DNS 查找的命令行实用程序是什么?

    • 14 个回答
  • Marko Smith

    如何检查 Windows 机器上的端口是否被阻塞?

    • 4 个回答
  • Marko Smith

    我应该打开哪个端口以允许远程桌面?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    MikeN 在 Nginx 中,如何在维护子域的同时将所有 http 请求重写为 https? 2009-09-22 06:04:43 +0800 CST
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    0x89 bash中的双方括号和单方括号有什么区别? 2009-08-10 13:11:51 +0800 CST
  • Martin Hope
    kch 如何更改我的私钥密码? 2009-08-06 21:37:57 +0800 CST
  • Martin Hope
    Kyle Brandt IPv4 子网如何工作? 2009-08-05 06:05:31 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助
subwaysurfers
my femboy roommate

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve