Giáo trình Hệ điều hành Linux

LỜI NÓI ĐẦU  
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ  
điều hành, 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ở. Để góp phần giúp giáo viên và học sinh, sinh viên có thêm tư liệu  
trong việc học tập và giảng dạy. Giáo trình được xây dựng nhằm giúp học sinh, sinh  
viên hiểu được các khái niệm cơ bản, chức năng, nhiệm vụ của hệ điều hành nói  
chung, bước đầu làm quen và làm chủ được hệ điều hành Linux, cũng như việc phát  
triển các ứng dụng trên nền Linux. Từ đó, học sinh, sinh viên có nền tảng cơ bản để  
sẵn sàng cho các dự án phát triển ứng dụng trên Linux, hay bắt đầu nghề nghiệp quản  
trị hệ điều hành Linux sau khi ra trường. Đây là giáo trình Hệ điều hành Linux được  
biên soạn bởi nhóm tác giả nhằm giúp cho việc nghiên cứu, tìm hiểu về một hệ điều  
hành mới như Linux giúp cho chúng ta có một cái nhìn rộng hơn về tin học. Linux và  
các phần mềm mã nguồn mở cung cấp cho người sử dụng mã nguồn của chương trình.  
Xuất phát từ thực tế nhu cầu học tập của học sinh, sinh viên chuyên nghành  
CNTT nói chung và học sinh, sinh viên trường Cao đẳng nghề Đăk Lăk nói riêng.  
Chúng tôi viết cuốn giáo trình này bám sát theo chương trình khung môn học/mô đun  
của trường, để phục vụ cho học sinh, sinh viên theo học Môn học/ mô đun “Hệ điều  
hành Linux”.  
Do đang trong quá trình xây dựng giáo trình và bài giảng một cách khoa học và  
chuyên nghiệp. Vì vậy trong quá trình dịch và biên soạn tài liệu không trabnhs khỏi  
những thiếu sót. Rất mong được sự đống góp ý kiến của người đọc để tài liệu ngay  
càng được hoàn chỉnh hơn. Nhóm biên soạn xin chân thành cảm ơn.  
Nhóm biên soạn  
1
 
MỤC LỤC  
2
 
3
4
5
Chương 1: Giới thiệu hệ điều hành Linux  
Mục tiêu:  
- Trình bày sơ lược về lịch sử phát triển của Linux;  
- Trình bày được kiến trúc của hệ điều hành Linux;  
- Trình bày được một số đặc tính của hệ điều hành Linux;  
- So sánh ưu nhược điểm của hệ điều hành Linux so với các hệ điều hành khác;  
- Có thái độ nghiêm túc.  
1.1. Lịch sử phát triển của Linux  
Linux bắt nguồn từ một hệ điều hành lớn hơn có tên là Unix. Unix là một trong  
những hệ điều hành được sử dụng rộng rãi nhất thế giới do tính ổn định và khả năng  
hỗ trợ của nó. Ban đầu hệ điều hành Unix đã được phát triển như một hệ điều hành đa  
nhiệm cho các máy mini và các máy lớn (mainframe) trong những năm 70. Cho tới  
nay nó đã được phát triển trở thành một hệ điều hành phổ dụng trên toàn thế giới, mặc  
dù với giao diện chưa thân thiện và chưa được chuẩn hóa hoàn toàn.  
Linux là phiên bản Unix được cung cấp miễn phí, ban đầu được phát triển bởi  
Linus Torvald năm 1991 khi còn là một sinh viên của trường đại học Helssinki Phần  
Lan. Hiện nay, Linus làm việc tại tập đoàn Transmeta và tiếp tục phát triển nhân hệ  
điều hành Linux (Linux kernel).  
Khi Linus tung ra phiên bản miễn phí đầu tiên của Linux trên Internet, vô tình  
đã tạo ra một làn sóng phát triển phần mềm lớn nhất từ trước đến nay trên phạm vi  
toàn cầu. Hiện nay, Linux được phát triển và bảo trì bởi một nhóm hàng nghìn lập  
trình viên cộng tác chặt chẽ với nhau qua Internet. Nhiều công ty đã xuất hiện, cung  
cấp Linux dưới dạng gói phần mềm dễ cài đặt, hoặc cung cấp các máy tính đã cài đặt  
sẵn Linux.  
Tháng 11 năm 1991, Linus đưa ra bản chính thức đầu tiên của Linux, phiên bản  
0.02. Ở phiên bản này, Linus đã có thể chạy bash gcc (trình dịch C GNU) nhưng  
mới chỉ dừng lại ở đó. Hệ thống chưa có các hỗ trợ người dùng và tài liệu hướng dẫn.  
Các số hiệu phiên bản không ngừng gia tăng cùng với việc bổ sung thêm các tính năng  
mới.  
Sau ba năm nhân Linux ra đời, đến ngày 14-3-1994, hệ điều hành Linux phiên  
bản 1.0 được phổ biến, đây là phiên bản tương đối ổn định. Thành công lớn nhất của  
Linux 1.0 là nó đã hỗ trợ giao thức mạng TCP/IP chuẩn Unix, sánh với giao thức  
socket BSD tương thích cho lập trình mạng. Trình điều khiển thiết bị đã được bổ  
sung để chạy IP trên một mạng Ethernet hoặc trên tuyến đơn hoặc qua modem. Hệ  
thống file trong Linux 1.0 đã vượt xa hệ thống file của Minix thông thường, ngoài ra  
đã hỗ trợ điều khiển SCSI truy nhập đĩa tốc độ cao. Điều khiển bộ nhớ ảo đã được mở  
rộng để hỗ trợ điều khiển trang cho các file swap và ánh xạ bộ nhớ của file đặc quyền  
(chỉ có một ánh xạ bộ nhớ chỉ đọc được thi hành trong Linux 1.0)  
Vào tháng 3-1995, nhân 1.2 được phổ biến. Điều đáng kể của Linux 1.2 so với  
Linux 1.0 ở chỗ nó hỗ trợ một phạm vi rộng và phong phú phần cứng, bao gồm cả kiến  
trúc tuyến phần cứng PCI mới. Nhân Linux 1.2 là nhân kết thúc dòng nhân Linux chỉ  
hỗ trợ PC.  
Một điều cần lưu ý về cách đánh chỉ số các dòng nhân Linux. Hệ thống chỉ số  
được chia thành một số mức, chẳng hạn hai mức như 2.4 hoặc ba mức 2.2.5. Trong  
cách đánh chỉ số như vậy, quy ước rằng với các chỉ số từ mức thứ hai trở đi, nếu là số  
chẵn thì dòng nhân đó đã khá ổn định và tương đối hoàn thiện, còn nếu là số lẻ thì  
dòng nhân đó vẫn đang được phát triển tiếp.  
6
   
Tháng 6-1996, nhân Linux 2.0 được phổ biến. Có hai đặc trưng nổi bật của  
Linux 2.0 là hỗ trợ kiến trúc phức hợp, bao gồm cả cổng Alpha 64-bit đầy đủ, và hỗ  
trợ kiến trúc đa bộ xử lý. Phân phối nhân Linux 2.0 cũng chỉ thi hành được trên bộ xử  
Motorola 68000 và kiến trúc SPARC của SUN. Các thi hành của Linux dựa trên vi  
nhân GNU Mach cũng chạy trên PC và PowerMac.  
Tới năm 2000, nhân Linux 2.4 được phổ biến. Một trong đặc điểm được quan  
tâm của nhân này là nó hỗ trợ mã ký tự Unicode 32 bit, rất thuận lợi cho việc xây dựng  
các giải pháp toàn diện và triệt để đối với vấn đề ngôn ngữ tự nhiên trên phạm vi toàn  
thế giới.  
Với phiên bản Linux 2.2.6, bạn có thể làm việc trên môi trường đồ hoạ với các  
ứng dụng cao cấp như: các tiện ích đồ hoạ và nhiều tiện ích khác.  
Linux khó có thể thành công được như hiện nay nếu không có các công cụ GNU của  
Tổ chức phần mềm miễn phí (Free Software Foundation). Trình dịch gcc của GNU đã  
giúp cho việc viết mã của Linux dễ dàng hơn rất nhiều. Thậm chí tổ chức này đã yêu  
cầu các bản Linux với các tiện ích kèm theo phải gọi là GNU/Linux.  
Hệ điều hành Berkley Unix (BSD) cũng đóng một vai trò quan trọng đối với  
Linux trong việc làm cho hệ điều hành này trở nên phổ biến như hiện nay. Hầu hết các  
tiện ích đi kèm với Linux được chuyển sang từ BSD, đặc biệt là các công cụ về mạng  
và các tiện ích.  
Hiện nay, Linux là một hệ điều hành Unix đầy đủ và độc lập. Nó có thể chạy X  
Window, TCP/IP, Emacs, Web, thư điện tử và các phần mềm khác. Hầu hết các phần  
mềm miễn phí và thương mại đều được chuyển lên Linux. Rất nhiều các nhà phát triển  
phần mềm đã bắt đầu chuyển sang viết trên Linux. Người ta đã thực hiện các phép đo  
benchmarks trên các hệ Linux và thấy rằng chúng thực hiện nhanh hơn khi thực hiện  
trên các trạm làm việc Sun Microsystems Compaq, thậm chí nhiều khi còn nhanh  
hơn cả trên Windows 98 Windows NT. Thật khó có thể hình dung được hệ điều hành  
Unix “tí hon” này phát triển nhanh như thế nào.  
1.2. Ưu nhược điểm của Linux  
1.2.1. Những ưu điểm của Linux  
Nếu bạn đã có máy tính trong tay, đầu tiên bạn phải có một hệ điều hành cài đặt  
trên đó bạn mới có thể sử dụng được các chương trình ứng dụng. Hệ điều hành là  
chương trình điều hành mọi hoạt động trong máy tính của bạn, mọi chương trình ứng  
dụng khác đều chạy trên nền của hệ điều hành này.  
Sau đây là những lý do cho bạn lựa chọn hệ điều hành Linux cài đặt trên máy  
tính của mình:  
- Linux là hệ điều hành mã nguồn mở, với nhiều tính năng giống các hệ điều hành  
khác và được cung cấp miễn phí cho người sử dụng.  
- Linux đầy đủ: Tất cả những gì có ở IBM, SCO, Sun, … đều có ở Linux, như: C  
compiler, perl interpeter, shell, TCP/IP, Proxy, firewall, tài liệu hướng dẫn,…  
- Linux rất mềm dẻo trong cấu hình, thông qua các tiện ích, dễ dàng sửa đổi ngay  
cả nhân. Linux là hệ điều hành linh động, tin cậy, an toàn và được tiếp tục phát triển  
vởi hàng ngàn lập trình viên trên toàn thế giới.  
- Linux được trợ giúp. Tài liệu giới thiệu Linux ngày càng nhiều, không thua kém  
bất cứ một hệ điều hành nào khác. Linux được nhiều tổ chức và công ty lớn trên thế  
giới sử dụng: IBM, HP, Cisco, Google, Amazon.com, …  
Ngoài ra khi sử dụng hệ điều hành Linux các bạn còn có được các tính năng sau:  
- Tính ổn định: Linux có tính ổn định cao, đây là một trong những ưu điểm của  
Linux so với các hệ điều hành khác. Tính ổn định ở đây có nghĩa là nó ít bị lỗi khi sử  
7
   
dụng so với hầu hết các hệ điều hành khác. Người sử dụng Linux sẽ không phải lo lắng  
đến chuyện máy tính của mình bị hiện tượng “treo cứng” khi đang sử dụng nữa. Thông  
thường lý do để bạn bắt buộc phải khởi động lại hệ thống là do mất điện, nâng cấp  
phần cứng hoặc phần mềm. Ngay cả server Linux phục vụ những mạng lớn (hàng trăm  
máy trạm) cũng hoạt động rất ổn định.  
- Tính bảo mật: Khi làm việc trên Linux người dùng có thể yên tâm hơn về tính  
bảo mật của hệ điều hành. Linux là hệ điều hành đa nhiệm, đa người dùng, điều này có  
nghĩa là nhiều người sử dụng có thể vào phiên làm việc của mình trên cùng một máy  
vào tại cùng một thời điểm. Linux cung cấp các mức bảo mật khác nhau cho người sử  
dụng. Mỗi người sử dụng chỉ làm việc trên một không gian tài nguyên dành riêng, chỉ  
có người quản trị hệ thống mới có quyền thay đổi trong máy.  
- Tính hoàn chỉnh: Bản thân Linux đã được kèm theo các trình tiện ích cần thiết.  
Tất cả các trình tiện ích mà bạn mong đợi đều có sẵn ở một dạng tương đương rất  
giống. Trên Linux, các trình biên dịch như C, C++, … các hạt nhân hay TCP/IP đều  
được chuẩn hoá.  
- Tính tương thích: Linux tương thích hầu như hoàn toàn với một số chuẩn UNIX  
như IEEE POSIX.1, UNIX System V BSD UNIX. Trên Linux bạn cũng có thể tìm  
thấy các trình giả lập của DOS và Windows cho phép bạn có thể chạy các ứng dụng  
quen thuộc trên DOS và Windows. Linux cũng hỗ trợ hầu hết các phần cứng máy PC.  
- Hệ điều hành 32 bit đầy đủ: Ngay từ đầu Linux đã là hệ điều hành 32 bit đầy  
đủ. Điều đó có nghĩa là bạn không còn phải lo về các giới hạn bộ nhớ, các trình điều  
khiển EMM hay các bộ nhớ mở rộng, … khi sử dụng Linux. Hiện nay đã có những  
phiên bản Linux 64 bits chạy trên máy Alpha Digital hay Ultra Sparc.  
- Dễ cấu hình: Bạn không còn phải bận tâm về các giới hạn 640K và tiến hành tối  
ưu hoá bộ nhớ mỗi lần cài đặt một trình điều khiển mới. Linux cho bạn hầu như toàn  
quyền điều khiển về cách làm việc của hệ thống.  
- Khả năng làm việc trên nhiều loại máy: Cấu hình phần cứng tối thiểu mà Linux  
cần chỉ là chip 80386, 2MB bộ nhớ, 10-20 MB không gian đĩa để bắt đầu. Khi bạn  
càng bổ sung phần cứng thì Linux chạy càng nhanh. Linux có khả năng chạy trên  
nhiều dòng máy khác nhau như Apple Macintosh, Sun, Dec Alpha Power PC.  
1.2.2. Nhược điểm của Linux  
- Người dùng phải thành thạo:  
Trình tự cài đặt tự động, giao diện thân thiện với người dùng chỉ giảm nhẹ phần  
nào sự phức tạm trong quá trình cài đặt phần mềm, tinh chỉnh màn hình, card âm  
thanh, card mạng, . . . Đôi khi những công việc này bắt buộc bạn phải thao tác từ  
những dòng lệnh cực kỳ "bí hiểm", nhàm chán và rất dễ nhầm lẫn (Trong khi HĐH  
Windows thì chỉ cần theo thông báo rồi Next. . .next . . . I gree . . . next ,. . . . Finish là  
xong). Để cài đặt thành công, đôi khi bạn phải bỏ ra rất nhiều thời gian để tham khảo  
và nghiêng cứu tài liệu. Vấn đề chính là nằm ở chỗ chúng ta dùng máy vi tính, hầu hết  
ta đều dùng hệ điều hành Windows, vì vậy, ta mang trong mình nặng tư tưởng của  
windows.  
- Phần cứng ít được hỗ trợ.  
Tuy đã cố gắng rất nhiều, nhưng bộ Linux của họ vẫn chưa có đủ trình điều khiển  
cho tất cả các thiết bị phần cứng có trên thị trường.  
- Phần mềm ứng dụng chưa tinh xảo.  
Các phần mềm ứng dụng trên Linux rất sẵn và không mất tiền, nhưng đa số  
không tiện dụng, không phong phú. Nhiều phần mềm ứng dụng thiếu các chức năng  
thông dụng, đặc trưng mà người dùng đã quen với Microsofr Office.  
8
 
- Thiếu chuẩn hóa.  
Do Linux toàn miễn phí nên bất cứ ai thích đều có thể tự mình đóng gói, phân  
phối theo các của mình. Có hàng chục nhà phân phối khácnhau trên thị truờng, người  
dùng trước khi cài đặt thường phải tự mình so sánh để tìm ra sản phẩm thích hợp.  
Vì linux thuộc dự án phần mềm mã nguồn mỡ nên bất cứ ai cũng có thể tự mìng  
đóng góp, chính sửa và thậm chí là phân phối lại.  
- Chính sách hỗ trợ khách hàng thiếu nhất quán và tốn kém.  
Mặc dù không phải trả bản quyền, nhưng người dùng vẫn phải trả phi cho mỗi  
thắc mắc cần được giải đáp từ nhà phân phối, cho dù đó chỉ là gọi qua điện thoại.  
1.3. Kiến trúc của hệ điều hành Linux  
1.3.1. Hạt nhân  
Là trung tâm điều khiển của hệ điều hành Linux, chứa các mã nguồn điều khiển  
hoạt động của toàn bộ hệ thống. Hạt nhân được phát triển không ngừng, thường có 2  
phiên bản mới nhất, một bản dạng phát triển mới nhất và một bản ổn định mới nhất.  
Kernel được thiết kế theo dạng modul, do vậy kích thước thật sự của Kernel rất nhỏ.  
Chúng chỉ tải những bộ phận cần thiết lên bộ nhớ, các bộ phận khác sẽ được tải nếu có  
yêu cầu sử dụng. Nhờ vậy so với các hệ điều hành khác Linux không sử dụng lãng phí  
bộ nhớ nhờ không tải mọi thứ lên mà không cần quan tâm nó có sử dụng không.  
Kernel được xem là trái tim của hệ điều hành Linux, ban đầu nhân được phát  
triển cho các CPU Intel 80386. Điểm mạnh của loại CPU này là khả năng quản lý bộ  
nhớ. Kernel của Linux có thể truy xuất tới toàn bộ tính năng phần cứng của máy. Yêu  
cầu của các chương trình cần rất nhiều bộ nhớ, trong khi hệ thống có ít bộ nhớ, hệ điều  
hành sử dụng không gian đĩa hoán đổi (swap space) để lưu trữ các dữ liệu xử lý của  
chương trình. Swap space cho phép ghi các trang của bộ nhớ xuất các vị trí dành sẵn  
trong đĩa và xem nó như phần mở rộng của vùng nhớ chính. Bên cạnh sử dụng swap  
space, Linux còn hỗ trợ các đặc tính sau:  
- Bảo vệ vùng nhớ giữa các tiến trình, điều này không cho phép một tiến trình  
làm tắt toàn bộ hệ thống.  
- Chỉ tải các chương trình khi có yêu cầu.  
1.3.2. Shell  
Shell cung cấp tập lệnh cho người dùng thao tác với kernel để thực hiện công  
việc. Shell đọc các lệnh từ người dùng và xử lý. Ngoài ra shell còn cung cấp một số  
đặc tính khác như: chuyển hướng xuất nhập, ngôn ngữ lệnh để tạo các tập tin lệnh  
tương tự tập tin bat trong DOS.  
Có nhiều loại shell được dùng trong Linux. Điểm quan trọng để phân biệt các  
shell với nhau là bộ lệnh của mỗi shell. Ví dụ, C shell thì sử dụng các lệnh tương tự  
ngôn ngữ C, Bourne Shell thì dùng ngôn ngữ lệnh khác.  
Shell sử dụng chính trong Linux là GNU Bourne Again Shell (bash). Shell này  
là shell phát triển từ Bourne Shell, là shell sử dụng chính trong các hệ thống Unix, với  
nhiều tính năng mới như: điều khiển các tiến trình, các lệnh history, tên tập tin dài, ….  
9
     
1.3.3. Các tiện ích  
Các tiện ích được người dùng thường xuyên sử dụng. Nó dùng cho nhiều thứ  
như thao tác tập tin, đĩa, nén, sao lưu tập tin, … Tiện ích trong Linux có thể là các lệnh  
thao tác hay các chương trình giao diện đồ họa. Hầu hết các tiện ích dùng trong Linux  
là sản phẩm của chương trình GNU. Linux có sẵn rất nhiều tiện ích như trình biên  
dịch, trình gỡ lỗi, soạn văn bản,… Tiện ích có thể được sử dụng bởi người dùng hoặc  
hệ thống. Một số tiện ích được xem là chuẩn trong hệ thống Linux như passwd, ls, pa,  
vi …  
1.3.4. Chương trình ứng dụng  
Khác với các tiện ích, các ứng dụng như chương trình word, hệ quản trị cơ sở dữ  
liệu,… là các chương trình có độ phức tạp lớn và được các nhà sản xuất viết ra như:  
- Văn phòng (open office)  
- Giải trí (movie player, xmms, totem player kaffeine, …)  
- Xử lý ảnh (GIMP)  
- Dịch vụ mạng (Telnet, SSH, FTP, Postfix, Apache, Bind, CUPS,  
- OpenLDAP, Iptable, Squid, Mozilla-Firefox, SAMBA, NFS)  
- Cơ sở dữ liệu (MySQL, PostgreSQL)  
- Lập trình (Emacs, C/C++, QT Trolltech, Fortran, Java, R, octave, Lapack,  
Blas, Python, Perl, AWK, TCL/TK, PHP, …)  
- Quản trị hệ thống(Webmin, VNC, …), …  
1.4. Các đặc tính cơ bản của Linux  
Linux hỗ trợ các tính năng cơ bản thường thấy trong các hệ điều hành Unix và  
nhiều tính năng khác mà không hệ điều hành nào có được. Linux cung cấp môi trường  
phát triển một cách đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình  
biên dịch, debug,… như bạn mong đợi ở các hệ điều hành Unix khác. Hệ thống Linux  
trội hơn các hệ thống khác trên nhiều mặt mà người dùng quan tâm như sự phát triển  
tốc độ, dễ sử dụng và đặc biệt là sự phát triển và hỗ trợ mạng. Một số đặc điểm của  
Linux chúng ta cần quan tâm:  
1.4.1. Tốc độ cao  
Hệ điều hành Linux được biết đến như một hệ điều hành có tốc độ xử lý cao,  
bởi vì nó thao tác rất hiệu quả đến tài nguyên như: bộ nhớ, đĩa,…  
1.4.2. Bộ nhớ ảo  
Khi hệ thống sử dụng quá nhiều chương trình lớn dẫn đến không đủ bộ nhớ  
chính (RAM) để hoạt động. Trong trường hợp đó, Linux dung bộ nhớ từ đĩa vào  
partition swap. Hệ thống sẽ đưa các chương trình hoặc dữ liệu nào chưa có yêu cầu  
truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống chuyển lên lại bộ nhớ  
chính.  
1.4.3. Sử dụng chung thư viện  
Hệ thống Linux có rất nhiều thư viện dùng chung cho nhiều ứng dụng. Điều  
này sẽ giúp hệ thống tiết kiệm được tài nguyên cũng như thời gian xử lý.  
1.4.4. Sử dụng chung chlương trình xử lý văn bản  
Chương trình xử lý văn bản là một trong những chương trình rất cần thiết đối  
với người sử dụng. Linux cung cấp nhiều chương trình cho phép người dùng thao tác  
với văn bản như vi, emacs, nroff.  
1.4.5. Sử dụng chung giao diện cửa sổ  
Giao diện cửa sổ dùng hệ thống X Window, có giao diện như hệ điều hành  
Windows. Với hệ thống này người dùng rất thuận tiện khi làm việc trên hệ thống. X  
Window System hay còn gọi tắt là X được phát triển tại viện Massachusetts Institute of  
10  
               
Technology. Nó được phát triển để tạo ra môi trường làm việc không phụ thuộc phần  
cứng. X chạy dưới dạng client server. Hệ thống X Window hoạt động qua hai bộ  
phận:  
- Phần server còn gọi là X server.  
- Phần client được gọi là X Window manager hay desktop environment.  
X Server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86. Client  
sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network Object  
Model Environment).  
Dịch vụ Samba sử dụng tài nguyên đĩa, máy in với Windows. Tên Samba xuất  
phát từ giao thức Server Message Block (SMB) mà Window sử dụng để chia sẻ tập tin  
và máy in. Samba là chương trình sử dụng giao thức SMB chạy trên Linux. Sử dụng  
Samba bạn có thể chia sẻ tập tin và máy in với các máy Windows  
1.4.6. Các tiện ích sao lưu dữ liệu  
Linux cung cấp các tiện ích như tar, cpio dd để sao lưu và backup dữ liệu.  
Red Hat Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho  
phép tự động backup dữ liệu theo lịch.  
1.4.7. Hỗ trợ nhiều ngôn ngữ lập trình  
Linux cung cấp một môi trường lập trình Unix đầy đủ bao gồm các thư viện  
chuẩn, các công cụ lập trình, trình biên dịch, chương trình debug mà bạn có thể tìm  
thấy trong các hệ điều hành Unix khác. Ngôn ngữ chủ yếu sử dụng trong các hệ điều  
hành Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chương trình  
biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài C, Linux cũng cung cấp các  
trình biên dịch, thông dịch cho các ngôn ngữ khác như Pascal, Fortan, Java, …  
Câu hỏi ôn tập chương  
1. Hãy nêu quá trình phát triển của hệ điều hành Linux? Lấy ví dụ minh họa về  
các nước trên thế giới đang sử dụng hệ điều hành này?  
2. Hãy cho biết ưu điểm của hệ điều hành Linux? Nhược điểm khi sử dụng hệ  
điều hành này?  
3. Vẽ sơ đồ kiến trúc chung và nêu kiến trúc của Linux Redhat?  
4. Cho biết các đặc tính của hệ điều hành Linux? Liên hệ thực tế?  
11  
     
Chương 2: Cài đặt hệ điều hành Linux  
Mục tiêu:  
- Trình bày được yêu cầu phần cứng của máy tính cài hệ điều hành Linux;  
- Biết qui trình cài đặt hệ điều hành Linux;  
- Biết cách phân vùng ổ đĩa;  
- Chọn lựa được phương pháp cài đặt nhanh và chính xác nhất;  
- Thiết lập được chế độ về cấu hình mạng, tài khoản và xác thực người dùng;  
- Xác định gói phần mềm Linux nào cần sử dụng trong quá trình cài đặt;  
- Có thái độ cẩn thận, tỉ mỉ, chính xác.  
2.1. Chuẩn bị cài đặt  
2.1.1. Chọn cấu hình phần cứng  
Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu  
hình thấp quá thì có thể không chạy được X-Window hay các ứng dụng có sẵn. Cấu  
hình tối thiểu nên dùng:  
- CPU: Pentium MMX trở lên.  
- RAM: 64MB trở lên cho Text mode, 192MB cho Graphics mode.  
- Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt.  
Custum Installation (mininum): 520MB  
Server (minimum): 870MB  
Personal Desktop: 1.9GB  
Workstation: 2.4GB  
Custum Installation (everything): 5.3GB  
- 2MB cho card màn hình nếu muốn sử dụng chế độ đồ họa.  
2.1.2. Dung lượng đĩa và bộ nhớ  
- Dung lượng đĩa:  
Sau khi có bìa điều khiển thích hợp cho ổ đĩa rồi, bạn phải quan tâm đến các  
yêu cầu về dung lượng ổ đĩa. Linux chấp nhận một lúc nhiều ổ đĩa cứng và có thể cài  
đặt nó không cùng trên một ổ duy nhất.  
Muốn sử dụng Linux cho có hiệu quả, bạn phải phân vùng lại ổ đĩa cứng và cấp  
phát đủ dung lượng đĩa cho các tệp hệ thống Linux và cho các tệp dữ liệu của bạn.  
Phân vùng (Partition) là chia những vùng theo ý của người sử dụng khi bắt đầu thiết  
lập thông số cho ổ đĩa cứng và trước khi định dạng ổ đĩa cứng.  
Dung lượng đĩa cần thiết tuỳ thuộc vào phần mềm bạn sẽ cài đặt và số lượng dữ  
liệu mà phần mềm ấy sinh ra. So với hầu hết các hệ điều hành kiểu UNIX, Linux đòi  
hỏi dung lượng đĩa ít hơn. Bạn có thể chạy toàn bộ hệ Linux (không có phần X  
Window-tức là chỉ ở Text mode) với chỉ 80 MB (bản kernel 2.2.4-10). Nếu cài đặt  
không sót một thứ gì trong bản phát hành, bạn sẽ cần từ 1.8 GB đến 3.5 GB tuỳ theo  
phiên bản và nhà sản xuất.  
Thông thường lệnh DOS fdisk hoặc một vài thương phẩm khác cho phép bạn  
phân chia lại ổ đĩa cứng và Linux cũng có tiện ích tương tự gọi là FIPS.  
Chú ý: Nếu bạn cài đặt Linux vào một ổ đĩa cứng mới nguyên thì không sao, còn đối  
với ổ đang dùng thì phải phân vùng và định dạng lại. Việc này sẽ xoá sạch toàn bộ  
thông tin trên ổ đĩa cứng, do đó bạn phải sao lưu cẩn thận trước khi cài đặt Linux. Nếu  
ổ đĩa cứng có dung lượng lớn, bạn có thể phân thành nhiều vùng và sao chép thông tin  
trở lại vào các vùng đã khai báo.  
- Bộ nhớ  
12  
       
Linux không đòi hỏi nhiều RAM, nhất là khi so sánh với các hệ điều hành khác  
như Windows 2000, XP hoặc Windows NT.  
Theo kernel và HOW-TO phiên bản ngày 11-7-2001, Linux chỉ cần 2 MB  
RAM, nhưng trong thực tế sử dụng thì Linux cần ít nhất 4 MB RAM. Thật sự, cấu  
hình thấp với 4 MB RAM chỉ có thể chạy ở chế độ văn bản, không có giao diện đồ  
hoạ. Từ phiên bản RedHat v.7.2, bạn cần ít nhất là 64 MB RAM và hiện nay 128 MB  
là yêu cầu trung bình. Nếu có ít hơn 4 MB RAM, bạn phải chạy với tệp hoán chuyển  
(swap file) ở trên đĩa cứng, được dùng như bộ nhớ ảo và do đó làm chậm hệ thống.  
Lượng RAM cần thiết còn phụ thuộc vào việc bạn sử dụng máy để làm gì. Càng muốn  
có nhiều chức năng bạn càng cần thêm RAM. Khi bạn dùng máy để quản trị một cơ sở  
dữ liệu thì lượng RAM cần thiết sẽ tăng lên rất nhiều.  
Việc sử dụng giao diện đồ hoạ X Window (bằng phần mềm XFree86) làm tăng  
nhu cầu về bộ nhớ. Bạn cần ít nhất 8 MB RAM vật lý và 8 MB tệp hoán chuyển, tức là  
16 MB RAM ảo để có một hệ thống hoạt động hiệu quả.  
2.1.3. Những cách cài đặt Linux  
Có thể cài đặt Linux bằng một trong các cách sau:  
- Từ ổ đĩa CD-ROM.  
- Từ bản sao chép Linux trên ổ đĩa cứng hoặc USB.  
- Cài đặt từ server mạng, sử dụng HTTP, FTP, hoặc NFS, …  
- Phương pháp cài đặt từ Windows bằng Wubi  
2.1.4. Phân vùng ổ đĩa cứng  
- Điều này cho phép bạn tạo các phân vùng mới trên không gian trống của đĩa,  
hoặc để sử dụng các phân vùng Linux đã tồn tại.  
- Cấp phát không gian trao đổi thích hợp.  
- Xác định hệ thống file nào để sử dụng.  
Lưu ý:  
- Cần chuẩn bị phân vùng đĩa còn trống để cài Linux.  
- Linux cần tối thiểu hai phân vùng là Linux Native (ext3) và Linux swap. Đơn  
giản, bạn có thể dùng Partition Magic để phân chia đĩa.  
- Một partition là Linux native ext3. Cần khoảng 2GB trở lên để cài Linux, bao  
gồm cả KDE và GNOME, các tiện ích đồ họa, multimedia, và lập trình. Tối thiểu bạn  
cần 400MB và cài toàn bộ là 4,5GB.  
- Một partition là Linux swap, là phân vùng trao đổi của Linux dành cho việc sử  
dụng bộ nhớ ảo làm không gian trao đổi. Thông thường, dung lượng bộ nhớ ảo tối ưu  
sẽ gấp đôi dung lượng bộ nhớ RAM của hệ thống.  
2.1.5. Chọn cấu hình phần cứng  
Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu  
hình thấp quá thì có thể không chạy được X-Window hay các ứng dụng có sẵn. Cấu  
hình tối thiểu nên dùng:  
- CPU: Pentium MMX trở lên.  
- RAM: 64MB trở lên cho Text mode, 192MB cho Graphics mode.  
- Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt.  
Custum Installation (mininum): 520MB  
Server (minimum): 870MB  
Personal Desktop: 1.9GB  
Workstation: 2.4GB  
Custum Installation (everything): 5.3GB  
- 2MB cho card màn hình nếu muốn sử dụng chế độ đồ họa.  
13  
     
2.2. Tiến hành cài đặt  
2.2.1. Các cách cài đặt  
Có thể cài đặt Linux bằng một trong các cách sau:  
- Từ ổ đĩa CD-ROM.  
- Từ bản sao chép Linux trên ổ đĩa cứng hoặc USB.  
- Cài đặt từ server mạng, sử dụng HTTP, FTP, hoặc NFS, …  
2.2.2. Trình tự cài đặt  
Quá trình cài đặt hệ điều hành Red Hat Linux 9.0  
- Boot từ CD-ROM (Hình 2.1)  
Nếu máy bạn có CD-ROM, bạn hãy khởi động máy tính, chỉnh lại BIOS thứ tự  
boot đầu tiên là CD-ROM và đưa đĩa cài đặt vào ổ CD.  
Hình 2.2.2.1 Boot CD  
- Chọn chế độ cài đặt (Hình 2.2)  
Chúng ta có thể chọn các chế độ:  
- Chương trình hệ điều hành Linux đặt dưới chế độ đồ họa (Graphical mode) ->  
[Enter].  
- Linux text: Chương trình hệ điều hành Linux đặt dưới chế độ text (Text mode).  
Hình 2.2.2.2 Chọn chế độ cài đặt  
- Kiểm tra đĩa trước khi cài đặt (Hình 2.3)  
14  
     
Hình 2.2.2.3 Thông báo kiểm tra đĩa  
Chọn OK để test đĩa, hoặc chọn Skip để bỏ qua quá trình test.  
Chọn ngôn ngữ hiển thị trong quá trình cài đặt (Hình 2.4)  
Ta chọn ngôn ngữ “English. Sau khi chọn nhấn Next để tiếp tục.  
Hình 2.2.2.4 Chọn ngôn ngữ  
- Lựa chọn Keyboard (Hình 2.5)  
Hình 2.2.2.5 Chọn phím  
Chọn kiểu bàn phím thích hợp với hệ thống, chọn Next.  
- Lựa chọn chuột (Hình 2.6)  
15  
Hình 2.2.2.6 Chọn chuột  
Chọn loại mouse phù hợp với mouse của mình. Khi chọn lưu ý cổng gắn mouse kà  
serial hay PS/2, chọn Next.  
- Lựa chọn kiểu cài đặt (Hình 2.7)  
Hình 2.2.2.7 Chọn kiểu cài đặt  
Personal Desktop: dành cho người mới bắt đầu với Linux hoặc cho những hệ thống  
desktop cá nhân. Chương trình cài đặt sẽ chọn lựa những gói phần mềm cần thiết nhất  
cho cấu hình này. Dung lượng đĩa cần cho kiểu cài đặt này chiếm khoảng 1.5GB, bao  
gồm cả môi trường đồ hoạ.  
WorkStation: dành cho những trạm làm việc với chức năng đồ hoạ cao cấp và các  
công cụ phát triển.  
Server: cài đặt hệ thống đóng vai trò máy chủ như web server, ftp sever, SQL server,...  
Custom: đây là lựa chọn linh hoạt cho bạn trong quá trình cài đặt. Bạn có thể chọn các  
gói phần mềm, các môi trường làm việc, boot loader tuỳ theo ý bạn.  
- Chọn cách chia partition (Hình 2.8)  
16  
Hình 2.2.2.8 Lựa chọn chia partition  
- Automatically partition: cho phép hệ thống tự động phân vùng ổ đĩa hợp lý để  
cài hệ điều hành (thông thường theo cách này thì hệ thống sẽ tạo ra hai phân vùng:  
/boot, /swap).  
- Manually partition with Disk Druid: chia partition bằng tiện ích Disk Druid.  
Đây là cách chia partition dưới dạng đồ họa dễ dùng.  
Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition.  
- Chia partition bằng tay  
Hình 2.2.2.9 Cách chia bằng tay  
- Remove all Linux partitions on this system: khi ta muốn loại bỏ tất cả các Linux  
partition có sẵn trong hệ thống.  
- Keep all partitions and use existing free space: khi ta muốn giữ lại tất cả các  
partition có sẵn và chỉ sử dụng không gian trống còn lại để phân vùng.  
- Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau  
đó chọn Next.  
Khi ta chọn cách chia partition bằng tay ta sẽ sử dụng tiện ích Disk Druid.  
Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên. Bạn có thể  
chọn từng partition để thao tác.  
Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào.  
17  
- New: tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem  
(ext3) và kích thước (size) tính bằng MByte (tùy chọn).  
- Edit: thay đổi lại các tham số của phân vùng được chọn.  
- Delete: xóa phân vùng được chọn.  
- Reset: phục hồi lại trạng thái đĩa như trước khi thao tác.  
- Make RAID: sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít  
nhất 3 đĩa cứng.  
Tạo ra vùng swap (Hình 2.10)  
Hình 2.2.2.10 Tạo Swap  
- Tạo partition ext3, sau khi tạo swap partition (Hình 2.11)  
Hình 2.2.2.11 Tạo ext3  
- Cấu hình Boot Loader  
18  
Hình 2.2.2.12 Cấu hình boot loader  
Đây là chương trình dùng để khởi động Linux khi bạn có hơn một hệ điều hành  
được cài đặt trên hệ thống. Boot Loader cho phép bạn chọn các hệ điều hành để khởi  
động qua menu. Khi chúng ta chọn, chúng sẽ xác định các tập tin cần thiết để khởi  
động hệ điều hành và giao quyền điều khiển lại cho hệ điều hành. Boot Loader có thể  
được cài vào Master Boot Record hoặc vào sector đầu tiên của partition.  
Linux cho phép bạn sử dụng chương trình Boot Loader là GRUB hoặc LILO. Cả 2  
Boot Loader đều có thể hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống.  
- Bạn chọn cài Boot Loader vào Master Boot Record (MBR) khi chưa có  
chương trình Boot Loader nào (ví dụ như của Windows) được cài, hoặc bạn chắc chắn  
chương trình Boot Loader của bạn có thể khởi động được các hệ điều hành khác trong  
máy của mình. Khi cài lên MBR thì các chương trình Boot Loader trước đó sẽ bị thay  
thế bằng Boot Loader mới.  
- Chọn cài Boot Loader vào sector đầu tiên của partition cài đặt khi bạn đã có  
chương trình Boot Loader tại MBR và không muốn thay thế nó. Trong trường hợp  
này, chương trình Boot Loader kia nắm quyền điều khiển trước và trỏ đến chương  
trình Boot Loader của Linux khi có yêu cầu khởi động hệ điều hành này.  
- Bạn không cài chương trình Boot Loader, khi đó bạn phải sử dụng đĩa mềm  
boot để khởi động hệ điều hành.  
- Ta có thể đặt mật khẩu cho Boot Loader thông qua nút Change password.  
GRUB: Là boot loader mặc định, đây là chương trình rất mạnh và uyển chuyển.  
GRUB tự động dò các hệ điều hành hiện có trên hệ thống và thêm vào danh sách khi  
khởi động.  
Tuỳ chọn “configure advance boot loader option” cho phép bạn chọn việc cài GRUB  
lên đâu trong ổ cứng.  
Nếu chọn GRUB để khởi động hệ thống, GRUB sẽ được cài lên Master Boot Record (  
/dev/hda).  
Nếu chọn một chương trình khác để khởi động như system commander chẳng hạn, bạn  
hãy chọn cài GRUB lên “first sector of boot partition”. Như vậy, system commander  
sẽ tự động nhận ra Linux và thêm vào mục nhập khởi động cho Linux.  
- Cấu hình Firewall  
Trong Linux có tích hợp Firewall để bảo vệ hệ thống chống lại một số truy xuất bất  
hợp pháp từ bên ngoài. Ta chọn Enable Firewall, sau đó chọn loại dịch vụ cần cho  
phép bên ngoài truy cập vào Firewall.  
19  
Hình 2.2.2.13 Cấu hình Firewall  
- Lựa chọn ngôn ngữ cho hệ thống (Hình 2.14)  
Bạn có thể cài đặt và sử dụng nhiều ngôn ngữ trong Linux. Có thể chọn ngôn  
ngữ mặc định (English (USA)) và các ngôn ngữ khác để sử dụng.  
Hình 2.2.2.14 Chọn ngôn ngữ  
- Lựa chọn vùng định thời gian (Hình 2.15)  
Các vị trí chia theo châu lục. Ở Việt Nam là Asia/Saigon, ta có thể chọn mục  
này một cách dễ dàng thông qua việc định vị chuột tại đúng vị trí trên bản đồ.  
Hình 2.2.2.15 Định thời gian  
20  
Tải về để xem bản đầy đủ
pdf 88 trang yennguyen 08/04/2022 6340
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành Linux", để tải tài liệu gốc về máy hãy click vào nút Download ở trên

File đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_linux.pdf