Archlinux: สร้างแพ็คเกจข้ามแพลตฟอร์มและจากแพ็คเกจ. deb

ประมาณหนึ่งปีที่แล้วฉันได้อธิบายวิธีการ สร้างแพ็คเกจสำหรับ Archlinux. วันนี้ฉันจะอธิบายวิธีสร้างจากแพ็คเกจ หญิงที่เข้าสังคมครั้งแรกที่ใช้ใน Debian / Mint / Ubuntu / ฯลฯ.
บทความนี้เกิดขึ้นหลังจากอ่านคำถามจากผู้ใช้ในฟอรัม จอร์เก้ เนื่องจากฉันไม่สามารถติดตั้งแพ็คเกจจาก AUR ได้ส่วนใหญ่เป็นเพราะมันล้าสมัยและใช้เวอร์ชัน ยกเลิก ของ PKGBUILD (โชคดีที่ฉันเคยทำแพ็คเกจด้วยวิธีนี้มาก่อน) ฉันจะอธิบายวิธีสร้างแพ็คเกจของโปรแกรมที่ต้องการ ไลบรารี 32 บิตของ รหัสปิด o รวบรวมแล้ว และมีแพ็คเกจที่แตกต่างกันสำหรับการดาวน์โหลด

พื้นฐานสำหรับ PKGBUILD นั้นเหมือนกันโดยมีการเปลี่ยนแปลงเพียงเล็กน้อยเท่านั้น
การเปลี่ยนแปลงแรกจะเป็นการใช้ประโยค ถ้า elif โดย Bash


if [ "${CARCH}" = 'x86_64' ]; then
ARCH='amd64'
md5sums=('192a0a222893d59d95f00c34f3c8a674')
depends=('openal' 'lib32-openal')
elif [ "${CARCH}" = 'i686' ]; then
ARCH='i386'
md5sums=('047c670443124193c5cc3dd54da99925')
depends=('openal')
fi
source=("http://www.unaurl.com/files/${name}.$ARCH.deb")

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

เมื่อใช้ makepkg -g เพื่อสร้างไฟล์ MD5 ผลรวม สิ่งนี้จะสร้างเฉพาะสถาปัตยกรรมที่ตรงกับสถาปัตยกรรมที่คุณใช้ หากต้องการทราบผลรวม MD5 ของแพ็คเกจอื่นให้ดาวน์โหลดและใช้คำสั่ง md5sum file.deb เพื่อรู้จักคุณ

ในที่สุดเราก็เห็นว่าในตัวอย่างเราเปลี่ยนการอ้างอิง ในบางโปรแกรม 64 บิตจำเป็นต้องติดตั้ง ไลบรารีบางรุ่น 32 บิต ดังนั้นเราต้องระบุพวกเขา หากไม่จำเป็นให้กำหนดตัวแปรตามปกติ

ตอนนี้สำหรับแพ็คเกจ. deb เราจะต้องมีบรรทัดต่อไปนี้ภายในฟังก์ชันเท่านั้น แพ็คเกจ ():

cd "${srcdir}/"
tar xvzf data.tar.gz -C .
cp -r usr ${pkgdir}

อย่างที่คุณเห็นในกรณีนี้เราต้องการเพียง 3 บรรทัดในการสร้างแพ็คเกจ หากจำเป็นอย่างอื่น (เช่นคัดลอกไฟล์ที่ไม่ได้มาพร้อมกับแพ็กเกจหรือแก้ไขเนื้อหา) คุณก็ต้องวางไว้เหมือนกับแพ็กเกจอื่น ๆ

สิ่งเดียวกันนี้สามารถใช้ได้ (มีการเปลี่ยนแปลงบางอย่าง) ถ้าแทนที่จะเป็น. deb เราจะใช้แพ็คเกจ รอบต่อนาที หรือแพ็คเกจประเภทอื่น ๆ ฟังก์ชั่น สร้าง () ไม่จำเป็นเราจึงไม่จำเป็นต้องเพิ่ม

และ voila เรามีแพ็กเกจ multilib หรือสร้างขึ้นจากแพ็คเกจ deb พร้อมใช้งานแล้ว
ฉันหวังว่าคุณจะชอบและมันก็อธิบายฉันได้ดี😀


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   แผล dijo

    ใช้ checkinstall ไม่ง่ายกว่าเหรอ?

  2.   ลูเซียโน่ ลากัสซ่า dijo

    สวัสดี. ฉันมีสคริปต์ทุบตี หนึ่งในการสร้างโฟลเดอร์และไฟล์พื้นฐานสำหรับแพ็คเกจ deb และรายการสุดท้ายในการสร้างแพ็คเกจจากไฟล์และโฟลเดอร์ทั้งหมด หากคุณสนใจฉันสามารถแบ่งปันได้

    1.    Jorgecg dijo

      แน่นอนว่ามันสนใจ ... อย่างน้อยก็สำหรับฉัน

      ตอนนี้ฉันอยู่กับ Manjaro ฉันขอขอบคุณข้อมูลที่เป็นไปได้ทั้งหมด

  3.   Jorgecg dijo

    คุณเป็นหุ้นส่วนที่ยอดเยี่ยมแค่ไหน

    ฉันจะบอกคุณในฟอรัมว่าถ้าคุณสามารถอธิบายวิธีการรวบรวมแพ็คเกจ. deb และฉันไม่ได้บอกอะไรคุณเพื่อที่จะไม่ละเมิดความเอื้ออาทรของคุณ…. และฉันไปที่หน้าดังกล่าวและพบว่าคุณได้อัปโหลดบทความที่อธิบายกระบวนการทั้งหมด

    นี่แสดงว่าคุณเป็นคนใจกว้าง

    ฉันบอกว่าคุณเป็นรอยแตก

    อาศิรพจน์

  4.   Anibal dijo

    เป็นเพื่อนที่ดีมากเมื่อฉันลองซอฟต์ที่ฉันจำชื่อที่แปลงจาก. deb เป็น. rpm ไม่ได้ แต่มันไม่ได้ผลสำหรับฉัน

    คนที่มีส่วนโค้งสามารถทดสอบได้หรือไม่ว่าซอฟต์นี้ส่งผ่านไปยังรอบต่อนาทีได้ดีและการติดตั้งเปิดได้ดี

    http://www.justcloud.com/download/linux-64

    มันคือการสำรองข้อมูลในระบบคลาวด์ฉันจ่ายเงินไประยะหนึ่งแล้วและฉันมีมากกว่า 40gb ในคลาวด์ =)

  5.   Inspiron dijo

    เยี่ยมมาก! ฉันบอกตัวเองเสมอว่าวันหนึ่งฉันอยากทำแพ็คเกจแม้ว่าจะต้องรู้วิธีทำก็ตาม :)

    ในโพสต์ประเภทนี้ฉันขอขอบคุณที่บล็อกใช้ตัวเลือกในการเพิ่มรายการเช่นนี้ใน "รายการโปรด" ของบัญชีของฉัน

    1.    ชิโนโลโก dijo

      เห็นด้วยโดยสิ้นเชิงฉันปลูกมัน แต่ไม่มีอะไร🙂
      นอกจากนี้ยังเป็นการดีที่จะสามารถติดตามผู้ใช้บางคนได้

  6.   รับบา dijo

    ชายชราผู้ยิ่งใหญ่ฉันใช้ manjaro มาสองสามวันแล้วและเพื่อการศึกษาฉันจำเป็นต้องติดตั้ง packet tracer จาก cisco แต่มีเพียงแพ็คเกจ. deb ของเวอร์ชันล่าสุดและ ke อยู่ใน AUR มักจะให้ข้อผิดพลาดแก่ฉันเมื่อรวบรวมฉันหวังว่าขั้นตอนเหล่านี้จะสามารถติดตั้งได้ ตั้งแต่บังคับฉันใช้ linux mint ขอบคุณมาก

  7.   มิตโค dijo

    เพื่อดูว่ามีใครกล้าใส่ AUR Multisystem หรือไม่

    ขึ้นอยู่กับ deb libraries ที่ไม่ได้อยู่ใน arch

    แต่ถ้ามันใช้งานได้หน้าที่ของมันคือสร้างไดรฟ์ปากกา ISO หลายตัวที่มี grub2 ดีกว่า unetbootin ที่ทำเพียงอันเดียว

    ในขณะนี้ฉันมี ubuntu ISO ของเขาอยู่ข้างในซึ่งช่วยให้ฉันสามารถเพิ่มภาพได้หากฉันต้องการบูตจากมันบน USB

    แต่ถ้าไม่มีใครกล้าเก็บตั๋วของฉัน

  8.   มิตโค dijo

    ขออภัยมีระบบหลายระบบอยู่แล้วและฉันคิดว่าไม่ใช่

    1.    มิตโค dijo

      ในระบบหลายระบบ ...

      แต่ทำให้อ้วนเนื่องจาก yaourt ให้ปัญหาและพวกเขาได้วางไว้เป็นทางเลือก

  9.   marcos dijo

    เยี่ยมมาก😀ในการอนุมัติด้วย "Purrr" โปรแกรมสำหรับเปลี่ยนชื่อไฟล์จำนวนมาก

  10.   เม.ย. 4 ก.ย. dijo

    ขอแสดงความนับถือ

    ขณะนี้อยู่ใน AUR พวกเขากำลังกำจัดแพ็คเกจที่ไม่มีฟังก์ชัน package () ฉันจะรู้ได้อย่างไรว่าต้องใส่บรรทัดอะไร นั่นคือฉันมีหลายแพ็คเกจและฉันทำแบบนี้ แต่ฉันไม่รู้ว่ามันโอเคไหม https://github.com/abr4xas/Arch-pkgbuild/blob/master/%20django-admin-honeypot/PKGBUILD สิ่งที่ฉันทำจริงๆคือส่งผ่านสิ่งที่อยู่ใน build () ไปยัง package () แต่อย่างที่บอกฉันไม่รู้ว่ามันใช้ได้ไหม ... คุณช่วยแสดงความคิดเห็นและข้อเสนอแนะได้ไหม

    ขอบคุณ😀

  11.   Azazel dijo

    ขอบคุณสำหรับข้อมูลที่ฉันจะคั่นไว้เพื่อใช้อ้างอิงในอนาคต

  12.   เคลราเฟล dijo

    ใครช่วยอธิบายให้ฉันฟังหน่อยได้ไหมฉันเป็นคนใหม่และฉันไม่รู้ว่าสิ่งนี้ช่วยให้ฉันติดตั้งแพ็คเกจ. deb ได้หรือไม่ แต่ใน manjaro เป็นเกมที่แน่นอน ใช่มันได้ผล?

    ฉันดูและพวกเขาบอกให้ติดตั้งแพ็คเกจ deb2targz แต่ฉันได้รับข้อผิดพลาดเมื่อติดตั้งจากเทอร์มินัลและฉันไม่รู้ว่าจะเป็นได้หรือไม่

    1.    เกอร์เมน dijo

      สิ่งเดียวกันนี้เกิดขึ้นกับฉัน ฉันจำเป็นต้องติดตั้งบน Kademar ซึ่งใช้ Arch; สองสามแพ็คเกจที่ฉันได้รับใน. deb
      ใครสามารถช่วยฉัน?

      1.    valdo dijo

        หากสิ่งที่คุณหมายถึงคือความล้มเหลวในการติดตั้ง deb2targz ฉันเพิ่งติดตั้งเสร็จด้วยคำสั่ง yaourt -S deb2targz แน่นอนใน ArchLinux

  13.   ฟรี Cloud Storage dijo

    โพสต์ข้อมูลมาก ขอบคุณสำหรับการแบ่งปัน.

  14.   แองกรี้เบิร์ด dijo

    โพสต์ที่ดี ขอบคุณสำหรับการแบ่งปันข้อมูลที่เป็นประโยชน์นี้

  15.   แอพสำหรับพีซี dijo

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

  16.   jacob dijo

    สวัสดีคุณสามารถออกจากสคริปต์สำหรับการแปลงและวิธีใช้งานได้หรือไม่ ในบางส่วนมันทำให้สับสนเล็กน้อยฉันมี deb ที่ฉันต้องการแปลงอยู่แล้วและฉันรู้ว่ามันเป็นไปได้เพราะ google chrome ของ AUR เป็น deb แต่ฉันไม่รู้วิธีสร้าง "MAKEPKG SI" กับ deb อื่น🙁