Score:3

จะจับรหัสทางออกที่มาจากไฟล์ preinst ขณะติดตั้งแพ็คเกจเดเบียนได้อย่างไร

ธง cn

ฉันกำลังพยายามติดตั้งแพ็คเกจเดเบียนบนกล่องของฉัน ผ่านเชลล์สคริปต์ เช่นในเชลล์สคริปต์ที่ฉันให้ dpkg -i สั่งการ . ภายในมี a ก่อน ไฟล์ที่กำลังใช้งานอยู่ ตอนนี้ในไฟล์นี้มีเงื่อนไขข้อหนึ่งล้มเหลว สมมติว่าเมื่อใด x=0 ฉันกำลังออกไปกับ ทางออก 2

ฉันต้องการให้รหัสทางออกใดก็ตามที่ไฟล์ preinst กำลังออกด้วย ฉันควรจะสามารถจับรหัสทางออกนั้นได้ และในไฟล์ install.sh ของฉัน ฉันจะพิมพ์คำสั่งตามนั้น

ปัญหาคือเมื่อฉันทำ ก้อง $? มันให้ 1 เสมอโดยระบุว่าการติดตั้ง dpkg ล้มเหลว แต่ฉันไม่ได้รับรหัสส่งคืนเฉพาะนั้น มีวิธีใดบ้าง ขอบคุณล่วงหน้า

Score:1
ธง cn

ฉันสันนิษฐานว่าไม่ตรงตามเงื่อนไขบางอย่างในไฟล์ preinst ของแพ็คเกจ deb ฉันคิดว่ามันจะดีกว่าถ้าย้ายเช็คจาก preinst ไปยังไฟล์สคริปต์ตัวตัดคำเช่นไฟล์ install.sh

เช่น:

#!/bin/bash

ถ้า [ "$x" -eq "0" ]; แล้ว
   echo ตรวจสอบ x = 0 ล้มเหลว
   ทางออก 1;
ไฟ
#ใส่ตรวจสอบอื่น ๆ ทั้งหมดที่นี่...

dpkg -i package.deb

นี่เป็นการสันนิษฐานว่าคุณสามารถแก้ไข preinst และ installer.sh ได้!

นี้ บล็อก ในการติดตั้ง wrapper นั้นใช้เวลาอ่าน 10-15 นาที!

ประเด็นสำคัญจากบล็อก:

โดยปกติแล้วการติดตั้ง wrapper จำเป็นด้วยเหตุผลข้อใดข้อหนึ่งต่อไปนี้ (ไม่จำกัดเฉพาะสิ่งเหล่านี้):

  1. ข้อกำหนดก่อน / หลัง
  2. สคริปต์ก่อน / หลัง เช่น ลบไฟล์ / ทางลัด สร้างคีย์รีจิสทรี
  3. การตรวจสอบเงื่อนไขก่อนการติดตั้ง เช่น OS ที่ถูกต้อง ชื่อคอมพิวเตอร์ (หรือบางส่วนของชื่อ) ที่ถูกต้อง
  4. ตรวจสอบเวอร์ชันของข้อกำหนดเบื้องต้นที่ติดตั้ง เช่น เวอร์ชันของ MS Office
  5. ตรวจสอบว่าผู้ใช้เข้าสู่ระบบหรือไม่
  6. ตรวจสอบว่าผู้ใช้กำลังใช้งานโปรแกรมอยู่หรือไม่ เช่น ในกรณีที่มีการอัปเกรด
ThunderBird avatar
ru flag
วันหนึ่ง ปัญหาการเชื่อมโยงอาจเกิดขึ้นระหว่างไซต์นี้และบล็อกที่คุณอ้างถึงในคำตอบของคุณ คุณช่วยเน้นขั้นตอนสำคัญที่นี่ได้ไหม ถ้าไม่ใช่ทั้งหมด
Atharva Ranade avatar
cn flag
ขอบคุณสำหรับคำแนะนำ!

โพสต์คำตอบ

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