แยกไฟล์ / etc / network / interfaces


14

ฉันสงสัยว่ามันเป็นไปได้ไหมที่จะแยกการกำหนดค่าจากไฟล์ / etc / network / interfaces ไปเป็นไฟล์แยกกันเช่นหนึ่ง stanza ในหนึ่งไฟล์และอีก stanza ในอีกไฟล์? (คล้ายกับ CentOS) หรือจากไฟล์ / etc / network / interfaces เป็นไปได้ไหมที่จะเรียกไฟล์ interfaces อื่น ๆ ? ความคิดของฉันคือการมีอีเธอร์เน็ต stanzas ในไฟล์เดียว, vlan ในอีกไฟล์, vpn ในอีก, ฯลฯ (หรือสิ่งที่คล้ายกัน) ด้วยการทำเช่นนี้ฉันจะสามารถแก้ไขและแยกวิเคราะห์ได้ง่ายกว่า (ใช่ฉันรู้ว่ามีตัวแยกวิเคราะห์อยู่ที่นั่น) แต่ฉันคิดว่าการแยกพวกมันออกเป็นไฟล์ต่าง ๆ มันจะถูกจัดระเบียบมากขึ้น

ฉันพยายามค้นหาคำตอบใน google เป็นเวลาหลายวันและอินเทอร์เฟซของมนุษย์ แต่ฉันไม่พบอะไรเลย ฉันคิดว่าเป็นไปไม่ได้ (เว้นแต่จะแก้ไขซอร์สโค้ดจากระบบปฏิบัติการที่ฉันเดา) ใครรู้อะไรเกี่ยวกับเรื่องนี้?

ฉันใช้ Ubuntu 12.04 LTS Server x64

ขอบคุณ!

คำตอบ:


14

เป็นไปได้อย่างแน่นอน ดูอินเทอร์เฟซ (5) manpage สำหรับรายละเอียดทั้งหมด แต่ฉันจะรวมส่วนของ man page ไว้ที่นี่:

   Lines beginning with "source" are used to include stanzas from other  files,  so
   configuration can be split into many files. The word "source" is followed by the
   path of file to be sourced. Shell wildcards can be used.   (See  wordexp(3)  for
   details.)

คุณสมบัตินี้ปรากฏในแม่นยำ

ตัวอย่าง:

/ etc / เครือข่าย / อินเตอร์เฟซ:

   auto lo
   iface lo inet loopback

   source /etc/network/interfaces.d/*.cfg

/etc/network/interfaces.d/eth0.cfg:

    auto eth0
    iface eth0 inet static
        address x.x.x.x
        [...]

ฉันจะต้องระมัดระวังว่าเครื่องมือบางอย่างยังทราบคุณสมบัตินี้อยู่หรือไม่ สคริปต์บางตัวอาจตรวจสอบ / etc / network / interfaces เท่านั้น


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

$ man 5 interfaces (... ) ตามค่าเริ่มต้นบนระบบ Debian ที่ติดตั้งใหม่ไฟล์ interfaces จะรวมบรรทัดไปยังไฟล์ต้นฉบับในไดเร็กทอรี /etc/network/interfaces.d ดังนั้นในบางจุดคุณอาจวางส่วนย่อยของอินเทอร์เฟซใน /etc/network/interfaces.d แต่โปรดทราบว่าแม้ว่า 'man' จะกล่าวประโยคข้างต้นใน Ubuntu 16.04 การติดตั้งใหม่ของ Ubuntu 16.04 ไม่มีคุณสมบัตินี้ " โดยค่าเริ่มต้น "คุณยังคงต้องเพิ่มบรรทัดลงในข้อมูลโค้ดต้นฉบับ
Zakhar
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.