เทียบเท่ากับ '.msi' และไฟล์ 'setup.exe' ใน Debian หรือ Ubuntu หรือไม่


15

คำตอบนี้อธิบาย.msiและsetup.exeไฟล์สำหรับการติดตั้งแอพพลิเคชั่นบน Windows

มีเทียบเท่า.msiและsetup.exeไฟล์ใน Debian หรือ Ubuntu หรือไม่ Do .debไฟล์แพคเกจตรงตามลักษณะที่.msiหรือsetup.exeหรือสิ่งอื่นใด


8
ฉันไม่รู้ว่าทำไมคุณถึงถามเรื่องนี้ดังนั้นฉันจะบอกว่านี่เป็นความคิดเห็นทั่วไปสำหรับทุกคนที่เจอคำถามนี้ ในขณะที่มีวิธีการติดตั้งซอฟต์แวร์ "ด้วยตนเอง" วิธีที่ต้องการโดยการกระจาย Linux ส่วนใหญ่ (และแนะนำอย่างยิ่ง) คือการติดตั้งซอฟต์แวร์ผ่านตัวจัดการแพคเกจ วิธีนี้คุณจะได้รับการอัปเดตความปลอดภัยโดยอัตโนมัติและมีการทดสอบในระดับหนึ่งเพื่อให้แน่ใจว่าสามารถใช้งานร่วมกับการแจกจ่ายได้ หากคุณต้องการซอฟต์แวร์เวอร์ชันล่าสุดและยิ่งใหญ่ที่สุดที่ไม่มีใน repos หลักให้ใช้ repo ชุมชน (เช่น PPA ใน Ubuntu) แต่ให้ใช้โปรแกรมจัดการแพ็คเกจเสมอ
Muzer

ไม่มี.setupไฟล์ใน Windows คุณหมายถึงsetup.exeชื่อทั่วไปของตัวติดตั้งหรือไม่
gronostaj

ดูหน้าคนและเอกสารที่เชื่อมโยงมาจากที่นั่น ไม่มี Windows ที่เทียบเท่าได้แม้แต่เพียงอย่างเดียวสิ่งอื่นใดที่มันสามารถทำได้ apt-getapt-get install
2560

5
@jthill นั่นเป็นเรื่องจริง ไม่เต็มไปด้วยเนื้อหรือเป็นที่นิยมเท่าapt-getแต่รุ่นล่าสุด (Win7 และสูงกว่า) ของ PowerShell OneGetที่คุณสามารถติดตั้งได้Chocolatey(เทียบเท่ากับHomebrewบน Mac) พวกเขาอาจจะได้รับความนิยมน้อยกว่าเทียบเท่า 'ระวัง แต่บอกว่าไม่มีเทียบเท่าใน Windowsไม่ถูกต้องโจ๋งครึ่ม
flith

1
@ Tim: คำถามนี้ไม่สามารถตอบได้อย่างสมเหตุสมผลโดยที่คุณระบุสิ่งที่แม่นยำที่คุณหมายถึง "เทียบเท่า" อะไรที่เฉพาะเจาะจงคุณสมบัติของ.msiคุณกำลังไฟล์และติดตั้งสนใจมีอะไรบ้าง? อะไรคือเกณฑ์ที่แม่นยำในการพิจารณาว่าสิ่งที่ "เทียบเท่า" หรือไม่? ตัวอย่างเช่น: ตัวติดตั้งเป็นเพียงโปรแกรมเช่นโปรแกรมอื่น ๆ setup.exeอย่างมีอะไรพิเศษเกี่ยวกับโปรแกรมชื่อ เนื่องจากsetup.exeเป็นเพียงโปรแกรมเช่นโปรแกรมอื่น ๆ และ Debian มากที่สุดอย่างแน่นอนไม่ได้มีแนวคิดของ "โปรแกรม" ที่ไม่คุณพิจารณาว่าเทียบเท่า? ถ้าไม่ทำไมล่ะ
Jörg W Mittag

คำตอบ:


28

อาจจะใกล้ชิดกับตัวติดตั้ง MSI กว่าsetup.exeเป็น.debแพคเกจรวมต้นไม้ของไฟล์ที่จะคัดลอกลงในระบบแฟ้มเช่นเดียวกับคอลเลกชันของก่อนและหลังการติดตั้งตะขอที่จะเรียกใช้ (ในหมู่สิ่งอื่น ๆ ) hooks สามารถทำอะไรได้อย่างมีประสิทธิภาพในระบบรวมถึงสิ่งที่ฉันไม่คิดว่าฉันเคยเห็นบน Windows: การเพิ่มผู้ใช้สำหรับบริการของระบบ สิ่งหนึ่งที่พวกเขาทำไม่ได้คือติดตั้ง.debแพ็กเกจอื่น- ฐานข้อมูลถูกล็อคระหว่างการติดตั้งดังนั้นสามารถทำได้ผ่านการพึ่งพา การติดตั้ง.debแพคเกจจะสร้างรายการในฐานข้อมูลกลางของแพ็คเกจที่ติดตั้งเพื่อความสะดวกในการบำรุงรักษา

ttf-mscorefontsแพคเกจที่น่าสนใจในการที่แพคเกจของตัวเองมีเพียงสคริปต์เพื่อดาวน์โหลดและติดตั้งแบบอักษร สคริปต์นี้ถูกดำเนินการในหนึ่งใน hooks เหล่านี้

ใกล้เคียงกับsetup.exeอาจดาวน์โหลดซอร์สโค้ดของ progam จากหน้าแรกของโครงการจากนั้นเรียกใช้./configure && make && sudo make installหรือวิธีการอื่นใดที่ผู้เขียนตัดสินใจใช้ เนื่องจากวิธีนี้ไม่ได้เพิ่มแพ็คเกจไปยังฐานข้อมูลของโปรแกรมที่ติดตั้งการลบมันในภายหลังจึงเป็นเรื่องยาก

ความแตกต่างอีกประการหนึ่งคือการ.debระบุการพึ่งพาของมันดังนั้นการติดตั้งที่เหมาะสมสามารถรับประกันได้ เท่าที่ฉันรู้ในโลกของ Windows MSI ไม่สามารถทำให้การติดตั้งของ MSI อื่นดังนั้นsetup.exeโดยทั่วไปจะใช้สำหรับการติดตามการพึ่งพาประเภทนี้ ความคิดเห็นหลายข้อสังเกตว่า MSIs สามารถตั้งชื่อการอ้างอิงได้ แต่เนื่องจากไม่มีฐานข้อมูลกลางของ MSIs ที่เหมือนกับที่มีสำหรับ.debแพ็คเกจ

ดังนั้นการ.debจัดเรียงของในระหว่างติดตั้ง MSI setup.exeและ แพคเกจสามารถทำสิ่งที่ต้องการในระหว่างตะขอก่อนและหลังการติดตั้งสามารถตั้งชื่อและมักจะพบการพึ่งพาของตัวเองและปล่อยให้บันทึกการติดตั้งในตำแหน่งศูนย์กลางเพื่อความสะดวกในการบำรุงรักษา


2
ใน Windows ตัวsetup.exeติดตั้งสไตล์ยังรวมเข้ากับระบบตัวติดตั้งที่ติดตาม (ด้วยตัวถอนการติดตั้งเป็นต้น) ด้วย MSI และตัว.exeติดตั้งการพึ่งพาได้รับการจัดการโดยฝังการพึ่งพาในตัวติดตั้ง ( เช่นตัวติดตั้ง VC redistributable หรือตัวติดตั้ง DirectX) และโดยการติดตั้ง DLLs พึ่งพาควบคู่ไปกับปฏิบัติการ (หรือเป็นแอสเซมบลีของระบบ) ดังนั้นยังมีความคล้ายคลึงกับsetup.exe .debสิ่งที่เทียบเท่ากับการสร้างจากแหล่งที่มาคือการสร้างจากแหล่งบน Windows ด้วย ;-)
Stephen Kitt

ฉันไม่ได้ทำสิ่งเดียวที่ทำให้ MSIs ใกล้กับแพ็คเกจ Debian มากกว่าโปรแกรมปฏิบัติการติดตั้ง: MSI ไม่สามารถติดตั้ง MSI อื่นได้เช่นเดียวกับแพ็คเกจ Debian ไม่สามารถติดตั้งแพ็คเกจอื่นได้ (ยกเว้นผ่านการพึ่งพา)
Stephen Kitt

@StephenKitt: setup.exe- ตัวติดตั้งแบบไม่มีทาง "ติดตาม" โดยระบบปฏิบัติการเว้นแต่ว่าพวกเขาจะเรียกใช้ MSIs ภายใต้ (และจากนั้นเป็น MSIs ที่ติดตาม) ข้อเท็จจริงที่ว่าพวกเขามีการถอนการติดตั้งรีจิสตรีคีย์ไม่มีสิ่งใดเกิดขึ้น มันเหมือนกับว่ามีการติดตามทุกไฟล์เพราะมีการระบุไว้ในระบบไฟล์
user541686

2
MSI สามารถและบ่อยครั้ง (ในผลิตภัณฑ์ที่ใหญ่กว่า) มีการพึ่งพาเนื่องจากไม่มีพื้นที่เก็บข้อมูลส่วนกลางของ. MSI ซึ่งมักจะเกิดขึ้นเมื่อคุณพลาดการพึ่งพาเพราะพวกเขาปฏิเสธที่จะติดตั้ง
Matteo Italia

1
"สิ่งที่ฉันไม่คิดว่าฉันเคยเห็นบน Windows: การเพิ่มผู้ใช้สำหรับบริการของระบบ" ฉันค่อนข้างแน่ใจว่าตัวติดตั้ง SQL Server, IIS และ Visual Studio ทำเช่นนี้ แต่มันอาจจะไม่ชัดเป็นแบบผู้ใช้ Windows เป็นบิตเพิ่มเติมกลั่นที่เริ่มต้นรูปแบบ Unix / Linux (ทั้งที่คุณกำลังรากหรือคุณไม่ได้) ..
MSalters

15

ตัวติดตั้งไบนารีไฟล์เดียวที่ฉันเห็นบน Linux คือ.shไฟล์ที่มีเชลล์สคริปต์เชื่อมต่อกันด้วยไบนารีหยดเช่นนี้

#!/bin/bash
tmpdir=$(mktemp -d /tmp/installer.XXX)
tail -n +6 "$0" | tar -xJf - -C "$tmpdir" || exit 1
sudo "$tmpdir/setup.sh"
rm -rf "$tmpdir"
exit
[binary content follows]

สิ่งนี้เทียบเท่ากับไฟล์setup.exeที่ขยายตัวเองไปยังโฟลเดอร์ temp และเรียกใช้ตัวติดตั้งจริงจากที่นั่น


6

นำมาจาก: /ubuntu/13415/what-are-run-files/13416#13416

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

พวกเขาอยู่ใกล้กับไฟล์ exe windows และเป็นเช่นนั้นมาพร้อมกับปัญหาเดียวกัน

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