วิธีเผยแพร่ซอฟต์แวร์ของเราบน Ubuntu และ distros อื่น ๆ

หากคุณเป็นโปรแกรมเมอร์หรือไม่และต้องการวิธีการติดตั้งแอปพลิเคชันหรือสคริปต์นั้นมีหลายวิธี
แพ็คเกจ DEB พร้อมแบบอักษร (สำหรับเดเบียนและอนุพันธ์เท่านั้น)

วิธีนี้ใช้สำหรับเมื่อเรามีซอร์สโค้ดของแอปพลิเคชัน

ก่อนอื่นให้เราติดตั้งโปรแกรมที่ใช้เวทมนตร์ "ตรวจสอบการติดตั้ง"ในเทอร์มินัลที่เราดำเนินการ

sudo aptitude ติดตั้ง checkinstall

ตัวอย่างเช่นเราจะใช้ห้องสมุด "กะพร่องกะแพร่ง"ดาวน์โหลดแบบอักษรจาก ที่นี่เราสร้างโฟลเดอร์และวางไฟล์ ง่อย -3.98.4.tar.gz และจากเทอร์มินัลในฐานะรูทเราเข้าสู่โฟลเดอร์นั้นและดำเนินการตามบรรทัดเหล่านี้

tar -xzvf lame-3.98.4.tar.gz cd lame-3.98.4 ./configure ทำการ checkinstall cp * .deb ../ cd .. rm -R lame-3.98.4 chmod 777 lame-3.98.4 *. deb

เราสร้างแพ็คเกจ deb วิธีนี้จะติดตั้งแพ็คเกจที่สร้างขึ้นในตอนท้าย

แพ็คเกจ DEB ด้วยตนเอง (สำหรับเดเบียนและอนุพันธ์เท่านั้น)

วิธีนี้ใช้สำหรับสคริปต์ของเราหรือแอปพลิเคชันที่คอมไพล์ไว้ล่วงหน้า

โครงสร้างของแพ็คเกจ DEB

| ตั้งค่า (โฟลเดอร์ทั่วไป) | | -DEBIAN (โฟลเดอร์ที่ไฟล์คอนฟิกูเรชันอยู่) | --control (ไฟล์คอนฟิกูเรชัน) | --preinst (ไฟล์หรือสคริปต์ที่รันก่อนการติดตั้ง) | --postinst (ไฟล์หรือสคริปต์ที่รันหลังจากติดตั้ง) | --prerm ( ไฟล์หรือสคริปต์เพื่อรันก่อนถอนการติดตั้ง) | --postrm (ไฟล์หรือสคริปต์ที่จะรันหลังจากถอนการติดตั้ง) | | -usr (โฟลเดอร์ที่ไฟล์แอปพลิเคชันของคุณอยู่) | -usr / bin (โฟลเดอร์ที่ไบนารีหรือสคริปต์อยู่) | -usr / share / pixmaps (โฟลเดอร์ที่ไอคอนอยู่) | -usr / share / applications (โฟลเดอร์ที่อยู่ ปืนกล)

ตัวอย่างไฟล์«ควบคุม»

แพคเกจ: TUPACKAGE เวอร์ชัน: VERSION Architecture: amd64 (i386 หรือทั้งหมด) ผู้ดูแล: AUTHOR Section: partner / web Priority: optional Description: TEXT

การสร้างแพ็คเกจ DEB

sudo chmod -R root: root setup / sudo chmod -R 755 setup / sudo dpkg -b setup / package.deb chmod 777 package.deb chown -R setup

ด้วยข้อมูลนี้เราสามารถสร้างแพ็คเกจ deb สำหรับแอปพลิเคชันของเราได้แล้วดังตัวอย่างที่เราจะสร้าง bash script ง่ายๆ

เราสร้างโฟลเดอร์ชื่อ «ubunlog» และภายในชื่ออื่นนี้ ติดตั้ง
จากนั้นภายในโฟลเดอร์สุดท้ายเราจะสร้างสองโฟลเดอร์ชื่อหนึ่ง "เดเบียน" และอีก «ผู้ใช้».

นี่คือไฟล์ควบคุม

แพ็คเกจ: ubunlog-web เวอร์ชัน: 0.11.5.13 สถาปัตยกรรม: ทั้งหมด ผู้ดูแล: TU NAME ส่วน: พันธมิตร/เว็บ ลำดับความสำคัญ: ทางเลือก คำอธิบาย: บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสาร และทุกอย่างเกี่ยวกับ Ubuntu

เราเก็บไว้ในโฟลเดอร์ "เดเบียน" ที่เราสร้างขึ้นก่อนเป็น«ควบคุม»

รหัสนี้มาจากไฟล์ postinst

#!/bin/sh chmod 755 /usr/bin/ubunlog- เว็บ chmod +x /usr/bin/ubunlog- เว็บ chmod 755 /usr/share/pixmaps/ubunlog-web.png chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.desktop

เราบันทึกไว้ในโฟลเดอร์เดียวกับก่อนหน้านี้ในชื่อ "postinst"

ตอนนี้เราสร้างโฟลเดอร์สำหรับสคริปต์ตัวเรียกใช้งานและไอคอนภายในโฟลเดอร์ ติดตั้ง เราสร้างโฟลเดอร์ชื่อ «ผู้ใช้»

อย่างที่คุณเห็นเรามีสองโฟลเดอร์หนึ่ง "เดเบียน" และอีก «ผู้ใช้» ที่เราสร้างขึ้นเมื่อไม่กี่วินาทีที่ผ่านมาเราสร้างโฟลเดอร์ขึ้นมาหนึ่งโฟลเดอร์ "ถังขยะ" และอีก “ คอมปาร์ตีร์”

นี่คือรหัสสคริปต์

#!/bin/sh firefox https://ubunlog.com/ &

เราบันทึกไว้ในโฟลเดอร์ "ถังขยะ" ด้วยชื่อ «ubunlog-เว็บ".

ตอนนี้เราไปที่โฟลเดอร์ “ คอมปาร์ตีร์” ในสิ่งนี้เราสร้างโฟลเดอร์ชื่อ "Pixmaps" และเราบันทึกด้วยชื่อ «ubunlog-web.png» เราดาวน์โหลดภาพนี้จาก ที่นี่

เราต้องสร้างตัวเรียกใช้งานเท่านั้นสำหรับสิ่งนี้เราจะสร้างโฟลเดอร์สุดท้ายภายใน การแชร์ โดยชื่อ "แอปพลิเคชัน"

นี่คือรหัสของเดียวกัน

[รายการเดสก์ท็อป] การเข้ารหัส=ชื่อ UTF-8=Ubunlog ความคิดเห็นของบล็อกเว็บ=บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสารและทุกสิ่งเกี่ยวกับ Ubuntu GenericName=บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสารและทุกสิ่งเกี่ยวกับ Ubuntu Exec=ubunlog-web Terminal=ประเภทเท็จ=ไอคอนแอปพลิเคชัน=ubunlog-หมวดหมู่เว็บ=แอปพลิเคชัน;เครือข่าย;อินเทอร์เน็ต; เริ่มต้น WMClass=ubunlog-เว็บ StartupNotify=true

พวกเขาเก็บไว้ในโฟลเดอร์ "แอปพลิเคชัน" ในขณะที่ «ubunlog-web.desktop»

เรามีทุกอย่างพร้อมแล้วเหลือเพียง สร้างแพ็คเกจ debแจ้งให้คุณป้อนรหัสผ่านรูท แต่ไม่ได้ติดตั้งอะไรเลย

sudo chmod -R root:การตั้งค่ารูท/ sudo chmod -R 755 การตั้งค่า/ sudo dpkg -b การตั้งค่า/ ubunlog-web_0.11.5.13_all.deb chmod 777 ubunlog-web_0.11.5.13_all.deb chown -R การตั้งค่า

หากทุกอย่างถูกต้อง แสดงว่าคุณมีแพ็คเกจอยู่แล้ว «ubunlog-web_0.11.5.13_all.deb».

คู่มือการขยายตัวเอง (ทดสอบบน Ubuntu เท่านั้นใช้งานได้กับทุก Distro)

วิธีนี้คือการสร้างไฟล์ด้วยสคริปต์ makeelf (http://megastep.org/makeself/)

พวกเขาดาวน์โหลดจากเว็บเป็นไฟล์. run พวกเขาให้สิทธิ์และเราดำเนินการ

วิธีการใช้งาน

makeelf.sh FOLDER / SOURCE / RESULT.RUN "TEXT" ./setup.sh

อย่างที่เห็น "โฟลเดอร์ / ต้นกำเนิด / » คือไฟล์และโฟลเดอร์ของแอปพลิเคชันหรือสคริปต์ของเรา «ผลการทำงาน» คือไฟล์ผลลัพธ์หรือไฟล์ที่ขยายตัวเอง
"TEXT" คือข้อความที่แสดงขึ้นเมื่อคุณรันไฟล์ Self-extracting และอยู่ในเครื่องหมายคำพูด
"./Setup.sh" เป็นสคริปต์ที่ทำงานเมื่อคลายการบีบอัดไฟล์ที่แตกไฟล์เองอย่าลืมให้สิทธิ์

เพื่อให้เข้าใจได้มากขึ้นเราจะใช้ตัวอย่างเดียวกันของแพ็คเกจ deb แต่ปรับให้เข้ากับมัน

เราสร้างโฟลเดอร์ชื่อ «ubunlog» และเราคัดลอกโฟลเดอร์ที่สร้างขึ้นเองเปลี่ยนชื่อเป็น ทำให้ตัวเอง
ในโฟลเดอร์ «ubunlog» สร้างชื่ออื่น การติดตั้ง และภายในนี้จะมีไฟล์ต่อไปนี้

สคริปต์ตัวติดตั้ง

#!/bin/sh cp ubunlog-เว็บ /usr/bin/ chmod 755 /usr/bin/ubunlog- เว็บ chmod +x /usr/bin/ubunlog-เว็บซีพี ubunlog-web.png /usr/share/pixmaps/ chmod 755 /usr/share/pixmaps/ubunlog-web.png ซีพี ubunlog-web.desktop /usr/share/applications/ chmod 755 /usr/share/applications/ubunlog-web.desktop chmod +x /usr/share/applications/ubunlog-web.desktop

พวกเขาบันทึกเป็น setup.sh

สคริปต์ของเรา

#!/bin/sh firefox https://ubunlog.com/ &

พวกเขาบันทึกเป็น "ubunlog-web» ไอคอนจะถูกบันทึกพร้อมชื่อ «ubunlog-web.png» เราดาวน์โหลดภาพนี้จาก ที่นี่

เหยือก

[รายการเดสก์ท็อป] การเข้ารหัส=ชื่อ UTF-8=Ubunlog ความคิดเห็นของบล็อกเว็บ=บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสารและทุกสิ่งเกี่ยวกับ Ubuntu GenericName=บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสารและทุกสิ่งเกี่ยวกับ Ubuntu Exec=ubunlog-web Terminal=ประเภทเท็จ=ไอคอนแอปพลิเคชัน=ubunlog-หมวดหมู่เว็บ=แอปพลิเคชัน;เครือข่าย;อินเทอร์เน็ต; เริ่มต้น WMClass=ubunlog-เว็บ StartupNotify=true

พวกเขาบันทึกเป็น «ubunlog-web.desktop»

ตอนนี้เราสร้างไฟล์ Self-extracting

การตั้งค่า chmod 755/ chmod +x การตั้งค่า/setup.sh sh ../makeself/makeself.sh การตั้งค่า ubunlog-web.run "Ubunlog - บทช่วยสอน, เดสก์ท็อป Linux, ซอฟต์แวร์, ข่าวสาร และทุกสิ่งเกี่ยวกับ Ubuntu" ./setup.sh

เรามีไฟล์ที่แตกตัวเองแล้ว

ฉันหวังว่านี่จะช่วยคุณได้บ้าง

ขอบคุณสำหรับความคิดเห็นหากมีข้อผิดพลาดอาจเป็นผลมาจากจินตนาการของคุณฮ่า ๆ ๆ


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

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

*

*

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

  1.   เดวิดโกเมซ dijo

    คู่มือยอดเยี่ยมขอแสดงความยินดี ...

  2.   มาใช้ Linux กันเถอะ dijo

    บทความยอดเยี่ยม Luciano!
    ฉันขอแสดงความยินดีกับคุณจริงๆ
    กอด! พอล.

  3.   maty1206 dijo

    ยินดีด้วย! บทความนี้เป็นหนึ่งในบทความที่ดีที่สุดที่ฉันเคยเห็นเพื่อเรียนรู้วิธีการจัดแพคเกจไบนารี. deb สำหรับ Debian และอนุพันธ์เช่น Ubuntu

    ในกรณีของ ArchLinux เราใช้ PKGBUILD ในรูปแบบ BSD ที่ดีที่สุด: https://wiki.archlinux.org/index.php/PKGBUILD_%28Espa%C3%B1ol%29

    กอด!

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

      สวัสดีขอบคุณสำหรับความคิดเห็นของคุณหากคุณคิดว่าเราสามารถเพิ่มวิธีสร้างแพ็คเกจสำหรับ arch ได้ในโพสต์ฉันขอชี้แจงว่าฉันใช้ ubuntu และ centos เพียงเล็กน้อยเท่านั้นฉันแสดงความคิดเห็นว่ามันดีมากที่ได้ลองครั้งเดียว แต่ไม่มี เวลาในการติดตั้งซึ่งจะดีมากเพราะถ้าฉันสามารถทำได้ทุกคน

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

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

  5.   หยอกล้อ dijo

    สวัสดีลูเซียโน

    ฉันได้เริ่มทำตามขั้นตอนต่างๆแล้วและไม่สามารถผ่านการตรวจสอบการติดตั้งได้ ส่งกลับข้อผิดพลาดต่อไปนี้:

    "Makefile: 349: สูตรสำหรับเป้าหมาย" install-recursive "ล้มเหลว
    ทำให้: *** [install-recursive] ข้อผิดพลาด 1

    **** การติดตั้งล้มเหลว ยกเลิกการสร้างแพ็กเกจ "

    ก่อนหน้านั้นคำสั่ง "make" จะแสดงสิ่งนี้ในเอาต์พุต:

    "Make [3]: ไม่มีอะไรจะทำสำหรับ" ทั้งหมด ""

    ฉันไม่เข้าใจว่าอะไรคือความล้มเหลว ฉันได้พยายามดาวน์โหลด LAME เวอร์ชันล่าสุดเพื่อดูว่าจะช่วยแก้ปัญหาของฉันได้หรือไม่ แต่ก็ไม่ต้องทำอะไร

    อาศิรพจน์