Sử dụng Git và Etckeeper để kiểm soát phiên bản Cấu hình máy chủ của bạn

Ngày Đăng : Saturday, October 05, 2019 - Tác giả: guICE.org

Theo dõi cấu hình máy chủ của bạn là một phần quan trọng để đảm bảo rằng không có gì bị hỏng. Các hệ thống kiểm soát phiên bản như Git cho phép bạn theo dõi các thay đổi đối với các tệp của mình, khi chúng được tạo ra, ai tạo ra chúng và tại sao chúng được tạo ra. Điều này làm cho nó dễ dàng hơn nhiều để xác định lý do tại sao một cái gì đó đã đi sai, và cũng là phiên bản chính xác. Một cách mà các hệ thống kiểm soát phiên bản không hoạt động là trong khi chúng theo dõi nội dung của các tệp, chúng không làm tốt việc theo dõi các quyền của tệp, đó là nơi Etckeeper xuất hiện. Đây là một công cụ hoạt động với Git theo thứ tự để theo dõi các thay đổi trong thư mục / etc của bạn, cho phép bạn theo dõi những thay đổi này cho dù bạn thực hiện chúng hay chúng được thực hiện bởi người quản lý gói của bạn cập nhật thư mục.

Sử dụng Git và Etckeeper để kiểm soát phiên bản Cấu hình máy chủ của bạn

Theo dõi cấu hình máy chủ của bạn là một phần quan trọng để đảm bảo rằng không có gì bị hỏng. Các hệ thống kiểm soát phiên bản như Git cho phép bạn theo dõi các thay đổi đối với các tệp của mình, khi chúng được tạo ra, ai tạo ra chúng và tại sao chúng được tạo ra. Điều này làm cho nó dễ dàng hơn nhiều để xác định lý do tại sao một cái gì đó đã đi sai, và cũng là phiên bản chính xác. Một cách mà các hệ thống kiểm soát phiên bản không hoạt động là trong khi chúng theo dõi nội dung của các tệp, chúng không làm tốt việc theo dõi các quyền của tệp, đó là nơi Etckeeper xuất hiện. Đây là một công cụ hoạt động với Git theo thứ tự để theo dõi các thay đổi trong thư mục / etc của bạn, cho phép bạn theo dõi các thay đổi này cho dù bạn thực hiện chúng hay chúng được thực hiện bởi người quản lý gói của bạn cập nhật thư mục.

Một điều cần lưu ý là một số tệp trong thư mục / etc cần được giữ riêng tư để bảo mật hệ thống của bạn. Như vậy, nếu bạn đang đẩy dữ liệu git vào kho lưu trữ trung tâm để giữ an toàn, bạn sẽ muốn chắc chắn rằng bạn có thể tin tưởng người dùng có thể truy cập dữ liệu.

Cài đặt Etckeeper

Trên các hệ thống Debian và Ubuntu, việc cài đặt khá đơn giản vì Etckeeper nằm trong kho mặc định và có thể được cài đặt bằng các lệnh sau:

sudo apt-get cập nhật

sudo apt-get cài đặt etckeeper git

Đối với người dùng CentOS và Red Hat, trước tiên bạn cần kích hoạt kho Fedora EPEL (Gói bổ sung cho Linux dành cho doanh nghiệp):

sudo yum cài đặt phát hành epel

sudo yum cài đặt etckeeper

Cấu hình Etckeeper

Sau khi cài đặt, có một tệp cấu hình cho Etckeeper. /etc/etckeeper/etckeeper.conf có hầu hết các cài đặt bạn cần để định cấu hình nó. Nó bắt đầu với sự lựa chọn hệ thống kiểm soát phiên bản (VCS) mà git nên được chọn theo mặc định. Điều này được theo sau bởi bất kỳ tùy chọn bổ sung nào bạn có thể muốn thêm vào các cam kết tùy chọn VCS khác nhau. Tiếp theo là một số tùy chọn để thay đổi khi Etckeeper sẽ tự động cam kết các tệp cho bạn. Sau đó, bạn có các tùy chọn để thiết lập trình quản lý gói mà hệ thống của bạn sử dụng. Ở phần cuối của tệp là tùy chọn để đặt chi tiết của bất kỳ kho lưu trữ từ xa nào cho Etckeeper để đẩy các cam kết đến.

Theo mặc định, Etckeeper sẽ tự động thực hiện bất kỳ thay đổi nào mỗi đêm và cũng sẽ cam kết mọi thay đổi trước khi trình quản lý gói của bạn chạy để đảm bảo nó nắm bắt mọi thay đổi trước khi trình quản lý gói thực hiện thay đổi trong thư mục / etc. Nếu bạn không muốn các chức năng đó, bạn sẽ cần thay đổi cài đặt trong tệp cấu hình.

Giám sát Etckeeper

Để bắt đầu, v.v., giám sát các tập tin của bạn, bạn sẽ cần phải khởi tạo nó.

cd / vv

sudo etckeeper init

Điều này sẽ tạo một thư mục có tên .git chứa dữ liệu mà git sẽ lưu trữ về sự thay đổi mà nó theo dõi trong thư mục. Nó cũng tạo một tệp có tên .gitignore chứa các tệp mà Etckeeper không cần theo dõi trong thư mục. Bạn cũng có thể thêm các tên tệp khác mà bạn không muốn theo dõi vào tệp đó.

Vì vậy, với mọi thứ đã được thiết lập, giờ đây bạn có thể thực hiện cam kết đầu tiên của thư mục / etc của mình:

sudo etckeeper commit Cam kết ban đầu của / etc

Màn hình sẽ cuộn với các chi tiết của các tệp được thêm vào cam kết.

Tiếp theo, chúng tôi sẽ xem xét việc thay đổi tệp:

máy chủ nano sudo

Ở dưới cùng của tập tin thêm:

Ví dụ 127.0.0.1

Lưu file và thoát. Bây giờ chúng tôi có thể tái cam kết để thêm thay đổi.

sudo etckeeper cam kết thêm example.com vào máy chủ

Điều này sau đó sẽ hiển thị một số chi tiết về các thay đổi được thêm vào trong cam kết này.

Vì vậy, cuối cùng, hãy xem làm thế nào bạn có thể đảo ngược một sự thay đổi. Đầu tiên, bạn có thể xem lịch sử của các thay đổi bằng lệnh sau:

sudo git logTHERpretty = oneline

Điều này sẽ cho bạn thấy danh sách số sê-ri cam kết và văn bản được cung cấp cùng với cam kết khi nó được thực hiện. Để quay lại cam kết trước đó, bạn có thể sử dụng lệnh sau:

sudo etckeeper vcs kiểm tra e6586a / etc / hosts

Trong lệnh này, E e e8686a là bắt đầu của số sê-ri cam kết. Bạn chỉ cần sử dụng nhiều văn bản là cần thiết để là duy nhất. Vì vậy, lệnh này đang yêu cầu v.v ... kiểm tra tệp / etc / hosts từ cam kết bắt đầu với Hồi e6586a, trong trường hợp của tôi là cam kết ban đầu. Nếu bạn thử điều này và sau đó nhìn vào tệp máy chủ của bạn, bạn sẽ thấy rằng thay đổi đã được hoàn nguyên.

Lưu ý ở đây rằng nếu bạn không bao gồm tên tệp ở cuối lệnh, tất cả các tệp trong thư mục sẽ được khôi phục về trạng thái của chúng tại thời điểm cam kết đó.

Nếu bạn hoàn nguyên các thay đổi bằng phương thức thanh toán, bạn vẫn sẽ cần phải thực hiện lại các thay đổi đó, giống như khi bạn thay đổi tệp theo cách thủ công để đảm bảo rằng cam kết gần đây nhất của bạn phù hợp với trạng thái hiện tại của thư mục.

Với điều đó, chúng tôi đã hoàn tất và bạn có thể theo dõi thành công các thay đổi đối với thư mục / etc của mình bằng Etckeeper.

Cảm ơn bạn đã đánh giá
0 Sao 0 Đánh giá
icon to top