Hiểu các bản phân phối Linux khác nhau


12

Tôi có một chút nhầm lẫn khi hiểu hệ điều hành dựa trên linux. Khi tôi tải xuống phiên bản mới nhất của Mint và Ubuntu, không phải chúng là "giống nhau" ở lõi (kernel) của chúng sao? Có vẻ như họ có GUI khác nhau? Không phải GUI về mặt kỹ thuật chỉ là một chương trình chạy khi khởi động máy tính? Tương tự như với windows (dos là lõi nhưng explorer.exe là gui). Có ai có thể giải thích điều này?

Với lệnh sudo apt-get, tôi có thể cài đặt Ubuntu từ Terminal bạc hà không?

Tôi biết rằng đây là một mớ câu hỏi, nhưng hy vọng ai đó có thể làm rõ sự khác biệt giữa nhiều bản phát hành trước khi GUI xuất hiện, và sau đó sau khi GUI xuất hiện.

Câu trả lời:


10

Thứ nhất: Windows đã không phải là GUI GUI trong một thời gian dài; Windows dựa trên NT (NT / 2000 / XP / Vista / 7/8) hoàn toàn độc lập với DOS. explorer.exe cũng không phải là GUI: nó chỉ là một vỏ (bạn cũng có thể tìm thấy các thay thế vỏ cho Windows)

Về cơ bản, tất cả các bản phân phối đều dựa trên nhân Linux; sự khác biệt chính (theo quan điểm của người dùng cuối - có sự khác biệt trong ví dụ: hệ thống init, tệp bên dưới /etcvà các vị trí khác) - giữa các bản phân phối là:

  • quản lý gói

Ubuntu, Mint và tất cả các bản phân phối dựa trên Debian khác sử dụng dpkg / APT làm hệ thống đóng gói. Các bản phân phối khác sẽ sử dụng các hệ thống khác (ví dụ Red Hat, Fedora, SuSE sẽ sử dụng RPM, Arch sẽ sử dụng pacman).

  • lựa chọn các gói

Thực tế, Mint là một Ubuntu có một số gói bổ sung (ví dụ: codec, không bao gồm Ubuntu vì lý do bản quyền / bằng sáng chế) và một chủ đề khác (để tạo danh tính tùy chỉnh và tránh các câu hỏi về nhãn hiệu / đạo văn và nhầm lẫn người dùng).

Tất nhiên, bạn có thể cài đặt bất kỳ GUI nào khác trong Mint: bạn có thể sử dụng môi trường máy tính để bàn của Mint ( Cinnamon ) trong Ubuntu và về mặt kỹ thuật (thực tế là một câu chuyện khác: bạn có thể sẽ gặp phải xung đột gói), bạn có thể cài đặt nhận dạng trực quan của Unity và Ubuntu (chủ đề, biểu tượng) trong Mint.

Vì vậy, về mặt lý thuyết bạn có thể biến Ubuntu của mình thành một hệ thống Mint-ish nhưng trên thực tế, điều này khá khó thực hiện.


Theo nhận xét về sự khác biệt giữa 'giao diện' và 'vỏ', điều này có thể gây ra một số nhầm lẫn:

Trong thế giới UNIX, 'shell' đã có một ý nghĩa cụ thể, được chấp nhận :

Shell Unix là trình thông dịch dòng lệnh hoặc shell cung cấp giao diện người dùng truyền thống cho hệ điều hành Unix và cho các hệ thống tương tự Unix.

So sánh với Windows shell, đây là một điều hoàn toàn khác :

Shell Windows là giao diện người dùng đồ họa chính trong Microsoft Windows. Shell Windows bao gồm các thành phần Windows nổi tiếng như thanh tác vụ và menu Start. Shell của Windows không giống như "shell dòng lệnh", nhưng hai khái niệm này có liên quan với nhau.

Trong trường hợp của chúng tôi, chúng tôi sẽ gọi Cinnamon (hoặc KDE, Gnome, Unity, XFCE) là môi trường máy tính để bàn : một bộ ứng dụng (trình quản lý cửa sổ, bảng điều khiển, các mục trên khay thông báo, v.v.) cung cấp trải nghiệm người dùng.


Giao diện của Mint (Cinnamon), đó có phải là "giao diện" hay nhiều "vỏ" như bạn đang nói không?
EGHDK

Trong UNIX / Linux, thuật ngữ 'giao diện' phù hợp hơn với GUI, vì 'shell' đã có một ý nghĩa cụ thể (vỏ dòng lệnh như bashhoặc zsh). Hoặc bạn có thể gọi nó là "môi trường máy tính để bàn".
Renan

Vậy thiết bị đầu cuối a là vỏ?
EGHDK

1
@EGHDK Không hoàn toàn: một shell (theo nghĩa UNIX) chạy bên trong một thiết bị đầu cuối. Điều này được giải thích trong Sự khác biệt chính xác giữa 'thiết bị đầu cuối', 'vỏ', 'tty' và 'bàn điều khiển' là gì?
Renan

Hoàn hảo. Bạn đã trả lời tất cả các câu hỏi của tôi. Cảm ơn! Tôi rất trân trọng điều này.
EGHDK

8

Để hiểu sự khác biệt giữa các bản phân phối, có lẽ bạn nên xem lại bản phân phối là gì.

Một bản phân phối

Bạn có thể biết tất cả điều này, nhưng nghĩ về nó một lần nữa. Linux chỉ là một hạt nhân. Trong hầu hết các trường hợp, điều đó hoàn toàn vô dụng. Hầu hết những gì nó làm chỉ đơn giản là cung cấp giao diện phần mềm cho phần cứng trên máy của bạn để các chương trình khác sử dụng nó. Một phân phối phức tạp hơn nhiều so với điều này. Đưa vào tài khoản:

  • Một sự lựa chọn của các ứng dụng và thư viện cụ thể cho việc sử dụng phân phối.
  • Công cụ để quản lý và bảo trì hệ thống.
  • Tài liệu và kênh hỗ trợ.
  • Một chu kỳ phát hành và quản lý cộng đồng.

Có rất nhiều lớp phần mềm được thêm vào trên Linux để tạo ra thứ gì đó như Ubuntu hoặc Mint, với khả năng vô hạn về cấu hình và lựa chọn để thực hiện.

Bạn cũng nên tính đến bản chất của trình soạn thảo của bản phân phối. Các dự án như Red Hat, SuSE hoặc Ubuntu phục vụ mục đích của các doanh nghiệp trong khi các dự án khác như Mint, Debian hoặc Gentoo được quản lý bởi các tình nguyện viên.

Sự khác biệt giữa một bản phân phối và một bản khác

Hầu như bất kỳ ứng dụng nào chạy trên một bản phân phối đều có sẵn (hoặc dễ dàng mang theo) cho người khác. Xét cho cùng, tất cả chúng đều là các hệ thống Unix rất giống nhau. Tuy nhiên, bất kể bạn làm gì, bạn không thể thay đổi chu kỳ phát hành của bản phân phối, tốc độ đóng gói các phiên bản mới hoặc đơn giản là giao diện của diễn đàn chính thức của họ. Có lẽ một ví dụ sẽ cho bạn thấy rõ hơn:

Giả sử tôi đang nôn nóng chờ đợi phiên bản mới của phần mềm của mình, ví dụ Python-3.3 sắp ra mắt trong vài ngày. Làm thế nào nó sẽ có sẵn cho các distro khác nhau:

  • Các bản phát hành cuộn (như Arch Linux hoặc Gentoo) sẽ làm cho nó có sẵn nhanh chóng trong kho của họ. Ngay sau khi các nhà bảo trì gói nó và các thử nghiệm cơ bản được chạy, nó có sẵn.
  • Các bản phân phối doanh nghiệp có thể sẽ hứa hẹn cho "phiên bản sắp tới". Trong khi đó, nó vẫn có sẵn nhưng sẽ không có trong bất kỳ kênh chính thức nào.
  • Debian sẽ không cung cấp nó trước khi nó được kiểm tra kỹ lưỡng, một quá trình có thể mất nhiều năm. Tuy nhiên, nó làm cho kho lưu trữ thử nghiệm rất dễ dàng có sẵn cho công chúng. (Ví dụ, Ubuntu tạo các phiên bản của họ ra khỏi kho phiên bản này cứ sau 6 tháng).

Sự khác biệt thực sự giữa Mint và Ubuntu.

Đối với hồ sơ, tôi nên chỉ ra rằng tôi đã sử dụng Ubuntu hơn 2 năm và hầu như không sử dụng Mint trong vài tháng 4 năm trước. Những gì tôi đang nói ở đây có thể không chính xác lắm.

Sự khác biệt giữa Mint và Ubuntu là tối thiểu, sau tất cả Mint hoàn toàn dựa trên Ubuntu. Ban đầu, Mint chỉ đơn giản là đóng gói lại Ubuntu với 3 điểm khác biệt:

  • Nó cung cấp các công nghệ độc quyền trong cài đặt mặc định của họ (thứ mà Ubuntu không có).
  • Nó cung cấp một vài công cụ đồ họa như menu thanh tác vụ hoặc trình cài đặt ứng dụng mà nó đã vá trên đầu cài đặt Ubuntu cơ bản.
  • Nó đã tập trung cao hơn vào thẩm mỹ. Solgan của nó vẫn là "Từ tự do đến thanh lịch".

Vài năm trước, sự phân ly ngày càng mở rộng khi Ubuntu cố gắng thúc đẩy môi trường đồ họa Unity, cộng đồng Mint đã đưa ra một vấn đề lớn về việc từ chối nó. Đây là cách quế đến.

Tôi chưa bao giờ thử nó, nhưng tôi sẽ không ngạc nhiên nếu ai đó làm Cinnamon chạy trên Ubuntu và Unity trên Mint. Đối số tôi đang cố gắng đưa ra là:

Sự khác biệt giữa các bản phân phối như Mint và Ubuntu liên quan nhiều đến cộng đồng và các lựa chọn tinh tế hơn là về bản thân phần mềm.

đọc thêm


Tôi không thể chỉnh sửa câu trả lời vì tôi chỉ muốn thêm một từ và chỉnh sửa yêu cầu sáu ký tự .... Tôi muốn chỉ ra rằng có lẽ bạn thiếu một từ gần đầu câu trả lời, vài dòng dưới đây nói: "Các chương trình khác sử dụng nó" nên là "các chương trình khác cansử dụng nó"
một cái gì đó Một cái gì đó

5

Đó là một câu hỏi hay. Hiểu biết của tôi là về mặt lý thuyết bạn có thể, nhưng nó có thể không hoạt động như mong đợi. Mặc dù Mint dựa trên Ubuntu, Ubuntu và Mint sử dụng các kho phần mềm khác nhau. Những kho lưu trữ này là những gì làm cho mỗi phân phối duy nhất. Trên bất kỳ hệ thống máy tính để bàn Mint hoặc Ubuntu nào, bạn có thể đặt kho lưu trữ thành bất cứ thứ gì bạn muốn. Vì vậy, bạn có thể lấy một hệ thống được cài đặt là Mint và thay đổi tất cả các kho lưu trữ thành các kho lưu trữ Ubuntu. Sau đó, nếu bạn cài đặt lại tất cả các gói, về cơ bản bạn đã có Ubuntu. Tuy nhiên, mỗi Ubuntu và Mint đều thực hiện một số điều chỉnh nhỏ đối với mã (lần lượt dựa trên Debian). Vì vậy, nếu các gói Mint đang mong đợi một bộ chỉnh sửa, nhưng các gói Ubuntu cung cấp một bộ chỉnh sửa hoàn toàn khác, thì bạn có thể kết thúc với một hệ thống rất bị hỏng.

Ngay cả một số "phiên bản" khác nhau của Ubuntu cũng có những chỉnh sửa kỳ lạ đối với mã của họ. Điều này là do Canonical tập trung vào tính dễ sử dụng hơn là tính chính xác của mã hoặc khả năng tương tác. Gần đây, tôi đã thử cài đặt Xfce4 lên bản cài đặt "máy chủ" Ubuntu 13.04. Tôi đã kết thúc với một hệ thống hoàn toàn bị hỏng. Đó là một mớ hỗn độn. Cuối cùng tôi đã cài đặt Ubuntu 13.04 bình thường và sau đó cài đặt xfce lên trên nó. Mọi thứ đều hoạt động một cách bí ẩn. Một số menu và chương trình nhất định thậm chí trông đẹp hơn, giống như chúng được hiển thị với một công cụ hoàn toàn khác. Tuy nhiên, tôi đã sử dụng tất cả các tệp và gói cấu hình giống nhau mà tôi đã sử dụng trên cài đặt máy chủ (và đối với bản cài đặt Debian chạy hoàn hảo trên cùng một máy tính).

Đó chỉ là phép thuật Canonical dành cho bạn. Nếu bạn để lại mọi thứ khi họ cung cấp, thì nó thường hoạt động tốt. Nếu bạn chạm vào ngay cả những điều nhỏ nhất, thì mọi thứ có thể bắt đầu trở nên thực sự kỳ lạ.


Nhân tiện, xin lỗi vì đã đăng bài trên một bài đăng cũ nhưng câu hỏi này hiện lên gần đầu các tìm kiếm nhất định của Google.
James Harris

Chào mừng bạn đến với StackExchange Unix & Linux! Trả lời các câu hỏi cũ không được nhăn mặt ở đây. Hãy chắc chắn dừng lại bởi Câu hỏi thường gặp .

4

Tôi sẽ tập trung vào các mục tiêu của các bản phát hành khác nhau hơn là các chi tiết như trình quản lý gói mà họ sử dụng hoặc phiên bản phần mềm nào họ hiện đang gửi. Một mục tiêu tốt có thể đưa bạn từ số 0 trở thành người dẫn đầu thị trường trong không gian của bạn nếu đó là thứ bạn theo đuổi (đó là Ubuntu khi chúng ra mắt, nhưng trước đó cũng là Red Hat) và một số quyết định công nghệ khá cơ bản có thể thay đổi nếu điều đó được coi là quan trọng đối với mục tiêu (sự nhấn mạnh của Ubuntu về Unity có thể là một ví dụ).

  • Red Hat: ban đầu, (vào thời điểm đó, cực kỳ mới lạ) thành công thương mại bằng cách cung cấp dịch vụ trả phí cho người dùng sản phẩm miễn phí của bạn. Gần đây, thực sự tính phí cho sản phẩm đó (không chắc tầm nhìn hiện tại trông như thế nào). Cơ sở khách hàng doanh nghiệp lớn có nghĩa là miễn cưỡng thay đổi - ổn định hơn hẳn sự đổi mới.
  • Debian: tự do và tính di động. "Phổ quát" có nghĩa là cố gắng chạy trên nhiều nền tảng; tập trung mạnh vào nguồn mở có nghĩa là bất cứ điều gì với các thành phần nguồn đóng là iffy. Sự ổn định là quan trọng, do đó, khá chậm và bảo thủ.
  • Fedora: ban đầu, phiên bản miễn phí của Red Hat sau khi họ đi thương mại. Trong thực tế, tương tự như Debian trong nhiệt tình nguồn mở, nhưng nhiều khả năng sẽ thử những điều mới táo bạo. Được Red Hat sử dụng làm giường thử nghiệm cho sự phát triển mới.
  • CentOS: Mũ đỏ miễn phí.
  • Ubuntu: thống trị máy tính để bàn. Dễ sử dụng (hoặc ít nhất là dễ làm quen) và bộ ứng dụng được tiêu chuẩn hóa để thu hút cơ sở người dùng rộng rãi. Cải thiện tốc độ chậm của Debian bằng cách giữ chu kỳ phát hành sáu tháng cố định dựa trên thử nghiệm Debian.
  • Mint: Ubuntu không có Unity.
  • Arch: cung cấp phiên bản ổn định mới nhất của mỗi gói ngược dòng với bao bì tối thiểu dành riêng cho phân phối vv và mô hình phát hành cuộn.
  • Slackware: đơn giản và giống Unix, và tránh đường.
  • Gentoo: kiểm soát chi tiết về biên dịch gói cục bộ dựa trên trình quản lý gói mới được gọi emerge.

Danh sách này rõ ràng được rút ngắn. Nhiều distro phổ biến là các biến thể, spin-off hoặc dĩa ở trên. Danh sách các bản phân phối Linux của Wikipedia khá toàn diện và có cấu trúc hợp lý. Xem thêm https://distrowatch.com/ để biết chi tiết, chẳng hạn như thống kê phổ biến hiện tại.

Một hệ quả quan trọng là quản lý kỳ vọng. Một bản phân phối tập trung vào tính tương thích và tự do phổ quát có thể mất khả năng sử dụng hoặc khả năng tương thích với một gizmo cụ thể hiện đang phổ biến ít nghiêm trọng hơn và ngược lại. Một bản phân phối tập trung vào dấu chân nhỏ và hiệu suất trên phần cứng cũ có thể sẽ không muốn bỏ nhiều công sức vào mắt như hiệu ứng máy tính để bàn hoạt hình hoặc sử dụng các trường hợp như chỉnh sửa video, mô phỏng 3D hoặc trò chơi phaticealistic mới nhất. thế hệ phần cứng. Một bản phân phối có mục tiêu là cung cấp trải nghiệm đơn giản và thống nhất cho những người mới sử dụng máy tính sẽ không quan tâm liệu trình điều khiển nhân hệ thống tập tin mới nhất có chạy trên hệ thống của họ hay không. Vân vân.

Điều này cũng sẽ thông báo câu trả lời cho câu hỏi cụ thể của bạn. Có lẽ không quá khó để Unity chạy trên Mint, nhưng tại sao bạn lại thích điều đó hơn là chạy Ubuntu? Rõ ràng có thể chạy Ubuntu với Cinnamon, nhưng cuối cùng bạn sẽ phát minh lại Mint, và nỗ lực có lẽ là rất đáng kể; nếu không thì tại sao họ lại từ bỏ một dự án riêng biệt chỉ để cung cấp điều đó? Và điều này thực sự minh họa cách một bản phân phối có thể coi một phần chính sách hoặc kiến ​​trúc cụ thể đủ quan trọng về mặt kỹ thuật hoặc chiến lược đến mức nó ảnh hưởng đến các thành phần khác lên xuống chuỗi phụ thuộc theo cách không cần thiết, tất nhiên cũng có nghĩa là cần nhiều cách giải quyết nếu bạn thử để loại bỏ nó anyway.

Tuy nhiên, đây là hai distro liên quan chặt chẽ; Nếu bạn cố gắng chuyển phần mềm giữa các bản phát hành, thì càng ngày càng khó hơn về mặt mục tiêu, chính sách và các quyết định kiến ​​trúc, cũng như di sản chung và cơ sở hạ tầng như mạng phân phối gói, các tiêu chuẩn để hỗ trợ, ví dụ thiết bị ngoại vi phần cứng hoặc quốc tế hóa, vv


Tôi hơi hết hơi. Hãy cập nhật hoặc thêm vào này.
tripleee

Vì bạn thu thập tất cả mọi thứ, bạn cũng có thể tham khảo các bản phân phối slackware, ví dụ như Porteus.
George Vasiliou

Tôi đoán openSUSE cũng nên có trong danh sách nhưng tôi không thể biết liệu họ có mục tiêu nào đó không, ngoài "là người Đức".
tripleee

0

Các bản phân phối Linux không chỉ là một kernel. Chúng cũng là tất cả các ứng dụng đang chạy trên kernel (bao gồm apt-get), bao gồm nhiều thứ ở mức rất thấp như hệ thống init. Trong thực tế, sự lựa chọn của các ứng dụng được sử dụng là điểm xác định của nhiều bản phân phối.

Bạn không thể cài đặt Ubuntu từ Mint nhiều hơn bạn có thể mang Cadilac của mình đến cửa hàng xe hơi và yêu cầu họ biến nó thành một chiếc Porsche nhưng vẫn giữ nguyên Cadilac. Họ có thể chuyển đổi Cadilac của bạn thành một chiếc Porsche với rất nhiều nỗ lực và chi phí: Cả hai đều có động cơ tương tự dưới nắp ca-pô. Tương tự, về mặt lý thuyết, bạn có thể chuyển đổi cài đặt Linux Mint sang cài đặt Ubuntu (đừng thử điều này, rất nhiều nỗ lực), nhưng chúng là hai sản phẩm riêng biệt. Có một cái được cài đặt ở cùng một nơi với cái khác không có ý nghĩa hoặc có thể.


0

Tóm lại: những gì làm cho bản sắc của một bản phân phối Linux bao gồm:

  • Cấu hình của kernel: yes: tất cả các distro bắt nguồn từ cùng một mã nguồn, nhưng giữa mã nguồn và nhị phân thực tế đang chạy trên máy tính, có quá trình biên dịch, bao gồm 'cấu hình', tức là đưa ra các lựa chọn.

  • Sự lựa chọn phần mềm tạo giao diện giữa phần cứng và kernel, cùng với cấu hình của nó tại thời điểm biên dịch

  • Sự lựa chọn phần mềm tạo ra giao diện mà bạn, người dùng, sẽ sử dụng. Đây là nơi 99% mã của một phân phối đi. Một lần nữa, tất cả tập trung vào: phần mềm nào được chọn, và cách nó được cấu hình và biên dịch.

Tất cả các lựa chọn này được ẩn khỏi bạn trong một bản phân phối, vì chúng đã được thực hiện và 'đóng gói' cho bạn. Theo cách đó, một bản phân phối Linux được xây dựng với hy vọng nó sẽ phù hợp với hầu hết người dùng. Nhưng tác dụng phụ là nó không được điều chỉnh cho nhu cầu của bạn.

Nếu bạn muốn tìm hiểu nhiều thứ về cách tạo các bản phân phối Linux, tôi khuyên bạn nên cố gắng xây dựng bản phân phối của riêng mình. Dự án 'Linux From Scratch' đã giúp tôi rất nhiều.

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.