การใช้ 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/ไดเรกทอรีไม่ใช่ที่เดียวที่ควรคำนึงถึง เพื่อให้ระบบของคุณมีรูปร่างคุณต้องสำรองข้อมูลระบบของคุณเป็นประจำนอกเหนือจากกลไกการควบคุมเวอร์ชัน



Leave a Comment

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

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

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

การติดตั้ง Pagekit CMS บน CentOS 7

การติดตั้ง Pagekit CMS บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Pagekit เป็น CMS โอเพนซอร์สที่เขียนด้วย PHP ซอร์สโค้ดของ Pagekit นั้นโฮสต์บน GitHub คำแนะนำนี้จะแสดงให้คุณเห็นว่า

วิธีการติดตั้ง TestLink บน CentOS 7

วิธีการติดตั้ง TestLink บน CentOS 7

TestLink เป็นระบบดำเนินการจัดการทดสอบบนเว็บโอเพ่นซอร์ส ช่วยให้ทีมงานประกันคุณภาพสามารถสร้างและจัดการกรณีทดสอบได้เช่นกัน

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

วิธีการที่ปลอดภัย vsFTPd ด้วย SSL / TLS

FTP ที่ปลอดภัยมากหรือเพียงแค่ vsFTPd เป็นซอฟต์แวร์น้ำหนักเบาที่มีความสามารถในการปรับแต่ง ในบทช่วยสอนนี้เราจะรักษาความปลอดภัยของข้อความ

วิธีการติดตั้ง GCC บน CentOS 6

วิธีการติดตั้ง GCC บน CentOS 6

CentOS ติดตามการพัฒนา Red Hat Enterprise Linux (RHEL) RHEL พยายามที่จะเป็นแพลตฟอร์มเซิร์ฟเวอร์ที่มั่นคงซึ่งหมายความว่าจะไม่รีบเร่งในการรวม

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ตั้งค่าบัญชีผู้ใช้ SFTP เท่านั้นบน CentOS 7

ในบางโอกาสผู้ดูแลระบบอาจต้องสร้างบัญชีผู้ใช้และ จำกัด การเข้าถึงเพื่อจัดการไฟล์ของตัวเองผ่าน sFTP เท่านั้น

วิธีการติดตั้ง Moodle บน CentOS 7

วิธีการติดตั้ง Moodle บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Moodle เป็นแพลตฟอร์มการเรียนรู้โอเพนซอร์ซหรือระบบจัดการหลักสูตร (CMS) - ชุดซอฟต์แวร์โอเพ่นซอร์สฟรีที่ออกแบบมาเพื่อช่วย

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ติดตั้ง NGINX พร้อม ModSecurity บน CentOS 6

ในบทความนี้ฉันจะอธิบายวิธีสร้าง LEMP สแต็คที่ได้รับการป้องกันโดย ModSecurity ModSecurity เป็นไฟร์วอลล์เว็บแอพพลิเคชันแบบโอเพนซอร์สที่มีประโยชน์

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

วิธีการติดตั้ง Apache, MySQL และ PHP บน CentOS 6

Introduction LAMP เป็นคำย่อที่ย่อมาจาก Linux, Apache, MySQL และ PHP ซอฟต์แวร์นี้เป็นโซลูชันโอเพ่นซอร์สที่ได้รับความนิยมสูงสุดสำหรับการติดตั้ง o

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

การปรับเปลี่ยน Icinga2 ให้ใช้โมเดลต้นแบบ / ไคลเอ็นต์บน CentOS 6 หรือ CentOS 7

Icinga2 เป็นระบบการตรวจสอบที่มีประสิทธิภาพและเมื่อใช้ในโมเดลลูกค้าหลักจะสามารถแทนที่ความต้องการการตรวจสอบที่อิง NRPE ปรมาจารย์

การติดตั้ง Netdata บน CentOS 7

การติดตั้ง Netdata บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Netdata เป็นดาวรุ่งพุ่งแรงในด้านการติดตามการวัดในระบบแบบเรียลไทม์ เมื่อเปรียบเทียบกับเครื่องมือชนิดเดียวกัน Netdata:

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

วิธีการติดตั้งและกำหนดค่า Buildbot บน CentOS 7

Buildbot เป็นโอเพ่นซอร์สเครื่องมือที่ใช้การรวมอย่างต่อเนื่องของ Python สำหรับการสร้างซอฟต์แวร์การทดสอบและการปรับใช้โดยอัตโนมัติ Buildbot ประกอบด้วยหนึ่งหรือหมอ

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ติดตั้งเซิร์ฟเวอร์มัลติเพลเยอร์ SA-MP San Andreas บน CentOS 6

ยินดีต้อนรับสู่การกวดวิชา Vultr อื่น ที่นี่คุณจะได้เรียนรู้วิธีการติดตั้งและเรียกใช้เซิร์ฟเวอร์ SAMP คู่มือนี้เขียนขึ้นสำหรับ CentOS 6 ข้อกำหนดเบื้องต้นคุณจะต้อง

ติดตั้ง dotProject บน CentOS 7

ติดตั้ง dotProject บน CentOS 7

แอปพลิเคชั่น dotProject เป็นเครื่องมือการจัดการโครงการแบบโอเพ่นซอร์สบนเว็บ สำหรับตอนนี้มันวางจำหน่ายภายใต้ GPL ดังนั้นคุณสามารถปรับใช้และใช้งานได้บนบริการของคุณ

ติดตั้ง TaskServer (taskd) บน CentOS 7

ติดตั้ง TaskServer (taskd) บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร TaskWarrior เป็นเครื่องมือจัดการเวลาแบบโอเพ่นซอร์สที่เป็นการปรับปรุงแอพพลิเคชั่น Todo.txt และโคลนของมัน เนื่องมาจาก

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

วิธีการติดตั้ง Selfoss RSS Reader บน CentOS 7 LAMP VPS

ใช้ระบบที่แตกต่างกันอย่างไร Selfoss RSS Reader เป็นฟรีและเปิดตัวเองบนเว็บโฮสต์อเนกประสงค์, สตรีมสด, ตอบโต้กับผู้ใช้ได้, ฟีดข่าว (RSS / Atom) reade

วิธีการติดตั้ง Kanboard บน CentOS 7

วิธีการติดตั้ง Kanboard บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร Kanboard เป็นซอฟต์แวร์ซอฟต์แวร์การจัดการโครงการโอเพ่นซอร์สฟรีที่ออกแบบมาเพื่ออำนวยความสะดวกและมองเห็นภาพการทำงานเป็นทีม

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

การตั้งค่าเซิร์ฟเวอร์ Half Life 2 บน CentOS 6

บทช่วยสอนนี้จะกล่าวถึงกระบวนการติดตั้งเซิร์ฟเวอร์เกม Half Life 2 บนระบบ CentOS 6 ขั้นตอนที่ 1: การติดตั้งข้อกำหนดเบื้องต้นเพื่อตั้งค่า ou

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

ไดรฟ์ที่แชร์ความพร้อมใช้งานสูงใช้ Vultr Block Storage และ GlusterFS

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

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

วิธีโยกย้ายกล่องจดหมายอย่างง่ายดายด้วย Imapsync บน CentOS 7

ใช้ระบบที่แตกต่างกันอย่างไร ในขณะที่การโยกย้ายเว็บไซต์มักจะไม่มีปัญหาบางครั้งก็ยากที่จะโยกย้ายกล่องอีเมล นี่คือ CAS โดยเฉพาะอย่างยิ่ง

วิธีการติดตั้ง 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