การใช้ Etckeeper สำหรับการควบคุมเวอร์ชันของ / etc

บทนำ

/etc/ไดเรกทอรีมีบทบาทสำคัญในวิธีการทำงานของระบบลินุกซ์ /etc/เหตุผลนี้เป็นเพราะการตั้งค่าไฟล์เกือบทุกระบบตั้งอยู่ภายใน ข้อมูลที่เก็บไว้/etc/ไม่เพียง แต่เกี่ยวข้องกับไลบรารีระบบในตัวเท่านั้น แต่สำหรับซอฟต์แวร์ที่เพิ่งติดตั้งใหม่และการกำหนดค่าด้วย /etc/ระบบซอฟแวร์และการติดตั้งอัพเกรดและเปลี่ยนแปลงการตั้งค่าทั้งหมดที่เก็บไว้ใน ดังนั้นจึงเป็นการดีที่จะใช้การควบคุมเวอร์ชันเมื่อจัดการ/etc/เพื่อหลีกเลี่ยงข้อผิดพลาดที่อาจเกิดขึ้นจากการทำงานที่ไม่คาดฝันหรือไม่ตั้งใจ

ด้วย Etckeeper คุณสามารถจัดการ/etc/กับกลไกการควบคุมเวอร์ชันได้อย่างง่ายดายโดยใช้ที่เก็บ Git, Mercurial, Bazaar หรือ Darcs โดยค่าเริ่มต้น Etckeeper ใช้ git เพื่อรักษา/etc/ไดเรกทอรีที่เก็บเวอร์ชันของรายวันที่ granularity รายวันเพื่อลดการสูญเสียข้อมูลที่อาจเกิดขึ้น นอกจากนี้ยังช่วยให้คุณสามารถกำหนดการเปลี่ยนแปลงด้วยตนเองได้ตลอดเวลา

ในบทความนี้เรามาดูวิธีการติดตั้ง Etckeeper บนอินสแตนซ์ของเซิร์ฟเวอร์ CentOS 6 รวมถึงวิธีทำการยอมรับและเลิกทำการเปลี่ยนแปลงด้วยตนเอง

ข้อกำหนดเบื้องต้น

คำแนะนำในบทความนี้ได้รับการตรวจสอบความถูกต้องบนอินสแตนซ์ Vultr CentOS 6 ด้วยสแต็ก LEMP คำแนะนำสำหรับการแจกแจงแบบอื่นอาจแตกต่างกัน

หมายเหตุ: เป็นการรักษาความปลอดภัยที่ดีในการเข้าถึงระบบของคุณในฐานะผู้ใช้ที่ไม่ใช่รูทด้วยสิทธิ์ sudo

ขั้นตอนที่ 1: ติดตั้ง Etckeeper

Etckeeper นั้นรวมอยู่ใน repo ของ EPEL Yum คุณต้องตั้งค่า repo EPEL Yum ก่อนจึงจะสามารถติดตั้ง Etckeeper:

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

การติดตั้ง Etckeeper ที่ประสบความสำเร็จจะติดตั้ง git และการพึ่งพาอื่น ๆ โดยอัตโนมัติ

คุณสามารถปรับแต่งการตั้งค่า Etckeeper /etc/etckeeper/etckeeper.confโดยการแก้ไขไฟล์การกำหนดค่าอยู่ที่ อย่างไรก็ตามการกำหนดค่าเริ่มต้นนั้นเพียงพอแล้วและเราจะใช้มันเพื่อจุดประสงค์ของบทช่วยสอนนี้

ขั้นตอนที่ 2: กำหนดค่า / etc เป็นไดเรกทอรีการทำงานคอมไพล์ของ Etckeeper

คุณสามารถทำให้ Etckeeper ถือ/etc/เป็นไดเร็คทอรี่สำหรับใช้งานคอมไพล์โดยใช้คำสั่งต่อไปนี้:

cd /etc
sudo etckeeper init

"การ init" ย่อยคำสั่งดังกล่าวจะสร้างไฟล์ชื่อ.gitignoreและไดเรกทอรีชื่อใน.git/etc/

รายการ.gitignoreประกอบด้วยไฟล์ที่กำหนดไว้ล่วงหน้าและไม่จำเป็นต้องมีการจัดการด้วยการควบคุมเวอร์ชัน ถ้าจำเป็นคุณสามารถเพิ่มหรือลบไฟล์ชื่อในนั้นตามที่คุณต้องการก็อย่าลืมใส่ชื่อไฟล์ต่อหนึ่งบรรทัดระหว่างเส้นและเส้น# begin section managed by etckeeper...# end section managed by etckeeper

.gitไดเรกทอรีเป็นสถานที่ในการจัดเก็บที่เก็บรุ่นของ/etc/ไดเรกทอรี

ขั้นตอนที่ 3: ดำเนินการเริ่มต้น

ก่อนที่จะส่งข้อมูลครั้งแรกคุณสามารถดูได้ว่าจะทำอะไร:

sudo etckeeper vcs status | more

vcsคำสั่งย่อยของ Etckeeper จะเรียกซอฟต์แวร์ควบคุมรุ่น (ซึ่งเป็นคอมไพล์) เพื่อดำเนินการย่อยคำสั่งต่อไปนี้ใน/etc/ไดเรกทอรี ดังนั้นคำสั่งดังกล่าวเท่ากับ:

sudo git -C /etc status | more

กดspace barเพื่อเปิดหน้า หากคุณพบไฟล์ใด ๆ ที่ไม่ควรควบคุมเวอร์ชันให้เพิ่มเข้าไปใน.gitignoreไฟล์

ตอนนี้คุณสามารถคอมมิทเนื้อหาทั้งหมดในไดเร็กทอรี / etc (ยกเว้นไฟล์ที่กำหนดไว้.gitignore) ลงในที่เก็บ git ของคุณ อย่าลืมเขียนความเห็นที่มีความหมายระหว่างเครื่องหมายคำพูดสองคำเพื่อตรวจสอบ

sudo etckeeper commit "Initial config in /etc"

ที่นี่คุณสามารถบีบอัดไดเรกทอรี git เพื่อประหยัดพื้นที่ดิสก์:

sudo etckeeper vcs gc

ขั้นตอนที่ 4: ดำเนินการกระทำอื่นหลังจากทำการเปลี่ยนแปลงใน / etc

เมื่อรวมกับ git แล้ว Etckeeper สามารถบันทึกการเปลี่ยนแปลงใด ๆ ที่เกิดขึ้นใน/etc/ไดเรกทอรีเช่นการเพิ่มการแก้ไขหรือการลบไฟล์รวมถึงการเป็นเจ้าของและ / หรือการเปลี่ยนแปลงสิทธิ์สำหรับไฟล์และไดเรกทอรี ทุกอย่างภายใต้/etc/ตกอยู่ภายใต้นโยบายการควบคุมเวอร์ชัน

โปรดทราบว่าการมี/etc/ภายใต้การควบคุมเวอร์ชันไม่ได้หมายความว่าคุณสามารถดำเนินการใด ๆ ได้ maloperations ที่รุนแรงสามารถทำให้ระบบใช้งานไม่ได้ก่อน Etckeeper สามารถเรียกคืนการกำหนดค่ากลับสู่สถานะการทำงาน

สำหรับจุดประสงค์ในการทดสอบคุณควรทำการเปลี่ยนแปลงอย่างปลอดภัย/etc/เช่นเพิ่มไฟล์ใหม่แก้ไขชื่อโฮสต์/etc/hostsหรือติดตั้งซอฟต์แวร์ใหม่โดยใช้ Yum

ตัวอย่างเช่นเพิ่มไฟล์abcdeใน/etc/:

sudo touch /etc/abcde

จากนั้นเพิ่มบรรทัด192.168.0.2 desktopใน/etc/hostsไฟล์:

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

ในที่สุดคุณสามารถดำเนินการคำสั่งย่อย "ยอมรับ" อีกครั้ง:

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

ขั้นตอนที่ 5: ยกเลิกการเปลี่ยนแปลงของคุณ

ประการแรกคุณสามารถตรวจสอบประวัติคอมไพล์เพื่อรับรหัสกระทำและความคิดเห็นของแต่ละคน:

sudo etckeeper vcs log

ประการที่สองคุณสามารถตรวจสอบรายละเอียดของการกระทำใด ๆ ที่มีหลายบิตแรกของรหัสการกระทำของตน ที่นี่เราคิดว่ารหัสแรกที่กระทำการเป็น7f5bffที่สองกระทำ ID 1aa658เป็น

sudo etckeeper vcs show 1aa658

คุณสามารถกดjเพื่อเลื่อนลง, กดkเพื่อเลื่อนขึ้น, ป้อน/keyword<Enter>เพื่อค้นหา, กดqเพื่อออก

ประการที่สามคุณสามารถเปรียบเทียบความแตกต่างระห���่างสองคอมมิตกับคำสั่งต่อไปนี้ ระวังลำดับของการผูกมัดสองครั้งลำดับที่เป็นธรรมชาติคือการวางลำดับก่อนหน้าก่อน

sudo etckeeper vcs diff 7f5bff..1aa658

ตอนนี้คุณพบว่าคุณกำหนดค่าชื่อโฮสต์ผิด/etc/hostsระหว่างการส่งมอบครั้งแรกและครั้งที่สอง แต่การเพิ่มไฟล์/etc/abcdeเป็นการดำเนินการที่ถูกต้องคุณสามารถยกเลิกการเปลี่ยนแปลงของคุณได้ใน/etc/hostsไฟล์เดียวด้วยคำสั่งต่อไปนี้:

sudo etckeeper vcs checkout 7f5bff /etc/hosts

หากคุณต้องการเพิกถอนการเปลี่ยนแปลงทั้งหมดระหว่างการคอมมิทครั้งแรกกับการคอมมิทครั้งที่สองคุณสามารถใช้คำสั่งต่อไปนี้:

sudo etckeeper vcs checkout 7f5bff

แน่นอนคุณยังคงสามารถกลับไปสู่การคอมมิทที่สอง:

sudo etckeeper vcs checkout 1aa658

ข้อสรุป

เมื่อกำหนด Etckeeper อย่างเหมาะสมคุณสามารถปรับแต่งและบำรุงรักษาระบบของคุณได้อย่างมั่นใจมากขึ้น อย่างไรก็ตามโปรดทราบว่าการควบคุมเวอร์ชันแตกต่างจากการสำรองข้อมูลและ/etc/ไดเรกทอรีไม่ใช่ที่เดียวที่ควรคำนึงถึง เพื่อให้ระบบของคุณมีรูปร่างคุณต้องสำรองข้อมูลระบบของคุณเป็นประจำนอกเหนือจากกลไกการควบคุมเวอร์ชัน

ฝากความเห็น

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7 LAMP VPS

เรียนรู้วิธีการติดตั้ง Directus 6.4 CMS บน CentOS 7; ระบบการจัดการเนื้อหา Headless ที่มีความยืดหยุ่นสูงและปลอดภัย

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

ตั้งค่า Nginx บน Ubuntu เพื่อสตรีมวิดีโอสด HLS

เรียนรู้วิธีการตั้งค่า Nginx บน Ubuntu สำหรับการสตรีมวิดีโอสด HLS ด้วยคำแนะนำที่ชัดเจนและเป็นประโยชน์

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

การสำรองข้อมูลยอดนิยมด้วย Percona XtraBackup บนแอพ WordPress แบบคลิกเดียว

เรียนรู้การใช้ Percona XtraBackup สำหรับการสำรองข้อมูลด้วยวิธีที่เป็นระบบและง่ายดายบน WordPress ออนไลน์ของคุณ

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS: นี่คืออนาคตของ Windows หรือไม่?

ReactOS ซึ่งเป็นโอเพ่นซอร์สและระบบปฏิบัติการฟรีพร้อมเวอร์ชันล่าสุดแล้ว สามารถตอบสนองความต้องการของผู้ใช้ Windows ยุคใหม่และล้ม Microsoft ได้หรือไม่? มาหาข้อมูลเพิ่มเติมเกี่ยวกับรูปแบบเก่านี้ แต่เป็นประสบการณ์ OS ที่ใหม่กว่ากัน

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

AI สามารถต่อสู้กับการโจมตีของแรนซัมแวร์ที่เพิ่มขึ้นได้หรือไม่

การโจมตีของ Ransomware กำลังเพิ่มขึ้น แต่ AI สามารถช่วยจัดการกับไวรัสคอมพิวเตอร์ตัวล่าสุดได้หรือไม่? AI คือคำตอบ? อ่านที่นี่รู้ว่า AI boone หรือ bane

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

เชื่อมต่อผ่าน WhatsApp Desktop App 24*7

ในที่สุด Whatsapp ก็เปิดตัวแอพเดสก์ท็อปสำหรับผู้ใช้ Mac และ Windows ตอนนี้คุณสามารถเข้าถึง Whatsapp จาก Windows หรือ Mac ได้อย่างง่ายดาย ใช้ได้กับ Windows 8+ และ Mac OS 10.9+

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

AI จะนำกระบวนการอัตโนมัติไปสู่อีกระดับได้อย่างไร

อ่านข้อมูลนี้เพื่อทราบว่าปัญญาประดิษฐ์กำลังได้รับความนิยมในหมู่บริษัทขนาดเล็กอย่างไร และเพิ่มโอกาสในการทำให้พวกเขาเติบโตและทำให้คู่แข่งได้เปรียบ

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

การอัปเดตเสริม macOS Catalina 10.15.4 ทำให้เกิดปัญหามากกว่าการแก้ปัญหา

เมื่อเร็ว ๆ นี้ Apple เปิดตัว macOS Catalina 10.15.4 การอัปเดตเสริมเพื่อแก้ไขปัญหา แต่ดูเหมือนว่าการอัปเดตทำให้เกิดปัญหามากขึ้นที่นำไปสู่การสร้างเครื่อง Mac อ่านบทความนี้เพื่อเรียนรู้เพิ่มเติม

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

13 เครื่องมือดึงข้อมูลเชิงพาณิชย์ของ Big Data

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

ระบบไฟล์บันทึกคืออะไรและทำงานอย่างไร

คอมพิวเตอร์ของเราจัดเก็บข้อมูลทั้งหมดในลักษณะที่เรียกว่าระบบไฟล์บันทึก เป็นวิธีการที่มีประสิทธิภาพที่ช่วยให้คอมพิวเตอร์สามารถค้นหาและแสดงไฟล์ได้ทันทีที่คุณกดค้นหาhttps://wethegeek.com/?p=94116&preview=true