ทำให้ไฟล์กำหนดค่าซิงค์กับพีซีหลาย ๆ เครื่อง


15

ฉันมีไม่กี่เครื่องที่แตกต่างกันและลินุกซ์จำนวนมากของการตั้งค่าไฟล์(และโฟลเดอร์)ในแต่ละ

ตัวอย่างเช่น:

~/.ssh/config
~/.config/openbox/rc.xml
~/.config/openbox/autostart.sh
~/.scripts/ ( folder )
~/.bashrc
...etc

มีวิธีการที่ง่ายและสวยงามในการซิงค์ไฟล์เหล่านี้ระหว่างเครื่องของฉันหรือไม่(ไม่มีการเชื่อมต่ออินเทอร์เน็ต) ?

นอกจากนี้บางไฟล์จะต้องใช้กระบวนการซิงค์ขั้นสูงเพิ่มเติมเนื่องจากจะต้องแตกต่างกันเล็กน้อย ... ตัวอย่างเช่น:

แป้นพิมพ์เดสก์ท็อปของฉันมีฮ็อตคีย์ที่หลากหลายซึ่งแล็ปท็อปของฉันแทบไม่มีเลย ฉันใช้XF86Mailเปิดธันเดอร์เบิร์ดบนเดสก์ท็อป แต่Meta+ Mบนแล็ปท็อปของฉัน

หน้าแรกเดสก์ท็อปและเดสก์ท็อปการทำงานของฉันมีทั้งแนว "ผู้ใช้หลายคน" ซึ่งแล็ปท็อปของฉันเหมาะสำหรับฉัน ดังนั้นในแล็ปท็อปของฉันฉันมักจะเก็บไฟล์ 'rc.xml' ไว้สำหรับ openbox ที่/etc/xdg/openbox/rc.xmlแต่บนเดสก์ท็อปที่~/.config/openbox/rc.xml

คำตอบ:


10

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

ฉันใช้ CVS และซิงโครไนซ์ที่เก็บข้อมูลกับ Unison หรือ sneakernet แต่นั่นเป็นเพราะฉันทำสิ่งนี้มาหลายครั้งก่อนที่จะมีการควบคุมเวอร์ชันแบบกระจายที่มีอยู่อย่างกว้างขวาง ทุกคนที่เริ่มต้นตอนนี้ควรใช้เครื่องมือการควบคุมเวอร์ชันที่เหมาะสมเช่นบาซ่าร์ดาร์คคอมไพล์ Mercurial ...

การจัดการไฟล์ที่ต้องแตกต่างกันระหว่างเครื่องต่าง ๆ เป็นเรื่องที่เจ็บปวดเสมอ หากภาษาการกำหนดค่าอนุญาตเงื่อนไขให้ใช้พวกเขา มิฉะนั้นหากมีกลไกการรวมให้ใช้เพื่อแยกไฟล์การกำหนดค่าเป็นส่วนที่ขึ้นกับเครื่องและส่วนที่ใช้ร่วมกัน เก็บชิ้นส่วนที่ขึ้นกับเครื่องทั้งหมดไว้ในไดเรกทอรีแยกต่างหาก (คล้าย~/.local/NAME/) ซึ่งจะถูกอ้างถึงเสมอผ่านลิงก์สัญลักษณ์ ( ~/.here-> local/NAMEในแต่ละเครื่อง) ฉันมีไฟล์ไม่กี่ไฟล์ที่สร้างขึ้นโดยสคริปต์ในส่วนที่ใช้ร่วมกันจากพารามิเตอร์ที่เก็บไว้ในส่วนเฉพาะของเครื่อง ข้อ จำกัด นี้แก้ไขไฟล์เหล่านี้ทางอ้อมผ่านอินเตอร์เฟสการกำหนดค่า GUI หลีกเลี่ยงการกำหนดค่าสิ่งต่าง ๆ ใน/etcมันเป็นเรื่องยากที่จะประสานระหว่างเครื่อง


ฉันใช้gitเพื่อจุดประสงค์นี้ repo ของฉันสำหรับ~/.etcฉันยังมี~/.usrและ~/.varฉันต้องการให้ไดเรกทอรีเหล่านี้เป็นมาตรฐานดังนั้น KDE จะหยุดการโยนไฟล์ tmp / var / config / etc ทั้งหมดภายใต้. kde ยากที่จะรู้ว่าสิ่งที่ฉันต้องการอยู่ในไดเรกทอรีบ้านของฉัน
xenoterracide

5

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

แผนพื้นฐานฟรีของพวกเขาคือ 2GB ดังนั้นฉันจึงใช้มันเป็นไฟล์การกำหนดค่าและบันทึกการแชทของฉัน


ประโยชน์หลัก ๆ ที่ฉันเห็นที่นี่คือการติดตั้งง่ายขึ้นมาก
Ashesh Kumar Singh

3

PuppetและCfengineเป็นสองเครื่องมือที่ดีสำหรับการซิงค์ไฟล์ (และอีกมากมาย .. )


นอกจากนี้ยังมีพ่อครัวแต่เครื่องมือเหล่านี้มีไว้สำหรับการจัดการเครื่องจักรจำนวนมากอาจ overkill สำหรับ 2 หรือ 3 ระบบ
xenoterracide

1

วันนี้ใคร ๆ ก็สามารถได้รับสิ่งที่ดีที่สุดจากการตอบสนองครั้งแรก (dvcs) และวินาที (ดรอปบ็อกซ์) ด้วยsparkleshareซึ่งมอบประสบการณ์การใช้งานแบบ Dropbox ที่ให้ประสบการณ์การใช้งานแบบเสมือนจริง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.