Linux được phát triển bởi Linus Torvalds, bản đầu tiên được đưa ra vào năm 1991 tại đại học Helsinki, Phần Lan, dựa trên hệ điều hành Minix – một hệ điều hành có cấu trúc tương tự Unix v
Trang 1ĐẠI HỌC DUY TÂN TRƯỜNG KHOA HỌC MÁY TÍNH KHOA KỸ THUẬT MẠNG MÁY TÍNH & TRUYỀN THÔNG
NỀN TẢNG HỆ THỐNG MÁY TÍNH
ĐỀ TÀI: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX
: LÊ CÔNG TUẤN : NGUYỄN THÀNH DANH : PHẠM QUANG MINH
Đà Nẵng, tháng 12/2023
Trang 2MỤC LỤC
LỜI MỞ ĐẦU 2
CHƯƠNG 1: GIỚI THIỆU VỀ LINUX 3
1.1 Linux là gì ? 3
1.2 Những ưu điểm của linux 3
1.3 Một vài nhược điểm của linux 5
1.4 Một số phiên bản linux 6
CHƯƠNG 2: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 8
2.1 Các lệnh cơ bản của linux 8
2.2 File System 8
2.3 Các thư mục và hệ thống tập tin 9
2.3.1 Hệ thống tập tin 9
2.3.2 Hệ thống thư mục 9
2.4 Cài đặt phần mềm 12
2.4.1 Cách cài đặt 12
2.4.2 Tháo cài đặt 12
2.5.3 Cập nhật phần mềm 12
2.5.4 Truy vấn các gói phần mềm 12
2.5 Backup dữ liệu 13
2.5.1 Cài đặt Rsync 13
2.5.2 Cách sao lưu trên rsync 13
CHƯƠNG 3: ỨNG DỤNG LINUX 17
3.1 LILO và GRUB 17
3.2 Quản lý account User 17
3.3 Cài đặt font tiếng việt trên linux 18
3.4 Cách nhập liệu bằng tiếng việt 19
3.5 Lập trình C/C++ bằng gcc 19
Trang 3LỜI MỞ ĐẦU
Có lẽ chúng ta đã quá quen với hệ điều hành Windows cũng như quá quen lập trình trên
hệ điều hành này Windows có thể nói là một HĐH khá "hoàn hảo", dễ sử dụng, với rấtnhiều tiện ích đáp ứng gần như mọi yêu cầu của người dùng Tuy nhiên, trên thực tế còn
có rất nhiều hệ điều hành tốt khác, một trong số đó là hệ điều hành Linux Vậy thì tại saochúng ta lại phải tìm đến một HĐH mới như Linux ? Điều đó liệu có thực sự cần thiếtkhông ? Nhất là đối với sinh viên như chúng ta, những người mới chập chững bước vàocon đường làm tin học Việc nghiên cứu, tìm hiểu về một hệ điều hành mới như Linuxgiú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 Rất nhiều trong số cácchương trình này được viết bởi những lập trình viên nhiều kinh nghiệm và đã được cộngđồng mã nguồn mở trên toàn thế giới kiểm thử Vì thế mã nguồn của các chương trìnhnày chứa đựng một khối lượng kiến thức rất tinh túy, hoàn toàn đáng để ta có thể học hỏi.Mặt khác những tài liệu về các phần mềm mã nguồn mở thường rất sẵn, chi tiết và đượccập nhật thường xuyên Không hề có những "bí mật công nghệ " trong các sản phẩm mãnguồn mở Vì vậy, đối với sinh viên học tập và nghiên cứu các phần mềm mã nguồn mởnói chung và Linux nói riêng là một trong những cách tốt nhất để nâng cao kiến thức chomình
Trang 4CHƯƠNG 1: GIỚI THIỆU VỀ LINUX
1.1 LINUX LÀ GÌ ?.
Linux là một hệ điều hành Về mặt nguyên tắc, hệ điều hành cũng là một ứng dụngmáy tính, nhưng đây là một ứng dụng đặc biệt – được dùng để quản lý, điều phối cáctài nguyên của hệ thống bao gồm cả phần cứng và phần mềm khác Linux được pháttriển bởi Linus Torvalds, bản đầu tiên được đưa ra vào năm 1991 tại đại học Helsinki,Phần Lan, dựa trên hệ điều hành Minix – một hệ điều hành có cấu trúc tương tự Unixvới các chức năng tối thiểu được dùng trong dạy học Về cơ bản thì Linux là mộtclone Unix Ngoài ra Linux cũng là một hệ điều hành với các khả năng đa nhiệm đatác vụ, đa người dùng Thêm nữa, Linux còn có khả năng chạy được trên hầu như tất
cả các loại máy tính từ PC, Mac cho đến những hệ thống Alpha, Amiga Sau hơnmười năm phát triển, Linux đã chứng tỏ là một hệ điều hành linh hoạt , uyển chuyển,đáng tin cậy và ổn định Hiện nay, Linux trở thành hệ điều hành với mã nguồn mở vàmiễn phí dưới bản quyền của tổ chức GNU (GNU's Not Unix) Với tốc độ phát triểnnhanh chóng như hiện nay Linux đang là mối đe dọa lớn nhất với các hệ điều hànhWindows của Microsoft Đã có rất nhiều các tổ chức chính phủ và xí nghiệp trên thếgiới đã chuyển từ Windows sang dùng Linux
1.2 NHỮNG ƯU ĐIỂM CỦA LINUX
Kinh tế, đây là một trong những lợi thế của Linux khi so sánh với các hệ điều hànhkhác Linux là một trong những hệ điều hành miễn phí hiện nay Tuy nhiên đối vớiLinux đó vẫn chưa là tất cả HĐH này còn rất nhiều ưu điểm khác mà không một hệđiều hành nào có được Chính những đặc điểm này mới là nguyên nhân khiến choLinux ngày càng trở nên phổ biến không chỉ ở Việt Nam mà cả ở trên thế giới
a Linh hoạt, uyển chuyển
Như đã trình bày ở trên, Linux là một HĐH mã nguồn mở nên ta có thể chỉnh sửa theo
ý thích của mình Nếu như việc Việt hóa Windows được xem là không thể nếu không
có sự đồng ý và hỗ trợ của Microsoft thì với Linux chúng ta có thể làm được điều nàymột cách dễ dàng Bằng chứng là tại Việt Nam hiện nay đã có 2 bản Linux tiếng Việt,
Trang 5Vietkey Linux của ViệtKey Group và CMC Linux của công ty CMC Mặt khác doLinux được cộng đồng những người làm phần mềm cùng phát triển trên các môitrường, hoàn cảnh khác nhau nên tìm một phiên bản phù hợp với yêu cầu của từngngười dùng sẽ không phải là một vấn đề quá khó khăn Tính linh hoạt của Linux cònđược thể hiện ở chỗ nó tương thích được với rất nhiều môi trường Hiện tại, ngoàiLinux dành cho server, máy tính để bàn nhân Linux (Linux kernel) còn được nhúngvào các thiết bị điều khiển như máy tính Palm, Robot Phạm vi ứng dụng của Linuxđược xem là rất rộng rãi.
b Độ an toàn cao
Trước hết, trong Linux có một cơ cấu phân quyền hết sức rõ ràng Chỉ có
"root"( người dùng tối cao) mới có quyền cài đặt và thay đổi hệ thống Ngoài raLinuxcũng có cơ chế để một người dùng bình thường có thể chuyển tạm thời chuyển sangquyền "root" để thực hiện một số thao tác Điều này giúp cho hệ thống có thể chạy ổnđịnh và tránh phải những sai sót dẫn đến đổ vỡ hệ thống Từ phiên bản Windows 2000trở đi, cơ chế phân quyền này cũng đã bước đầu được áp dụng trong các hệ điều hànhcủa Microsoft, nhưng so với Linux thì vẫn kém chặt chẽ hơn Ngoài ra chính tính chất
"mở" cũng tạo nên sự an toàn của Linux Nếu như một lỗ hổng nào đó trên Linuxđược phát hiện thì nó sẽ được cả cộng đồng mã nguồn mở cùng sửa và thường thì chỉsau 24h sẽ có thể cho ra bản sửa lỗi Mặt khác đối với những HĐH mã nguồn đóngnhư Windows, chúng ta không thể biết được người ta viết gì, và viết ra sao mà chỉ biếtđược chúng chạy như thế nào Vì vậy nếu như Windows có chứa những đoạn mã chophép tạo những "backdoor" để xâm nhập vào hệ thống thì ta cũng không thể biếtđược Đối với người dùng bình thường thì vấn đề này có vẻ như không quan trọngnhưng đối với một hệ thống tầm cỡ như hệ thống quốc phòng thì vấn đề như thế nàylại mang tính sống còn Các nhân viên an ninh không được phép để lộ một kẽ hở nào,
dù là nhỏ nhất vì nó liên quan đến an ninh của cả một quốc gia Và một lần nữa cácphần mềm mã nguồn mở nói chung và Linux nói riêng lại là sự lựa chọn số một Trong Linux mọi thứ đều công khai, người quản trị có thể tìm hiểu tới mọi ngõ ngáchcủa hệ điều hành Điều đó cũng có nghĩa là độ an toàn được nâng cao
Trang 6c Thích hợp cho quản trị mạng
Được thiết kế ngay từ đầu cho chế độ đa người dùng, Linux được xem là một hệ điềuhành mạng rất giá trị Nếu như Windows tỏ ra là một HĐH thích hợp với máy tínhDesktop thì Linux lại là hệ điều hành thống trị đối với các Server Đó là do Linux córất nhiều ưu điểm thỏa mãn đòi hỏi của một hệ điều hành mạng: tính bảo mật cao,chạy ổn định, các cơ chế chia sẻ tài nguyên tốt Giao thức TCP/IP mà chúng ta vẫnthấy ngày nay chính là một giao thức truyền tin của Linux Chạy thống nhất trên các hệthống phần cứng Mặc dù có khá nhiều phiên bản Linux được các nhà phân phối khácnhau phát hành nhưng nhìn chung các bản Linux đều chạy khá ổn định trên mọi thiết
bị phần cứng, từ Intel 486 đến những máy Pentium mới nhất, từ những máy có dunglượng RAM chỉ 4MB đến những máy có cấu hình cực mạnh Tất nhiên là tốc độ sẽkhác nhau nhưng về nguyên tắc thì vẫn có thể chạy được
1.3 MỘT VÀI NHƯỢC ĐIỂM CỦA LINUX
Dù cho hiện nay Linux đang có tốc độ phát triển rất nhanh, hơn cả Windows nhưngkhách quan mà nói so với Windows, Linux vẫn chưa thể đến được với người dùngcuối Đó là do Linux vẫn còn có những nhược điểm cố hữu :
Đòi hỏi người dùng phải thành thạo : Trước kia việc sử dụng và cấu hìnhLinux được xem là một công việc chỉ dành cho những chuyên gia Hầu nhưmọi công việc đều thực hiện trên các dòng lệnh và phải cấu hình nhờ sửatrực tiếp các file Mặc dù trong những phiên bản gần đây, các HĐH Linux
đã có những cải tiến đáng kể, nhưng so với Windows tính thân thiện củaLinux vẫn còn là một vấn đề lớn Đây là một trong những nguyên nhân chủyếu khiến Linux mặc dù có rất nhiều đặc tính kỹ thuật tốt nhưng vẫn chưađến được với người dùng cuối
Tính tiêu chuẩn hóa: Linux được phát hành miễn phí nên bất cứ ai cũng cóthể tự mình đóng gói, phân phối theo những cách riêng Hiện tại có khảnhiều bản Linux phát triển từ một nhân ( kernel ) ban đầu cùng tồn tại như:RedHat, SuSE, Knoppix Người dùng phải tự so sánh xem bản nào là phù
Trang 7hợp với mình Điều này có thể gây khó khăn cho người dùng, nhất là nhữngngười còn có kiến thức về tin học hạn chế
Số lượng các ứng dụng chất lượng cao trên Linux còn hạn chế : Mặc dùWindows có sản phẩm nào thì Linux cũng gần như có phần mềm tương tự.OpenOffice trên Linux tương tự như Microsoft Office trên Windows, hayGIMP tương tự như Photoshop v v Tuy nhiên chất lượng của những sảnphẩm này chưa thể so sánh được với các sản phẩm viết cho Windows Một số nhà sản xuất phần cứng không có driver hỗ trợ Linux: Do hiệnnay Linux chưa phổ biến bằng Windows nên nhiều nhà sản xuất phần cứngkhông hỗ trợ các driver chạy trên Linux Tuy Linux có một số nhược điểmmang tính cố hữu như vậy nhưng ta vẫn có thể chạy được một số chươngtrình Windows trên nên Linux thông qua chương trình WINE.( một chươngtrình giả lập để chạy các ứng dụng Windows trên Linux) Do vậy, ta vẫn cóthể tận dụng được các ưu điểm của hệ điều hành Windows
1.4 MỘT SỐ PHIÊN BẢN LINUX
Redhat và Fedora Core Đây là phiên bản Linux thịnh hành nhất trên thế giới, do công tyRedhat phát hành Từ năm 2003, Redhat Inc chuyển hướng kinh doanh Họ đầu tư pháttriển dòng sản phẩm Redhat Enterprise Linux (RHEL) với mục đích thương mại nhằmvào các công ty xí nghiệp Đối với người dùng bình thường họ mở một dự án mang tênFedora dành cho dòng sản phẩm miễn phí - Fedora Core Đồng thời kêu gọi các lập trìnhviên trên toàn thế giới phát triển Fedora Core Bản Linux của Redhat hiện nay đang dừng
ở version 9.0.Version của Fedora Core được bắt đầu từ 1 Phiên bản Linux trình bày trong
đề án này là Fedora Core 1 Vào tháng 8/2004, Redhat đã phát hành Fedora Core 3.0
WhiteBox Linux Đây là bản clone của Redhat Enterprise Linux 3.0 Được xây dựng trên
source code của RHEL bởi một nhóm các kỹ sư ở Los Angeles, Hoa Kỳ
SuSe Linux Made in Germany Phiên bản Linux này rất thịnh hành ở Châu Âu và Bắc
Mỹ Bản SuSe Linux mới nhất hiện nay là 9.1
Mandrake Linux Made in France Đây cũng là một bản Linux rất thịnh hành ở Châu Âu,
Mỹ và Việt Nam Phiên bản này được ưu ái nhất trong vấn đề Việt hóa Hiện nay, quá trình
Trang 8Việt hóa cho Mandrake Linux đã đạt 85% Version mới nhất của Mandrake Linux là 10.1Turbo Linux Bản Linux nổi tiếng ở Nhật và Trung Quốc Bản Turbo Linux mới nhất hiệnnay là 10F
Debian Linux Phiên bản Linux rất thịnh hành trong giới chuyên nghiệp vì tính ổn định
tuyệt vời của nó Phiên bản hiện nay :3.0 R2
Vine Linux Bản Linux rất phổ biến ở Nhật Bản Được xây dựng trên nền tảng của Redhat
6.2 Hỗ trợ tiếng Nhật 100% và rất nhẹ ( 1CD ) Bản mới nhất hiện nay là 3.0(release8/2004)
Knoppix Linux Made in Germany Đây là bàn Live Linux, chạy trực tiếp trên CD mà
không cần cài đặt vào ổ cứng Version hiện nay là 3.4
Vnlinuxcd Đây cũng là một bản Live Linux, phát triển bởi Larry Nguyễn, một người Mỹ
gốc Việt Bản này được build trên nền Mandrake 9.2, hỗ trợ khá tốt các vấn đề tiếng Việt
Vietkey Linux và CMC Linux Đây là 2 bản Linux được phát triển bởi các công ty trong
nước Vietkey Linux được build trên nền Redhat 7.2, và là sản phẩm đoạt giải nhất trongcuộc thi TTVN 2002 CMC Linux phát triển trên nền của Mandrake, version hiện nay làCMC Linux 1.0 Ngoài ra, hiện nay trên thế giới còn có rất nhiều bản Linux được xâydựng và phát triển bởi các distributors khác nhau như Caldera OpenLinux, Slackware,SGI
Trang 9CHƯƠNG 2: TỔNG QUAN VỀ HỆN ĐIỀU HÀNH LINUX
2.1 LỆNH CƠ BẢN CỦA LINUX
Lệnh liên quan đến hệ thống
exit: thoát khỏi cửa sổ dòng lệnh
logout: tương tự exit
reboot: khởi động lại hệ thống
halt: tắt máy
startx: khởi động chế độ xwindows từ cửa sổ terminal
mount: gắn hệ thống tập tin từ một thiết bị lưu trữ vào cây thư mục chính.unmount: ngược với lệnh mount
Lệnh thao tác trên tập tin
ls: lấy danh sách tất cả các file và thư mục trong thư mục hiện hành
pwd: xuất đường dẫn của thư mục làm việc
cd: thay đổi thư mục làm việc đến một thư mục mới
mkdir: tạo thư mục mới
rmdir: xoá thư mục rỗng
cp: copy một hay nhiều tập tin đến thư mục mới
mv: đổi tên hay di chuyển tập tin, thư mục
rm: xóa tập tin
wc: đếm số dòng, số kí tự… trong tập tin
touch: tạo một tập tin
cat: xem nội dung tập tin
vi: khởi động trình soạn thảo văn bản vi
df: kiểm tra dung lượng đĩa
du: xem dung lượng đĩa đã dùng cho một số tập tin nhất định
nano: Khởi dộng trình soạn thảo văn bản nano
less: Xem nội dung tập tin theo dòng
tail: Xem nội dung tập tin (mặc định xem 10 dòng cuối, muốn xem 100 dòng cuối thì dùng lệnh sau: tail 100 tenfile)
more: Xem nội dung tập tin theo trang
head: Xem nội dung tập tin (mặc định xem 10 dòng đầu, muốn xem 100 dòng đầu thì dùng lệnh sau: head 100 tenfile)
Lệnh khi làm việc trên terminal
clear: xoá trắng cửa sổ dòng lệnh
date: xem ngày, giờ hệ thống
cal: xem lịch hệ thống
2.2 FILE SYSTEM
a Định nghĩa:
Trang 10File system được dùng để quản lý cách dữ liệu được đọc và lưu trên thiết bị.File system cho phép người dùng truy cập nhanh chóng và an toàn khi cần thiết.
b Các loại filesystem phổ biến trên Linux
Các loại filesystem được Linux hỗ trợ:
Filesystem cơ bản: EXT2, EXT3, EXT4, XFS, Btrfs, JFS, NTFS,…
Filesystem dành cho dạng lưu trữ Flash: thẻ nhớ,…
Filesystem dành cho hệ cơ sở dữ liệu
Filesystem mục đích đặc biệt: procfs, sysfs, tmpfs, squashfs, debugfs,
2.3 CÁC THƯ MỤC VÀ HỆ THỐNG TẬP TIN
2.3.1 Hệ thống tập tin
Hệ thống tập tin của Linux và Unix được tổ chức theo một hệ thống phân bậctương tự cấu trúc của một cây phân cấp Bậc cao nhất của hệ thống tập tin là thưmục gốc, được ký hiệu bằng gạch chéo “/” (root directory)
Đối với các hệ điều hành Unix và Linux tất các thiết bị kết nối vào máy tính đềuđược nhận dạng như các tập tin, kể cả những linh kiện như ổ đĩa cứng, các phânvùng đĩa cứng và các ổ USB Điều này có nghĩa là tất cả các tập tin và thư mục đềunằm dưới thư mục gốc, ngay cả những tập tin biểu tượng cho các ổ đĩa cứng.2.3.2 Hệ thống thư mục
Trang 11a / – Root
Mở từng tập tin và thư mục từ thư mục Root
Chỉ có Root user mới có quyền viết dưới thư mục này
b /bin – User Binaries
Chứa các tập tin thực thi nhị phân (binary executables)
Lệnh Linux phổ biến sử dụng ở chế độ Singer-user mode nằm trong thư mục này.Tất cả user trên hệ thống nằm tại thư mục này đều có thể sử dụng lệnh
c /sbin – System Binaries
Cũng giống như /bin, /sbin cũng chứa tập tin thực thi nhị phân (binary
executables)
Lệnh Linux nằm trong thư mục này được sử dụng bởi Admin hệ thống, nhằm mục đích duy trì hệ thống
d /etc – Configuration Files
Chứa cấu hình các tập tin cấu hình của hệ thống, các tập tin lệnh để khởi động các dịch vụ của hệ thống……