ฉันจะตั้งค่าพื้นที่เก็บข้อมูล apt ส่วนตัวที่สามารถรองรับหลายรุ่นได้อย่างไร


10

ฉันกำลังมองหาวิธีการตั้งค่าพื้นที่เก็บข้อมูล apt ส่วนตัว (บน 10.04 LTS) ที่สามารถรองรับได้หลายรุ่น

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

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

เช่น packagename_1.0_all.deb และ packagename_2.0_all.deb แทนที่จะเป็น packagename-1.0_1.0_all.deb และ packagename-2.0_2.0_all.deb

สำหรับผู้ที่คุ้นเคยกับ eppmental อัตโนมัติ Puppet - เราสามารถระบุรุ่นของแพคเกจที่เราต้องการบนเซิร์ฟเวอร์ (ด้วยแท็กให้แน่ใจว่าใช้ชื่อแพคเกจเดียวกัน)

ฉันได้ลอง debmarshal ของ Google ซึ่งอธิบายไว้ที่http://wiki.debian.org/HowToSetupADebianRepositoryแต่ไม่สามารถทำงานได้เนื่องจากเอกสารไม่ครบถ้วน

คำตอบ:


9

ฉันต้องการ repo หลายรุ่นด้วยเหตุผลเดียวกันกับคุณและนี่คือสิ่งที่ฉันได้รับ:

apt-get install apache2 dpkg-dev
mkdir -p /var/www/repo/binary

จากนั้นสร้างupdate-repo.shที่จะปรับปรุง repo ของคุณด้วยข้อมูลแพคเกจ

#!/bin/bash
cd /var/www/repo
dpkg-scanpackages -m binary /dev/null | gzip -9c > /var/www/repo/binary/Packages.gz

วางไฟล์. deb ของคุณใน / var / www / repo / binary และเรียกใช้ update-repo.sh

ในส่วนที่เหลือของเครื่อง:

echo "deb http://myserver/repo binary" > /etc/apt/sources.list.d/myrepo.list
apt-get update

ฯลฯ ฯลฯ

ความมหัศจรรย์เกิดขึ้นเพราะ-mเมื่อใช้แพ็คเกจ dpkg-scan ไม่มี-mเพียงหนึ่งเวอร์ชันเท่านั้นที่แสดงรายการอยู่ใน Packages.gz

ฉันไม่ได้ลอง แต่น่าจะทำเช่นเดียวกันสำหรับ sub-repos แยกเช่น hbdgaf ที่เสนอ


1
ฉันค้นหาไปมากจนกระทั่งฉันเจอคำตอบของคุณด้วย-mสวิตช์ ขอบคุณมาก!
Mario Tacke

3

โฮสต์มันภายใต้ชื่อการกระจายที่แตกต่างกัน ตัวอย่างชัดเจนและการทดสอบ จากนั้นเปลี่ยนรายการของคุณในกล่องทดสอบ
จาก: deb http://homegrown.local/ubuntu lucid main
เป็น: deb http://homegrown.local/ubuntu testing main

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