ความแตกต่างระหว่างไฟล์. deb และไฟล์. run


10

ความแตกต่างระหว่างการสร้างคืออะไรไฟล์ .debและติดตั้งพวกเขาและเพียงแค่เรียกใช้ไฟล์ .run ?


1
คุณมีตัวอย่างที่เฉพาะในใจหรือไม่?
slm

คำตอบ:


8

.debไฟล์เป็นแพ็คเกจสำหรับdpkgผู้จัดการแพคเกจ Debian ระดับต่ำ (ซึ่งเรียกใช้ภายใต้ประทุนโดย APT และญาติ ๆ ) .debไฟล์เป็นแพคเกจสำหรับ Debian หรืออนุพันธ์เช่น Ubuntu หรือมิ้นท์

แพ็คเกจ Debian มีไฟล์ที่เป็นของแพ็คเกจรวมถึง "ไฟล์ควบคุม" ซึ่งอธิบายการอ้างอิงของแพ็คเกจและข้อมูลเมตาอื่น ๆ และสคริปต์การติดตั้งที่ดำเนินการเมื่อติดตั้งอัปเกรดหรือถอนการติดตั้งแพคเกจ

คุณสามารถดูเนื้อหาของการเป็น.debไฟล์ที่มีและdpkg -c dpkg -Iหากคุณไม่มีdpkgคุณสามารถใช้ar t foo.debเพื่อแสดงรายการชิ้นส่วนของ.debไฟล์และar x foo.deb control.tar.gzเพื่อแยกcontrol.tar.gzส่วน (และคล้ายกันสำหรับส่วนอื่น ๆ )

Red Hat (และญาติเช่น CentOS และ Fedora), SuSE และอื่น ๆ ใช้rpmซึ่งเป็นรูปแบบที่แตกต่างและมีลักษณะคล้ายกัน มีคนอื่นในระบบยูนิกซ์อื่น ๆ

.runไม่ใช่ส่วนขยายมาตรฐาน .runไฟล์สันนิษฐานว่าเป็นสิ่งที่คุณสามารถดำเนินการ อาจติดตั้งโปรแกรมหรือทำสิ่งที่แตกต่างอย่างสิ้นเชิง


8

โดยทั่วไปไฟล์. deb นั้นคล้ายกับไฟล์ zip ที่มีไฟล์พร้อมกับสคริปต์สั้น ๆ ที่สามารถรันการติดตั้งโพสต์เพื่อเพิ่มผู้ใช้กลุ่ม ฯลฯ เข้าสู่ระบบหลังการติดตั้ง

ไฟล์. run มักเป็นไฟล์ไบนารี่เดี่ยวที่สามารถเรียกใช้งานได้หรือเชลล์สคริปต์ที่มีไฟล์ไบนารี่ไบนารีที่สามารถติดตั้งได้ ถ้ามันเป็นเชลล์สคริปหลากหลายมันมักจะมีไบเบิ้ลบล็อบซึ่งมักจะมีความหมายเหมือนกันกับไฟล์ซิปซ้ำหรือไฟล์ tar มันจะมีโครงสร้างไดเรกทอรีของไฟล์

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

ตัวอย่างนี้จะเป็นถ้าคุณดาวน์โหลด Java JDK จาก Oracle มันมักจะเป็นแฟ้มที่ปฏิบัติการเดียวที่เมื่อดำเนินการจะถ่ายโอน .deb หรือ .rpm ไฟล์ออกไปยังดิสก์แล้วติดตั้งให้ใช้the package management tools: dpkg, apt, หรือyumrpm

ตัวอย่าง

นี่คือตัวอย่างของการดาวน์โหลด / ติดตั้งที่ดูเหมือนกับหนึ่งในไฟล์. run เหล่านี้ ส่วนขยายคือ. bin แต่เป็นเพียงส่วนเสริมเท่านั้นส่วนขยายไม่มีความเกี่ยวข้องอื่นนอกจากช่วยให้ผู้ใช้แยกแยะความแตกต่างระหว่างไฟล์ประเภทต่างๆ

$ wget http://www.java.net/download/jdk7/archive/b125/binaries/jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin
$ ./jdk-7-ea-bin-b125-linux-x64-13_jan_2011.bin

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

ด้วยวิธีนี้ทำให้สามารถทำสิ่งเพิ่มเติมนอกเหนือจากการติดตั้งแพคเกจ ตัวอย่างเช่น Oracle มีข้อตกลงสิทธิ์การใช้งานที่พวกเขาต้องการให้คุณยอมรับ:

10.5 ข้อตกลงนี้เป็นข้อตกลงทั้งหมดของคู่สัญญาที่เกี่ยวข้องกับประเด็น มันเข้ามาแทนที่การสื่อสารด้วยวาจาหรือลายลักษณ์อักษรข้อเสนอเงื่อนไขการเป็นตัวแทนและการรับประกันและเหนือกว่าความขัดแย้งหรือเพิ่มเติมใด ๆ ของคำพูดคำสั่งการตอบรับหรือการสื่อสารอื่น ๆ ระหว่างฝ่ายที่เกี่ยวข้องกับเนื้อหา สิทธิ์การใช้งานรหัส nary ข้อกำหนดเพิ่มเติมหรือสิทธิ์การใช้งานอื่น ๆ ที่มีอยู่ในซอฟต์แวร์ที่ได้รับอนุญาตให้ใช้สิทธิ ไม่มีการแก้ไขข้อตกลงนี้จะมีผลผูกพันเว้นแต่จะทำเป็นลายลักษณ์อักษรและลงนามโดยตัวแทนผู้มีอำนาจของแต่ละฝ่าย

คุณเห็นด้วยกับข้อกำหนดสิทธิการใช้งานข้างต้นหรือไม่ [ใช่หรือไม่]

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

Extracting...
UnZipSFX 5.52 of 28 February 2005, by Info-ZIP (http://www.info-zip.org).
   creating: jdk1.7.0/
   creating: jdk1.7.0/lib/
  inflating: jdk1.7.0/lib/jexec      
   creating: jdk1.7.0/lib/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-attach.jar  
  inflating: jdk1.7.0/lib/visualvm/visualvm/modules/com-sun-tools-visualvm-host-views.jar  
   creating: jdk1.7.0/lib/visualvm/visualvm/modules/locale/
...

ในกรณีนี้การติดตั้งประเภทนี้ไม่ได้เรียกตัวจัดการแพคเกจ แต่เพียงการถ่ายโอนเนื้อหาออกไปยังแผนผังไดเรกทอรีเดียวเพื่อให้คุณสามารถย้ายไปรอบ ๆ ได้ตามที่คุณต้องการ

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

$ pwd
/home/saml/jdk1.7.0
[saml@grinchy jdk1.7.0]$ ls -l
total 19308
drwxr-xr-x  2 saml saml     4096 Jan 13  2011 bin
-r--r--r--  1 saml saml     2487 Jan 13  2011 COPYRIGHT
drwxr-xr-x  5 saml saml     4096 Jan 13  2011 db
drwxr-xr-x 11 saml saml     4096 Jan 13  2011 demo
drwxr-xr-x  3 saml saml     4096 Jan 13  2011 include
drwxr-xr-x  6 saml saml     4096 Sep 29 10:57 jre
drwxr-xr-x  3 saml saml     4096 Sep 29 10:57 lib
-r--r--r--  1 saml saml     9005 Jan 13  2011 LICENSE
drwxr-xr-x  4 saml saml     4096 Jan 13  2011 man
-r--r--r--  1 saml saml    25379 Jan 13  2011 README.html
-r--r--r--  1 saml saml    20320 Jan 13  2011 README_ja.html
-r--r--r--  1 saml saml    15160 Jan 13  2011 README_zh_CN.html
-r--r--r--  1 saml saml     5348 Sep 29 10:58 register.html
-r--r--r--  1 saml saml     5645 Sep 29 10:58 register_ja.html
-r--r--r--  1 saml saml     4951 Sep 29 10:58 register_zh_CN.html
drwxr-xr-x  8 saml saml     4096 Jan 13  2011 sample
-rw-r--r--  1 saml saml 19631790 Jan 13  2011 src.zip

อ้างอิง

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