Score:-1

"จดจำ" คำสั่ง CLI ที่คุณเรียกใช้สำหรับเซิร์ฟเวอร์

ธง cn

สมมติว่าคุณมีโปรแกรมของบริษัทอื่นที่ทำงานบนเซิร์ฟเวอร์

ในการกำหนดค่า คุณต้องเข้าสู่ระบบ ใช้คำสั่ง CLI และออกอีกครั้ง

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

สิ่งนี้มีแนวโน้มที่จะเกิดข้อผิดพลาด

ฉันรู้ว่าผู้คนคิดค้นสิ่งต่าง ๆ เช่น Puppet เพื่อหลีกเลี่ยงปัญหานี้ แต่ AFAIK Puppet อาศัยโมดูลที่คุณสามารถกำหนดสถานะและจากนั้นดำเนินการ idempotentซึ่งหมายความว่าคุณไม่มีโมดูล Puppet สำหรับทุกสิ่ง และโมดูลที่คุณมีอาจไม่สามารถกำหนดค่าทั้งหมดที่คุณต้องการได้

หลังจากเรื่องยาวนี้:

มีวิธีที่เหมาะสมในการ "บันทึก" คำสั่งที่คุณรัน เพื่อให้คุณสามารถรันคำสั่งเหล่านั้นและจัดทำเอกสารการรันพร้อมกันได้หรือไม่?

in flag
นั่นคือสิ่งที่การจัดการการกำหนดค่า (เช่นหุ่นเชิด) มีไว้สำหรับ หากหุ่นไม่เหมาะกับคุณ ให้ลองทางเลือกอื่น
J Fabian Meier avatar
cn flag
@GeraldSchneider แต่นั่นไม่ต้องการให้ผู้ขายหรืออย่างน้อยชุมชนจัดเตรียมโมดูลสำหรับโปรแกรมนี้หรือไม่ นอกจากนี้ อาจหมายความว่าคุณไม่สามารถเรียกใช้คำสั่งจากคู่มือได้ แต่จำเป็นต้องค้นหาว่าการกำหนดค่าทำงานอย่างไรใน Puppet, Ansible, Chef, โมดูลใดๆ...
in flag
`แต่นั่นไม่ได้บังคับว่าผู้ขายหรืออย่างน้อยชุมชนต้องจัดเตรียมโมดูลสำหรับโปรแกรมนี้หรือไม่' - ไม่จริง พวกเขาทั้งหมดมีวิธีการเรียกใช้คำสั่งโดยพลการ คุณต้องสร้างสูตรอาหาร คู่มือการเล่น หรืออะไรก็ตามที่พวกเขาเรียกว่า คุณอาจทราบด้วยซ้ำว่าบางโมดูลทำให้งานง่ายขึ้นกว่าการวางเครื่องมือ 5 ชิ้นจนกว่าจะได้ผลลัพธ์
J Fabian Meier avatar
cn flag
@GeraldSchneider แต่ AFAIK playbooks เหล่านี้ไม่ได้อาศัยแนวคิดที่ว่าทุกอย่างหมดอำนาจและสามารถเรียกใช้ได้อีกครั้งทุกครั้งหรือไม่ โดยทั่วไปแล้วยากที่จะบรรลุผลสำเร็จ
user9517 avatar
cn flag
โลกของการจัดการเซิร์ฟเวอร์ได้ดำเนินต่อไป หากคุณกำลังกำหนดค่าเซิร์ฟเวอร์ ให้ใช้เครื่องมือการจัดการการกำหนดค่าที่มีอยู่ คุณทราบดีว่าเหมาะสม
J Fabian Meier avatar
cn flag
@ user9517 ที่จริงแล้วโปรแกรมที่ใช้เซิร์ฟเวอร์จำนวนมากยังคงใช้ GUI เป็นเครื่องมือมาตรฐานในการกำหนดค่า ฉันมีความสุขแล้วที่สามารถทำทุกอย่างบนบรรทัดคำสั่ง ดังนั้น ในขณะที่ฉันคิดว่าคุณพูดถูกเกี่ยวกับแพลตฟอร์มทั่วไปเช่น เซิร์ฟเวอร์ JBoss นั้นแตกต่างจากเครื่องมืออื่น ๆ
user9517 avatar
cn flag
และเครื่องมือ 'gui' เหล่านั้นจะจัดเก็บการกำหนดค่าไว้ในไฟล์ที่ซึ่งเครื่องมือจัดการการกำหนดค่าสามารถจัดการได้ ฉันไม่คิดว่าคุณจัดการเซิร์ฟเวอร์จริงด้วย
Score:3
ธง jp

หากคุณต้องการทำแบบเก่าคุณสามารถใช้ สคริปต์(1) เพื่อบันทึกเซสชันของคุณ

cn flag
Bob
ตอนนี้เป็นโรงเรียนเก่า ด้วยความอยากรู้อยากเห็น จะเกิดอะไรขึ้นเมื่อคุณใช้ `sudo -i` หรือ `sudo su -` จะเกิดอะไรขึ้นกับสิทธิพิเศษระดับสูงที่บันทึกไว้ด้วย
jp flag
@Bob ใช่ มันจะบันทึกทุกอย่าง รวมถึง sub-shells ที่มีสิทธิพิเศษด้วย `sudo`/`su` และแม้แต่โปรแกรมโต้ตอบเช่น `vi` แต่ด้วยโปรแกรมแบบอินเทอร์แอกทีฟ เอาต์พุตของสคริปต์ส่วนใหญ่จะไม่สามารถอ่านได้ ดังนั้นคุณจะต้องใช้ `scriptreplay` (ซึ่งต้องมีการบันทึกเวลาโดย `script`)
Score:0
ธง cn
Bob

ปัญหาที่คุณอธิบายคือสาเหตุที่ผู้คนตัดสินใจว่าพวกเขาไม่ต้องการพึ่งพาคำสั่งด้วยตนเองและผู้ดูแลระบบที่ใช้เครื่องมือโต้ตอบ (GUI) อีกต่อไป

คุณต้องการทำซ้ำสิ่งที่คุณทำด้วยวิธีที่มีโครงสร้างมากกว่าการทำตามรายการตรวจสอบที่อาจไม่ได้รับการปรับปรุงหลังจากการเผยแพร่/การเปลี่ยนแปลง/วิกฤตครั้งล่าสุด

และแม้ว่านั่นจะดูเป็นปัญหาง่ายๆ และแนวทางแรกของรายการคำสั่งทั้งหมดที่ออกเพื่อให้บรรลุสถานะปัจจุบัน ดูเหมือนเป็นความคิดที่ดีที่คุณอาจตระหนักได้หลังจากพิจารณาแล้ว แต่รายการดังกล่าวก็ไม่ใช่ทางออกที่ดีที่สุดเช่นกัน รายการนั้นอาจมีขั้นตอนเช่น ลอง ผิดพลาด ล้มเหลว เปลี่ยนกลับและลองอย่างอื่น พิมพ์ผิด ทำซ้ำอีกครั้ง ฯลฯ ที่คุณไม่จำเป็นต้องต้องการหรือจำเป็นต้องทำซ้ำ...

วิกิพีเดียให้ข้อมูลสรุปที่ดีเกี่ยวกับเครื่องมือต่างๆ ที่ผู้คนสร้างขึ้นเพื่อแก้ปัญหานั้น: https://en.wikipedia.org/wiki/Comparison_of_open-source_configuration_management_software

สิ่งเหล่านี้ล้วนมีช่วงการเรียนรู้และดูเหมือนจะซับซ้อนกว่าสิ่งที่คุณคิดว่าคุณต้องการ แต่เชื่อฉันเถอะ ลงทุนเวลาและความพยายาม แล้วคุณจะเห็นว่าทำไมสิ่งเหล่านี้จำนวนมากจึงถูกนำมาใช้กันอย่างแพร่หลายในการแก้ปัญหาที่คุณกำลังเผชิญอยู่

J Fabian Meier avatar
cn flag
ฉันแค่ต้องการรายการคำสั่งยาว ๆ นี่คือสิ่งที่บันทึกไว้ในคู่มือ การเขียน playbook, สูตรอาหาร อะไรก็ตามที่ทำให้ฉันเพิ่มความซับซ้อนอีกชั้นหนึ่ง: ฉันคงไม่สามารถเรียกใช้คำสั่งจากคู่มือได้เพราะคำสั่งเหล่านั้นอาจไม่มีประสิทธิภาพ แต่ฉันกลับต้องพึ่งพาคู่มือชุมชน (ซึ่งฉันอาจจะไว้ใจหรือไม่เชื่อใจก็ได้) ทำถูกแล้ว) หรือเขียนเองบ้าง

โพสต์คำตอบ

คนส่วนใหญ่ไม่เข้าใจว่าการถามคำถามมากมายจะปลดล็อกการเรียนรู้และปรับปรุงความสัมพันธ์ระหว่างบุคคล ตัวอย่างเช่น ในการศึกษาของ Alison แม้ว่าผู้คนจะจำได้อย่างแม่นยำว่ามีคำถามกี่ข้อที่ถูกถามในการสนทนา แต่พวกเขาไม่เข้าใจความเชื่อมโยงระหว่างคำถามและความชอบ จากการศึกษาทั้ง 4 เรื่องที่ผู้เข้าร่วมมีส่วนร่วมในการสนทนาด้วยตนเองหรืออ่านบันทึกการสนทนาของผู้อื่น ผู้คนมักไม่ตระหนักว่าการถามคำถามจะมีอิทธิพลหรือมีอิทธิพลต่อระดับมิตรภาพระหว่างผู้สนทนา