Sử dụng Etckeeper để kiểm soát phiên bản / etc

Giới thiệu

Thư mục /etc/đóng một vai trò quan trọng trong cách thức hoạt động của hệ thống Linux. Lý do cho điều này là bởi vì gần như mọi tập tin cấu hình hệ thống được đặt bên trong /etc/. Dữ liệu được lưu trữ /etc/không chỉ liên quan đến các thư viện hệ thống tích hợp mà còn cho phần mềm mới được cài đặt và cả cấu hình của nó. Cài đặt hệ thống và phần mềm, nâng cấp và thay đổi cấu hình đều được lưu trữ trong /etc/. Vì vậy, nó có phải là một thực tiễn tốt để sử dụng kiểm soát phiên bản khi quản lý /etc/để tránh các lỗi tiềm ẩn gây ra bởi các hoạt động không lường trước hoặc vô tình.

Với Etckeeper, bạn có thể dễ dàng quản lý /etc/với cơ chế kiểm soát phiên bản của mình bằng cách sử dụng kho lưu trữ Git, Mercurial, Bazaar hoặc Darcs. Theo mặc định, Etckeeper sử dụng git để duy trì /etc/thư mục kho lưu trữ phiên bản ở mức chi tiết hàng ngày để giảm thiểu mất dữ liệu tiềm năng. Ngoài ra, nó cho phép bạn thực hiện các thay đổi của mình theo cách thủ công bất cứ lúc nào.

Trong bài viết này, chúng ta hãy xem cách cài đặt Etckeeper trên phiên bản máy chủ CentOS 6, cũng như cách thực hiện thủ công một cam kết và hoàn tác các thay đổi.

Điều kiện tiên quyết

Các hướng dẫn trong bài viết này đã được xác thực trên phiên bản Vultr CentOS 6 với ngăn xếp LEMP. Hướng dẫn cho các bản phân phối khác có thể khác nhau.

Lưu ý: đó là một thực tiễn bảo mật tốt để truy cập hệ thống của bạn với tư cách là người dùng không root với các đặc quyền sudo.

Bước 1: Cài đặt Etckeeper

Etckeeper được bao gồm trong repo EPEL Yum. Bạn cần thiết lập repo EPEL Yum trước khi có thể cài đặt Etckeeper:

sudo yum install epel-release
sudo yum update
sudo yum install etckeeper

Cài đặt thành công Etckeeper sẽ tự động cài đặt git và các phụ thuộc khác.

Bạn có thể tùy chỉnh cấu hình của Etckeeper bằng cách chỉnh sửa tệp cấu hình tại /etc/etckeeper/etckeeper.conf. Tuy nhiên, cấu hình mặc định là đầy đủ và chúng tôi sẽ sử dụng nó cho mục đích của hướng dẫn này.

Bước 2: Cấu hình / etc làm thư mục git của Etckeeper

Bạn có thể làm cho Etckeeper coi /etc/là thư mục làm việc của git bằng cách thực hiện các lệnh sau:

cd /etc
sudo etckeeper init

Các "init" sub-lệnh trên sẽ tạo ra một file có tên .gitignorevà thư mục có tên .gittrong /etc/.

.gitignorechứa một danh sách các tập tin được xác định trước và không yêu cầu quản lý với kiểm soát phiên bản. Nếu cần, bạn có thể thêm hoặc xóa tên tệp trong đó nếu muốn, chỉ cần nhớ đặt một tên tệp trên mỗi dòng giữa dòng # begin section managed by etckeeper...và dòng # end section managed by etckeeper.

Thư mục .gitlà nơi lưu trữ kho phiên bản của /etc/thư mục.

Bước 3: Thực hiện cam kết ban đầu

Trước khi cam kết ban đầu, bạn có thể xem những gì sẽ được cam kết:

sudo etckeeper vcs status | more

Lệnh vcsphụ của Etckeeper sẽ gọi phần mềm kiểm soát phiên bản (là git) để thực hiện lệnh phụ sau trong /etc/thư mục. Vì vậy, lệnh trên bằng với:

sudo git -C /etc status | more

Nhấn space barđể chuyển một trang. Nếu bạn tìm thấy bất kỳ tệp nào không được kiểm soát phiên bản, hãy thêm chúng vào .gitignoretệp.

Bây giờ, bạn có thể cam kết tất cả các nội dung trong thư mục / etc (ngoại trừ các tệp được xác định trong .gitignore) vào kho git của bạn. Hãy nhớ viết một số ý kiến ​​có ý nghĩa giữa hai dấu ngoặc kép để xem xét.

sudo etckeeper commit "Initial config in /etc"

Tại đây, bạn có thể nén thư mục git để tiết kiệm dung lượng đĩa:

sudo etckeeper vcs gc

Bước 4: Thực hiện một cam kết khác sau khi thực hiện thay đổi trong / etc

Kết hợp với git, Etckeeper có thể ghi lại bất kỳ thay đổi nào xảy ra trong /etc/thư mục, chẳng hạn như thêm, sửa đổi hoặc xóa các tệp, cũng như thay đổi quyền sở hữu và / hoặc quyền đối với các tệp và thư mục. Tất cả mọi thứ thuộc /etc/chính sách kiểm soát phiên bản của nó.

Xin lưu ý rằng việc /etc/kiểm soát phiên bản không có nghĩa là bạn có thể thực hiện bất kỳ thao tác nào trên nó. Các hoạt động sai nghiêm trọng có thể khiến hệ thống không thể hoạt động trước khi Etckeeper có thể khôi phục cấu hình về trạng thái hoạt động.

Đối với mục đích thử nghiệm, bạn chỉ nên thực hiện các thay đổi an toàn /etc/, chẳng hạn như thêm tệp mới, sửa đổi tên máy chủ /etc/hostshoặc cài đặt phần mềm mới bằng Yum.

Ví dụ: thêm tệp abcdevào /etc/:

sudo touch /etc/abcde

Sau đó, thêm dòng 192.168.0.2 desktoptrong /etc/hoststệp:

echo '192.168.0.2 desktop' | sudo tee -a /etc/hosts

Cuối cùng, bạn có thể thực hiện lại lệnh phụ "commit":

sudo etckeeper commit "add a file /etc/abcde and add a line to /etc/hosts"

Bước 5: Thu hồi các thay đổi của bạn

Đầu tiên, bạn có thể kiểm tra lịch sử git để nhận từng id và nhận xét của cam kết:

sudo etckeeper vcs log

Thứ hai, bạn có thể kiểm tra chi tiết của bất kỳ cam kết nào với một vài bit đầu tiên của id cam kết của nó. Ở đây, chúng tôi giả sử rằng id xác nhận đầu tiên là 7f5bff, id xác nhận thứ hai là 1aa658.

sudo etckeeper vcs show 1aa658

Bạn có thể nhấn jđể di chuyển xuống, nhấn kđể di chuyển lên, nhập /keyword<Enter>để tìm kiếm, nhấn qđể thoát.

Thứ ba, bạn cũng có thể so sánh sự khác biệt giữa hai lần xác nhận với lệnh sau. Hãy nhận biết trình tự của hai cam kết, một chuỗi tự nhiên đang đặt cái trước trước cái thứ hai.

sudo etckeeper vcs diff 7f5bff..1aa658

Bây giờ, bạn thấy rằng bạn đã định cấu hình sai tên máy chủ /etc/hoststrong lần xác nhận đầu tiên và lần xác nhận thứ hai, nhưng thêm tệp /etc/abcdelà một thao tác chính xác, bạn có thể thu hồi thay đổi của mình chỉ trong /etc/hoststệp bằng lệnh sau:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

Nếu bạn muốn thu hồi tất cả các thay đổi giữa lần xác nhận đầu tiên và lần xác nhận thứ hai, bạn có thể sử dụng lệnh sau:

sudo etckeeper vcs checkout 7f5bff

Tất nhiên, bạn vẫn có thể quay lại cam kết thứ hai:

sudo etckeeper vcs checkout 1aa658

Phần kết luận

Có Etckeeper được cấu hình đúng cách, bạn có thể điều chỉnh và bảo trì hệ thống của mình một cách tự tin hơn. Tuy nhiên, hãy lưu ý rằng kiểm soát phiên bản khác với sao lưu và /etc/thư mục không phải là nơi duy nhất cần quan tâm. Để giữ cho hệ thống của bạn luôn hoạt động, bạn cũng cần sao lưu hệ thống thường xuyên bên cạnh cơ chế kiểm soát phiên bản.



Leave a Comment

Multicraft (Bảng điều khiển Minecraft) trên CentOS 6

Multicraft (Bảng điều khiển Minecraft) trên CentOS 6

Multicraft là bảng điều khiển dựa trên web đơn giản, dễ sử dụng cho các máy chủ Minecraft. Bạn có thể tạo, dừng, bắt đầu, theo dõi, định cấu hình, tải lên, tải xuống và chạy máy chủ của bạn một cách hiệu quả thông qua bảng điều khiển trực tuyến.

Hướng dẫn cấu hình Mạng tĩnh và IPv6 trên CentOS 7

Hướng dẫn cấu hình Mạng tĩnh và IPv6 trên CentOS 7

VULTR gần đây đã thực hiện các thay đổi ở phần cuối của họ và mọi thứ sẽ hoạt động tốt ngoài hộp với tính năng NetworkManager được kích hoạt. Nếu bạn muốn tắt NetworkManager, bạn có thể làm theo các bước sau.

Cài đặt Wordpress với Apache, PHP và MySQL (Tập lệnh khởi động tự động)

Cài đặt Wordpress với Apache, PHP và MySQL (Tập lệnh khởi động tự động)

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Nó sẽ cài đặt tất cả các gói cần thiết để chạy Wordpress, tạo và nhập thông tin xác thực cơ sở dữ liệu và mở các cổng tường lửa cần thiết.

Cài đặt ownCloud 7 trên CentOS 6 với Nginx w / SSL, PHP-FPM và PGQuery (Tập lệnh khởi động tự động)

Cài đặt ownCloud 7 trên CentOS 6 với Nginx w / SSL, PHP-FPM và PGQuery (Tập lệnh khởi động tự động)

Bạn có thể sao chép và dán tập lệnh bash sau vào vùng tập lệnh khởi động của Bảng điều khiển Vultr. Kịch bản khởi động này sẽ cài đặt phiên bản hiện tại

Hướng dẫn cài đặt ownCloud 6 trên CentOS 6

Hướng dẫn cài đặt ownCloud 6 trên CentOS 6

ownCloud cung cấp quyền truy cập toàn cầu vào các tệp của bạn thông qua web, máy tính hoặc thiết bị di động của bạn - mọi lúc mọi nơi. Nó cũng cung cấp một nền tảng để dễ dàng xem và đồng bộ hóa danh bạ, lịch và dấu trang của bạn trên tất cả các thiết bị của bạn và cho phép chỉnh sửa cơ bản ngay trên web.

Hướng dẫn cách sửa cấu hình mạng sau khi khôi phục ảnh chụp

Hướng dẫn cách sửa cấu hình mạng sau khi khôi phục ảnh chụp

Sau khi khôi phục ảnh chụp nhanh sang máy mới, bạn có thể gặp phải sự cố do địa chỉ MAC của bộ điều hợp mạng thay đổi. Thông thường, khi bộ điều hợp mạng thay đổi, hệ điều hành sẽ tạo ra bộ điều hợp mạng mới cho nó. Bạn thường thấy bộ điều hợp mạng trên eth1 (hoặc eth2 nếu bạn đã bật mạng riêng).

Hướng dẫn cách giám sát cổng và dịch vụ với MonitorIX trên CentOS6

Hướng dẫn cách giám sát cổng và dịch vụ với MonitorIX trên CentOS6

MonitorIX có thể được sử dụng để giám sát lưu lượng và sử dụng hệ thống để giúp chẩn đoán sự cố hoặc đơn giản là để xem hiệu suất hệ thống. Bài viết này sẽ đi qua các bước về cách cài đặt MonitorIX và định cấu hình nó để ghi nhật ký một cổng tùy chỉnh, trong trường hợp này là cổng Minecraft (25565).

Hướng dẫn kích hoạt thông báo đăng nhập SSH trên Linux

Hướng dẫn kích hoạt thông báo đăng nhập SSH trên Linux

Máy chủ Linux của bạn có được nhiều người dùng truy cập không? Nếu vậy, hãy xem xét thêm thông báo đăng nhập SSH bất cứ khi nào ai đó đăng nhập. Các ví dụ dưới đây gửi email khi ai đó đăng nhập vào máy chủ của bạn. Để làm việc này, máy chủ của bạn phải có thể gửi thư bằng maillệnh. Bạn có thể làm theo hướng dẫn này để thiết lập Exim với Gmail nếu tài khoản VULTR của bạn không được xác minh để gửi thư.

Hướng dẫn thiết lập tập tin hoán đổi trên Linux

Hướng dẫn thiết lập tập tin hoán đổi trên Linux

Sẽ có lúc bạn cần tăng khả năng phản hồi của máy chủ để tránh các vấn đề về bộ nhớ. Sự cố hết bộ nhớ xảy ra khi một ứng dụng chạy trên máy chủ của bạn bắt đầu tiêu thụ một lượng lớn bộ nhớ. Hoán đổi được thiết kế dưới dạng bộ nhớ ảo , sử dụng ổ cứng của bạn để lưu trữ dữ liệu không thể lưu trong RAM. Hướng dẫn này sẽ chỉ cho bạn cách tạo một tệp hoán đổi, hoạt động trong Ubuntu, CentOS và Debian. Hướng dẫn này không dành cho bất kỳ ISO tùy chỉnh nào, nhưng có thể làm theo.

Hướng dẫn cài đặt OpenVPN trên CentOS 7

Hướng dẫn cài đặt OpenVPN trên CentOS 7

Bài viết này sẽ chỉ cho bạn cách cài đặt và thiết lập OpenVPN trên CentOS 7 với OpenVPN Access Server. OpenVPN Access Server là một ứng dụng đầy đủ tính năng bao gồm một giao diện người dùng web để quản lý máy chủ OpenVPN.

Hướng dẫn cài đặt MariaDB trên CentOS 7

Hướng dẫn cài đặt MariaDB trên CentOS 7

MariaDB đã được biết đến là một sự thay thế mang lại những cải tiến và tối ưu hóa hiệu suất so với MySQL. Hướng dẫn này sẽ chỉ cho bạn cách cài đặt MariaDB lên CentOS 7 theo hai cách khác nhau.

Hướng dẫn đặt tên máy chủ trên CentOS

Hướng dẫn đặt tên máy chủ trên CentOS

Hướng dẫn này hướng dẫn bạn trong quá trình thay đổi tên máy chủ trên hệ thống CentOS 7. Tên máy chủ được đặt tại thời điểm hệ điều hành CentOS được cài đặt hoặc nếu bạn đang quay một máy ảo thì nó được gán động cho thể hiện khi khởi động. Các phương pháp được mô tả trong hướng dẫn này sẽ hoạt động mà không cần khởi động lại hệ thống của bạn.

Hướng dẫn cài đặt MongoDB trên CentOS 7

Hướng dẫn cài đặt MongoDB trên CentOS 7

MongoDB là một hệ quản trị cơ sở dữ liệu mã nguồn mở thuộc họ NoSQL. Nó được thiết kế theo kiểu hướng đối tượng, các bảng trong MongoDB được cấu trúc rất linh hoạt, cho phép các dữ liệu lưu trữ trên bảng không cần tuân theo một cấu trúc nhất định nào cả (điều này rất thích hợp để làm big data). MongoDB lưu trữ dữ liệu theo hướng tài liệu (document), các dữ liệu được lưu trữ trong document kiểu JSON nên truy vấn sẽ rất nhanh. Hôm nay qua bài viết này các bạn sẽ biết cách cài đặt dịch vụ MongoDB 3.4 trên CentOS 7.

Hướng dẫn cài đặt ImageMagick trên CentOS 6

Hướng dẫn cài đặt ImageMagick trên CentOS 6

ImageMagick® là bộ phần mềm để tạo, chỉnh sửa, soạn hoặc chuyển đổi hình ảnh bitmap. Nó có thể đọc và viết hình ảnh ở nhiều định dạng (hơn 100) bao gồm DPX, EXR, GIF, JPEG, JPEG-2000, PDF, PNG, Postcript, SVG và TIFF. Sử dụng ImageMagick để thay đổi kích thước, lật, phản chiếu, xoay, làm biến dạng, cắt và biến đổi hình ảnh, điều chỉnh màu sắc hình ảnh, áp dụng các hiệu ứng đặc biệt khác nhau hoặc vẽ văn bản, đường thẳng, đa giác, hình elip và đường cong Bézier.

Hướng dẫn cài đặt PostgreSQL trên CentOS 7

Hướng dẫn cài đặt PostgreSQL trên CentOS 7

PostgreSQL là Hệ thống quản lý cơ sở dữ liệu quan hệ mã nguồn mở (RDBMS) tiên tiến nhất thế giới. Nó tuân thủ các tiêu chuẩn ANSI SQL: 2008 và có hầu hết các loại dữ liệu được xác định trong thông số kỹ thuật của nó, bao gồm INTEGER, NUMERIC, BOOLESE, CHAR, VARCHAR, DATE, INTERVAL và TIMESTAMP.

Hướng dẫn cài đặt MailCatcher trên CentOS 7

Hướng dẫn cài đặt MailCatcher trên CentOS 7

MailCatcher là một công cụ cung cấp một cách dễ dàng cho các nhà phát triển kiểm tra các email mà ứng dụng của họ gửi đi mà không phải chờ nhà cung cấp email. Nó bắt tất cả các email mà nó nhận được và lưu trữ chúng để hiển thị. Cả HTML và tin nhắn văn bản đơn giản đều được hỗ trợ.

Thiết lập mạng riêng của bạn với OpenVPN

Thiết lập mạng riêng của bạn với OpenVPN

Vultr cung cấp cho bạn kết nối mạng riêng tuyệt vời cho các máy chủ đang chạy ở cùng một vị trí. Nhưng đôi khi bạn muốn hai máy chủ ở các quốc gia / trung tâm dữ liệu khác nhau có thể giao tiếp một cách riêng tư và an toàn. Hướng dẫn này sẽ chỉ cho bạn cách đạt được điều đó với sự trợ giúp của OpenVPN. Các hệ điều hành được sử dụng ở đây là Debian và CentOS, chỉ để hiển thị cho bạn hai cấu hình khác nhau. Điều này có thể dễ dàng điều chỉnh cho Debian -> Debian, Ubuntu -> FreeBSD, v.v.

Công cụ giám sát tốt hơn cho Ubuntu và CentOS

Công cụ giám sát tốt hơn cho Ubuntu và CentOS

Các hệ thống Linux tàu với các công cụ giám sát theo mặc định như top, dfvà durằng các quá trình giúp đỡ màn hình và không gian đĩa. Thông thường, mặc dù, chúng không thân thiện với người dùng / hình ảnh. Chúng tôi sẽ thành lập ba phiên bản thân thiện hơn trong những công cụ đề cập ở trên ( htop, ncdu, pydf) để giúp đỡ tốt hơn theo dõi các trường hợp VM của chúng tôi.

Máy chủ thư đơn giản với Postfix, Dovecot và sàng trên CentOS 7

Máy chủ thư đơn giản với Postfix, Dovecot và sàng trên CentOS 7

Hướng dẫn này sẽ chỉ cho bạn cách tải một máy chủ thư đơn giản trên CentOS 7, với Postfix là MTA, Dovecot là MDA và Sàng để sắp xếp thư - tất cả đều qua kết nối được mã hóa để bảo mật được cải thiện.

Hướng dẫn thiết lập cụm RethinkDB trên CentOS 7

Hướng dẫn thiết lập cụm RethinkDB trên CentOS 7

RethinkDB là một cơ sở dữ liệu NoQuery lưu trữ dữ liệu dưới dạng tài liệu JSON. Nó có một ngôn ngữ truy vấn siêu trực quan và có các tính năng thường có sẵn trong RDBMS truyền thống như tham gia bảng và nhóm theo . Hướng dẫn này sẽ giải thích cách thiết lập cụm RethinkDB bằng cách sử dụng 3 máy chủ VPS Vultr chạy CentOS 7.

ReactOS: Đây có phải là tương lai của Windows?

ReactOS: Đây có phải là tương lai của Windows?

ReactOS, một hệ điều hành mã nguồn mở và miễn phí đã có phiên bản mới nhất. Liệu nó có thể đáp ứng đủ nhu cầu của người dùng Windows hiện đại và hạ gục Microsoft? Hãy cùng tìm hiểu thêm về trải nghiệm hệ điều hành kiểu cũ nhưng mới hơn này.

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Liệu AI có thể chiến đấu với số lượng các cuộc tấn công bằng Ransomware ngày càng tăng

Các cuộc tấn công ransomware đang gia tăng, nhưng liệu AI có thể giúp đối phó với loại virus máy tính mới nhất? AI có phải là câu trả lời? Đọc ở đây biết là AI boone hay cấm

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Luôn kết nối thông qua Ứng dụng WhatsApp Desktop 24 * 7

Whatsapp cuối cùng đã ra mắt ứng dụng Máy tính để bàn cho người dùng Mac và Windows. Giờ đây, bạn có thể truy cập Whatsapp từ Windows hoặc Mac một cách dễ dàng. Có sẵn cho Windows 8+ và Mac OS 10.9+

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Làm thế nào AI có thể đưa quá trình tự động hóa lên cấp độ tiếp theo?

Hãy đọc phần này để biết Trí tuệ nhân tạo đang trở nên phổ biến như thế nào đối với các công ty quy mô nhỏ và làm thế nào nó đang tăng khả năng khiến họ phát triển và giúp đối thủ cạnh tranh của họ có thể cạnh tranh.

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Bản cập nhật bổ sung macOS Catalina 10.15.4 đang gây ra nhiều vấn đề hơn là giải quyết

Gần đây Apple đã phát hành macOS Catalina 10.15.4 một bản cập nhật bổ sung để khắc phục các sự cố nhưng có vẻ như bản cập nhật đang gây ra nhiều vấn đề hơn dẫn đến việc máy mac bị chai. Đọc bài viết này để tìm hiểu thêm

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

13 Công cụ trích xuất dữ liệu thương mại của Dữ liệu lớn

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Hệ thống tệp nhật ký là gì và nó hoạt động như thế nào?

Máy tính của chúng tôi lưu trữ tất cả dữ liệu một cách có tổ chức được gọi là hệ thống tệp Ghi nhật ký. Đây là một phương pháp hiệu quả cho phép máy tính tìm kiếm và hiển thị các tệp ngay khi bạn nhấn tìm kiếm. Https://wethegeek.com/? P = 94116 & preview = true

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Điểm kỳ dị về công nghệ: Tương lai xa của nền văn minh nhân loại?

Khi Khoa học phát triển với tốc độ nhanh chóng, chiếm rất nhiều nỗ lực của chúng ta, những rủi ro của việc phục tùng bản thân trước một Điểm kỳ dị không thể giải thích cũng tăng lên. Hãy đọc, điểm kỳ dị có thể có ý nghĩa gì đối với chúng ta.

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Hiểu rõ hơn về 26 kỹ thuật phân tích dữ liệu lớn: Phần 1

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

Tác động của trí tuệ nhân tạo trong chăm sóc sức khỏe 2021

AI trong lĩnh vực chăm sóc sức khỏe đã có những bước tiến nhảy vọt so với những thập kỷ trước. Vì vậy, tương lai của AI trong Chăm sóc sức khỏe vẫn đang phát triển từng ngày.