ความแตกต่างระหว่างการสร้างคืออะไรไฟล์ .debและติดตั้งพวกเขาและเพียงแค่เรียกใช้ไฟล์ .run ?
ความแตกต่างระหว่างการสร้างคืออะไรไฟล์ .debและติดตั้งพวกเขาและเพียงแค่เรียกใช้ไฟล์ .run ?
คำตอบ:
.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
ไฟล์สันนิษฐานว่าเป็นสิ่งที่คุณสามารถดำเนินการ อาจติดตั้งโปรแกรมหรือทำสิ่งที่แตกต่างอย่างสิ้นเชิง
โดยทั่วไปไฟล์. deb นั้นคล้ายกับไฟล์ zip ที่มีไฟล์พร้อมกับสคริปต์สั้น ๆ ที่สามารถรันการติดตั้งโพสต์เพื่อเพิ่มผู้ใช้กลุ่ม ฯลฯ เข้าสู่ระบบหลังการติดตั้ง
ไฟล์. run มักเป็นไฟล์ไบนารี่เดี่ยวที่สามารถเรียกใช้งานได้หรือเชลล์สคริปต์ที่มีไฟล์ไบนารี่ไบนารีที่สามารถติดตั้งได้ ถ้ามันเป็นเชลล์สคริปหลากหลายมันมักจะมีไบเบิ้ลบล็อบซึ่งมักจะมีความหมายเหมือนกันกับไฟล์ซิปซ้ำหรือไฟล์ tar มันจะมีโครงสร้างไดเรกทอรีของไฟล์
ในบางครั้งไฟล์. run ชนิดนี้จะมีไฟล์. deb หรือ. rpm ซึ่งจะถูกเททิ้งไว้ในดิสก์และสามารถติดตั้งแยกต่างหากหรือสคริปต์ที่บรรจุไว้จะถ่ายโอนออกไปยังดิสก์จากนั้นลอง เพื่อติดตั้งโดยใช้ซอฟต์แวร์ตัวจัดการแพคเกจระบบของคุณ
ตัวอย่างนี้จะเป็นถ้าคุณดาวน์โหลด Java JDK จาก Oracle มันมักจะเป็นแฟ้มที่ปฏิบัติการเดียวที่เมื่อดำเนินการจะถ่ายโอน .deb หรือ .rpm ไฟล์ออกไปยังดิสก์แล้วติดตั้งให้ใช้the package management tools: dpkg
, apt
, หรือyum
rpm
นี่คือตัวอย่างของการดาวน์โหลด / ติดตั้งที่ดูเหมือนกับหนึ่งในไฟล์. 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