Nhà phát triển | Cộng đồng Linus Torvalds |
---|---|
Được viết bằng | C, Hợp ngữ |
Họ hệ điều hành | Tương tự Unix |
Tình trạng hoạt động | Đang hoạt động |
Kiểu mã nguồn | Mã nguồn mở |
Phát hành lần đầu | 17 tháng 9 năm 1991 |
Đối tượng tiếp thị | Điện toán đám mây, hệ thống nhúng, mainframe, Thiết bị di động, máy tính cá nhân, máy chủ, siêu máy tính |
Có hiệu lực trong | Đa ngôn ngữ |
Nền tảng | Alpha, ARC, ARM, C6x, AMD64, H8/300, Hexagon, Itanium, m68k, Microblaze, MIPS, NDS32, Nios II, OpenRISC, PA-RISC, PowerPC, RISC-V, s390, SuperH, SPARC, Unicore32, x86, XBurst, Xtensa |
Loại nhân | Monolithic |
Không gian người dùng | GNU[a] |
Giao diện mặc định | Unix shell |
Giấy phép | GPLv2[7] và một số giấy phép khác (tên gọi "Linux" là một thương hiệu[b]) |
Website chính thức | www.linux.org |
Linux(/ˈlinʊks/ ⓘ LEEN-uuks hay /ˈlɪnʊks/ LIN-uuks[9]) là một họ các hệ điều hành tự do nguồn mở tương tự Unix và dựa trên Linux kernel,[10] một hạt nhân hệ điều hành được phát hành lần đầu tiên vào ngày 17 tháng 9 năm 1991, bởi Linus Torvalds.[11][12][13] Mặc dù có khá nhiều tranh cãi về việc phát âm Linux, nhưng theo như Linus chia sẻ: "Tôi không quá bận tâm việc mọi người phát âm tên tôi như thế nào, nhưng Linux luôn là Lih-nix". Linux thường được đóng gói thành các bản phân phối Linux. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc phát triển mã nguồn mở.
Các bản phân phối bao gồm nhân Linux và các thư viện và phần mềm hệ thống hỗ trợ, nhiều thư viện được cung cấp bởi GNU Project. Nhiều bản phân phôi Linux sử dụng từ "Linux" trong tên của họ, nhưng Free Software Foundation sử dụng tên GNU/Linux để nhấn mạnh tầm quan trọng của phần mềm GNU, gây ra một số tranh cãi.[14][15]
Các bản phân phối Linux phổ biến[16][17][18] bao gồm Debian, Fedora, và Ubuntu. Các bản phân phối thương mại bao gồm Red Hat Enterprise Linux và SUSE Linux Enterprise Server. Bản phân phối Desktop Linux bao gồm một windowing system như X11 hoặc Wayland, và một môi trường desktop giống như GNOME hay KDE Plasma. Các bản phân phối dành cho máy chủ có thể bỏ qua đồ họa hoàn toàn hoặc bao gồm một ngăn xếp giải pháp như LAMP. Vì Linux có thể phân phối lại miễn phí, bất kỳ ai cũng có thể tạo phân phối cho bất kỳ mục đích nào.[19]
Linux ban đầu được phát triển cho các máy tính cá nhân dựa trên kiến trúc Intel x86, nhưng sau đó đã được ported sang nhiều nền tảng hơn bất kỳ hệ điều hành nào khác.[20] Do sự thống trị của Android trên điện thoại thông minh, Linux cũng có cơ sở được cài đặt lớn nhất trong tất cả các hệ điều hành có mục đích chung.[21][22] Mặc dù nó chỉ được sử dụng bởi khoảng 2.3% máy tính để bàn,[23][24] nhưng Chromebook, chạy Chrome OS dựa trên nhân Linux, thống trị thị trường giáo dục K–12 của Mỹ và chiếm gần 20% doanh số notebook dưới 300 đô la ở Mỹ.[25] Linux là hệ điều hành hàng đầu trên các máy chủ (hơn 96,4% trong số 1 triệu hệ điều hành máy chủ web hàng đầu là Linux),[26] dẫn đầu các hệ thống big iron như các hệ thống mainframe, và là hệ điều hành duy nhất được sử dụng trên các siêu máy tính TOP500 (kể từ tháng 11 năm 2017, đã dần dần loại bỏ tất cả các đối thủ cạnh tranh).[27][28][29]
Linux cũng chạy trên các hệ thống nhúng, tức là các thiết bị có hệ điều hành thường được tích hợp vào firmware và được thiết kế riêng cho hệ thống. Điều này bao gồm routers, điều khiển tự động hóa, công nghệ nhà thông minh (giống như Google Nest),[30] TV (các smartTv của Samsung và LG dùng Tizen và WebOS, tương ứng),[31][32][33] ô tô (ví dụ, Tesla, Audi, Mercedes-Benz, Hyundai, và Toyota đều dựa trên Linux),[34] máy quay video kỹ thuật số, video game consoles, và smartwatches.[35] Hệ thống điện tử của Falcon 9 và Dragon 2 sử dụng phiên bản Linux tùy biến.[36]
Linux là một trong những ví dụ nổi bật nhất của phần mềm tự do nguồn mở và của việc phát triển mã nguồn mở. Mã nguồn có thể được dùng, sửa đổi và phân phối - thương mại hoặc phi thương mại - bởi bất kỳ ai theo các điều khoản của giấy phép tương ứng, ví dụ như GNU General Public License.[19]
Hệ điều hành Unix được hình thành và triển khai vào năm 1969, tại Phòng thí nghiệm Bell của AT&T tại Mỹ bởi Ken Thompson, Dennis Ritchie, Douglas McIlroy, và Joe Ossanna.[37] Phát hành lần đầu vào năm 1971, Unix ban đầu được viết bằng hợp ngữ, như thường lệ vào thời điểm đó. Vào năm 1973 theo cách tiếp cận tiên phong, nó đã được viết lại bằng ngôn ngữ lập trình C bởi Dennis Ritchie (trừ nhân (kernel) và I/O). Tính khả dụng của việc triển khai ngôn ngữ cấp cao của Unix đã giúp triển khai việc port của nó sang các nền tảng máy tính khác nhau dễ dàng hơn.[38]
Do một yêu cầu chống độc quyền trước đó cấm tham gia kinh doanh máy tính, AT&T được yêu cầu cấp phép mã nguồn của hệ điều hành cho bất kỳ ai yêu cầu. Do đó, Unix phát triển nhanh chóng và được các tổ chức học thuật và doanh nghiệp áp dụng rộng rãi. Năm 1984, AT&T thoái vốn khỏi Bell Labs; Được giải phóng nghĩa vụ pháp lý yêu cầu cấp phép miễn phí, Bell Labs bắt đầu bán Unix như một sản phẩm độc quyền, nơi người dùng không được phép sửa đổi hợp pháp Unix. Dự án GNU, khởi động năm 1983 bởi Richard Stallman, với mục tiêu tạo ra một "hệ thống phần mềm tương thích Unix hoàn chỉnh", toàn bộ bao gồm phần mềm tự do. Công việc bắt đầu vào năm 1984.[39] sau đó, năm 1985, Stallman khởi động Quỹ Phần mềm Tự do và viết Giấy phép Công cộng GNU (GNU GPL) năm 1989. Đến đầu những năm 1990, nhiều chương trình được yêu cầu trong một hệ điều hành (như các thư viện, trình biên dịch, trình soạn thảo, một Unix shell, và hệ thống quản lý cửa sổ) đã được hoàn thành, nhưng các thành phần cấp thấp cần thiết như trình điều khiển thiết bị, daemon, và nhân được gọi là GNU/Hurd, bị đình trệ và không được hoàn thiện.[40]
Trước Linux người ta đã phát triển 386BSD, tiền thân của NetBSD, OpenBSD và FreeBSD sau này, tuy nhiên vì những lý do pháp lý mà nó không được phát hành cho đến tận 1992. Torvalds đã nói rằng nếu có 386BSD hay GNU/Hurd trước (1991), có lẽ ông đã không tạo ra Linux.[41]
MINIX được phát triển bởi Andrew S. Tanenbaum, một giáo sư khoa học máy tính, và được phát hành năm 1987 như một hệ điều hành tương tự Unix tối thiểu hướng đến sinh viên và những người khác muốn tìm hiểu các nguyên tắc của hệ điều hành. Mặc dù mã nguồn hoàn chỉnh của MINIX có sẵn miễn phí, các điều khoản cấp phép đã ngăn không cho nó trở thành phần mềm tự do cho đến khi giấy phép thay đổi vào tháng 4 năm 2000.[42]
Năm 1991, khi theo học tại Đại học Helsinki, Torvalds trở nên tò mò về hệ điều hành.[43] Thất vọng vì việc cấp phép MINIX, lúc đó chỉ giới hạn sử dụng cho mục đích giáo dục,[42] ông bắt đầu làm việc với nhân hệ điều hành của chính mình, cuối cùng trở thành Linux.
Torvalds đã bắt đầu phát triển nhân Linux trên MINIX và các ứng dụng được viết cho MINIX cũng được sử dụng trên Linux. Sau đó, Linux trưởng thành và việc phát triển nhân Linux được tiếp tục trên các hệ thống Linux.[44] Các ứng dụng GNU cũng thay thế tất cả các thành phần MINIX, vì việc sử dụng mã có sẵn miễn phí từ GNU với một hệ điều hành còn non trẻ có nhiều lợi ích: mã nguồn được cấp phép theo GNU GPL có thể được sử dụng lại trong các chương trình máy tính khác miễn là chúng cũng được phát hành theo cùng một giấy phép hoặc một giấy phép tương thích. Từ một giấy phép cấm phân phối lại thương mại do ông tạo ra ban đầu, Torvalds bắt đầu chuyển sang sử dụng GNU GPL.[45] Các nhà phát triển tích hợp các thành phần GNU với nhân Linux, tạo ra một hệ điều hành đầy đủ chức năng và tự do.[46]
Linus Torvalds đã muốn đặt tên cho sáng chế của mình là "Freax", một cách chơi chữ khi ghép các từ "free", "freak", và "x" (một ám chỉ đến Unix). Trong thời gian bắt đầu công việc của mình trên hệ thống, một số makefiles của dự án bao gồm tên "Freax" trong khoảng nửa năm. Torvalds đã từng xem xét cái tên "Linux", nhưng ban đầu bác bỏ nó vì cho rằng như thế là quá tự cao tự đại.[47]
Để tạo điều kiện phát triển, các file đã được tải lên FTP server (ftp.funet.fi
) của FUNET vào tháng 9 năm 1991. Ari Lemmke, bạn học của Torvalds tại Helsinki University of Technology (HUT), một trong những quản trị viên tình nguyện của máy chủ FTP tại thời điểm đó, không nghĩ rằng "Freax" là một cái tên hay. Vì vậy, ông đã đặt tên dự án là "Linux" trên máy chủ mà không hỏi ý kiến Torvalds.[47] Tuy nhiên, sau đó, Torvalds chấp thuận với "Linux".
Theo một bài đăng lên newsgroup bởi Torvalds[9], từ "Linux" nên được phát âm là (/ˈlɪnʊks/ ⓘ LIN-uuks với một âm ‘i’ ngắn như trong ‘print’ và ‘u’ như trong ‘put’. Để mô tả rõ hơn "Linux" nên được phát âm như thế nào, ông đã thêm vào mã nguồn kernel một đoạn ghi âm của mình (ⓘ).[48]. Tuy nhiên trong bản ghi âm "Linux" lại nghe giống như LEEN-uuks (/ˈlinʊks/ ⓘ.
Việc sử dụng Linux trong môi trường sản xuất, thay vì chỉ được sử dụng bởi những người có sở thích, bắt đầu vào giữa những năm 1990 trong cộng đồng siêu máy tính, nơi các tổ chức như NASA bắt đầu thay thế các máy móc ngày càng đắt tiền của họ bằng các cụm bao gồm các máy tính rẻ tiền chạy Linux. Việc sử dụng thương mại bắt đầu khi Dell và IBM, rồi đến Hewlett-Packard lần lượt cung cấp hỗ trợ Linux để thoát khỏi sự độc quyền của Microsoft trong thị trường hệ điều hành máy tính để bàn.[49]
Ngày nay, các hệ thống Linux được sử dụng ở mọi nơi trong ngành máy tính,từ các hệ thống nhúng đến hầu như tất cả các siêu máy tính,[29][50] và có một vị trí vững trãi trong môi trường máy chủ, dưới dạng gói ứng dụng phổ biến LAMP chẳng hạn. Việc sử dụng các bản phân phối Linux trong máy tính để bàn gia đình và doanh nghiệp đang phát triển.[51][52][53][54][55][56][57] Các bản phân phối Linux cũng đã trở nên phổ biến trên thị trường netbook, với nhiều thiết bị được phát hành với các bản phân phối Linux tùy chỉnh được cài đặt và Google đã phát hành Chrome OS của riêng họ được thiết kế cho các netbook.
Thành công lớn nhất của Linux trong thị trường tiêu dùng có lẽ là thị trường thiết bị di động, với Android là một trong những hệ điều hành thống trị nhất trên điện thoại thông minh và rất phổ biến trên máy tính bảng và gần đây hơn là các thiết bị thông minh đeo trên người. Chơi game trên Linux cũng đang gia tăng với Valve cho thấy sự hỗ trợ của họ dành cho Linux và tung ra SteamOS, bản phân phối Linux của riêng dành cho việc chơi game. Các bản phân phối Linux cũng đã trở nên phổ biến với các chính quyền địa phương và quốc gia khác nhau, chẳng hạn như chính phủ liên bang Brazil.[58]
Greg Kroah-Hartman là người đứng đầu việc bảo trì và phát triển của nhân Linux.[59] William John Sullivan là giám đốc điều hành của Free Software Foundation,[60] nơi hỗ trợ các thành phần GNU.[61] Cuối cùng là các cá nhân và tập đoàn phát triển các thành phần không phải GNU của bên thứ ba. Các thành phần của bên thứ ba này bao gồm một khối lượng công việc khổng lồ và có thể bao gồm cả các mô-đun nhân và các ứng dụng người dùng và các thư viện.
Các nhà cung cấp và cộng đồng Linux kết hợp và phân phối kernel, các thành phần GNU và không phải GNU với phần mềm quản lý gói bổ sung tạo thành một bản phân phối Linux.
Một hệ thống dựa trên Linux là một hệ điều hành tương tự Unix được mô-đun hóa, với phần lớn thiết kế cơ bản của nó dựa trên các nguyên tắc được Unix đề ra trong thập niên 1970 và 1980. Một hệ thống như vậy sử dụng hạt nhân nguyên khối gọi là Linux kernel, có nhiệm vụ kiểm soát các tiến trình, kết nối mạng, truy cập vào các thiết bị ngoại vi và hệ thống file. Các trình điều khiển thiết bị được tích hợp trực tiếp vào nhân hoặc được nạp vào trong lúc hệ thống đang chạy.[62]
GNU userland là một phần quan trọng của hầu hết các hệ thống dựa trên nhân Linux, với Android là ngoại lệ đáng chú ý. Thư viện C của GNU hoạt động như một lớp bọc cho các lời gọi hệ thống của nhân Linux cần thiết cho giao diện không gian người dùng; GNU toolchain là một tập hợp lớn các công cụ lập trình quan trọng đối với sự phát triển của Linux (bao gồm các trình biên dịch được sử dụng để xây dựng nhân Linux); và GNU coreutils (các trình tiện ích lõi) bao gồm nhiều công cụ Unix cơ bản. Dự án cũng phát triển Bash, một shell giao diện dòng lệnh phổ biến. Giao diện đồ họa người dùng (GUI) trong hầu hết các hệ thống Linux được xây dựng dựa trên một triển khai của X Window System.[63] Gần đây, cộng đồng Linux tìm cách tiến tới Wayland như giao thức máy chủ hiển thị mới thay cho X11. Nhiều dự án phần mềm nguồn mở khác đóng góp cho các hệ thống Linux.
User mode | Ứng dụng người dùng | Ví dụ, bash, LibreOffice, GIMP, Blender, 0 A.D., Mozilla Firefox, v.v. | ||||
---|---|---|---|---|---|---|
Các thành phần hệ thống | Các daemons hệ thống: systemd, runit, logind, networkd, PulseAudio, ... |
Hệ thống cửa sổ: X11, Wayland, SurfaceFlinger (Android) |
Đồ hoạ: Mesa, AMD Catalyst, ... |
Thư viện khác: GTK+, Qt, EFL, SDL, SFML, FLTK, GNUstep, v.v. | ||
Thư viện chuẩn C | open() , exec() , sbrk() , socket() , fopen() , calloc() , ... (lên đến 2000 chương trình con)glibc nhắm tới tốc độ, musl và uClibc nhắm đến hệ thống nhúng, bionic được viết cho Android, v.v. Tất cả đều hướng đến việc tương thích với POSIX/SUS. | |||||
Kernel mode | Nhân Linux | stat , splice , dup , read , open , ioctl , write , mmap , close , exit , v.v. (có khoảng 380 lời gọi hệ thống)Nhân Linux System Call Interface (SCI, nhắm đến việc tương thích với POSIX/SUS) | ||||
Hệ thống con Lập lịch cho các tiến trình |
Hệ thống con Giao tiếp giữa các tiến trình |
Hệ thống con Quản lý bộ nhớ |
Hệ thống con Hệ thống file ảo |
Hệ thống con Mạng | ||
Các thành phần khác: ALSA, DRI, evdev, LVM, device mapper, Linux Network Scheduler, Netfilter Các môdun bảo mật: SELinux, TOMOYO, AppArmor, Smack | ||||||
Phần cứng (CPU, bộ nhớ chính, thiết bị lưu trữ dữ liệu, v.v) |
Các thành phần được cài đặt trong một hệ thống Linux bao gồm:[63][64]
Giao diện người dùng hay còn gọi là shell là một giao diện dòng lệnh (CLI shell) hay giao diện đồ họa người dùng (GUI shell), hoặc bộ điều khiển gắn liền với phần cứng (các hệ thống nhúng thường sử dụng). Với các hệ thống để bàn, mặc định giao diện thường là giao diện đồ họa người dùng, mặc dù giao diện dòng lệnh cũng có thể được sử dụng thông qua trình giả lập thiết bị đầu cuối hay các console ảo.
CLI shell là các giao diện người dùng dựa trên văn bản, sử dụng văn bản cho việc xuất và nhập. Linux shell chiếm ưu thế trong sử dụng là Bourne-Again Shell (bash), ban đầu được phát triển cho dự án GNU. Hầu hết các thành phần Linux cấp thấp, kể cả nhiều phần khác nhau của userland, chỉ sử dụng CLI. CLI đặc biệt phù hợp để tự động hóa các nhiệm vụ lặp đi lặp lại hoặc bị trì hoãn và cung cấp một kiểu giao tiếp giữa các tiến trình rất đơn giản.
Trên các hệ thống máy để bàn, giao diện người dùng phổ biến là các GUI shell được đóng gói cùng với các môi trường desktop mở rộng như KDE Plasma, GNOME, MATE, Cinnamon, LXDE, Pantheon và Xfce, mặc dù có nhiều giao diện người dùng khác. Hầu hết các giao diện người dùng phổ biến đều dựa trên X Window System, hoặc được gọi tắt là "X" hoặc "X11". Nó cung cấp tính xuyên dụng mạng và cho phép một ứng dụng đồ họa chạy trên một hệ thống được hiển thị trên một hệ thống khác, nơi người dùng có thể tương tác với ứng dụng; tuy nhiên, một số phần mở rộng nhất định của X Window System không có khả năng hoạt động qua mạng.[65] Có một số máy chủ hiển thị X, trong đó khai triển tham chiếu X.Org Server là phổ biến nhất.
Các bản phân phối cho máy chủ có thể cung cấp giao diện dòng lệnh cho nhà phát triển và quản trị viên, nhưng cung cấp giao diện tùy chỉnh cho người dùng cuối, được thiết kế cho trường hợp sử dụng của hệ thống. Giao diện tùy chỉnh này được truy cập thông qua một máy khách cư trú trên một hệ thống khác, không nhất thiết phải dựa trên Linux.
Có vài loại trình quản lý của sổ cho X11 bao gồm tiling, dynamic, stacking và compositing. Trình quản lý cửa sổ cung cấp các phương thức để kiểm soát vị trí và cách trình bày của các cửa sổ ứng dụng riêng lẻ và tương tác với X Window System. Các trình quản lý cửa sổ đơn giản hơn như như dwm, ratpoison hay i3wm chỉ cung cấp một cung cấp các tính năng tối thiểu để điều khiển các cửa sổ, trong khi các trình quản lý cửa sổ phức tạp hơn như FVWM, Enlightenment hay Window Maker cung cấp nhiều tính năng hơn nhưng vẫn nhẹ hơn so với các môi trường desktop. Trình quản lý cửa sổ là một phần của cài đặt tiêu chuẩn của các môi trường desktop, chẳng hạn như Mutter (GNOME), KWin (KDE) hay Xfwm (xfce), mặc dù người dùng có thể chọn một trình quản lý cửa sổ khác nếu muốn.
Wayland là một giao thức máy chủ hiển thị nhằm thay thế cho giao thức X11; tuy nhiên tính đến năm 2014[cập nhật], nó không được tiếp nhận rộng rãi hơn. Không giống X11, Wayland không cần một trình quản lý của sổ phụ và trình quản lý compositing. Do đó, một Wayland compositor đóng vai trò vừa là máy chủ hiển thị, trình quản lý cửa sổ và trình quản lý. Weston là triển khai tham chiếu của Wayland, Trong khi Mutter của GNOME và KWin của KDE đang được ported sang Wayland dưới dạng máy chủ hiển thị độc lập. Enlightenment đã được port thành công kể từ phiên bản 19.[66]
Linux hiện có hai API hiện đại giữa kernel và userspace để xử lý các thiết bị đầu vào video: V4L2 API cho video streams và radio, và DVB API cho truyền hình số.[67]
Do sự phức tạp và đa dạng của các thiết bị khác nhau và do số lượng lớn các định dạng và tiêu chuẩn được xử lý bởi các API nói trên, hạ tầng này cần phát triển để phù hợp hơn với các thiết bị khác. Ngoài ra, một thư viện thiết bị userland tốt là chìa khóa thành công để các ứng dụng userland có thể hoạt động với tất cả các định dạng được hỗ trợ bởi các thiết bị đó.[68][69]
Sự khác nhau cơ bản giữa Linux và nhiều hệ điều hành phổ biến đương thời là nhân Linux và các thành phần khác đều là phần mềm tự do mã nguồn mở. Linux không phải là một hệ điều hành duy nhất như vậy, mặc dù cho đến nay nó phổ biến nhất.[70] Vài giấy phép phần mềm tự do nguồn mở dựa trên copyleft: bất cứ sản phẩm nào sử dụng một phần mềm copyleft cũng phải là copyleft. Giấy phép thông dụng nhất của phần mềm tự do là giấy phép công cộng GNU (GNU General Public License - GPL), một dạng của copyleft, và được sử dụng cho nhân Linux và nhiều thành phần từ dự án GNU.[71]
Các bản phân phối của Linux được các nhà phát triển hướng đến khả năng tương tác với các hệ điều hành khác và các tiêu chuẩn trong tính toán. Các hệ thống Linux gắn chặt với các chuẩn POSIX,[72] SUS,[73] LSB, ISO và ANSI trong khả năng có thể, mặc dù cho đến nay chỉ có một bản phân phối Linux đã được chứng nhận POSIX.1, Linux-FT.[74][75]
Các dự án phần mềm tự do được phát triển thông qua việc cộng tác, nhưng lại thường được sản xuất độc lập với nhau. Tuy nhiên, việc giấy phép phần mềm rõ ràng cho phép phân phối lại cung cấp cơ sở cho các dự án quy mô lớn hơn, bằng cách thu các thập phần mềm được sản xuất bởi các dự án độc lập lại thành dạng một bản phân phối Linux.
Nhiều bản phân phối Linux quản lý tập hợp các gói phần mềm hệ thống và ứng dụng từ xa, có thể tải về và cài đặt thông qua kết nối mạng. Điều này cho phép người dùng thích ứng với hệ điều hành của họ theo những nhu cầu cá nhân. Các bản phân phối đều được duy trì bởi các cá nhân, các nhóm, tổ chức tình nguyền, và các công ty. Một bản phân phối chịu trách nhiệm cho cấu hình mặc định của hạt nhân Linux được sử dụng, bảo mật hệ thống chung, và nhìn chung là sự tích hợp chặt chẽ của các gói phần mềm khác nhau. Các bản phân phối khác nhau sử dụng các trình quản lý gói khác nhau như dpkg, Synaptic, YAST, apt, yum, Portage để cài đặt, xóa bỏ, và cập nhật tất cả các phần mềm trong hệ thống từ một vị trí trung ương.[76]
Một bản phân phối chủ yếu được thúc đẩy bởi các nhà phát triển và cộng đồng người dùng. Một số nhà cung cấp phát triển và tài trợ cho các bản phân phối của họ trên cơ sở tình nguyện, Debian là một ví dụ nổi tiếng. Những người khác duy trì phiên bản cộng đồng của các bản phân phối thương mại của họ, như Red Hat đang làm với Fedora, hay SUSE với openSUSE.[77][78]
Ở nhiều thành phố và khu vực, các hiệp hội địa phương được gọi là Linux User Groups (LUGs) tìm cách thúc đẩy các bản phân phối ưa thích của họ nói riêng và phần mềm miễn phí nói chung. Họ tổ chức các cuộc họp và cung cấp miễn phí các cuộc trình bày, đào tạo, hỗ trợ kỹ thuật và cài đặt hệ điều hành cho người dùng mới. Nhiều cộng đồng Internet cũng cung cấp hỗ trợ cho người dùng và nhà phát triển Linux. Hầu hết các bản phân phối và các dự án phần mềm tự do nguồn mở đều có các phòng chat IRC hoặc newsgroup. Các diễn đàn trực truyến là một phương tiện hỗ trợ khác, với các ví dụ đáng chú ý là LinuxQuestions.org và các diễn đàn cộng đồng khác nhau và các diễn đàn hỗ trợ một phân phối cụ thể, chẳng hạn như các diễn đàn cho Ubuntu, Fedora, và Gentoo. Các bản phân phối Linux còn lập các mailing list; thông thường sẽ có một chủ đề cụ thể như sử dụng hoặc phát triển trong mỗi mailing list.
Có một số trang web công nghệ tập trung vào Linux. Các tạp chí in về Linux thường đóng gói các đĩa chứa phần mềm hoặc thậm chí là các bản phân phối Linux hoàn thiện.[79][80]
Mặc dù các bản phân phối Linux thường miễn phí, một số tập đoàn lớn bán, hỗ trợ và đóng góp phát triển các thành phần của hệ thống và phần mềm tự do. Một phân tích về nhân Linux cho thấy 75% mã nguồn từ tháng 12 năm 2008 đến tháng 1 năm 2010 được phát triển bởi các lập trình viên làm việc cho các tập đoàn, còn lại khoảng 18% cho các tình nguyện viên và 7% không được phân loại.[81] Các tập đoàn lớn tham gia đóng góp bao gồm Dell, IBM, HP, Oracle, Sun Microsystems (giờ là một phần của Oracle) và Nokia. Một số tập đoàn, đặc biệt là Red Hat, Canonical và SUSE, đã xây dựng một doanh nghiệp quan trọng xung quanh các bản phân phối Linux.
Các gói phần mềm khác nhau trong một bản phân phối Linux dựa trên các giấy phép phần mềm tự do, trong đó nói rõ ràng về việc cho phép và khuyến khích sự thương mại hóa; mối quan hệ giữa một bản phân phối Linux nói chung và các nhà cung cấp riêng lẻ có thể được coi là cộng sinh. Một mô hình kinh doanh phổ biến của các nhà cung cấp thương mại là tính phí hỗ trợ, đặc biệt là đối với người dùng doanh nghiệp. Một số công ty cũng cung cấp một phiên bản doanh nghiệp chuyên biệt cho phân phối của họ, trong đó bổ sung các gói và công cụ hỗ trợ độc quyền để quản lý lượng cài đặt cao hơn hoặc để đơn giản hóa các tác vụ quản trị.
Một mô hình kinh doanh khác là cho đi phần mềm để bán phần cứng. Đây là điều bình thường trong ngành công nghiệp máy tính trước đây, khi các hệ điều hành như CP/M, Apple DOS và các phiên bản Mac OS trước phiên bản 7.6 cho phép sao chép tự do (nhưng không thể sửa đổi). Khi phần cứng máy tính được chuẩn hóa trong suốt những năm 1980, các nhà sản xuất phần cứng trở nên khó khăn hơn để kiếm lợi từ chiến thuật này, vì HĐH sẽ chạy trên máy tính có chung kiến trúc của bất kỳ nhà sản xuất nào khác.
Hầu hết các ngôn ngữ lập trình đều hỗ trợ Linux trực tiếp hoặc thông qua các ports bên thứ ba của cộng đồng.[82] Các công cụ phát triển ban đầu được sử dụng để xây dựng cả ứng dụng Linux và chương trình hệ điều hành được tìm thấy trong GNU toolchain, bao gồm GNU Compiler Collection (GCC) và GNU Build System. Trong số đó, GCC cung cấp trình biên dịch cho Ada, C, C++, Go và Fortran. Nhiều ngôn ngữ lập trình có một bản triển khai tham khảo đa nền tảng hỗ trợ Linux, ví dụ như PHP, Perl, Ruby, Python, Java, Go, Rust và Haskell. Phát hành lần đầu năm 2003, dự án LLVM cung cấp một trình biên dịch mã nguồn mở đa nền tảng khác cho nhiều ngôn ngữ. Trình biên dịch độc quyền cho Linux bao gồm Intel C++ Compiler, Sun Studio, và IBM XL C/C++ Compiler. BASIC dưới dạng Visual Basic được hỗ trợ dưới các hình thức như Gambas, FreeBASIC, và XBasic, và BASIC nói chung như QuickBASIC hoặc Turbo BASIC dưới dạng QB64.
Một tính năng phổ biến của các hệ thống tương tự Unix là bao gồm các ngôn ngữ lập trình truyền thống có mục đích cụ thể như scripting, xử lý văn bản hay quản lý và cấu hình hệ thống nói chung. Các bản phân phối Linux hỗ trợ các shell script, awk, sed và make. Nhiều chương trình cũng có ngôn ngữ lập trình nhúng để hỗ trợ việc cấu hình hoặc dùng trong lập trình. Ví dụ, biểu thức chính quy được hỗ trợ trong các chương trình như grep và locate, MTA Sendmail truyền thống trên Unix chứa hệ thống scripting Turing-đầy đủ của riêng nó, và trình soạn thảo văn bản nâng cao GNU Emacs được xây dựng xung quanh trình một thông dịch Lisp thông dụng.
Hầu hết các bản phân phối cũng bao gồm hỗ trợ cho PHP, Perl, Ruby, Python và các ngôn ngữ động khác. Mặc dù không phổ biến bằng, nhưng đôi khi Linux cũng hỗ trợ C# (thông qua Mono), Vala, và Scheme. Guile Scheme đóng vai trò là một ngôn ngữ scripting của các tiện ích hệ thống GNU, tìm cách làm cho các chương trình C nhỏ, tĩnh tuân theo quy tắc Unix có thể được mở rộng nhanh chóng và linh hoạt thông qua một hệ thống scripting với lập trình hàm. Một số máy ảo Java và bộ công cụ phát triển Java trên Linux, bao gồm JVM (HotSpot) nguyên thủy của Sun và Hệ thống J2SE RE của IBM, cũng như nhiều dự án nguồn mở như Kaffe và JikeRVM.
GNOME và KDE là các môi trường desktop phổ biến và cung cấp một framework cho phát triển ứng dụng. Những dự án này dựa trên các widget toolkits tương ưng là GTK và Qt, mặt khác chúng cũng có thể được sử dụng độc lập với framework lớn hơn mình. Cả hai đều hỗ trợ nhiều ngôn ngữ. Có một số môi trường phát triển tích hợp có sẵn bao gồm Anjuta, Code::Blocks, CodeLite, Eclipse, Geany, ActiveState Komodo, KDevelop, Lazarus, MonoDevelop, NetBeans, và Qt Creator, trong khi các trình soạn thảo lâu đời như Vim, nano và Emacs vẫn còn phổ biến.[83]
Nhân Linux là nhân hệ điều hành được ported rộng rãi, có sẵn cho hàng loạt các thiết bị từ điện thoại di động cho đến siêu máy tính;nó chạy trên một loạt các kiến trúc máy tính rất độc đáo, bao gồm iPAQ dựa trên ARM và các mainframes System z9 hay System z10 của IBM.[84] Các bản phân phối chuyên biệt và các nhánh nhân tồn tại cho các kiến trúc ít chính thống hơn; ví dụ, nhân ELKS có thể chạy trên bộ vi xử lý 16 bit Intel 8086 hay Intel 80286, trong khi nhân µClinux có thể chạy trên các hệ thống mà không cần đơn vị quản lý bộ nhớ. Hạt nhân này cũng chạy trên các kiến trúc chỉ dành cho sử dụng hệ điều hành do nhà sản xuất tạo ra, chẳng hạn như máy tính Macintosh (với cả vi xử lý PowerPC và Intel), PDA, video game consoles, máy nghe nhạc, điện thoại di động.
Có một số hiệp hội công nghiệp và hội nghị phần cứng dành cho việc duy trì và cải thiện hỗ trợ cho phần cứng đa dạng trong Linux, như là FreedomHEC. Theo thời gian, sự hỗ trợ cho các phần cứng khác nhau đã được cải thiện trong Linux, dẫn đến bất kỳ thiết bị nào cũng có "cơ hội tốt" để tương thích.[85]
Vào năm 2014, một sáng kiến mới đã được đưa ra để tự động thu thập cơ sở dữ liệu của tất cả các cấu hình phần cứng được thử nghiệm.[86]
Bên cạnh các bản phân phối Linux được thiết kế để sử dụng cho mục đích chung trên máy tính để bàn và máy chủ, các bản phân phối có thể được chuyên dùng cho các mục đích khác nhau bao gồm: hỗ trợ kiến trúc máy tính, hệ thống nhúng, ổn định, bảo mật, bản địa hóa cho một vùng hoặc ngôn ngữ cụ thể, nhắm mục tiêu của các nhóm người dùng cụ thể, hỗ trợ cho các ứng dụng thời gian thực hoặc cam kết với một môi trường desktop nhất định. Hơn nữa, một số bản phân phối có chủ ý chỉ bao gồm phần mềm tự do. Năm 2015, hơn bốn trăm bản phân phối Linux được phát triển tích cực, với khoảng một chục bản phân phối phổ biến nhất cho mục đích sử dụng chung.[87]
Sự phổ biến của Linux trên máy tính để bàn và máy tính xách tay tiêu chuẩn đã tăng lên trong những năm qua.[88] Các bản phân phối hiện đại phổ biến nhất bao gồm một môi trường người dùng đồ hoạ, tính đến tháng 2 năm 2015[cập nhật], hai môi trường phổ biến nhất được sử dụng là KDE Plasma Desktop và Xfce.[89]
Không có desktop Linux chính thức nào tồn tại: các môi trường desktop environments và bản phân phối Linux lưaqj chọn các thành phần từ các nhóm phần mềm tự do nguồn mở mà họ xây dựng một GUI triển khai một số hướng dẫn thiết kế ít nhiều nghiêm ngặt. Ví dụ, GNOME có hướng dẫn giao diện con người như một hướng dẫn thiết kế, giúp giao diện người máy đóng vai trò quan trọng, không chỉ khi thực hiện thiết kế đồ họa mà cả khi hỗ trợ người khuyết tật hay khi tập trung vào bảo mật.[90]
Bản chất hợp tác của phát triển phần mềm miễn phí cho phép các nhóm phân phối thực hiện bản địa hóa ngôn ngữ của một số bản phân phối Linux để sử dụng tại các địa phương nơi việc bản địa hóa các hệ thống độc quyền sẽ không hiệu quả về chi phí. Ví dụ, phiên bản tiếng Sinhalese của bản phân phối Knoppix đã có sẵn đáng kể trước khi Microsoft dịch Windows XP sang Sinhalese.[91] Trong trường hợp này, Lanka Linux User Group đã đóng một vai trò quan trọng trong việc phát triển hệ thống bản địa hóa bằng cách kết hợp kiến thức của các giáo sư đại học, nhà ngôn ngữ học và nhà phát triển địa phương.
Hiệu năng của Linux trên desktop là một chủ đề gây tranh cãi;[92][93] ví dụ vào năm 2007 Con Kolivas đã cáo buộc cộng đồng Linux tập trung hiệu năng trên các máy chủ. Ông đã từ bỏ việc phát triển nhân Linux vì thất vọng với sự thiếu tập trung vào desktop, và sau đó trả lời phỏng vấn "nói tất cả" về chủ đề này.[94] Kể từ đó, một lượng phát triển đáng kể đã tập trung vào việc cải thiện trải nghiệm desktop. Các dự án như systemd và Upstart (đã dừng năm 2014) nhằm mục đích cho thời gian khởi động nhanh hơn; các dự án Wayland và Mir nhằm mục đích thay thế X11 đồng thời tăng cường hiệu năng, bảo mật và giao diện của desktop.[95]
Nhiều ứng dụng phổ biến có sẵn cho nhiều hệ điều hành. Ví dụ, Mozilla Firefox, OpenOffice.org/LibreOffice và Blender có các phiên bản có thể tải xuống cho tất cả các hệ điều hành chính. Thêm vào đó, một số ứng dụng ban đầu được phát triển cho Linux, như Pidgin, và GIMP, đã được ported đến các hệ điều hành khác (bao gồm Windows và macOS) do mức độ phổ biến của chúng. Ngoài ra, ngày càng nhiều ứng dụng desktop độc quyền cũng được hỗ trợ trên Linux,[96] ví dụ như Autodesk Maya và The Foundry's Nuke trong lĩnh vực hoạt hình và hiệu ứng hình ảnh cao cấp. Ngoài ra còn có một số công ty đã ported các trò chơi của riêng họ hoặc của các công ty khác sang Linux, với Linux cũng là một nền tảng được hỗ trợ trên cả hai dịch vụ phân phối kỹ thuật số phổ biến Steam và Desura.[97]
Nhiều loại ứng dụng khác có sẵn cho Microsoft Windows và macOS cũng chạy trên Linux. Thông thường, một ứng dụng tự do sẽ tồn tại với các chức năng của ứng dụng được tìm thấy trên một hệ điều hành khác hoặc ứng dụng đó sẽ có phiên bản hoạt động trên Linux, ví dụ như với Skype và một vài video games như Dota 2 vàTeam Fortress 2. Ngoài ra, dự án Wine cung cấp một lớp tương thích Windows để chạy các dứng dụng Windows chưa sửa đổi trên Linux. Nó được tài trợ bởi các doanh nghiệp thương mại bao gồm CodeWeavers,nơi sản xuất một phiên bản thương mại của phần mềm. Từ 2009, Google cũng đã đóng góp tài chính cho dự án Wine.[98][99] CrossOver, một giải pháp độc quyền dựa trên dự án Wine nguồn mở, hỗ trợ chạy các phiên bản Windows của Microsoft Office, các ứng dụng Intuit như là Quicken và QuickBooks, Adobe Photoshop CS2, và nhiều game phổ biến như World of Warcraft. Trong các trường hợp khác, khi không có port Linux của một số phần mềm trong các lĩnh vực như xuất bản trên desktop[100] và âm thanh chuyên nghiệp,[101][102][103] thì có phần mềm tương đương có sẵn trên. Cũng có thể chạy các ứng dụng được viết cho Android trên các phiên bản của Linux khác bằng Anbox.
Bên cạnh các thành phần có thể nhìn thấy bên ngoài, chẳng hạn như trình quản lý cửa sổ X, một vai trò không rõ ràng nhưng khá trung tâm được triển khai bởi các chương trình được lưu trữ bởi freedesktop.org, như D-Bus hay PulseAudio; cả hai môi trường máy tính để bàn chính (GNOME và KDE) bao gồm chúng,mỗi môi trường cung cấp giao diện đồ họa được viết bằng bộ công cụ tương ứng (GTK hoặc Qt). Một máy chủ hiển thị là một thành phần khác, trong thời gian dài nhất đã giao tiếp trong giao thức máy chủ hiển thị X11 với các máy khách của nó; phần mềm nổi bật kết nối X11 bao gồm X.Org Server và Xlib. Thất vọng về giao thức lõi X11 cồng kềnh, và đặc biệt là qua nhiều phần mở rộng của nó, đã dẫn đến việc tạo ra một giao thức máy chủ hiển thị mới, Wayland.
Việc cài đặt, cập nhật và gỡ bỏ phần mềm trong Linux thường được thực hiện thông qua việc sử dụng các trình quản lý gói như Synaptic Package Manager, PackageKit, và Yum Extender.Mặc dù hầu hết các bản phân phối Linux lớn đều có kho lưu trữ rộng rãi, thường chứa hàng chục nghìn gói, nhưng không phải tất cả phần mềm có thể chạy trên Linux đều có sẵn từ kho chính thức. Ngoài ra, người dùng có thể cài đặt các gói từ kho lưu trữ không chính thức, tải xuống các gói được biên dịch trước trực tiếp từ các trang web hoặc tự biên dịch mã nguồn. Tất cả các phương pháp này đi kèm với mức độ khó khác nhau; Việc biên dịch mã nguồn nói chung được coi là một quá trình đầy thách thức đối với người dùng Linux mới, nhưng hầu như không cần thiết trong các bản phân phối hiện đại và không phải là một phương pháp dành riêng cho Linux.
Các bản phân phối Linux cũng đã trở nên phổ biến trên thị trường netbook, với nhiều thiết bị như Asus Eee PC và Acer Aspire One phân phối với các bản phân phối Linux tùy chỉnh được cài đặt.[104]
Năm 2009, Google đã công bố Chrome OS là một hệ điều hành tối thiểu dựa trên Linux, sử dụng trình duyệt Chrome làm giao diện người dùng chính. Chrome OS ban đầu chỉ chạy các ứng dụng web, ngoại trừ trình quản lý file và trình phát phương tiện đi kèm. Một mức hỗ trợ nhất định cho các ứng dụng Android đã được thêm vào trong các phiên bản sau này.[105] Kể từ năm 2018, Google đã thêm khả năng cài đặt bất kỳ phần mềm Linux nào trong một container,[106], cho phép Chrome OS được sử dụng như bất kỳ bản phân phối Linux nào khác. Netbooks được bán cùng với hệ điều hành, được gọi là Chromebook, bắt đầu xuất hiện trên thị trường vào tháng 6 năm 2011.[107]
Các bản phân phối Linux từ lâu đã được sử dụng làm hệ điều hành máy chủ và đã trở nên nổi bật trong lĩnh vực đó; Netcraft đã báo cáo vào tháng 9 năm 2006, rằng tám trong số mười (hai công ty khác là "không rõ" hệ điều hành) công ty lưu trữ internet đáng tin cậy nhất đã chạy các bản phân phối Linux trên các máy chủ web của họ,[108] với Linux ở vị trí hàng đầu. Vào tháng 6 năm 2008, các bản phân phối Linux có 5 trong số 10, FreeBSD 3/10, và Microsoft 2/10;[109] kể từ tháng 2 năm 2010, các bản phân phối Linux chiếm sáu trên mười, FreeBSD 3/10, và Microsoft 1/10,[110] với Linux ở vị trí hàng đầu.
Các bản phân phối Linux là nền tảng của sự kết hợp phần mềm máy chủ LAMP (Linux, Apache, MariaDB/MySQL, Perl/PHP/Python) đã được các nhà phát triển phổ biến và là một trong những nền tảng phổ biến hơn để lưu trữ trang web.[111]
Các bản phân phối Linux đã trở nên ngày càng phổ biến trên các mainframes, một phần do giá cả và mô hình nguồn mở.[112] Vào tháng 12 năm 2009, gã khổng lồ máy tính IBM đã báo cáo rằng họ sẽ chủ yếu tiếp thị và bán Enterprise Linux Server. dựa trên mainframes[113] Tại LinuxCon North America 2015, IBM đã công bố LinuxONE, một loạt các mainframes được thiết kế đặc biệt để chạy Linux và phần mềm nguồn mở.[114][115]
Các bản phân phối Linux cũng chiếm ưu thế như các hệ điều hành cho siêu máy tính.[29] Kể từ tháng 11 năm 2017, tất cả các siêu máy tính trong danh sách 500 đều chạy một số biến thể của Linux.[116]
Một số hệ điều hành cho các thiết bị thông minh, ví dụ như smartphone, máy tính bảng, nhà thông minh (ví như Google Nest),[30] smart TV (Samsung và LG Smart TV dùng Tizen và WebOS, tương ứng),[31] và hệ thống giải trí trên xe hơi (IVI)[34] (ví dụ Automotive Grade Linux), được dựa trên Linux. Các nền tảng chính cho các hệ thống như vậy bao gồm Android, Firefox OS, Mer và Tizen.
Android đã trở thành hệ điều hành di động thống trị cho smartphones, chạy trên 79.3% số thiết bị được bán trên toàn thế giới trong quý II năm 2013.[119] Android cũng là hệ điều hành phổ biến cho tablets, và Android smart TV và hệ thống thông tin giải trí trên xe hơi cũng đã xuất hiện trong thị trường.
Mặc dù Android dựa trên phiên bản sửa đổi của nhân Linux, nhưng các nhà bình luận không đồng ý về việc liệu thuật ngữ "bản phân phối Linux" có nên áp dụng cho nó hay không và liệu đó có phải là "Linux" theo cách sử dụng phổ biến của thuật ngữ này hay không. Android là một bản phân phối Linux theo Linux Foundation,[120] giám đốc nguồn mở của Google Chris DiBona,[121] và một số nhà báo.[122][123] Những người khác, chẳng hạn như kỹ sư Google Patrick Brady, nói rằng Android không phải là Linux theo nghĩa phân phối Linux tương tự Unix truyền thống; Android không bao gồm GNU C Library (nó dùng Bionic như một thư viện C thay thế) và một số thành phần khác thường được tìm thấy trong các bản phân phối Linux.[124] Ars Technica đã viết rằng "Mặc dù Android được xây dựng dựa trên nhân Linux, nhưng nền tảng này có rất ít điểm chung với ngăn xếp Linux dành cho desktop thông thường".[124]
Điện thoại di động và PDA chạy Linux trên nền tảng nguồn mở trở nên phổ biến hơn từ năm 2007, các ví dụ bao gồm Nokia N810, Openmoko Neo1973, và Motorola ROKR E8. Tiếp tục xu hướng, Palm (sau này được HP mua lại) đã phát triển một hệ điều hành mới có nguồn gốc từ Linux, webOS, được tích hợp vào dòng smartphone Palm Pre.
Maemo của Nokia, một trong những hệ điều hành di động sớm nhất, dựa trên Debian.[125] Nó sau đó được hợp nhất với Moblin của Intel, một hệ điều hành dựa trên Linux khác, để trở thành MeeGo.[126] Dự án này sau đó đã bị chấm dứt có lợi cho Tizen, một hệ điều hành nhắm vào các thiết bị di động cũng như IVI. Tizen là một dự án trong The Linux Foundation. Một vài sản phẩm của Samsung đã chạy Tizen, Samsung Gear 2 là ví dụ quan trọng nhất.[127] Smartphone Samsung Z sẽ sử dụng Tizen thay vì Android.[128]
Do sự chấm dứt của MeeGo, dự án Mer đã phân tách cơ sở mã MeeGo để tạo cơ sở cho các hệ điều hành hướng di động.[129] Vào tháng 7 năm 2012, Jolla đã công bố Sailfish OS, hệ điều hành di động của riêng họ được xây dựng dựa trên công nghệ Mer.
Firefox OS của Mozilla gồm có nhân Linux, một lớp tương thích phần cứng, một runtime environment dựa trên web-standards và giao diện người dùng, web và trình duyệt web tích hợp..[130]
Canonical đã phát hành Ubuntu Touch, nhằm mục đích mang lại sự hội tụ cho trải nghiệm người dùng trên hệ điều hành di động này và đối tác desktop của nó, Ubuntu. Hệ điều hành cũng cung cấp một desktop Ubuntu đầy đủ khi được kết nối với màn hình ngoài.[131]
Do chi phí thấp và dễ tùy chỉnh, Linux thường được sử dụng trong các hệ thống nhúng.Trong lĩnh vực thiết bị viễn thông không di động, phần lớn thiết bị cơ sở khách hàng customer-premises equipment (CPE) chạy một số hệ điều hành dựa trên Linux. OpenWrt là một ví dụ dựa vào cộng đồng mà nhiều bản phát hành phần mềm OEM dựa trên.
Ví dụ, máy quay video kỹ thuật số TiVo dùng một bản tuỳ chỉnh của Linux,[132] cũng như một số tường lửa và bộ định tuyến mạng từ các nhà sản xuất như Cisco/Linksys. Các Music workstation như Korg OASYS, Korg KRONOS, Yamaha Motif XS/Motif XF,[133] Yamaha S90XS/S70XS, Yamaha MOX6/MOX8 synthesizers, Yamaha Motif-Rack XS tone generator module,và Roland RD-700GX digital piano cũng chạy Linux. Linuxcũng được sử dụng trong các hệ thống điều khiển ánh sáng sân khấu, như bảng điều khiển WholeHogIII.[134]
Trong quá khứ, có rất ít trò chơi có sẵn cho Linux. Trong những năm gần đây, nhiều trò chơi đã được phát hành với sự hỗ trợ cho Linux (đặc biệt là Indie games), ngoại trừ một vài trò chơi tiêu đề AAA title. Android, một nền tảng di động phổ biến sử dụng nhân Linux, đã thu hút được nhiều sự quan tâm của nhà phát triển và là một trong những nền tảng chính để phát triển trò chơi di động cùng với hệ điều hành iOS của Apple cho các thiết bị iPhone và iPad.
Ngày 14 tháng 2 năm 2013, Valve phát hành phiên bản Linux của Steam, một nền tảng phân phối game phổ biến trên PC.[135] Nhiều game Steam đã được ported đến Linux.[136] Ngày 13 tháng 12 năm 2013, Valve phát hành SteamOS, một hệ điều hành định hướng chơi game dựa trên Debian, để kiểm thử beta và có kế hoạch phát hành Steam Machines như một nền tảng chơi game và giải trí.[137] Valve cũng đã phát triển VOGL, một trình gỡ lỗi OpenGL nhằm hỗ trợ phát triển video game,[138] cũng như porting game engine Source của họ sang desktop Linux.[139] Nhờ nỗ lực của Valve, một số trò chơi nổi bật như DotA 2, Team Fortress 2, Portal, Portal 2 và Left 4 Dead 2 hiện đã có sẵn trên Steam Linux.
Ngày 31 tháng 7 năm 2013, Nvidia phát hành Shield như một nỗ lực sử dụng Android như một nền tảng chơi game chuyên dụng.[140]
Một số người dùng Linux chơi các trò chơi Windows thông qua Wine hoặc CrossOver Linux. Tuy nhiên, vì chạy trên lớp tương thích nên không phải trò chơi nào cũng có thể hoạt động
Ngày 22 tháng 8 năm 2018, Valve đã phát hành một Wineprefix riêng của họ có tên Proton, nhằm mục đích chơi game. Nó có một số cải tiến so với Wine ví dụ như các triển khai DirectX 11 và 12 dựa trên Vulkan, tích hợp Steam, hỗ trợ bộ điều khiển trò chơi và toàn màn hình tốt hơn và cải thiện hiệu suất cho các trò chơi đa luồng.[141]
Do tính linh hoạt, khả năng tùy biến và bản chất nguồn mở và miễn phí của Linux, có thể điều chỉnh cao Linux cho một mục đích cụ thể. Có hai phương pháp chính để tạo phân phối Linux chuyên dụng: xây dựng từ đầu hoặc từ phân phối mục đích chung làm cơ sở. Các bản phân phối thường được sử dụng cho mục đích này bao gồm Debian, Fedora, Ubuntu (bản thân nó dựa trên Debian), Arch Linux, Gentoo, và Slackware. Ngược lại, các bản phân phối Linux được xây dựng từ đầu không có cơ sở mục đích chung; thay vào đó, họ tập trung vào triết lý JeOS bằng cách chỉ bao gồm các thành phần cần thiết và tránh chi phí tài nguyên gây ra bởi các thành phần được coi là dư thừa trong các trường hợp sử dụng của phân phối.
Một home theater PC (HTPC) là một PC chủ yếu được sử dụng như một hệ thống giải trí, đặc biệt là hệ thống rạp hát tại nhà. Nó thường được kết nối với TV và thường là một hệ thống âm thanh bổ sung.
OpenELEC, một bản phân phối Linux kết hợp với phần mềm trung tâm truyền thông Kodi, là một hệ điều hành được điều chỉnh riêng cho HTPC. Được xây dựng từ đầu tuân thủ nguyên tắc JeOS, OS này rất nhẹ và rất phù hợp với phạm vi sử dụng hạn chế của HTPC.
Ngoài ra còn có các phiên bản phân phối Linux đặc biệt bao gồm phần mềm trung tâm truyền thông MythTV, chẳng hạn như Mythbuntu, một phiên bản đặc biệt của Ubuntu.
Kali Linux là một bản phân phối Linux dựa trên Debian được thiết kế cho kiểm tra pháp y kỹ thuật số và kiểm tra thâm nhập. Nó được cài đặt sẵn một số ứng dụng phần mềm để kiểm tra thâm nhập và xác định các khai thác bảo mật.[142] BackBox phái sinh từ Ubuntu cung cấp các công cụ phân tích mạng và bảo mật được cài đặt sẵn để hack.
BlackArch dựa trên Arch bao gồm hơn 2100 công cụ để nghiên cứu pentesting và bảo mật.[143]
Có nhiều bản phân phối Linux được tạo ra với sự riêng tư, bí mật, ẩn danh mạng và bảo mật thông tin, bao gồm Tails, Tin Hat Linux và Tinfoil Hat Linux. Lightweight Portable Security là một bản phân phối dựa trên Arch Linux và được phát triển bởi Bộ Quốc phòng Mỹ. Tor-ramdisk là một bản phân phối tối thiểu được tạo ra chỉ để lưu trữ phần mềm ẩn danh mạng Tor.
Các Live CD Linux từ lâu đã được sử dụng như một công cụ để khôi phục dữ liệu từ hệ thống máy tính bị hỏng và để sửa chữa hệ thống.Dựa trên ý tưởng đó, một số bản phân phối Linux được thiết kế cho mục đích này đã xuất hiện, hầu hết trong số đó sử dụng GParted làm trình chỉnh sửa phân vùng, với phần mềm sửa chữa dữ liệu và phục hồi hệ thống bổ sung:
SpaceX sử dụng nhiều máy tính bay dự phòng trong một thiết kế có khả năng chịu lỗi trong tên lửa Falcon 9. Mỗi động cơ Merlin được điều khiển bởi ba máy tính voting, với hai bộ xử lý vật lý trên mỗi máy tính liên tục kiểm tra hoạt động của nhau. Linux vốn không có khả năng chịu lỗi (không có hệ điều hành, vì đây là chức năng của toàn bộ hệ thống bao gồm cả phần cứng), nhưng phần mềm máy tính bay làm cho mục đích của nó.[144] For flexibility, commercial off-the-shelf parts and system-wide "radiation-tolerant" design are used instead of radiation hardened parts.[144] Đến tháng 7 năm 2019, SpaceX đã thực hiện hơn 76 lần phóng Falcon 9 kể từ năm 2010, trong đó có một lần đã chuyển thành công trọng tải chính của mình lên quỹ đạo dự định và đã sử dụng nó để vận chuyển các phi hành gia lên International Space Station. Dragon 2 crew capsule cũng sử dụng Linux kết hợp với Chromium OS cho giao diện người dùng của nó.[36]
Windows đã được triển khai như là hệ điều hành trên các máy tính xách tay quan trọng phi nhiệm vụ được sử dụng trên trạm vũ trụ, nhưng sau đó nó đã được thay thế bằng Linux. Robonaut 2, robot hình người đầu tiên trong không gian, cũng dựa trên Linux.[145]
Jet Propulsion Laboratory đã sử dụng Linux trong một số năm "để trợ giúp các dự án liên quan đến việc xây dựng chuyến bay không gian không người lái và thám hiểm không gian sâu"; NASA sử dụng Linux trong chế tạo robot trong máy bay trên sao Hỏa và Ubuntu Linux để "lưu dữ liệu từ vệ tinh".[146]
Các bản phân phối Linux đã được tạo để cung cấp trải nghiệm thực hành về mã hóa và mã nguồn cho sinh viên, trên các thiết bị như Raspberry Pi. Ngoài việc sản xuất một thiết bị thực tế, ý định là cho học sinh thấy "cách mọi thứ hoạt động dưới mui xe".[147]
Các dẫn xuất Edubuntu và The Linux Schools Project của Ubuntu, cũng như Skolelinux phái sinh từ Debian, cung cấp các gói phần mềm định hướng giáo dục. Chúng cũng bao gồm các công cụ để quản lý và xây dựng phòng thí nghiệm máy tính của trường và các lớp học dựa trên máy tính, như Linux Terminal Server Project (LTSP).
Instant WebKiosk và Webconverger là các bản phân phối Linux dựa trên trình duyệt web thường được sử dụng trong các web kiosks và biển hiệu điện tử. Thinstation là một phân phối tối giản được thiết kế cho thin clients. Rocks Cluster Distribution được thiết kế cho các cụm tính toán hiệu năng cao.
Có các bản phân phối Linux có mục đích chung nhắm vào đối tượng cụ thể, chẳng hạn như người dùng của một ngôn ngữ hoặc khu vực địa lý cụ thể. Những ví dụ như vậy bao gồm Ubuntu Kylin cho người dùng ngôn ngữ Trung Quốc và BlankOn nhắm vào người Indonesia. Các bản phân phối dành riêng cho chuyên gia bao gồm Ubuntu Studio để tạo phương tiện truyền thông và DNALinux cho tin sinh học. Ngoài ra còn có một bản phân phối theo định hướng Hồi giáo của tên Sabily do đó cũng cung cấp một số công cụ Hồi giáo. Một số tổ chức sử dụng các bản phân phối Linux chuyên biệt một chút trong nội bộ, bao gồm GendBuntu được sử dụng bởi Hiến binh quốc gia Pháp, Goobuntu được dùng bởi Google, và Astra Linux phát triển riêng cho Quân đội Nga
Nhiều nghiên cứu định lượng về phần mềm tự do nguồn mở tập trung vào các chủ đề bao gồm thị phần và độ tin cậy, với nhiều nghiên cứu đặc biệt kiểm tra Linux.[148] Thị phần Linux đang phát triển nhanh chóng và doanh thu của máy chủ, máy tính để bàn và phần mềm đóng gói chạy Linux dự kiến sẽ vượt quá 35,7 tỷ đô la[Cần cập nhật] vào năm 2008.[149] Các nhà phân tích và người đề xuất cho rằng sự thành công tương đối của Linux là bảo mật, độ tin cậy, thấp chi phí và tự do từ nhà cung cấp khóa.[150][151]
Nhân Linux được cấp phép theo GNU General Public License (GPL) v2. GPL yêu cầu bất kỳ ai phân phối phần mềm dựa trên mã nguồn theo giấy phép này, phải cung cấp mã nguồn gốc (và mọi sửa đổi) cho người nhận theo cùng điều khoản.[174] Các thành phần chính khác của bản phân phối Linux điển hình cũng chủ yếu được cấp phép theo GPL, nhưng chúng có thể sử dụng các giấy phép khác; nhiều thư viện sử dụng GNU Lesser General Public License (LGPL), một biến thể dễ dàng hơn của GPL, và việc triển khai X.Org của X Window System sử dụng MIT License.
Torvalds tuyên bố rằng nhân Linux sẽ không chuyển từ phiên bản 2 của GPL sang phiên bản 3.[175][176] Ông đặc biệt không thích một số quy định trong giấy phép mới cấm sử dụng phần mềm trong quản lý quyền kỹ thuật số.[177] Nó cũng sẽ không thực tế để khi yêu cầu được sự cho phép từ tất cả các chủ sở hữu bản quyền, vốn dĩ có hàng ngàn.[178]
Một nghiên cứu năm 2001 về Red Hat Linux 7.1 cho thấy bản phân phối này chứa 30 triệu dòng mã nguồn.[179] Sử dụng mô hình Constructive Cost Model, nghiên cứu ước tính rằng phân phối này cần khoảng tám nghìn năm thời gian phát triển. Theo nghiên cứu, nếu tất cả phần mềm này được phát triển bằng các phương tiện độc quyền thông thường, thì nó sẽ tốn khoảng 1,84 tỷ USD (tỉ giá 2025)để phát triển ở Hoa Kỳ.[179] Hầu hết mã nguồ (71%) được viết bằng ngôn ngữ C, nhưng nhiều ngôn ngữ khác cũng được sử dụng, bao gồm C++, Lisp, Hợp ngữ, Perl, Python, Fortran, và các ngôn ngữ shell scripting khác nhau. Hơn một nửa số dòng mã được cấp phép theo GPL. Bản thân hạt nhân Linux là 2,4 triệu dòng mã, chiếm 8% tổng số.[179]
Trong một nghiên cứu sau đó, phân tích tương tự đã được thực hiện cho phiên bản Debian 4.0 (được phát hành năm 2007).[180] Phân phối này chứa gần 283 triệu dòng mã nguồn, và nghiên cứu ước tính rằng nó sẽ cần khoảng bảy mươi ba nghìn năm nhân lực và tốn 8,84 đô la Mỹ (năm 2020 đô la) để phát triển bằng các phương tiện thông thường.
Tại Hoa Kỳ, tên Linux là nhãn hiệu đã được đăng ký cho Linus Torvalds.[8] Ban đầu, không ai đăng ký nó, nhưng vào ngày 15 tháng 8 năm 1994, William R. Della Croce, Jr. đã nộp đơn đăng ký nhãn hiệu Linux và sau đó yêu cầu tiền bản quyền từ các bản phân phối Linux. Năm 1996, Torvalds và một số tổ chức bị ảnh hưởng đã kiện ông ta để thương hiệu được gán cho Torvalds, và, năm 1997, vụ việc đã được giải quyết.[182] Việc cấp phép cho nhãn hiệu đã được xử lý bởi Linux Mark Institute (LMI). Torvalds đã tuyên bố rằng ông chỉ đăng ký tên thương hiệu này để ngăn người khác sử dụng nó. LMI ban đầu đã tính phí cấp phép danh nghĩa cho việc sử dụng tên Linux như một phần của nhãn hiệu,[183] nhưng sau đó đã thay đổi điều này để cung cấp quyền cấp phép miễn phí, vĩnh viễn trên toàn thế giới.[184]
Free Software Foundation (FSF) muốn dùng GNU/Linux làm tên gọi khi đề cập đến toàn bộ hệ điều hành, vì họ coi các bản phân phối Linux là các biến thể của hệ điều hành GNU do Richard Stallman, chủ tịch của FSF khởi xướng năm 1983.[14][15] Họ rõ ràng không có vấn đề gì đối với tên Android cho Android OS, đây cũng là một hệ điều hành dựa trên nhân Linux, vì GNU không phải là một phần của nó.
Một số ít các nhân vật công cộng và các dự án phần mềm khác ngoài Stallman và FSF, đặc biệt là Debian (được FSF tài trợ cho đến năm 1996),[185] cũng sử dụng GNU/Linux khi nói về toàn bộ hệ điều hành.[132][186][187] Tuy nhiên, hầu hết các phương tiện và cách sử dụng phổ biến đều đề cập đến họ hệ điều hành này đơn giản là Linux, cũng như nhiều bản phân phối Linux lớn (ví như, SUSE Linux và Red Hat Enterprise Linux). Ngược lại, các bản phân phối Linux chỉ chứa phần mềm tự do sử dụng "GNU/Linux" hoặc đơn giản là "GNU", ví dụ như Trisquel GNU/Linux, Parabola GNU/Linux-libre, BLAG Linux and GNU, và gNewSense.
Tính đến tháng 5 năm 2011[cập nhật], khoảng 8% đến 13% phân phối Linux hiện đại được tạo từ các thành phần GNU (phạm vi tùy thuộc vào việc liệu Gnome có được coi là một phần của GNU hay không), như được xác định bằng cách đếm các dòng mã nguồn tạo nên bản phát hành "Natty" của Ubuntu; trong khi đó, 6% được lấy bởi nhân Linux, tăng lên 9% khi bao gồm các phụ thuộc trực tiếp của nó.[188]
Trên thế giới có rất nhiều các website riêng về Linux. Dưới đây là một trong những trang phổ biến:
Các forum về mã nguồn mở ở Việt Nam:
Linux hiện nay có nhiều bản phân phối khác nhau, một phần là bởi vì tính chất nguồn mở của nó. Sau đây là một số bản phân phối chủ yếu, danh sách được cập nhật vào 28/12/2023:
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
The shared commonality of the kernel is what defines a system's membership in the Linux family; the differing OSS applications that can interact with the common kernel are what differentiate Linux distributions.
|newsgroup=
(trợ giúp); Chú thích có tham số trống không rõ: |message-id=
(trợ giúp)
|archiveurl=
và |archive-url=
(trợ giúp)
Originally developed for Intel x86-based PCs, Torvalds' "hobby" has now been released for more hardware platforms than any other OS in history.
However, UNIX was born in 1969...
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
|newsgroup=
(trợ giúp); Đã bỏ qua tham số không rõ |message-id=
(trợ giúp)
The Linux copyright will change: I've had a couple of requests to make it compatible with the GNU copyleft, removing the “you may not distribute it for money” condition. I agree. I propose that the copyright be changed so that it confirms to GNU ─ pending approval of the persons who have helped write code. I assume this is going to be no problem for anybody: If you have grievances ("I wrote that code assuming the copyright would stay the same") mail me. Otherwise, The GNU copyleft takes effect since the first of February. If you do not know the gist of the GNU copyright ─ read it.
|title=
trống hay bị thiếu (trợ giúp)
|9=
(trợ giúp); Đã định rõ hơn một tham số trong |archiveurl=
và |archive-url=
(trợ giúp)
|mailinglist=
(trợ giúp)
|archiveurl=
và |archive-url=
(trợ giúp)
|archiveurl=
và |archive-url=
(trợ giúp)
|1=
(trợ giúp)
LMI has restructured its sublicensing program. Our new sublicense agreement is: Free – approved sublicense holders pay no fees; Perpetual – sublicense terminates only in breach of the agreement or when your organization ceases to use its mark; Worldwide – one sublicense covers your use of the mark anywhere in the world
...we have tried to use the word "Linux" or the expression "Linux kernel" to designate the kernel, and GNU/Linux to designate the entire body of GNU/GPL'ed OS software,......many people forget that the linux kernel mailing list is a forum for discussion of kernel-related matters, not GNU/Linux in general...
|1=
(trợ giúp) (self-published data)