Score:4

ฉันสามารถติดตั้ง apt ./meta-pkg_1.0_all.deb ที่จะขึ้นอยู่กับ .deb ในเครื่องได้หรือไม่

ธง us

ฉันมีแพ็คเกจ .deb จำนวนหนึ่งที่ฉันสร้างและติดตั้ง:

  • pkg1_1.0_all.deb
  • pkg2_1.0_all.deb
  • pkg3_1.0_all.deb

ฉันสามารถติดตั้งได้โดยใช้ sudo dpkg -i pkg1_1.0_all.deb.

ตอนนี้ฉันต้องการสร้างเมตาแพ็คเกจที่จะขึ้นอยู่กับพวกเขาทั้งหมด อนุญาตให้ฉันติดตั้งเท่านั้น sudo dpkg -i meta_1.0_all.deb.

ฉันใช้ เทียบเท่า เพื่อสร้างไฟล์ควบคุม:

ส่วน: อื่น ๆ
ลำดับความสำคัญ: ไม่บังคับ
เวอร์ชันมาตรฐาน: 3.6.2

แพคเกจ: bla
เวอร์ชัน: 1.0
พึ่งพา:
คำอธิบาย:
 คำอธิบายและข้อมูลแบบยาว
 .
 วรรคสอง

และติดตั้ง

จากนั้นฉันก็แก้ไข พึ่งพา: ขึ้นอยู่กับแพ็คเกจที่รู้จัก: ขึ้นอยู่กับ: tmux และติดตั้ง

ต่อไป ฉันพยายามใช้แพ็คเกจที่กำหนดเอง: ขึ้นอยู่กับ: pkg1 และตอนนี้การติดตั้งพัง:

dpkg: ปัญหาการพึ่งพาป้องกันการกำหนดค่าของ bla:
 bla ขึ้นอยู่กับ pkg1; อย่างไรก็ตาม:
  ไม่ได้ติดตั้งแพ็คเกจ pkg1

ซึ่งเป็นที่เข้าใจได้เช่น pkg1 ไม่ได้ติดตั้งแน่นอน

ฉันได้เพิ่มไดเรกทอรีในเครื่องของฉันเป็นแหล่งเดเบียนตามนี้ แนะนำ (เปลี่ยนสิ่งหนึ่ง - เพิ่ม [เชื่อถือได้=ใช่] ไปยังรายการแหล่งที่มา ไฟล์ deb [trusted=yes]:... จึงจะได้ผล)

ฉันหวังว่าสิ่งนี้จะช่วยให้ฉันทำได้ sudo apt ติดตั้ง ./meta_1.0_all.deb และจะพบแพ็คเกจที่ต้องพึ่งพาใน dir ปัจจุบันของฉัน แต่มันล้มเหลวอีกครั้งด้วยข้อผิดพลาดเดิม

ฉันจะทำอย่างไรเพื่อให้ผู้ใช้ติดตั้ง .deb หนึ่งไฟล์ และติดตั้งแพ็คเกจ .deb ในเครื่องได้หลายแพ็คเกจ

ru flag
จะไม่ติดตั้งไฟล์ .deb ในเครื่องที่ไม่ได้อยู่ในที่เก็บโดยอัตโนมัติ คุณจะต้องทำด้วยตนเอง - `apt install bla /local/path/local1.deb /local/path/local2.deb ...` - เว้นแต่คุณจะเพิ่ม 'แพ็คเกจท้องถิ่น' เหล่านี้ไปยังเซิร์ฟเวอร์ที่เก็บ
CIsForCookies avatar
us flag
@ThomasWard ดังนั้นหากอัปโหลดไปยังเซิร์ฟเวอร์ - ฉันจะสามารถติดตั้ง .deb หนึ่งไฟล์และรับทั้งหมดได้ แต่ถ้าพวกเขาอยู่ในที่เก็บในเครื่อง - ฉันไม่ใช่เหรอ
user.dz avatar
ng flag
วิธีแก้ไขที่เป็นไปได้คือพื้นที่เก็บข้อมูลแบบแบน/ไม่สำคัญ สามารถเป็นไดเร็กทอรีในเครื่องเท่านั้น (ไม่จำเป็นต้องใช้เซิร์ฟเวอร์ หากไม่ต้องการแชร์ผ่านเครือข่าย) ดู https://askubuntu.com/a/615932/26246
mchid avatar
bo flag
นอกจากนี้ บางคนใน [ส่วนความคิดเห็น](https://www.linuxwave.info/2009/04/adding-local-directory-to-apt.html#c2620391824185814815) กล่าวว่าคุณต้องใช้ `deb file:/home /foo/debs /` แทน `file:// /home/foo/debs` ใน Ubuntu เวอร์ชันใหม่กว่า
CIsForCookies avatar
us flag
@mchid ที่แปลก ฉันได้ลองบน Ubuntu20.04 และ 18.04 ด้วยรูปแบบ `file:///` และใช้งานได้ (เว้นแต่ว่าใหม่กว่านั้นใหม่กว่า 20.04)
CIsForCookies avatar
us flag
@user.dz ฉันไม่แน่ใจว่าอะไรคือความแตกต่างในโซลูชันของคุณ (ไฟล์ `Release` และ `Packages` สร้างความแตกต่างได้จริงหรือ ฉันมีไฟล์ `Packages.gz` ของฉันด้วย แต่ใช้งานไม่ได้เหมือนของคุณ วิธีแก้ปัญหา) แต่ใช้งานได้! มันบอกฉันว่าแพ็คเกจนี้ไม่สามารถตรวจสอบได้ (แน่นอน) แต่ก็ไม่มีอะไรเก่าดี `yes | sudo apt ติดตั้ง ` รับมือไม่ไหว. ขอบคุณ!! (อยากเขียนเป็นคำตอบให้รับได้ไหม)
user.dz avatar
ng flag
@CIsForCookies `dpkg` เป็นเครื่องมือหลัก แต่ไม่รู้จักที่เก็บ มันแค่จัดการแพ็คเกจ `.deb` แยกกัน `apt` (หรือ `apt-get`) เป็นเครื่องมือระดับที่สูงกว่าซึ่งจัดการการพึ่งพาแพ็คเกจต่อไปนี้ผ่านที่เก็บดังนั้นแพ็คเกจของคุณควรให้บริการผ่านที่เก็บ (แม้ว่าจะเป็นเพียงไดเรกทอรีในเครื่องก็ตาม) ขั้นตอนสุดท้ายในการแก้ไขการรับรองความถูกต้อง คือการลงชื่อในไฟล์ Release ตาม https://wiki.debian.org/SecureApt#Setting_up_a_secure_apt_repository นี้ คุณอาจเขียนคำตอบที่เหมาะกับคุณก็ได้ ฉันไม่ว่าอะไร
user.dz avatar
ng flag
@CIsForCookies Btw, Packages.gz อาจใช้งานไม่ได้เนื่องจากวิธีการประกาศ repo ใน source.list หรือตำแหน่งของ package.gz ไม่ใช่ตำแหน่งที่ `apt` คาดหวัง
mchid avatar
bo flag
หากคำตอบสำหรับ [พื้นที่เก็บข้อมูลเดเบียนควรมีเค้าโครง/ไฟล์ใด](https://askubuntu.com/questions/606527/what-layout-files-should-debian-repository-have) ได้ผล เราสามารถปิดสิ่งนี้เป็น ทำซ้ำ.
nobody avatar
gh flag
นี่คือ https://help.ubuntu.com/community/MetaPackages คุณกำลังมองหาหรือไม่
Score:3
ธง bo

คุณสามารถกลม (ใช้สัญลักษณ์แทน *) คำสั่งติดตั้ง:

sudo apt ติดตั้ง ./*.deb

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

CIsForCookies avatar
us flag
จริง ๆ แล้วฉันไม่มีการพึ่งพา "ของจริง" ฉันต้องการสร้างแพ็คเกจเมตาเพื่ออนุญาตคำสั่งการติดตั้งหนึ่งคำสั่งเท่านั้น ด้วยโซลูชันของคุณ ฉันควรจะสามารถข้ามแพ็คเกจเมตานั้นได้ แต่ฉันไม่แน่ใจว่าสัญลักษณ์แทนเป็นสิ่งที่ฉันต้องการ

โพสต์คำตอบ

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