Giới thiệu về hệ điều hành GNU/Linux
1. Linux history.
1.1 Unix
- Unix hay UNIX là một hệ điều hành máy tính viết vào những năm 1960 và 1970 do một số nhân viên của công ty
AT&T Bell Labs
bao gồmKen Thompson
,Dennis Ritchie
vàDouglas McIlroy
. -
Phiên bản đầu tiên của
Unix
được ra đời vào tháng 3 năm 1971, tiếp đó là phiên bản thứ 2 ra đời năm 1972. -
Trong 10 năm đầu, việc phát triển
Unix
giới hạn bên trongBell Labs
là chính. Những phiên bản trong thời gian này được gọi là Version n (Vn). -
Unix bắt đầu được viết bằng ngôn ngữ
Assembly
nhưng sau đóDennis Ritchie
- cha đẻ của ngôn ngữ lập trình C đã chuyển qua viết lại Unix bằng chính ngôn ngữ C (trừ nhân kernel, I/O). Và rồi: -
Năm 1973, V4 được viết bằng C. Đây là sự kiện đáng chú ý nhất trong lịch sử hệ điều hành này vì lợi ích của việc viết hệ điều hành bằng ngôn ngữ bậc cao là có khả năng mang mã nguồn của hệ sang các nền máy tính khác và biên dịch lại, chính nhờ điều này mà hệ điều hành sẽ có các bản chạy trên các hệ máy tính khác nhau.
-
Năm 1976, V6 được phát miễn phí cho các trường đại học.
- Năm 1979, V7 được phát hành rộng rãi với giá
$100$
cho các trường đại học và$21,000
cho những thành phần khác. V7 là phiên bản căn bản cho các phiên bản sau này của Unix.
2.2 BSD
- Từ năm 1977, Computer Systems Research Group (CSRG) của trường đại học California, Berkeley được quyền sử dụng code của UNIX để phát triển ra nhãn hiệu UNIX khác là BSD (Berkeley Software Distribution). BSD Unix và AT&T Unix là hai dòng chính của Unix.
- BSD giúp cho Unix trở nên phổ biến và có nhiều đóng góp về mặt kỹ thuật như: csh, termcap, curses, vi, TCP/IP socket, long file name, symbolic link.
- BSD phát triển từ version 1 đến version cuối cùng 4.4 năm 1992.
2.3 GNU
- Năm 1971, Richard Stallman bắt đầu làm việc tại MIT trong một nhóm nhân viên kĩ thuật chuyên sử dụng phần mềm tự do. Tuy vậy, đến những năm của thập kỉ 80, hầu hết các phần mềm đều có tính chất sở hữu (bản quyền). Nhận thấy điều này có thể ngăn cản việc hợp tác giữa những người phát triển phần mềm, Stallman và những người khác khởi đầu dự án GNU.
- Mục tiêu của dự án GNU là tạo ra được một hệ điều hành giống Unix nhưng miễn phí, nơi mà mọi người có quyền tự do copy, phát triển, chỉnh sửa và phân phối phần mềm và việc tái phân phối là không bị giới hạn.
- Sau đó vào năm 1985, Stallman bắt đầu thành lập Tổ chức phần mềm tự do và viết ra giấy phép chung GNU (GNU General Public License - GNU GPL) vào năm 1989.
- Khoảng đầu 1990, nhiều chương trình như thư viện, trình biên dịch, trình soạn thảo văn bản, Unix Shell, và một chương trình quản lý cửa sổ đã ra đời, 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ị, daemons, và kernel vẫn chưa hoàn thành.
- Như vậy điều Richard Stallman tìm kiếm bây giờ là có phần nhân hệ điều hành để chạy những phần mềm trên.
2.5 Minux
-
Nhưng trước khi kể về Linux, chúng ta sẽ kể một chút về Minix, đây là một hệ điều hành kiểu Unix, được thiết kế vì mục đích giáo dục bởi giáo sư
Andrew S. Tanenbaum
-
Chính
Minix
đã là nguồn cảm hứng choLinus Torvalds
để viếtLinux
. -
Vào năm 2005,
Minix
trở thành một phần mềm tự do. TênMinix
là viết tắt củaMini Unix
.
2.6 Linux
-
Vào năm 1991 trong khi đang học tại
Helsinki
-Phần Lan
,Linus Torvalds
bắt đầu có ý tưởng về một hệ điều hành, hơn nữa ông cũng nhận thấy hạn chế tronggiấy phép
của Minix - chỉ cho phép việc sử dụngMinix
trong giáo dục mà thôi. Ông bắt đầu viết nên hệ điều hành riêng của mình. -
Torvalds
phát triểnLinux kernel
trên môi trườngMinix
, các ứng dụng viết choMinix
có thể sử dụng trênLinux
. Sau này, khi Linux đã “trưởng thành” thì việc phát triểnLinux
diễn ra ngay trên hệ thốngLinux
.
2.7 GNU/Linux
Richard Stallman
sở hữu các phần mềm của GNU thì thiếu lõi, nhân kernel, còn về phíaLinus Torvalds
thì đã có nhân kernel nhưng chưa phát triển được một hệ điều hành đầy đủ. Cả hai người đều có chung tư tưởng lớn, muốn xây dựng hệ điều hành mã nguồn mở.- Thế là với việc dùng Linux kernel, GNU đã lần đầu tiên trở thành một “hệ điều hành thật sự”. Dự án GNU gọi hệ điều hành này là GNU/Linux.
- Phiên bản đầu tiên của
GNU/Linux
là phiên bản 1.0 ra đời năm 1994 - được phát triển và tung ra trên thị trường dưới bản quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem mã nguồn củaGNU/Linux
. - Như vậy, có vài điều lưu ý:
-
Linux là thuật ngữ để chỉ nhân của hệ điều hành(kernel), chứ nó chưa phải là một hệ điều hành.
-
Linux
không hềkế thừa
dòng code nào từUnix
cả, nó được xây dựng mới và kết hợp với các phần mềm của GNU để trở thành mộtbản clone
của Unix nhưng miễn phí, vì thời điểm đó Unix và Minux đều là close source và mất phí.
-
2.Các bản phân phối phổ biến
- Một bản phân phối của Linux là sự tập hợp của nhiều phần mềm trên một Linux kernel. Một bản phân phối có thể chứa phần mềm máy chủ, công cụ quản lý hệ thống, tài liệu và các ứng dụng desktop.
- Một bản phân phối có mục đích là cung cấp cái nhìn và cảm nhận chung; quản lý phần mềm an toàn, dễ dàng; và thường là phục vụ một mục đích cụ thể.
2.1.Red Hat Enterprise Linux.
- Red Hat Enterprise Linux (RHEL) là một bản phân phối Linux được phát triển bởi Red Hat và mục tiêu hướng tới thị trường thương mại.
- Red Hat cho người dùng dùng các sản phẩm của họ (RHEL, Fedora) miễn phí nhưng thu phí người dùng khi hỗ trợ.
- Trong khi RHEL được kiểm tra cẩn thận trước khi phát hành và được hỗ trợ lên đến 7 năm sau đó, Fedora là một bản phân phối với những bản nâng cấp nhanh hơn và không có hỗ trợ.
2.2.Ubuntu.
- Ubuntu là một bản phân phối nổi tiếng và được sử phổ biến bởi những người dùng cá nhân.
- Mục đích của Ubuntu là một bản phân phối Linux mà người dùng có thể dễ dàng sử dụng giao diện đồ họa. Và nhà phát triển Ubuntu cũng muốn kiếm lợi nhuận từ việc hỗ trợ người dùng.
2.3. Debian
- Debian là bản phân phối được phát triển bởi cộng đồng hàng ngàn các nhà phát triển.
- Debian được coi là bản phân phối ổn định nhất và cũng là nền tảng cho mọi bản phát hành của Ubuntu.
- Debian có 3 phiên bản: stable(ổn định), testing và unstable.
2.4. CentOS
- CentOS là một dự án cộng đồng lấy mã Red Hat Enterprise Linux, xóa tất cả các nhãn hiệu của Red Hat và được cung cấp cũng như phân phối miễn phí. Nói cách khác, đây là một phiên bản miễn phí của RHEL, vì vậy sẽ rất phù hợp nếu bạn muốn một nền tảng ổn định sẽ được hỗ trợ trong một thời gian dài.
2.5. Các bản phân phối khác
Các bản phân phối như CentOS, Oracle Enterprise Linux và Science Linux dựa trên Red Hat Enterprise Linux và chia sẻ nhiều nguyên tắc, thư mục và kỹ thuật quản trị hệ thống giống nhau. Linux Mint, Edubfox và nhiều bản phân phối có tên * buntu khác dựa trên Ubuntu và do đó chia sẻ rất nhiều với Debian. Có hàng trăm bản phân phối Linux khác. Bạn có thể xem thêm các bản phân phối của linux ở https://distrowatch.com/.
3.Licensing.
3.1. GNU General Public License.
- Là giấy phép phần mềm miễn phí được sử dụng rộng rãi, đảm bảo cho người dùng cuối thự do chạy, nghiên cứu, sửa đổi và chia sẻ phần mềm.
- GPL là giấy phép copyleft, có nghĩa là tác phẩm phái sinh chỉ có thể được phân phối theo các điều khoản cấp phép tương tự. Đây là sự phân biệt đối với giấy phép phần mềm tự do cho phép, trong đó giấy phép BSD và Giấy phép MIT được sử dụng rộng rãi là ví dụ. GPL là giấy phép copyleft đầu tiên để sử dụng chung.
3.2 Sử dụng phần mềm GPLv3
- Bạn có thể sử dụng phần mềm GPLv3 mà không cần điều kiện nào. Nếu bạn chỉ chạy phần mềm, bạn thậm chí không cần quan tâm đến GPLv3.
- Trong trường hợp bạn sử dụng phần mềm nội bộ (bao gồm cả qua mạng), bạn có thể sửa đổi phần mềm mà không bắt buộc phải phân phối sửa đổi của mình. Bạn có thể thuê các bên thứ ba làm việc trên phần mềm dành riêng cho bạn và dưới sự chỉ đạo và kiểm soát của bạn. Nhưng nếu bạn sửa đổi phần mềm và sử dụng nó chứ không chỉ đơn thuần là nội bộ, điều này sẽ được coi là phân phối. Bạn phải phân phối các sửa đổi của mình theo GPLv3 (nguyên tắc copyleft). Một số nghĩa vụ nữa được áp dụng nếu bạn phân phối phần mềm GPLv3. Kiểm tra giấy phép GPLv3 một cách cẩn thận. Bạn tạo đầu ra bằng phần mềm GPLv3: GPLv3 không tự động áp dụng cho đầu ra.
3.3.BSD license
- Giấy phép BSD là một gia đình của giấy phép phần mềm miễn phí cho phép, áp đặt các hạn chế tối thiểu về việc sử dụng và phân phối các phần mềm được bảo vệ. Điều này trái ngược với giấy phép copyleft, có các yêu cầu giống nhau. Giấy phép BSD ban đầu được sử dụng cho tên gọi của nó, Berkeley Software Distribution (BSD), một hệ điều hành tương tự Unix. Phiên bản gốc đã được sửa đổi và con cháu của nó được gọi là giấy phép BSD sửa đổi.
Tại sao lại sử dụng Linux thay cho Window.
- Mã nguồn mở – Miễn phí. Việc sử dụng công cụ để can thiệp vào hệ thống Windows và bẻ khóa bản quyền làm cho hệ thống mất ổn định. Đồng thời, việc đó còn liên quan đến vấn đề bản quyền và pháp lý. Nhưng với Linux bạn sẽ không cần làm điều đó. Vì Linux là một hệ điều hành mã nguồn mở và miễn phí. Bạn sẽ không tốn bất cứ chi phí, không lo ngại bản quyền khi sử dụng Linux.
- Cài đặt nhanh – Đầy đủ phần mềm cơ bản. Sau khi cài đặt Window, bạn phải tìm Driver còn thiếu tải về và cài thủ công. Cài thêm những phần mềm cơ bản : Office, Email Client, Instance Message… Nhưng với hầu hết các Distro Linux thông dụng chỉ cần cài xong Hệ điều hành. Bạn đã có đầy đủ Driver và các phần mềm cơ bản phục vụ công việc 😉
- An toàn bảo mật cao.
Có 2 yếu tố làm cho Linux có tính An toàn và bảo mật cao đó là :
- Hệ thống Linux quản lý quyền người dùng rất chặt chẻ từ nhân hệ thống.
- Hệ sinh thái người dùng Linux ít hơn so với Windows. Do đó cách Hacker cũng ít tấn công vào Linux. Vì thế khi sử dụng Linux bạn có thể quên đi những nỗi lo lắng về Virus.
- Hoạt động ổn định với hiệu năng không thay đổi theo thời gian.
Để chứng minh cho điều này. Chúng ta sẽ quay lại với Windows và xem những lý do khiến Windows chậm và mất ổn định dần theo thời gian đồng thời phân tích vì sao Linux lại k chậm dần theo thời gian như Windows :
- Hệ thống mất ổn định vì Crack Linux miển phí – mã nguồn mở nên không cần Crack làm gì ! Và vì thế nó sẽ không gặp phải vấn đề này.
- Quá nhiều thành phần tự khởi động. Linux quản lý quyền người dùng rất chặt chẻ nên sẽ không có chuyện một phần mềm tự khởi động mà không được sự cho phép của bạn.
- Lỗi Registry Linux không có Registry thì làm sao mà lỗi :))
- Máy nhiễm Virus – Phần mềm diệt Virus Virus làm mất ổn định hệ thống – Phần mềm diệt Virus nặng nề, âm ỉ chạy làm chậm hệ thống. Linux hầu như không có Virus thì cần gì Phần mềm diệt Virus.
- Phần cứng lỗi thời so với phần mềm. Không như Windows, Linux hổ trợ phần cứng ( Driver cho phần cứng ) từ nhân hệ thống. Do đó, nó hổ trợ rất tốt cho các thiết bị có phần cứng lỗi thời.
- Hổ trợ tốt cho Lập trình viên – Quản trị mạng Một hệ thống hoạt động ổn định, hiệu năng cao tất nhiên sẽ hổ trợ rất tốt cho rất nhiều công việc… Đặc biệt là Lập trình viên – Quản trị mạng những công việc đòi hỏi tính ổn định hệ thống cao.