Tại sao các nhà phát triển không tạo trình hướng dẫn cài đặt trên linux? [đóng cửa]


34

Tôi chắc chắn rằng đó không phải là về sự lười biếng hay bất cứ điều gì tương tự nhưng tôi không hiểu tại sao các nhà phát triển của các ứng dụng chủ yếu là người tiêu dùng không thực hiện bất kỳ loại trình hướng dẫn cài đặt nào mà bạn sẽ hoàn thành tiếp theo. Các ứng dụng tương tự thường có trình cài đặt cho Windows và Mac OS, vậy tại sao không phải là Linux?

Có bất kỳ lý do kỹ thuật cho xu hướng này hay nó chỉ là quy ước?

EDIT (23-09-2014): Câu hỏi này không được yêu cầu để bắt đầu cuộc chiến nảy lửa giữa Windows và Linux. Tôi đã sử dụng cả 3 hệ điều hành chính và ngoài Linux, hai hệ điều hành còn lại (Windows và Mac OS) đều có trình cài đặt. Tôi chưa cài đặt Oracle nhưng bất cứ điều gì tôi cần để cài đặt, tôi chưa bao giờ thấy bất kỳ trình cài đặt GUI nào cho Linux.

Vâng, tôi biết rằng Linux có các trình quản lý gói để các nhà phát triển không "cần" để tạo các trình cài đặt. Nhưng vẫn còn một lượng lớn phần mềm đã lỗi thời trong các trình quản lý gói mặc định hoặc đơn giản là không có sẵn. Thêm vào đó, vì Linux được bán thay thế cho Windows cho người dùng thông thường (Ubuntu đang cố gắng hết sức trong miền này), sẽ có ý nghĩa hơn nhiều khi chỉ cung cấp cho người dùng những gì họ quen thuộc.

Lấy ví dụ, thiết lập một ngăn xếp LAMP. Đó là tất cả các phần mềm nguồn mở trong kho lưu trữ mặc định, nhưng bạn có thể thiết lập mọi thứ trong một lần mà không cần tập lệnh không? Bây giờ hãy nhìn vào máy chủ WAMP trong Windows. Bạn chỉ cần chạy một trình cài đặt và nó sẽ cài đặt nhiều phần mềm theo cách chúng hoạt động tốt với nhau. Sau đó, nó thiết lập mặc định tốt và công cụ. Trình cài đặt có thể làm điều đó, người quản lý gói không. Vâng, bạn có thể tìm thấy một kịch bản cho trực tuyến, nhưng ở đâu? Và cái nào?

Trình cài đặt không phải là một số công nghệ lỗi thời từ quá khứ. Chúng vẫn hữu ích và 95% người dùng đã thoải mái với chúng.


12
không thiếu. Windows không phải là Linux. Linux không phải là Windows.
edmz

27
@ Arsalan00 Bạn đang thiếu một điểm quan trọng. Thường có GUI cho người quản lý gói (Trung tâm phần mềm Ubuntu, Synaptic, YaST, v.v.).
nyuszika7h

30
Tôi không bao giờ có thể hiểu được một điểm của các thuật sĩ như vậy, 99,99% người dùng sẽ mù quáng nhấp vào "Tiếp tục", vì vậy cài đặt im lặng, không tương tác có ý nghĩa hơn nhiều.
SK-logic

7
@DebugErr Bạn bị xúc phạm bởi một trò đùa đơn giản. Không có ý định xúc phạm.
Michael Hampton

6
Đó là một trong nhiều dấu hiệu cho thấy Linux trong bất kỳ hương vị hiện tại nào của nó chỉ dành cho máy chủ và các môi trường chuyên biệt khác, không dành cho người dùng. Người bình thường hoàn toàn bị quá tải ngay cả bởi các "trung tâm phần mềm" apt-get hoặc không quen thuộc. Bạn nên cung cấp cho những người đó một .exe để nhấp vào, chứ không phải hướng dẫn dài .tar.gz hoặc trang về cách làm cho phần mềm cơ bản hoạt động. Tôi xin lỗi vì đã làm phiền bất cứ ai với ý kiến ​​của tôi.
Traubenfuchs

Câu trả lời:


63

Các nhà phát triển chỉ cần cung cấp một gói cho một phân phối. Mỗi bản phân phối sau đó có một cách để cài đặt gói này. Cách này có thể ở trong một thiết bị đầu cuối ( apt-get) hoặc thông qua giao diện đồ họa, ví dụ Trung tâm phần mềm Ubuntu.

Vẻ đẹp là các nhà phát triển chỉ cần quan tâm đến việc xây dựng một gói phù hợp; các nhà sản xuất phân phối chăm sóc phần còn lại và mỗi cài đặt gói có cùng một quy trình.


15
+1 ... "mỗi cài đặt gói có cùng một quy trình."
Uwe Plonus

7
Chà, các nhà phát triển chỉ cần quan tâm đến việc xây dựng một gói phù hợp cho mỗi phân phối mà họ muốn hỗ trợ, vì vậy họ sẽ cần một hoặc nhiều RPM khác nhau, các bản sửa lỗi, xây dựng tập lệnh cho các cổng, v.v. Trình quản lý gói rất tuyệt, nhưng cố gắng hỗ trợ tất cả các hệ thống như một nhà phát triển là khó khăn. Đó là lý do tại sao hầu hết mọi người duy trì các gói cho các bản phân phối không thực sự là các nhà phát triển ngược dòng.
Alan Shutko

12
Một nhược điểm nghiêm trọng của phương pháp này là các gói (trong một số trường hợp nghiêm trọng) đã lỗi thời. Trên Windows tôi có thể cài đặt phiên bản mới nhất bất cứ nơi nào tôi có thể; trên Linux Tôi phải sử dụng (cài đặt và hiểu!) một máy khách kiểm soát phiên bản để lấy nguồn và các trình biên dịch khác nhau hoặc Make / CMake / etc. để xây dựng nó.
marczellm

4
Nhiều dự án làm cung cấp các phiên bản ổn định mới nhất mà không cần kiểm soát nguồn (trừ khi bạn muốn mới nhất phát triển phiên bản ...). Tuy nhiên, bạn vẫn sẽ cần phải biên dịch chúng, bởi vì không thể tạo ra một hệ nhị phân chỉ hoạt động bên ngoài cho mọi hệ điều hành giống như * nix (không giống như Windows, một nền tảng rất ổn định và đồng nhất). May mắn thay, trình biên dịch rất dễ cài đặt và cài đặt trên Linux so với trên Windows.
Rufflewind

3
@ API-Beast nó hoàn toàn trả lời câu hỏi. Các nhà phát triển không phải tạo trình hướng dẫn, tác vụ rườm rà này được xử lý bởi các bản phân phối.
Florian Margaine

42

Bởi vì họ không cần. Các bản phân phối Linux thường có các hệ thống quản lý gói hoạt động, không giống như Windows, nơi mọi ứng dụng đơn lẻ phải thực hiện lại cài đặt và cập nhật lặp đi lặp lại nhiều lần.


6
Tuy nhiên, hầu hết những người không chuyên về công nghệ mà tôi biết sẽ thích tải xuống trình cài đặt và chạy trình hướng dẫn hơn là mở một thiết bị đầu cuối và nhập lệnh. Điều quản lý gói này rất tốt cho chúng tôi, nhưng nó thực sự làm phiền một người dùng PC thông thường đã bắt đầu sử dụng PC sau kỷ nguyên Windows 98.
Arsalan Ahmad

43
@ Arsalan00 Hãy nghĩ về mô hình Linux như AppStore - đó thực sự là mô hình tương tự. Bạn có thể hỏi tại sao không có trình hướng dẫn cho Android hoặc iOS.
Maciej Piechotka

5
Android và iOS hạn chế hơn rất nhiều trong cách chúng hoạt động và theo cách chúng cho phép các ứng dụng hoạt động. Linux là đối cực của điều đó. HĐH di động thi hành các quy ước, Windows dường như đề xuất các quy ước (thư mục tệp chương trình, sổ đăng ký, v.v.) trong khi Linux có cấu hình nhiều hơn quy ước.
Arsalan Ahmad

9
Uh ... nếu Windows không có "hệ thống quản lý gói làm việc", thì Windows Installer là gì? Tôi chưa bao giờ nghe nói về các nhà phát triển phải thực hiện lại điều này, ít nhất là không trong vòng 10-15 năm qua.
Aaronaught

5
@Aaronaught Và tôi đã mất số lượng chương trình Windows không sử dụng Windows Installer hoặc một cái gì đó dựa trên nó, và do đó rất khó để quản lý CNTT.
Michael Hampton

22

Hầu hết các mã nguồn đóng, không như-trong-bia miễn phí phần mềm cho Linux không đi kèm với trình thuật sĩ cài đặt. Một số phần mềm nguồn đóng, miễn phí trong bia đóng, ít nhất là cho đến khi hầu hết các bản phân phối chính nhận nó. Đối với phần mềm nguồn mở, các trình quản lý gói là một giải pháp vượt trội rõ ràng.

Vì vậy, những gì về giai đoạn đầu trước khi phần mềm nguồn mở được chọn bởi các bản phân phối chính? Tại sao các nhà phát triển không tạo trình hướng dẫn cài đặt trong giai đoạn đó?

Trước hết, rất nhiều nhà phát triển nguồn mở không quan tâm đến phân phối. Họ tự viết phần mềm để sử dụng và đưa nó ra ngoài trong trường hợp nó hữu ích cho người khác, nhưng họ thấy việc đóng gói để phân phối là vấn đề của người khác. Nếu nó đủ thích, ai đó sẽ tự nhận nhiệm vụ đưa nó vào bản phân phối yêu thích của họ.

Các nhà phát triển mã nguồn mở người làm chăm sóc về phân phối vẫn tốt hơn làm việc trong hệ thống quản lý gói là, bởi vì đó là nơi mà khách hàng của họ. Người dùng Linux thường không tìm kiếm trên web để tìm kiếm phần mềm. Họ tìm kiếm người quản lý gói đầu tiên của họ. Không thành công, họ tìm kiếm các kho "duy trì cộng đồng", như PPA của Ubuntu hoặc AUR của Arch. Nếu bạn không ở những nơi đó, phần mềm của bạn rất có thể sẽ không được chú ý và nếu nó được chú ý, nó sẽ ít được tin tưởng hơn.

Trước các kênh phân phối hiện tại giống như việc quyết định quảng cáo superbowl quá đắt đỏ, vì vậy bạn sẽ tổ chức giải vô địch bóng đá của riêng mình và thay vào đó quảng cáo trên đó. Nó có thể ít tốn kém hơn, nhưng nó cũng ít hiệu quả hơn.

Theo như tùy chỉnh cấu hình, đối với phần mềm như máy chủ web thường dễ xử lý hơn với tệp cấu hình, giúp cấu hình dễ dàng hơn để chia sẻ, sao lưu và khôi phục.

Đối với phần mềm máy khách như trình duyệt web, tốt hơn hết là tạo một trình hướng dẫn cấu hình xuất hiện lần đầu tiên khi người dùng mới chạy phần mềm, thay vì làm điều đó khi cài đặt. Lý do chính là Linux là một hệ điều hành nhiều người dùng, vì vậy dù sao bạn cũng muốn tùy chỉnh nó cho mỗi người dùng. Điều này cũng giúp cho việc chạy lại trình hướng dẫn cấu hình sau này dễ dàng hơn, vì bất kỳ lý do gì, mà không phải giữ chương trình cài đặt xung quanh để cài đặt lại toàn bộ phần mềm. Loại trình hướng dẫn này khá phổ biến trong phần mềm Linux.


14

Các bản phân phối Linux (cũng như tôi nghĩ, như Unices có hương vị BSD) có giao diện thân thiện với người dùng để cài đặt chương trình, thông qua cái gọi là trình quản lý gói (hoặc quản lý cổng trong trường hợp BSD): pacman cho Arch, dpkg cho Debian / Ubuntu , v.v.

Các trình quản lý gói này cung cấp một cách để cài đặt các chương trình bằng các tệp cấu hình thống nhất. Khi chương trình bạn cần được đóng gói theo trình quản lý gói của distro, bạn có thể chỉ cần chạy lệnh cài đặt của nó qua gói đã chọn (với các tùy chỉnh cụ thể của người dùng, mặc dù thường không có gì cả) và người quản lý làm phần còn lại.

Trình quản lý gói thường thân thiện với người dùng hơn các quy trình cài đặt dành riêng cho chương trình của Windows, chỉ dành cho cách thức thống nhất các chương trình được đóng gói để cài đặt. Họ cũng thường cho phép bạn truy vấn cơ sở dữ liệu trình quản lý gói cho chương trình bạn đang tìm kiếm, xem phần phụ thuộc của nó.
Họ cũng hỗ trợ cập nhật tập trung của các gói.


3
thân thiện với người dùng là một thuật ngữ chủ quan. IMO, hầu hết người dùng máy tính rất miễn cưỡng sử dụng các công cụ dòng lệnh và sẽ thấy dễ dàng và thoải mái hơn nếu họ chỉ có thể sử dụng trình hướng dẫn. Ngay cả khi nó mất nhiều thời gian hơn.
Arsalan Ahmad

1
dpkgvà APT được sử dụng trong cả Debian và Ubuntu. apt-get, apt-cacheaptitudelà wrappers trên dpkg. dpkghiếm khi được sử dụng trực tiếp, một trường hợp sử dụng tôi có thể nghĩ đến là cài đặt một gói từ một .debtệp.
nyuszika7h

16
@ Arsalan00 thường có giao diện người dùng đồ họa cho người quản lý gói, như Trung tâm phần mềm Ubuntu hoặc yumex. Quản lý gói! = Thiết bị đầu cuối.
Florian Margaine

@ Arsalan00 nếu bạn sử dụng Ubuntu, chỉ cần truy cập opera.com/doad/guide/?os=linux , tải xuống Opera cho Ubuntu và nhấp đúp vào tệp đã tải xuống. Không có thiết bị đầu cuối liên quan.
oliver

13

Tôi thường tự hỏi mình và những người khác câu hỏi này và tôi muốn giải quyết một điểm mà tôi thường thấy được đưa ra trước khi tôi hiểu tại sao Linux thấy ít trình cài đặt hơn:

Phân phối Linux cung cấp các trình quản lý gói.

Tuy nhiên, tôi không nói rằng trình quản lý gói của bản phân phối Linux là sự thay thế cho trình cài đặt, một phần, vì các lý do sau:

  • Các trình quản lý gói này không được chuẩn hóa trong hoạt động

    Trình quản lý gói giống như cung cấp tệp nhị phân của bạn và cho phép người dùng cuối chọn trình cài đặt. Họ có thể chọn thiết bị đầu cuối hoặc họ có thể chọn một công cụ có GUI nâng cao hơn, nhưng nó không đủ khả năng kiểm soát quá trình tương tự như với trình hướng dẫn cài đặt "truyền thống".

    Một ví dụ về những gì tôi có nghĩa là kiểm soát là tài liệu. Bạn không thể đưa ra hướng dẫn người dùng cuối của mình như "Nhấp vào Tiếp theo và bạn sẽ thấy". Bạn có thể đưa ra các hướng dẫn dòng lệnh cho một công cụ cụ thể, nhưng sau đó bạn không chỉ dựa vào thực tế người dùng có công cụ đó mà còn mất hầu hết các lợi ích của trình hướng dẫn cài đặt (sau tất cả, hầu hết các trình hướng dẫn đều cung cấp mặt trước -end cho các hướng dẫn dòng lệnh đơn giản và khởi động các tập lệnh).

    Điều này cũng liên quan đến thẩm mỹ. Bây giờ bạn phụ thuộc vào phân phối người dùng cuối của bạn để cung cấp giao diện trực quan / phù hợp. Mặc dù bạn hoàn toàn nhận thức được thực tế đó, nhưng không có lý do gì để người dùng bình thường phàn nàn nếu nhấp đúp vào tệp của bạn (trình cài đặt trong chế độ xem của họ) sẽ mở ra một trình quản lý gói xấu xí, không làm gì cả, hoặc tệ nhất là mở một thiết bị đầu cuối cửa sổ. (Những trải nghiệm tôi đã có với người dùng và sự ác cảm của họ đối với "nhắc nhở dos" / "hộp đen trắng" / "Điều đó sẽ xóa tất cả các tệp của họ nếu họ thấy nó buồn cười" có thể lấp đầy một cuốn sách)

  • Các định dạng gói không được chuẩn hóa trên các nền tảng.

    Có các công cụ để chuyển đổi giữa các hệ thống như rpmdeb, nhưng không hợp lý khi hy vọng người dùng cuối của bạn chuyển đổi các gói của bạn nếu bạn đang sử dụng chúng trong trường hợp thuật sĩ cài đặt sẽ được cung cấp trên nền tảng khác (ví dụ như nhấp chuột và thực hiện ). Việc cung cấp các gói cập nhật cho định dạng gói bổ sung có thể khá đơn giản nếu bạn có hệ thống xây dựng thô sơ, nhưng bạn vẫn đang thêm một nhị phân mới cần được hỗ trợ.

    Điều đó cũng thêm một người nhị phân mới phải lựa chọn tùy thuộc vào nền tảng của họ (nghe có vẻ nhỏ, nhưng tôi chắc chắn ai đó ở đây có thể chứng thực phải giải thích x86 so với x64 trước [có, có nhiều cách để suy luận đúng nền tảng từ trình duyệt, nhưng sau đó bạn đang gặp nhiều rắc rối hơn và khó hỗ trợ hơn, các thủ tục])

  • Các trình quản lý gói "đẹp hơn" đối với phần mềm nguồn mở.

    Điều này không có nghĩa là bạn không thể chia sẻ phần mềm nguồn đóng với hệ thống quản lý gói, chắc chắn có thể thực hiện được. Nhưng một khi bạn cố gắng chia sẻ phần mềm nguồn gần trên các bản phân phối Linux, bạn sẽ gặp phải một vấn đề liên quan đến các tùy chọn để đưa phần mềm của bạn vào kho lưu trữ chung. Những thứ như PPA hoặc Dịch vụ xây dựng openSUSE đã bị loại bỏ và ngay cả các kho của Đối tác Canonical cũng không được bật theo mặc định.

    Điều đó có nghĩa là, trừ khi bạn cung cấp kho lưu trữ của riêng mình, bạn không thể có nhiều tính năng chính của hệ thống quản lý gói, bao gồm cập nhật tự động. Theo tôi , đây là lợi ích quan trọng nhất trên hầu hết các nền tảng sử dụng các hệ thống này (ví dụ: iOS, Android và Windows Store).

    Và ngay cả khi bạn cung cấp một kho lưu trữ (một công việc khác có tính tầm thường khác nhau), bạn vẫn cần phải khiến người dùng thiết lập nó (đó là một lớp hỗ trợ khác, một tập hợp các cách tiếp cận không chuẩn khác và chuyển hướng khác từ điểm ban đầu của trình cài đặt)

Bây giờ, đã nói tất cả những điều đó, tôi vẫn chưa giải quyết được vấn đề ban đầu, tại sao các trình cài đặt ít phổ biến hơn trên Linux mặc dù có các yếu tố này (trong số các yếu tố khác). Câu hỏi ban đầu hỏi liệu nó mang tính kỹ thuật hay dựa trên quy ước và nó dựa trên cả hai phần.

Nếu bạn nhìn vào các yếu tố trên mà tôi đã đề cập, chúng cũng khiến mọi thứ trở nên phức tạp hơn đối với trình cài đặt "giống như thuật sĩ". Ví dụ: thuật sĩ của bạn có bao gồm nhiều định dạng gói để cài đặt không? Làm thế nào để bạn xử lý giao diện trên các bản phân phối? Danh sách này tiếp tục, và một điều mà các gói đó đủ khả năng cho bạn là không ai trong số này sẽ là mối quan tâm của bạn ( tốt hơn hay tồi tệ hơn ) miễn là bạn cung cấp các gói phù hợp. Và tùy thuộc vào bản chất của dự án của bạn, bạn có thể bắt đầu tận dụng các tài nguyên "chuyên biệt" hơn đó, như gửi ứng dụng đến Trung tâm phần mềm Ubuntu. Tất cả điều này sẽ liên quan đến kỹ thuật.

Nhưng khía cạnh mà cá nhân tôi thấy là động lực là quy ước. (Tôi hy vọng tôi đã chôn sâu đến mức những người hạ thấp câu trả lời khác bị lãng quên đã ngừng đọc ..)

Tôi cảm thấy rằng poster có một điểm, nhưng có thể đã tuyên bố nó quá thẳng thừng, và không thực sự cung cấp lý do khách quan cho điểm đó. Nếu bạn kiểm tra sự khác biệt mà tôi đã nêu đối với người quản lý gói và trình cài đặt, tôi sẽ không ngạc nhiên nếu bạn thấy hầu hết chúng gần như không phải là vấn đề (thậm chí có thể giáp với phạm vi). Nhưng (xin lỗi những gì tôi hy vọng được xem là sử dụng hợp pháp đối số vượn quảng cáo) chúng tôi cũng là người dùng trên trang web dành cho lập trình viên. Tôi thấy các bản phân phối Linux được đẩy như một sự thay thế Windows tuyệt vời cho người dùng thông thường (trong số nhiều thứ khác rõ ràng). Không cung cấp quy trình nhấp và thực hiện thường được xác định mà tất cả những người dùng này có thể sử dụng imo thực sự không lý tưởng .

Nhưng đồng thời, tôi cũng không thấy rằng nhiều thứ trong Linux cũng đặc biệt lý tưởng cho nhóm đó. Chắc chắn một số distro có người quản lý gói dựa trên GUI, nhưng điều đó có nghĩa là những người này phải bắt đầu nhìn vào cách sử dụng một công cụ riêng biệt, trên đó là không đúng tập trung vào việc cài đặt của chương trình của bạn (so sánh nàynày để này ).

Đương nhiên, bạn có thể sử dụng GUI để thực hiện phần lớn người dùng thông thường mà bạn cần phải làm, đặc biệt là với một số bản phát hành nhất định (trớ trêu thay những điều mà các bản phân phối đó không phải lúc nào cũng được chấp nhận trong cộng đồng nguồn mở [nhìn vào những lời phàn nàn về Ubuntu và nó "bị chặn khu vườn "]) Nhưng tôi không nghĩ rằng nó có thể phủ nhận rằng các công ước Linux ủng hộ ai đó thoải mái với CLI, hoặc ít nhất là không sợ chết người vì sự xuất hiện của nó có nghĩa là họ đã làm điều gì đó sai lầm khủng khiếp.

Tôi không nói rằng đây là những gì họ nhắm đến, nhưng đó thực sự là những gì tôi thấy những quy ước đó làm. Và các hệ thống quản lý gói trong Linux dường như đang theo đó. Rốt cuộc, hầu hết các "nhược điểm" của chúng gần như không tồn tại nếu người dùng cuối của bạn thoải mái hơn với các khái niệm cơ bản.

Trình cài đặt trên hầu hết các nền tảng khác không thực sự bị ảnh hưởng bởi điều đó và được thiết kế để trích dẫn một câu hỏi về câu hỏi, "99,99% người dùng [có thể] bấm mù" Tiếp tục ". Vấn đề với quản lý gói là khiến những người dùng đó gặp phải nút "Tiếp tục", cho họ biết nút "Tiếp tục" đó là gì (Tôi đã thấy người dùng bị vấp ngã bởi các công cụ nói nhấn enter với văn bản khác) và cho họ biết khi họ nhấn vào đó "khi nhấp vào" giai đoạn "Tiếp tục" nút ".


Đây là một câu trả lời tuyệt vời và nó giải thích vấn đề theo quan điểm của người dùng thông thường.
Arsalan Ahmad

1
"Các định dạng gói không được chuẩn hóa trên các nền tảng." - Tất cả các phân phối tuân thủ LSB (hầu hết các phân phối chính) đều hỗ trợ định dạng gói LSB, là một tập hợp con của RPM với tất cả các tính năng bị loại bỏ mà không thể dễ dàng ánh xạ tới DEB. Các công cụ dòng lệnh, API và ABI cho LSB RPM cũng được chuẩn hóa.
Jörg W Mittag

@ Jorg W Mittag Tôi hầu như không gọi tiêu chuẩn tuân thủ LSB. Trên Debian, "tuân thủ LSB" đang sử dụng công cụ Alien mà tôi đã đề cập trong bài đăng của mình (và nó bị giới hạn). Và một lần nữa, chúng tôi không so sánh các tập lệnh cài đặt với các gói. Đó là so sánh các trình hướng dẫn cài đặt (cho phép ngay cả người dùng bình thường nhất cài đặt phần mềm mà không bao giờ nhìn thấy hộp đen đáng sợ) với các trình quản lý gói. Yêu cầu sử dụng một công cụ như Alien không cung cấp quy trình giống như cung cấp trình hướng dẫn cài đặt.
Selali Adobor

@AssorticTrailmix: định dạng gói LSB được Alien cố tình thiết kế để có thể xử lý. Và người dùng cuối không bao giờ cần phải tương tác với Alien, trình quản lý gói LSB trên Debian sẽ đảm nhận việc đó. Ngoài ra, trình hướng dẫn cài đặt tòa nhà được chăm sóc rõ ràng trong LSB. Nếu trình hướng dẫn trình cài đặt chỉ liên kết với các thư viện LSB, thì nó có thể chạy trên tất cả các hệ thống LSB và nó có thể gọi trình quản lý gói LSB, vì đó là tiêu chuẩn hóa và nó có thể cài đặt một gói, vì đó là tiêu chuẩn hóa, và cuối cùng bạn sẽ kết thúc với DEB trong cơ sở dữ liệu DPKG trên Debian và RPM trên SuSE.
Jörg W Mittag

Tôi hiểu điều đó, nhưng tôi đoán tôi đã không hiểu quan điểm của bạn. Không phải bạn vừa xác nhận những gì tôi nói sao? Quan điểm của tôi là một trình hướng dẫn cài đặt và trình quản lý gói không giống nhau. Tôi không gợi ý rằng trình cài đặt không thể sử dụng trình quản lý gói. Có vẻ như bạn đồng ý với quan điểm của tôi, nhưng bị cuốn vào câu hỏi tu từ "Ví dụ: thuật sĩ của bạn có bao gồm nhiều định dạng gói để cài đặt không?"
Selali Adobor

9

Để mở rộng lớn cả hai. Mô hình phân phối Linux gần hơn với AppStore / Play Store sau đó là Windows / Mac OS X truyền thống - và ngay cả những nền tảng đó cũng đang di chuyển từ những gì tôi đã nghe.

Quy ước là nó đơn giản hơn. Hầu hết các đối số cho AppStore / Play Store cũng áp dụng cho Linux:

  • Cập nhật tự động. Có 20 chương trình cập nhật riêng trên Windows là gián đoạn và không hiệu quả. Người dùng cần nhấp vào mặc dù cập nhật Java / Flash / Adobe / ... khi khởi động.
  • Độc thân, đáng tin cậy, kho lưu trữ. Bạn có kiểm tra nếu bạn tải xuống thông qua kết nối an toàn? Hoặc bạn chưa tải xuống từ bản cập nhật Reader từ get.adobe.com.hackers.example.com/setup.exe? Ngay cả khi bạn làm hầu hết người dùng, đặc biệt là không cung cấp năng lượng cho người dùng, thì không . Thay vào đó, bạn đến trung tâm phần mềm hoặc chương trình tương tự trong Linux và nhận một bản sao đáng tin cậy.

Hơn nữa, có những lợi ích sau, có thể không áp dụng cho AppStore / Play Store:

  • Không phải mọi Linux đều có GUI - nghĩ máy chủ http - nhưng hầu hết các bản phân phối đều hỗ trợ cấu hình như vậy. Được. Không phải ai cũng cần một cái nhưng sớm muộn ai cũng sẽ muốn sử dụng nó vì bất kỳ lý do gì.
  • ABI của các thư viện trên các bản phát hành khác nhau có thể khác nhau. Không đi sâu vào chi tiết có trình cài đặt sẽ đặt trách nhiệm của chương trình làm việc lên bạn thay vì mọi người duy trì một gói trong kho lưu trữ.
  • Kết nối với cái trước - bạn cần quản lý các phụ thuộc bằng cách nào đó. Gói được coi là không phù hợp vì một lý do - trong trường hợp như vậy, bạn cần đảm bảo rằng bạn đã cập nhật thư viện lên phiên bản mà không có lỗi - ví dụ: bạn không bao gồm openssl 1.0.1f vào gói của mình. Thực tiễn cho thấy mọi người bao gồm các thư viện lỗi thời với các lỗ hổng bảo mật đã biết.

5
+1 "Có 20 chương trình cập nhật riêng trên Windows là gián đoạn và không hiệu quả."
IQAndreas

Tôi muốn nói rằng các cuộc đối thoại gây rối hoặc không hiệu quả là hơi nhiều. Nếu một chương trình có hệ thống cập nhật được thiết kế kém gây khó chịu cho người dùng ngay khi họ đăng nhập và không cung cấp tùy chọn cập nhật im lặng thì đó hầu như là lỗi của chương trình. Điều đó đang được nói, tôi không tìm thấy nhiều chương trình thực hiện nó (hầu hết trong số đó là các chương trình không có quy trình khởi động truyền thống) và kết quả cuối cùng có thể dễ quản lý hơn một danh sách nhắc nhở mỗi điều cần làm đã được cập nhật.
Selali Adobor

Và "đơn, đáng tin cậy, kho lưu trữ" là hơi sai lệch. Nó thực sự chỉ có thể áp dụng một phần nếu bạn viết phần mềm có thể kết thúc ở đó. Phần mềm độc quyền không dễ dàng kết thúc trong kho lưu trữ mặc định được hỗ trợ tốt cho các bản phân phối Linux phổ biến. Ngay cả repo cho các đối tác kinh điển trên Ubuntu (nhập vào là không tầm thường), bị tắt theo mặc định và bị coi là không an toàn bởi nhiều rủi ro bảo mật trong phần mềm được lưu trữ lâu hơn so với phần mềm tương tự dựa trên phương pháp cập nhật khác.
Selali Adobor

6

Thông thường, việc cài đặt không cần tương tác với người dùng ( apt-getví dụ như hầu hết các gói) hoặc có thể được viết kịch bản. Điều này giúp dễ dàng tự động hóa để triển khai một phần mềm trên nhiều máy. Thay vì thực hiện mọi thứ thông qua trình hướng dẫn, bạn thực hiện những điều tương tự thông qua tập lệnh hoặc thông qua các tệp cấu hình.

Cho rằng trong thế giới Linux, thiết bị đầu cuối xuất hiện đầu tiên và GUI là tùy chọn, rõ ràng tại sao chúng thiếu trình hướng dẫn cài đặt thực tế.

Windows, mặt khác, rất hướng đến người dùng. Hầu hết các tệp MSI có thể dễ dàng được triển khai theo cách không giám sát, theo cùng cách cài đặt Windows có thể không được giám sát (làm thế nào dễ / khó để WAIK hoạt động là một chủ đề khác). Điều này cũng có nghĩa là một loạt các ứng dụng cho Windows không dựa trên MSI và không có kịch bản. Trong số các ứng dụng quy mô doanh nghiệp, ví dụ, các sản phẩm Adobe được biết đến là khá khó cài đặt theo cách viết kịch bản.


1
Đó là một vấn đề dễ giải quyết. Nhiều trình cài đặt windows có tùy chọn im lặng và được cài sẵn các giá trị mặc định tốt để người dùng không phải làm gì khác ngoài việc nhấn các nút tiếp theo.
Arsalan Ahmad

5
Tôi ghét nhấn tiếp theo chỉ vì các nhà phát triển không làm điều đó theo cách đơn giản hơn.
Silviu Burcea

@ Arsalan00: "người dùng không phải làm gì khác ngoài ..." phá vỡ tự động hóa. Nếu người dùng phải làm bất cứ điều gì , nó không thể được tự động. Lý tưởng nhất là bạn có thể bật máy và để máy khởi động thông qua PXE, cài đặt HĐH rồi cài đặt và định cấu hình mọi thứ bạn cần, không có tương tác người dùng nào. Với Linux, bạn có thể làm điều đó (ngoại trừ có thể một vài ứng dụng, nhưng tôi chưa gặp phải bất kỳ ứng dụng nào).
Arseni Mourzenko

1
@MainMa chỉnh sửa của bạn thực sự chạm móng tay. Nếu các nhà phát triển muốn, họ có thể làm cho trình cài đặt của họ có thể script hoặc im lặng. Nhưng hệ thống thuật sĩ thực sự giúp người dùng mới làm quen với việc thiết lập là gì và các trình hướng dẫn thông báo cho người dùng như người quản lý gói không thể. Cộng với cài đặt ngoại tuyến là một cái gì đó là cần thiết cho nhiều người.
Arsalan Ahmad

2
@ Arsalan00 thường các nhà quản lý gói có thể đặt câu hỏi nếu họ thực sự cần. Có thể cài đặt ngoại tuyến với người quản lý gói, chỉ cần tải xuống gói trước, giống như khi bạn tải xuống và cài đặt tệp. Và cuối cùng, nó thân thiện hơn, hầu hết người dùng mới làm quen không nên quan tâm đến "bạn muốn cài đặt cái này ở đâu", v.v. nó nên "chỉ hoạt động".
iveqy

-1

Đối tượng mục tiêu là khác nhau. Các hệ thống giống như Unix và Unix, thường được sử dụng bởi các lập trình viên chuyên nghiệp, sysadins, kỹ sư và người có sở thích nghiêm túc, họ đã tùy chỉnh từng hệ thống theo nhu cầu của họ. Bất kỳ "trình hướng dẫn cài đặt" nào cũng sẽ chỉ giới hạn các lựa chọn của họ thay vì cấp quyền truy cập vào tất cả các biến họ cần. Và những người bây giờ vẫn còn làm.

Windows không được nhắm mục tiêu vào các chuyên gia theo cùng một cách và do đó, có các trình cài đặt mục đích chung hơn hướng đến "người dùng", những người chỉ muốn cài đặt thứ đó. Linux đang thu hút nhiều loại người dùng hơn, những người có lẽ sẽ đánh giá cao một thứ như vậy, nhưng, có thể, hầu hết các bản phân phối vẫn có ý nghĩa chuyên nghiệp.


4
Trình hướng dẫn cài đặt cho phép bạn tùy chỉnh nhiều hơn trình quản lý gói thường được sử dụng trên linux.
iveqy

@iveqy Bất kỳ tệp cấu hình văn bản nào cũng sẽ cung cấp cho bạn nhiều khả năng hơn bất kỳ "trình hướng dẫn" cài đặt nào từng có. Nếu những pháp sư như vậy có thể làm tốt hơn, họ sẽ tồn tại, nhưng họ thì không.
Rob

4
Điều đó đúng, nhưng chỉnh sửa tệp cấu hình văn bản không phải là một phần của quy trình cài đặt của hầu hết các trình quản lý gói. Các câu hỏi điển hình trong quy trình cài đặt windows là "bạn muốn đặt cái này ở đâu", một người quản lý gói đã quyết định điều này trong môi trường linux và "bạn muốn cài đặt thành phần nào của chương trình này" và điều đó đã được quyết định bởi người duy trì gói trong trường hợp người quản lý gói. Bạn có thể thấy rằng trình quản lý gói thân thiện hơn với người dùng vì nó được sử dụng cho Android và iphone, (cửa hàng ứng dụng và google play).
iveqy

@iveqy Tôi mới nhận ra chúng tôi đã lạc đề. Điều này không liên quan gì đến những gì tôi nói ban đầu và bạn vẫn không thấy những pháp sư như vậy là bằng chứng rõ ràng hơn về những gì tôi nói.
Rob
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.