โคลนพอร์ตจากการติดตั้ง bsd ไปยังพอร์ตอื่น


0

ฉันมีเว็บเซิร์ฟเวอร์ FreeBSD ที่ใช้งานจริงซึ่งฉันต้องการ "โคลน" เพื่อสร้างเซิร์ฟเวอร์การพัฒนา / การผลิตล่วงหน้า

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

เราใช้:
FreeBSD 7.1
portmaster ในฐานะผู้จัดการพอร์ต

คำตอบ:


3

นี่คือจากEXAMPLESส่วนของportmasterหน้าคน:

  • ก่อนอื่นรับรายการพอร์ตที่ติดตั้ง:

    portmaster --list-origins > installed-port-list
    
  • ในระบบเป้าหมายของคุณให้ใช้รายการนั้นเป็นอินพุตเพื่อportmaster:

    portmaster `cat installed-port-list`
    

... แม้ว่าสิ่งนี้จะไม่ทำให้คุณได้รับเวอร์ชันเดียวกันของพอร์ตเว้นแต่ว่าทรีพอร์ตในระบบเป้าหมายของคุณจะตรงกับเวอร์ชันที่ติดตั้งบนโฮสต์ที่ใช้งานจริงของคุณ
larsks

ที่น่าสนใจ ... มีบางพอร์ตที่ 'ไม่มีอยู่' ดังนั้นฉันคิดว่าควรหมายความว่าฉันไม่มีที่เก็บข้อมูลหรืออะไรแบบนั้น ... ฉันพยายามหาวิธีแก้ไขในตอนนี้ .. .
Andor

ฉันเป็นผู้ดูแลระบบ linux และฉันก็ยังหลงทางอยู่ในนี้: D
Andor

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

1
นี่อาจเป็นแหล่งข้อมูลที่ดีที่สุด โดยทั่วไปไม่มี "พอร์ตทรี" เดียวเท่านั้น แต่มีหลายเวอร์ชัน (เช่น - รีลีส, - เสถียร ฯลฯ )
larsks

0

คุณต้องทุบตี

mkdir -p / usr / local / pkg

cd / usr / local / pkg

สำหรับฉันในpkg_info |cut -f 1 -d " "; ทำ pkg_create -b $ i; เสร็จแล้ว

จากนั้น scp pkgs ผลลัพธ์ไปยังเซิร์ฟเวอร์เป้าหมายและติดตั้งโดย pkg_add * จากนั้นคัดลอกทับ / usr / local / etc ของซอร์ส - เซิร์ฟเวอร์และคัดลอกรายการใด ๆ ใน /etc/rc.conf และไฟล์ที่เกี่ยวข้องซึ่งดูเหมือนว่ามีประโยชน์และ เหมาะสม


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