ทำไมนักพัฒนาไม่สร้างตัวช่วยติดตั้งบน linux? [ปิด]


34

ฉันแน่ใจว่ามันไม่ได้เกี่ยวกับความเกียจคร้านหรืออะไรแบบนั้น แต่ฉันไม่เข้าใจว่าทำไมนักพัฒนาของแอพที่ผู้บริโภคส่วนใหญ่หันหน้าไปทางแอปไม่ได้สร้างวิซาร์ดการติดตั้งใด ๆ แอพเดียวกันมักมีตัวติดตั้งสำหรับ Windows และ Mac OS ดังนั้นทำไมไม่ใช้ Linux

มีเหตุผลทางเทคนิคสำหรับแนวโน้มนี้หรือเป็นเพียงแค่การประชุม?

แก้ไข (23-09-2557): คำถามนี้ไม่ได้รับการขอให้เริ่มสงครามเปลวไฟ Windows กับ Linux ฉันใช้ระบบปฏิบัติการหลักทั้ง 3 ระบบและนอกเหนือจาก Linux แล้วอีกสองระบบ (Windows และ Mac OS) ทั้งคู่มีตัวติดตั้ง ฉันยังไม่ได้ติดตั้ง Oracle แต่สิ่งที่ฉันต้องการติดตั้งฉันไม่เคยเห็นเครื่องมือติดตั้ง GUI สำหรับ Linux

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

ยกตัวอย่างเช่นการตั้งค่า LAMP stack นี่เป็นซอฟต์แวร์โอเพ่นซอร์สทั้งหมดในที่เก็บเริ่มต้น แต่คุณสามารถตั้งค่าทุกอย่างในครั้งเดียวโดยไม่ต้องใช้สคริปต์ได้หรือไม่? ตอนนี้ดูที่เซิร์ฟเวอร์ WAMP ใน Windows คุณเพียงแค่เรียกใช้โปรแกรมติดตั้งและติดตั้งซอฟต์แวร์หลายตัวในลักษณะที่ทำงานร่วมกันได้ดี จากนั้นจะตั้งค่าเริ่มต้นและสิ่งที่ดี โปรแกรมติดตั้งสามารถทำได้ผู้จัดการแพคเกจไม่ ใช่คุณสามารถค้นหาสคริปต์สำหรับออนไลน์นั้น แต่อยู่ที่ไหน แล้วอันไหนล่ะ?

ตัวติดตั้งไม่ใช่เทคโนโลยีที่ล้าสมัยมาก่อน พวกเขายังคงมีประโยชน์และผู้ใช้ 95% พอใจกับพวกเขาอยู่แล้ว


12
นอกจากนี้ไม่มีขาด Windows ไม่ใช่ Linux Linux ไม่ใช่ Windows
edmz

27
@ Arsalan00 คุณไม่มีจุดสำคัญ โดยปกติจะมี GUI สำหรับผู้จัดการแพ็คเกจ (Ubuntu Software Center, Synaptic, YaST และอื่น ๆ )
nyuszika7h

30
ฉันไม่เคยเข้าใจจุดของพ่อมดผู้ใช้ 99.99% จะคลิก "ดำเนินการต่อ" อย่างสุ่มสี่สุ่มห้าดังนั้นการติดตั้งที่เงียบและไม่โต้ตอบจึงเหมาะสมกว่า
SK-logic

7
@DebugErr คุณโกรธเคืองเรื่องตลกง่ายๆ ไม่มีความผิดที่ตั้งใจไว้
Michael Hampton

6
นี่เป็นสัญญาณหนึ่งที่บ่งบอกว่าลีนุกซ์ในรสชาติปัจจุบันนั้นมีไว้สำหรับเซิร์ฟเวอร์และสภาพแวดล้อมเฉพาะอื่น ๆ เท่านั้นไม่ใช่เพื่อการใช้งานของผู้บริโภค คนปกติจะบรรทุกหนักเกินไปอย่างสมบูรณ์แม้กระทั่ง "ศูนย์ซอฟต์แวร์" ที่ไม่คุ้นเคยหรือไม่คุ้นเคย คุณควรให้. exe แก่ผู้ที่คลิกไม่ใช่. tar.gz หรือคำแนะนำแบบยาวหน้าเกี่ยวกับวิธีการใช้ซอฟต์แวร์พื้นฐานในการทำงาน ฉันขอโทษที่ทำให้ทุกคนเสียใจด้วยความคิดของฉัน
Traubenfuchs

คำตอบ:


63

นักพัฒนาเพียงแค่ต้องจัดทำแพคเกจสำหรับการจัดจำหน่าย การกระจายแต่ละครั้งนั้นมีวิธีการติดตั้งแพ็คเกจนี้ วิธีนี้สามารถอยู่ในเทอร์มินัล ( apt-get) หรือผ่านทางส่วนต่อประสานกราฟิกเช่น Ubuntu Software Center

ความงามคือผู้พัฒนาต้องใส่ใจกับการสร้างแพ็คเกจที่เหมาะสม ผู้จัดจำหน่ายดูแลส่วนที่เหลือและการติดตั้งแพคเกจแต่ละครั้งจะมีกระบวนการเดียวกัน


15
+1 ... "การติดตั้งแพ็คเกจแต่ละครั้งมีกระบวนการเดียวกัน"
Uwe Plonus

7
นักพัฒนาจำเป็นต้องใส่ใจกับการสร้างแพ็คเกจที่เหมาะสมสำหรับการกระจายทุกครั้งที่พวกเขาต้องการสนับสนุนดังนั้นพวกเขาจึงต้องการ RPMs, debs, สร้างสคริปต์สำหรับพอร์ตที่แตกต่างกันตั้งแต่หนึ่งตัวขึ้นไปผู้จัดการแพ็คเกจยอดเยี่ยม แต่พยายามสนับสนุน ระบบทั้งหมดในฐานะนักพัฒนานั้นยาก นั่นเป็นเหตุผลว่าทำไมคนส่วนใหญ่ที่ดูแลแพ็คเกจสำหรับ distros ไม่ใช่นักพัฒนาต้นน้ำจริงๆ
Alan Shutko

12
ข้อเสียที่ร้ายแรงของวิธีการนี้คือแพ็คเกจที่ล้าสมัย (ในบางกรณี) ใน Windows ฉันสามารถติดตั้งเวอร์ชันล่าสุดได้ทุกที่ บน Linux ฉันต้องใช้ (ติดตั้งและเข้าใจ!) ไคลเอนต์ควบคุมเวอร์ชันเพื่อรับซอร์สและคอมไพเลอร์ต่าง ๆ หรือ Make / CMake / etc เพื่อสร้างมัน
marczellm

4
หลายโครงการไม่ให้รุ่นล่าสุดที่มีเสถียรภาพโดยไม่จำเป็นต้องควบคุมแหล่ง (ยกเว้นกรณีที่คุณต้องการล่าสุดพัฒนารุ่น ... ) คุณยังคงต้องรวบรวมมันเพราะมันเป็นไปไม่ได้ที่จะสร้างไบนารี่ที่ทำงานนอกระบบสำหรับทุก ๆ ระบบปฏิบัติการ * เหมือนกัน (ต่างจาก Windows ซึ่งเป็นแพลตฟอร์มที่เสถียรและเป็นเนื้อเดียวกัน) โชคดีที่คอมไพเลอร์ติดตั้งและติดตั้งบน Linux ได้ง่ายมากเมื่อเทียบกับ Windows
Rufflewind

3
@ API-Beast ตอบคำถามได้อย่างสมบูรณ์ นักพัฒนาไม่จำเป็นต้องสร้างวิซาร์ดภารกิจที่ยุ่งยากนี้ได้รับการจัดการโดยการแจกแจง
Florian Margaine

42

เพราะพวกเขาไม่จำเป็นต้อง ลีนุกซ์รุ่นลีนุกซ์มักจะมีระบบการจัดการแพกเกจที่ใช้งานได้ซึ่งแตกต่างจาก Windows ซึ่งทุกแอพพลิเคชั่นเดียวจะต้องติดตั้งและอัพเดตซ้ำแล้วซ้ำอีก


6
กระนั้นคนที่ไม่มีความรู้ด้านเทคนิคส่วนใหญ่ที่ฉันรู้จักต้องการดาวน์โหลดตัวติดตั้งและเรียกใช้ตัวช่วยสร้างแทนที่จะเปิดเทอร์มินัลแล้วพิมพ์คำสั่ง สิ่งนี้เป็นตัวจัดการแพ็คเกจที่ยอดเยี่ยมสำหรับเรา แต่จริงๆแล้วมันรบกวนผู้ใช้พีซีทั่วไปที่เริ่มใช้พีซีหลังจากยุค Windows 98
Arsalan Ahmad

43
@ Arsalan00 คิดเกี่ยวกับรูปแบบ Linux เป็น AppStore - เป็นรูปแบบเดียวกันจริงๆ คุณสามารถถามได้ว่าทำไมไม่มีตัวช่วยสร้างสำหรับ Android หรือ iOS
Maciej Piechotka

5
แอนดรอยด์และ iOS นั้นมีข้อ จำกัด มากกว่าในด้านวิธีการใช้งานและวิธีการใช้งานแอพ Linux เป็นขั้วตรงกันข้ามของสิ่งนั้น ระบบปฏิบัติการมือถือบังคับใช้ข้อตกลง Windows ดูเหมือนว่าจะแนะนำข้อตกลง (โฟลเดอร์ไฟล์โปรแกรมรีจิสทรี ฯลฯ ) ในขณะที่ Linux มีการกำหนดค่ามากกว่าการประชุม
Arsalan Ahmad

9
เอ่อ ... ถ้า Windows ไม่มี "ระบบจัดการแพ็คเกจที่ใช้งานได้" Windows Installerคืออะไร? ฉันไม่เคยได้ยินว่านักพัฒนาจะต้องนำสิ่งนี้ไปใช้อีกอย่างน้อยในช่วง 10-15 ปีที่ผ่านมา
Aaronaught

5
@Aaraught และฉันสูญเสียการนับจำนวนของโปรแกรม Windows ที่ไม่ได้ใช้ Windows Installer หรือบางสิ่งที่ขึ้นอยู่กับมันและดังนั้นจึงเป็นเรื่องยากสำหรับ IT ในการจัดการ
Michael Hampton

22

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

แล้วช่วงแรก ๆ ก่อนที่ซอฟต์แวร์โอเพ่นซอร์สจะได้รับการแจกแจงหลัก ทำไมนักพัฒนาไม่สร้างตัวช่วยสร้างการติดตั้งในช่วงนั้น

ก่อนอื่นนักพัฒนาโอเพ่นซอร์สจำนวนมากไม่สนใจเรื่องการกระจาย พวกเขาเขียนซอฟต์แวร์เพื่อใช้เองและนำไปใช้ในกรณีที่เป็นประโยชน์กับผู้อื่น แต่พวกเขาเห็นว่าบรรจุภัณฑ์เพื่อการแจกจ่ายเป็นปัญหาของคนอื่น ถ้าชอบมากพอคนจะรับภาระในการแจกจ่ายมันเป็นที่โปรดปราน

นักพัฒนาโอเพนซอร์สที่ทำดูแลเกี่ยวกับการกระจายยังคงดีกว่าการทำงานภายในระบบการจัดการแพคเกจเพราะนั่นคือสิ่งที่ลูกค้าของพวกเขา โดยทั่วไปผู้ใช้ Linux จะไม่ค้นหาเว็บเพื่อค้นหาซอฟต์แวร์ พวกเขาค้นหาผู้จัดการแพ็คเกจของพวกเขาก่อน ความล้มเหลวนั้นพวกเขาค้นหาที่เก็บ "ชุมชนที่ดูแล" เช่น PPAs ของ Ubuntu หรือ AUR ของ Arch หากคุณไม่ได้อยู่ในสถานที่เหล่านั้นซอฟต์แวร์ของคุณส่วนใหญ่จะไม่ถูกสังเกตเห็นและถ้าสังเกตได้แสดงว่ามีโอกาสน้อยที่จะเชื่อถือได้

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

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

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


14

ดิสทริบิวชันดิสทริบิวชั่น (เช่นกันฉันคิดว่า Unices แบบ BSD ที่มีรสชาติ) มีส่วนต่อประสานกับผู้ใช้ที่เป็นมิตรต่อการติดตั้งโปรแกรมผ่านทางแพ็คเกจผู้จัดการ (หรือการจัดการพอร์ตในกรณี BSD): pacman สำหรับ Arch, dpkg และอื่น ๆ

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

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


3
มิตรกับผู้ใช้เป็นศัพท์เฉพาะ IMO ผู้ใช้คอมพิวเตอร์ส่วนใหญ่ไม่ค่อยเต็มใจที่จะใช้เครื่องมือบรรทัดคำสั่งและจะพบว่าง่ายและสะดวกยิ่งขึ้นหากพวกเขาสามารถใช้ตัวช่วยสร้างได้ แม้ว่ามันจะต้องใช้เวลามากขึ้น
Arsalan Ahmad

1
dpkgและ APT ใช้ทั้งใน Debian และ Ubuntu apt-get, apt-cacheและมีห่อด้านบนของaptitude ไม่ค่อยจะถูกใช้โดยตรงกรณีการใช้งานอย่างหนึ่งที่ฉันคิดได้คือติดตั้งแพคเกจจากไฟล์ dpkgdpkg.deb
nyuszika7h

16
@ Arsalan00 มักจะมีส่วนติดต่อผู้ใช้แบบกราฟิกสำหรับผู้จัดการแพ็คเกจเช่น Ubuntu Software Center หรือ yumex ผู้จัดการแพ็คเกจ! = เทอร์มินัล
Florian Margaine

@ Arsalan00 ถ้าคุณใช้ Ubuntu เพียงไปที่opera.com/download/guide/?os=linuxดาวน์โหลด Opera สำหรับ Ubuntu และดับเบิลคลิกไฟล์ที่ดาวน์โหลด ไม่มีส่วนเกี่ยวข้องเลย
โอลิเวอร์

13

ฉันมักจะถามตัวเองและคนอื่น ๆ คำถามนี้และฉันต้องการที่จะพูดถึงประเด็นที่ฉันเห็นบ่อยๆก่อนที่ฉันจะเข้าใจว่าทำไม Linux จึงเห็นผู้ติดตั้งน้อยลง:

การแจกแจง Linux จัดให้มีแพ็คเกจผู้จัดการ

อย่างไรก็ตามฉันจะไม่บอกว่าตัวจัดการแพ็คเกจของการแจกจ่าย Linux นั้นเป็นสิ่งทดแทนสำหรับตัวติดตั้งส่วนหนึ่งด้วยเหตุผลดังต่อไปนี้:

  • ผู้จัดการแพ็คเกจเหล่านี้ไม่ได้มาตรฐานในการทำงาน

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

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

    นอกจากนี้ยังผูกติดอยู่กับสุนทรียภาพ ตอนนี้คุณขึ้นอยู่กับการกระจายของผู้ใช้ปลายทางเพื่อมอบอินเทอร์เฟซที่ใช้งานง่าย / เหมาะสม ในขณะที่คุณตระหนักถึงความจริงที่ว่ามันไม่มีเหตุผลสำหรับผู้ใช้สบายมากขึ้นที่จะบ่นถ้าดับเบิลคลิกที่ไฟล์ของคุณ (ติดตั้งในมุมมองของพวกเขา) เปิดขึ้นเป็นผู้จัดการแพคเกจน่าเกลียดไม่ได้ทำอะไรเลยหรือที่เลวร้ายที่สุดของทั้งหมดที่เปิดขึ้นขั้ว หน้าต่าง. (ประสบการณ์ที่ฉันมีกับผู้ใช้และความเกลียดชัง "dos prompt" / "กล่องดำและสีขาว" / "สิ่งที่กำลังจะลบไฟล์ทั้งหมดหากพวกเขาดูตลก" อาจเติมหนังสือได้)

  • รูปแบบแพคเกจไม่ได้มาตรฐานทั่วแพลตฟอร์ม

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

    นั่นคือการเพิ่มไบนารีคนใหม่ต้องเลือกขึ้นอยู่กับแพลตฟอร์มของพวกเขา (ฟังดูเล็กน้อย แต่ฉันแน่ใจว่าคนที่นี่สามารถยืนยันได้ว่าต้องอธิบาย x86 กับ x64 ก่อน [ใช่มีวิธีที่จะสรุปแพลตฟอร์มที่เหมาะสมจาก เบราว์เซอร์ แต่เมื่อคุณเข้าสู่ขั้นตอนที่ซับซ้อนยิ่งขึ้นและยากที่จะสนับสนุนขั้นตอน]]

  • ผู้จัดการแพ็คเกจคือ "ดีกว่า" สำหรับซอฟต์แวร์โอเพนซอร์ซ

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

    นั่นหมายความว่านอกจากคุณจะมีพื้นที่เก็บข้อมูลของคุณเองคุณไม่สามารถใช้คุณสมบัติที่สำคัญหลายอย่างของระบบการจัดการแพ็คเกจรวมถึงการอัปเดตอัตโนมัติ ในความคิดของฉันนี่เป็นประโยชน์ที่สำคัญที่สุดในแพลตฟอร์มส่วนใหญ่ที่ใช้ระบบเหล่านี้ (เช่น iOS, Android และ Windows Store)

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

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

หากคุณดูจากปัจจัยที่กล่าวมาข้างต้นสิ่งเหล่านี้จะทำให้สิ่งที่ซับซ้อนยิ่งขึ้นสำหรับตัวติดตั้ง ตัวอย่างเช่นตัวช่วยสร้างของคุณจะมีหลายรูปแบบแพ็คเกจที่จะติดตั้งหรือไม่ คุณจัดการรูปลักษณ์และความรู้สึกในการแจกแจงอย่างไร รายการจะดำเนินต่อไปและสิ่งหนึ่งที่แพคเกจจะจ่ายให้คุณก็คือสิ่งเหล่านี้จะไม่เป็นข้อกังวลของคุณ ( สำหรับดีขึ้นหรือแย่ลง ) ตราบใดที่คุณมีแพ็คเกจที่เหมาะสม และขึ้นอยู่กับลักษณะของโครงการของคุณคุณสามารถเริ่มใช้ประโยชน์จากทรัพยากร "พิเศษ" เหล่านั้นเช่นการส่งแอพไปยัง Ubuntu Software Center ทั้งหมดนี้จะเกี่ยวข้องกับเทคนิค

แต่แง่มุมที่ฉันพบว่าเป็นแรงผลักดันคือการประชุม (ฉันหวังว่าฉันได้ฝังลึกลงไปมากพอที่คนที่ลดระดับลงว่าคำตอบอื่น ๆ สำหรับการให้อภัยได้หยุดอ่าน .. )

ฉันรู้สึกว่าโปสเตอร์มีจุดหนึ่ง แต่อาจระบุได้ว่ามันตรงไปตรงมาและไม่ได้ให้เหตุผลที่เป็นจริงสำหรับจุดนั้น หากคุณตรวจสอบความแตกต่างที่ฉันระบุไว้สำหรับผู้จัดการแพคเกจและตัวติดตั้งฉันจะไม่แปลกใจหากคุณพบว่าส่วนใหญ่ของพวกเขาเกือบจะไม่เป็นปัญหา แต่ (แก้ตัวสิ่งที่ฉันหวังว่าถูกมองว่าเป็นการใช้ข้อโต้แย้งโฆษณา hominem อย่างถูกกฎหมาย) เรายังเป็นผู้ใช้บนเว็บไซต์สำหรับโปรแกรมเมอร์ ฉันเห็นว่าการเผยแพร่บน Linux เป็นทางเลือก Windows ที่ยอดเยี่ยมสำหรับผู้ใช้ทั่วไป (ท่ามกลางสิ่งอื่น ๆ อย่างชัดเจน) ไม่ได้ให้ขั้นตอนการคลิกและทำที่กำหนดไว้โดยทั่วไปซึ่งผู้ใช้เหล่านี้ทั้งหมดสามารถใช้งานได้จริงๆไม่ได้เป็นIMO ที่สมบูรณ์แบบ

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

โดยปกติคุณสามารถใช้ GUI เพื่อทำสิ่งที่ผู้ใช้ทั่วไปทั่วไปต้องทำโดยเฉพาะกับ distros บางอย่าง (โดยเฉพาะอย่างยิ่งสิ่งที่ distros เหล่านั้นกำลังทำอยู่ไม่ได้รับการยอมรับในชุมชนโอเพ่นซอร์สเสมอ [ดูการร้องเรียนเกี่ยวกับ Ubuntu และ "กำแพง สวน "]) แต่ฉันไม่คิดว่ามันเป็นเรื่องที่ปฏิเสธได้ว่าอนุสัญญาลินุกซ์สนับสนุนคนที่ไม่คุ้นเคยกับ CLI หรืออย่างน้อยก็ไม่ถึงกับกลัวว่าจะมีลักษณะที่ปรากฏนั่นหมายความว่าพวกเขาทำอะไรผิดอย่างน่ากลัว

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

ตัวติดตั้งบนแพลตฟอร์มอื่น ๆ ส่วนใหญ่ไม่ได้รับผลกระทบจากสิ่งนั้นและได้รับการออกแบบมาเพื่อเสนอความคิดเห็นเกี่ยวกับคำถาม "99.99% ของผู้ใช้ [สามารถ] คลิกสุ่มสี่สุ่มห้า" สามารถดำเนินการต่อ "ปัญหาเกี่ยวกับการจัดการแพ็คเกจกำลังทำให้ผู้ใช้เหล่านั้น ปุ่ม "ดำเนินการต่อ" แจ้งให้พวกเขาทราบว่าปุ่ม "ดำเนินการต่อ" คืออะไร (ฉันเคยเห็นผู้ใช้สะดุดเครื่องมือที่กล่าวว่ากด Enter ด้วยข้อความอื่น ๆ ) และแจ้งให้พวกเขาทราบเมื่อพวกเขากดปุ่ม "เมื่อคลิก ขั้นตอน "ดำเนินการต่อ" ปุ่ม


นี่เป็นคำตอบที่ดีมากและอธิบายถึงปัญหาจากมุมมองของผู้ใช้ทั่วไป
Arsalan Ahmad

1
"รูปแบบแพ็คเกจไม่ได้มาตรฐานในแพลตฟอร์มต่างๆ" - Distros ที่เข้ากันได้กับ LSB ทั้งหมด (ซึ่งส่วนใหญ่เป็นส่วนใหญ่) สนับสนุนรูปแบบแพคเกจ LSB ซึ่งเป็นชุดย่อยของ RPM พร้อมคุณสมบัติทั้งหมดที่ไม่สามารถแมปกับ DEB ได้อย่างง่ายดาย เครื่องมือบรรทัดคำสั่ง APIs และ ABIs สำหรับ LSB RPM นั้นเป็นมาตรฐานเช่นกัน
Jörg W Mittag

@ Jörg W Mittag ฉันแทบจะเรียกมาตรฐาน LSB ไม่ได้ ใน Debian "การปฏิบัติตาม LSB" ใช้เครื่องมือต่างด้าวที่ฉันพูดถึงในโพสต์ของฉัน (และมี จำกัด ) และอีกครั้งเราไม่ได้เปรียบเทียบสคริปต์การติดตั้งกับแพ็คเกจ กำลังเปรียบเทียบตัวช่วยสร้างการติดตั้ง (ซึ่งแม้แต่ผู้ใช้ที่ติดตั้งซอฟต์แวร์ที่ไม่เป็นทางการมากที่สุดโดยไม่เห็นกล่องดำที่หวั่น) กับผู้จัดการแพ็คเกจ การขอใช้งานเครื่องมือเช่น Alien นั้นไม่ได้ให้ขั้นตอนเดียวกับตัวช่วยการติดตั้ง
Selali Adobor

@AssortedTrailmix: รูปแบบแพ็กเกจ LSB ได้รับการออกแบบมาโดยเจตนาเพื่อให้สามารถประมวลผลได้โดย Alien และผู้ใช้ปลายทางไม่จำเป็นต้องโต้ตอบกับเอเลี่ยนตัวจัดการแพ็กเกจ LSB บนเดเบียนดูแลเรื่องนี้ นอกจากนี้การสร้างตัวช่วยสร้างการติดตั้งจะได้รับการดูแลอย่างชัดเจนใน LSB หากวิซาร์ดการติดตั้งเชื่อมโยงกับไลบรารี LSB เท่านั้นมันสามารถทำงานบนระบบ LSB ทั้งหมดและสามารถเรียกใช้ตัวจัดการแพคเกจ LSB ได้เพราะนั่นเป็นมาตรฐานและสามารถติดตั้งแพ็กเกจได้เนื่องจากเป็นมาตรฐานและในที่สุดคุณ จะลงเอยด้วย DEB ในฐานข้อมูล DPKG บน Debian และ RPM ใน SuSE
Jörg W Mittag

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

9

ขยายใหญ่มันทั้ง รูปแบบการแจกจ่าย Linux นั้นอยู่ใกล้กับ AppStore / Play Store มากกว่าแบบดั้งเดิมของ Windows / Mac OS X และแม้แต่แพลตฟอร์มเหล่านั้นก็เคลื่อนไหวจากที่ฉันเคยได้ยินมา

การประชุมคือมันง่ายกว่า อาร์กิวเมนต์ส่วนใหญ่สำหรับ AppStore / Play Store ใช้กับ Linux ได้เช่นกัน:

  • การปรับปรุงอัตโนมัติ. การมีโปรแกรม 20 โปรแกรมที่อัปเดตแยกกันบน Windows นั้นก่อให้เกิดความยุ่งยากและไม่มีประสิทธิภาพ ผู้ใช้ต้องการคลิกแม้ว่าการอัปเดต Java / Flash / Adobe / ... เมื่อบูต
  • ที่เก็บข้อมูลเดียวเชื่อถือได้ คุณตรวจสอบว่าคุณดาวน์โหลดผ่านการเชื่อมต่อที่ปลอดภัยหรือไม่ หรือคุณไม่ได้ดาวน์โหลดจากการอัปเดต Reader จาก get.adobe.com.hackers.example.com/setup.exe แม้ว่าคุณจะทำผู้ใช้ส่วนใหญ่โดยเฉพาะอย่างยิ่งไม่ใช่ผู้ใช้อำนาจไม่ได้ แต่คุณไปที่ศูนย์ซอฟต์แวร์หรือโปรแกรมที่คล้ายกันใน Linux และรับสำเนาที่เชื่อถือได้

นอกจากนี้ยังมีประโยชน์ดังต่อไปนี้ซึ่งอาจใช้ไม่ได้กับ AppStore / Play Store:

  • ลินุกซ์ทุกคนมี GUI - คิดว่าเซิร์ฟเวอร์ http - แต่ distros ส่วนใหญ่รองรับการกำหนดค่าดังกล่าว ตกลง. ไม่ใช่ทุกคนที่ต้องการอย่างใดอย่างหนึ่ง แต่ไม่ช้าก็เร็วใครบางคนจะต้องการใช้มันไม่ว่าด้วยเหตุผลใด
  • ABIs ของไลบรารีใน distros ต่าง ๆ อาจแตกต่างกัน การไม่ลงรายละเอียดในการมีโปรแกรมติดตั้งจะทำให้โปรแกรมทำงานกับคุณแทนคนที่ดูแลแพคเกจในที่เก็บ
  • เชื่อมต่อกับก่อนหน้านี้ - คุณจำเป็นต้องจัดการการพึ่งพาอย่างใด การรวมกลุ่มถือว่าไม่เหมาะสมด้วยเหตุผล - ในกรณีเช่นนี้คุณต้องตรวจสอบให้แน่ใจว่าคุณได้อัปเดตไลบรารีเป็นเวอร์ชันโดยไม่มีข้อบกพร่อง - ตัวอย่างเช่นคุณไม่ได้รวม openssl 1.0.1f ไว้ในชุดรวมของคุณ การปฏิบัติแสดงให้เห็นว่าผู้คนมีห้องสมุดที่ล้าสมัยที่มีช่องโหว่ด้านความปลอดภัยที่รู้จัก

5
+1 "การมี 20 โปรแกรมที่อัปเดตแยกกันบน Windows นั้นก่อให้เกิดความยุ่งยากและไม่มีประสิทธิภาพ"
IQAndreas

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

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

6

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

เทอร์มินัลมาเป็นอันดับแรกและ GUI เป็นตัวเลือกจะเห็นได้ชัดว่าทำไมพวกเขาถึงไม่มีตัวช่วยการติดตั้งจริง

ในทางกลับกัน Windows นั้นให้ความสำคัญกับผู้ใช้เป็นอย่างมาก ไฟล์ MSI ส่วนใหญ่สามารถนำไปใช้งานได้อย่างง่ายดายในลักษณะเดียวกับการติดตั้ง Windows แบบไม่ต้องใส่ข้อมูล (วิธีที่ง่าย / ยากคือการทำให้ WAIK ทำงานเป็นเรื่องอื่น) นอกจากนี้ยังหมายความว่าแอปพลิเคชันจำนวนมากสำหรับ Windows ไม่ได้ใช้ MSI และไม่สามารถใช้สคริปต์ได้ ตัวอย่างเช่นแอพพลิเคชั่นระดับองค์กรผลิตภัณฑ์ของ Adobe เป็นที่รู้จักกันดีว่าค่อนข้างยากในการติดตั้งด้วยวิธีการเขียนสคริปต์


1
นั่นเป็นปัญหาที่แก้ง่าย โปรแกรมติดตั้ง windows หลายตัวมีตัวเลือกแบบไม่มีการโต้ตอบและมีค่าเริ่มต้นที่ดีไว้ล่วงหน้าเพื่อให้ผู้ใช้ไม่ต้องทำอะไรนอกจากกดปุ่มถัดไป
Arsalan Ahmad

5
ฉันเกลียดการกดปุ่มถัดไปเพียงเพราะนักพัฒนาไม่สามารถทำมันได้ในวิธีที่ง่ายกว่า
Silviu Burcea

@ Arsalan00: "ผู้ใช้ไม่ต้องทำอะไรนอกจาก ... " หยุดการทำงานอัตโนมัติ หากผู้ใช้ต้องทำอะไรก็ไม่สามารถเป็นไปโดยอัตโนมัติ เป็นการดีที่คุณควรจะสามารถเปิดเครื่องและให้มันบูตผ่าน PXE ติดตั้งระบบปฏิบัติการแล้วติดตั้งและกำหนดค่าทุกสิ่งที่คุณต้องการโดยไม่มีการโต้ตอบกับผู้ใช้ใด ๆ ด้วย Linux คุณสามารถทำได้ (ยกเว้นบางแอปพลิเคชั่น แต่ฉันยังไม่เคยพบเจอ)
Arseni Mourzenko

1
@MainMa การแก้ไขของคุณกระทบเล็บจริงๆ หากนักพัฒนาต้องการพวกเขาสามารถติดตั้งสคริปต์ของพวกเขาหรือเงียบ แต่ระบบวิซาร์ดช่วยให้ผู้ใช้มือใหม่ได้รู้จักกับการตั้งค่าและผู้ช่วยแจ้งผู้ใช้อย่างผู้จัดการแพ็คเกจไม่สามารถทำได้ การติดตั้งแบบออฟไลน์รวมถึงสิ่งที่จำเป็นสำหรับหลาย ๆ คน
Arsalan Ahmad

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

-1

กลุ่มเป้าหมายแตกต่างกัน ระบบ Unix และ Unix-like มักถูกใช้โดยโปรแกรมเมอร์มืออาชีพผู้ดูแลระบบวิศวกรและมือสมัครเล่นที่จริงจังซึ่งปรับแต่งแต่ละระบบตามความต้องการของพวกเขา "พ่อมดการติดตั้ง" ใด ๆ จะ จำกัด ตัวเลือกของพวกเขาแทนที่จะให้การเข้าถึงตัวแปรทั้งหมดที่พวกเขาต้องการ และสิ่งที่ตอนนี้ยังทำอยู่

Windows ไม่ได้กำหนดเป้าหมายไปที่มืออาชีพในลักษณะเดียวกันดังนั้นจึงมีตัวติดตั้งที่ใช้งานทั่วไปมากขึ้นซึ่งมุ่งเน้นไปที่ "ผู้ใช้" ซึ่งต้องการเพียงสิ่งที่ติดตั้งเท่านั้น ลีนุกซ์กำลังรวบรวมประเภทผู้ใช้เหล่านี้มากกว่าซึ่งอาจจะชอบสิ่งนี้, แต่, distros ส่วนใหญ่ยังคงมีความเป็นมืออาชีพอยู่ในใจ.


4
วิซาร์ดการติดตั้งให้คุณปรับแต่งได้มากกว่าตัวจัดการแพ็คเกจที่โดยปกติจะใช้กับ linux
iveqy

@iveqy ไฟล์กำหนดค่าข้อความใด ๆ จะให้ความสามารถมากกว่าการติดตั้ง "วิซาร์ด" ใด ๆ หากพ่อมดดังกล่าวสามารถทำได้ดีกว่าพวกเขาก็จะมีอยู่ แต่พวกเขาก็ทำไม่ได้
Rob

4
นั่นเป็นความจริง แต่การแก้ไขไฟล์กำหนดค่าข้อความไม่ได้เป็นส่วนหนึ่งของกระบวนการติดตั้งของผู้จัดการแพ็คเกจส่วนใหญ่ โดยทั่วไปแล้วคำถามเกี่ยวกับกระบวนการติดตั้ง windows คือ "คุณต้องการวางไว้ที่ไหน" ผู้จัดการแพ็คเกจจะทำการตัดสินใจนี้ใน linux enviroment และ "องค์ประกอบใดของโปรแกรมนี้ที่คุณต้องการติดตั้ง" และถูกตัดสินใจโดย ผู้ดูแลแพ็คเกจในกรณีของผู้จัดการแพ็คเกจ คุณจะเห็นได้ว่าตัวจัดการแพคเกจนั้นเป็นมิตรกับผู้ใช้มากกว่าเพราะมันใช้สำหรับ android และ iphone (app store และ google play)
iveqy

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