Linux căn bản
Hướng dẫn cơ bản làm quen với hệ điều hành mã nguồn mở Linux
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Mục Lục
Chương 1 Giới thiệu về Linux ............................................................. 6
Linux là gì ? ............................................................................................................................ 6
Lịch sử của Linux ................................................................................................................... 6
Xuất xứ, tiến trình tiến hóa và một số đặc trưng của hệ điều hành UNIX ......................... 6
Sự ra đời Linux ................................................................................................................... 8
Free Software Foundation và GNU ................................................................................... 9
Đặc điểm chính của Linux .................................................................................................... 10
Các bản phân phối Linux ...................................................................................................... 11
Chương 2 Cài đặt Linux..................................................................... 12
Yêu cầu phần cứng ............................................................................................................... 12
Cài đặt Fedora 7.................................................................................................................... 12
Chương 3 Thao tác với hệ thống........................................................ 24
Đăng nhập ............................................................................................................................. 24
Thoát khỏi hệ thống .............................................................................................................. 25
Khởi động lại hệ thống ......................................................................................................... 26
Các chế độ khởi động ........................................................................................................... 27
Xem và thiết đặt ngày, giờ.................................................................................................... 28
Xem lịch ............................................................................................................................... 30
Xem thông tin hệ thống ........................................................................................................ 31
Chương 4 Sử dụng Shell .................................................................... 32
Tìm hiểu về shell .................................................................................................................. 32
Sử dụng lệnh trong Linux ..................................................................................................... 32
Giới thiệu việc dùng lệnh trong Linux ............................................................................. 32
Một số quy ước khi viết lệnh ............................................................................................ 34
Làm đơn giản thao tác gõ lệnh ......................................................................................... 36
Một số phím đặc biệt khi gõ lệnh ..................................................................................... 37
Các kí hiệu mô tả nhóm file và cơ chế mồi lệnh .............................................................. 38
Các trang Man .................................................................................................................. 40
Biến môi trường .................................................................................................................... 41
Chương 5 Quản lý tiến trình .............................................................. 42
Lệnh ps ................................................................................................................................. 42
Lệnh fg và lệnh bg ................................................................................................................ 43
Hủy tiến trình với lệnh kill ................................................................................................... 45
Xem cây tiến trình với lệnh pstree........................................................................................ 46
Lệnh thiết đặt lại độ ưu tiên của tiến trình ............................................................................ 48
Chương 6 Sử dụng phân vùng đĩa và hệ thống file. ........................... 49
Tổng quan về hệ thống file ................................................................................................... 49
Hỗ trợ nhiều hệ thống File .................................................................................................... 50
Kiến trúc nội tại của hệ thống file ........................................................................................ 51
Inode ................................................................................................................................. 51
Siêu khối ........................................................................................................................... 52
Tạo phân vùng và hệ thống File ........................................................................................... 52
Các kiểu phân vùng .......................................................................................................... 52
Sử dụng fdisk .................................................................................................................... 52
Tạo hệ thống file với mkfs................................................................................................ 53
Kiểm tra hệ thống file ....................................................................................................... 54
Mount (lắp) và umount (tháo) hệ thống file ..................................................................... 54
VSIC Education Corporation Trang 1
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Chương 7 Quản lý file và thư mục ..................................................... 56
Giới thiệu ............................................................................................................................. 56
Các thư mục hệ thống .......................................................................................................... 56
Quản lý quyền trên file và thư mục trên Linux .................................................................... 57
Các quyền truy cập file/thư mục ...................................................................................... 57
Thay đổi quyền sở hữu file, thư mục ............................................................................... 58
Thay đổi nhóm sử dụng file/thư mục ............................................................................... 58
Xác định quyền truy cập .................................................................................................. 59
Thay đổi quyền truy cập file/thư mục .............................................................................. 60
Các chú ý đặc biệt trên các quyền thư mục...................................................................... 60
Thiết lập các quyền truy cập file mặc định ...................................................................... 61
Làm việc với các file và các thư mục .................................................................................. 61
Xem các file và các thư mục ............................................................................................ 61
Chuyển đến thư mục ........................................................................................................ 62
Tạo thư mục ..................................................................................................................... 62
Xác định kiểu file ............................................................................................................. 62
Xem thống kê các quyền của file hay thư mục ................................................................ 62
Sao chép file và thư mục .................................................................................................. 62
Dịch chuyển các file và thư mục ...................................................................................... 63
Xóa các file và thư mục ................................................................................................... 63
Định vị file ....................................................................................................................... 63
Xem nội dung của file ...................................................................................................... 63
Tìm kiếm file.................................................................................................................... 64
Thay đổi nhãn ngày giờ.................................................................................................... 64
Liên kết trong Linux ........................................................................................................ 65
Chương 8 Xử lý văn bản .................................................................... 66
Làm việc với ngõ xuất nhập ................................................................................................. 66
Chuyển hướng (Redirection)............................................................................................ 66
Ống dẫn (Pipe) ................................................................................................................. 68
Tiện ích tee ....................................................................................................................... 68
Hiệu chỉnh văn bản với bộ lọc ............................................................................................. 69
Sắp xếp file theo hàng ...................................................................................................... 69
Cắt văn bản....................................................................................................................... 70
Dán văn bản ..................................................................................................................... 70
Chuyển đổi ký tự TAB thành ký tự SPACE .................................................................... 70
Định dạng trang................................................................................................................ 71
Xoá và thay thế ký tự ....................................................................................................... 71
Xem phần đầu file và phần cuối file ................................................................................ 72
Nối nhiều file ................................................................................................................... 72
Chia một file thành nhiều phần ........................................................................................ 72
Hiển thị file dưới các định dạng khác nhau ..................................................................... 73
Hiển thị file theo chiều ngược .......................................................................................... 74
Thêm số dòng vào file ...................................................................................................... 74
Sử dụng grep .................................................................................................................... 75
Chương 9 Cài đặt phần mềm ............................................................. 76
Gói cài đặt ............................................................................................................................ 76
Cài đặt bằng RPM ................................................................................................................ 76
Cài đặt .............................................................................................................................. 76
Gỡ cài đặt ......................................................................................................................... 77
VSIC Education Corporation Trang 2
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Quản lý gói ....................................................................................................................... 77
Cài đặt bằng DPKG .............................................................................................................. 77
Cài đặt ............................................................................................................................... 78
Gỡ cài đặt.......................................................................................................................... 78
Cài đặt từ mã nguồn.............................................................................................................. 78
Giải nén ............................................................................................................................ 78
Cài đặt ............................................................................................................................... 78
Tùy biến configure ........................................................................................................... 79
Cài đặt kiểu khác .............................................................................................................. 79
Gỡ cài đặt.......................................................................................................................... 79
Chương 10 Tiến trình khởi động Linux ............................................. 81
Tiến trình khởi động Linux .................................................................................................. 81
Khởi động hệ thống .......................................................................................................... 81
Giai đoạn 1 ....................................................................................................................... 81
Giai đoạn 2 ....................................................................................................................... 82
Kernel ............................................................................................................................... 82
Tiến trình Init .................................................................................................................... 82
Các trình khởi động trên Linux ............................................................................................ 82
LILO ................................................................................................................................. 82
GRUB ............................................................................................................................... 84
Chương 11 X Window System .......................................................... 88
Giới thiệu hệ thống X Window ............................................................................................ 88
Mô hình khách-chủ và tính năng xuyên dụng mạng ............................................................ 88
Chương trình quản lý cho X ................................................................................................. 89
KDE .................................................................................................................................. 89
GNOME ........................................................................................................................... 89
Một số chương trình quản lý X khác ................................................................................ 90
Cấu hình X Window ............................................................................................................. 90
Chương 12 Quản lý người dùng và nhóm người dùng ...................... 95
Tài khoản người dùng ........................................................................................................... 95
Các lệnh cơ bản quản lý người dùng .................................................................................... 95
File /etc/passwd ................................................................................................................ 95
Tạo người dùng với lệnh useradd ..................................................................................... 96
Tạo người dùng thủ công qua file /etc/passwd ................................................................. 97
Thay đổi thuộc tính người dùng ....................................................................................... 98
Xóa bỏ một người dùng (lệnh userdel) ............................................................................. 99
Các lệnh cơ bản liên quan đến nhóm người dùng ................................................................ 99
Nhóm người dùng và file /etc/group ................................................................................ 99
Tạo nhóm người dùng .................................................................................................... 100
Sửa đổi các thuộc tính của một nhóm người dùng ......................................................... 101
Xóa một nhóm người dùng ............................................................................................. 101
Các lệnh cơ bản khác có liên quan đến người dùng ........................................................... 101
Đăng nhập với tư cách một người dùng khác ................................................................. 101
Xác định người dùng đang đăng nhập ............................................................................ 102
Xác định các tiến trình đang được tiến hành .................................................................. 103
Chương 13 Quản lý hệ thống ........................................................... 105
Tìm hiểu về daemon ........................................................................................................... 105
Nhật ký hệ thống ................................................................................................................ 105
Lập lịch công việc .............................................................................................................. 106
VSIC Education Corporation Trang 3
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Sử dụng tiện ích at ......................................................................................................... 106
Sử dụng crontab ............................................................................................................. 107
Sao lưu ............................................................................................................................... 108
Sử dụng tar ..................................................................................................................... 108
Sử dụng cpio .................................................................................................................. 109
Sử dụng dd ..................................................................................................................... 109
Sử dụng dump ................................................................................................................ 110
Chương 14 In ấn trên Linux ............................................................. 111
BSD Line Printer Daemon (LPD) ...................................................................................... 111
Common UNIX Printing System (CUPS) ......................................................................... 111
Cài đặt máy in với CUPS qua giao diện web ..................................................................... 112
Chương 15 Mạng căn bản ................................................................ 116
Kết nối mạng trong Linux .................................................................................................. 116
Cấu hình mạng trên Linux ................................................................................................. 116
Lệnh ifconfig .................................................................................................................. 116
Lệnh route ...................................................................................................................... 118
Lệnh ping ....................................................................................................................... 119
Lệnh Traceroute ............................................................................................................. 119
Lệnh netstat .................................................................................................................... 120
Chương 16 Các dịch vụ mạng trên Linux ........................................ 121
Dịch vụ DHCP ................................................................................................................... 121
Giới thiệu dịch vụ DHCP ............................................................................................... 121
Cài đặt ............................................................................................................................ 121
Cấu hình DHCP server................................................................................................... 121
Cấu hình DHCP Client ................................................................................................... 123
Dịch vụ DNS ...................................................................................................................... 123
Cài đặt BIND ................................................................................................................. 123
Cấu hình Caching name server ...................................................................................... 123
Authoritative server và zone file .................................................................................... 125
Master, slave DNS server .............................................................................................. 128
Cấu hình DNS client ...................................................................................................... 129
Dịch vụ Samba ................................................................................................................... 130
Tìm hiểu Samba ............................................................................................................. 130
Cài đặt Samba ................................................................................................................ 131
Cấu hình Samba ............................................................................................................. 131
Các phần đặc biệt của file cấu hình Samba .................................................................... 133
Quản lý người dùng trong Samba .................................................................................. 139
Cách sử dụng Samba từ các máy trạm ........................................................................... 140
Hệ thống file mạng NFS .................................................................................................... 142
Cài đặt NFS .................................................................................................................... 142
Cấu hình NFS server ...................................................................................................... 143
Truy cập NFS sử dụng mount ........................................................................................ 144
Dịch vụ truyền file FTP ..................................................................................................... 144
Cài đặt vsftp ................................................................................................................... 144
Cấu hình ......................................................................................................................... 145
Dịch vụ web với Apache .................................................................................................... 147
Cài đặt Apache ............................................................................................................... 147
Cấu hình một web server đơn giản ................................................................................ 147
Cấu hình Virtual Hosts................................................................................................... 148
VSIC Education Corporation Trang 4
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Chứng thực người dùng .................................................................................................. 149
Phụ lục - Hướng dẫn sử dụng vim ................................................... 151
Giới thiệu vim ..................................................................................................................... 151
Khởi động vim .................................................................................................................... 152
Mở chương trình soạn thảo vim ..................................................................................... 152
Tính năng mở nhiều cửa sổ ............................................................................................ 153
Ghi và thoát trong vim .................................................................................................... 154
Di chuyển trỏ soạn thảo trong Vim .................................................................................... 155
Di chuyển trong văn bản................................................................................................. 155
Di chuyển theo các đối tượng văn bản ........................................................................... 155
Cuộn màn hình ............................................................................................................... 156
Các thao tác trong văn bản ................................................................................................. 156
Các lệnh chèn văn bản trong vim ................................................................................... 156
Các lệnh xoá văn bản trong vim ..................................................................................... 156
Các lệnh khôi phục văn bản trong vim ........................................................................... 157
Các lệnh thay thế văn bản trong vim .............................................................................. 157
Sao chép và di chuyển văn bản trong vim ...................................................................... 158
Tìm kiếm và thay thế văn bản trong vim ........................................................................ 159
Đánh dấu trong vim ........................................................................................................ 160
Các phím sử dụng trong chế độ chèn ............................................................................. 160
Một số lệnh trong chế độ ảo ........................................................................................... 161
Các lệnh lặp .................................................................................................................... 161
Các lệnh khác ..................................................................................................................... 162
Cách thực hiện các lệnh bên trong Vim ......................................................................... 162
Các lệnh liên quan đến file ............................................................................................. 162
VSIC Education Corporation Trang 5
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Chương 1 Giới thiệu về Linux
Linux là gì ?
Linux là hệ điều hành. Về mặt nguyên tắc hệ điều hành cũng là một phần mềm, nhưng là
một phần mềm đặc biệt – được dùng để quản lý, điều phối các tài nguyên của hệ thống (bao
gồm cả phần cứng và các phần mềm khác).
Linux còn được gọi là Open Source UNIX (OSU), UNIX-like Kernel, bản sao của hệ điều
hành UNIX.
Linux do Linus Torvalds, một sinh viên tại trường Đại Học ở Helsinki (Phần Lan) phát
triển 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ới các chức
năng tối thiểu được dùng để dạy học.
Hiện nay, Linux là một hệ điều hành với mã nguồn mở (Open Source) và miễn phí (free)
dưới bản quyền của tổ chức GNU (Gnu’s Not Unix).
Khởi đầu, Linux được thiết kế để hoạt động trên nền tảng của kiến trúc i386 Intel với khả
năng đa tác vụ (multitasking). Tuy nhiên ngày nay, Linux đã có các phiên bản trên các họ
chip khác chẳng hạn như chip Alpha.
Linux có nguyên lý hoạt động tương tự hệ điều hành UNIX (UNIX-like). Mặc dù Linux
không phải là UNIX nhưng người ta vẫn xem Linux như là phiên bản UNIX trên PC (PC
version of UNIX OS).
Do là UNIX-like nên Linux có đầy đủ tất cả các đặc tính của UNIX. Ngoài ra nó còn hỗ
trợ thêm một số tính năng mà trên UNIX không có.
Lịch sử của Linux
Xuất xứ, tiến trình tiến hóa và một số đặc trưng của hệ điều hành UNIX
Năm 1965, Viện công nghệ Massachusetts (MIT - Massachusetts Institute of Technology)
và Phòng thí nghiệm Bell của hãng AT&T thực hiện dự án xây dựng một hệ điều hành có tên
gọi là Multics (MULTiplexed Information and Computing Service) với mục tiêu: tạo lập được
một hệ điều hành phủ trên vùng lãnh thổ rộng (hoạt động trên tập các máy tính được kết nối),
đa người dùng, có năng lực cao về tính toán và lưu trữ. Dự án nói trên thành công ở mức độ
hết sức khiêm tốn và người ta đã biết đến một số khiếm khuyết khó khắc phục của Multics.
Năm1969, Ken Thompson, một chuyên viên tại phòng thí nghiệm Bell, người đã tham gia
dự án Multics, cùng Dennics Richie viết lại hệ điều hành đa-bài toán trên máy PDP-7 với tên
là UNICS (UNiplexed Information and Computing Service) từ một câu gọi đùa của một đồng
nghiệp. Trong hệ điều hành UNICS, một số khởi thảo đầu tiên về Hệ thống file đã được Ken
Thompson và Dennis Ritchie thực hiện. Đến năm 1970 hệ điều hành được viết trên assembler
cho máy PDP-11/20 và mang tên là UNIX.
Năm 1973, Riche và Thompson viết lại nhân của hệ điều hành UNIX trên ngôn ngữ C, và
hệ điều hành đã trở nên dễ dàng cài đặt tới các loại máy tính khác nhau; tính chất như thế
được gọi là tính khả chuyển (portable) của UNIX. Trước đó, khoảng năm 1971, hệ điều hành
được thể hiện trên ngôn ngữ B (mà dựa trên ngôn ngữ B, Ritche đã phát triển thành ngôn ngữ
C).
Hãng AT&T phổ biến chương trình nguồn UNIX tới các trường đại học, các công ty
thương mại và chính phủ với giá không đáng kể.
Năm 1982, hệ thống UNIX-3 là bản UNIX thương mại đầu tiên của AT&T.
VSIC Education Corporation Trang 6
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Năm 1983, AT&T giới thiệu Hệ thống UNIX-4 phiên bản thứ nhất trong đó đã có trình
soạn thảo vi, thư viện quản lý màn hình được phát triển từ Đại học Tổng hợp California,
Berkley.
Giai đoạn 1985-1987, UNIX-5 phiên bản 2 và 3 tương ứng được đưa ra vào các năm 1985
và 1987. Trong giai đoạn này, có khoảng 100000 bản UNIX đã được phổ biến trên thế giới,
cài đặt từ máy vi tính đến các hệ thống lớn.
Đầu thập kỷ 1990. UNIX-5 phiên bản 4 được đưa ra như là một chuẩn của UNIX. Đây là
sự kết hợp của các bản sau:
AT&T UNIX-5 phiên bản 3,
Berkley Software Distribution (BSD),
XENIX của MicroSoft
SUN OS
Có thể tìm thấy các nội dung liên quan tới một số phiên bản mới của UNIX tại địa chỉ
website http://problem.rice.edu/.
Các nhóm nhà cung cấp khác nhau về UNIX đang hoạt động trong thời gian hiện nay
được kể đến như sau:
Unix International (viết tắt là UI). UI là một tổ chức gồm các nhà cung cấp
thực hiện việc chuyển nhượng hệ thống UNIX-5 và cung cấp bản AT&T theo
các nhu cầu và thông báo phát hành mới, chẳng hạn như điều chỉnh bản quyền.
Giao diện đồ họa người dùng là Open Look.
Open Software Foundation (OSF). OSF được hỗ trợ bởi IBM, DEC, HP ... theo
hướng phát triển một phiên bản của Unix nhằm tranh đua với hệ thống UNIX-
5 phiên bản 4. Phiên bản này có tên là OSF/1 với giao diện đồ họa người dùng
được gọi là MOTIF.
Free SoftWare Foundation (FSF): một cộng đồng do Richard Stallman khởi
xướng năm 1984 chủ trương phát hành các phần mềm sử dụng tự do, trên cơ
sở một hệ điều hành thuộc loại UNIX.
Bảng sau đây liệt kê một số cài đặt UNIX khá phổ biến (thường thấy có chữ X ở cuối tên
gọi của Hệ điều hành):
Tên hệ Nhà cung cấp Nền phát triển
AIX International Business Machines AT&T System V
A/UX Apple Computer AT&T System V
Dynix Sequent BSD (Berkeley SoftWare Distribution)
HP-UX Hewlett-Packard BSD
Irix Silicon Graphics AT&T System V
Linux Free SoftWare Foundation
NextStep Next BSD
OSF/1 Digital Equipment Corporation BSD
SCO UNIX Santa Cruz Operation AT&T System V
Solaris Sun Microsystems AT&T System V
SunOS Sun Microsystems BSD UNIX
Ultrix Digital Equipment Corporation BSD UNIX
VSIC Education Corporation Trang 7
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Unicos Cray AT&T System V
UnixWare Novell AT&T System V
XENIX MicroSoft AT&T System III-MS
Dưới đây liệt kê một số đặc trưng của hệ điều hành UNIX:
Hệ điều hành được viết trên ngôn ngữ bậc cao; bởi vậy, rất dễ đọc, dễ hiểu, dễ
thay đổi để cài đặt trên loại máy mới (tính khả chuyển),
Có giao diện người dùng đơn giản đủ năng lực cung cấp các dịch vụ mà người
dùng mong muốn (so sánh với các hệ điều hành có từ trước đó thì giao diện
của UNIX là một tiến bộ vượt bậc),
Thỏa mãn nguyên tắc xây dựng các chương trình phức tạp từ những chương
trình đơn giản hơn: trước hết có các môđun cơ bản nhất của nhân sau đó phát
triển để có toàn bộ hệ điều hành,
Sử dụng duy nhất một hệ thống File có cấu trúc cho phép dễ dàng bảo quản và
sử dụng hiệu quả,
Sử dụng phổ biến một dạng đơn giản trình bày nội tại của File như một dòng
các byte cho phép dễ dàng khi viết các chương trình ứng dụng truy nhập, thao
tác với các dữ liệu trong File,
Có kết nối đơn giản với thiết bị ngoại vi: các file thiết bị đã được đặt sẵn trong
Hệ thống File tạo ra một kết nối đơn giản giữa chương trình người dùng với
các thiết bị ngoại vi,
Là hệ điều hành đa người dùng, đa tiến trình, trong đó mỗi người dùng có thể
thực hiện các tiến trình của mình một cách độc lập.
Mọi thao tác vào - ra của hệ điều hành được thực hiện trên hệ thống File: mỗi
thiết bị vào ra tương ứng với một file. Chương trình người dùng làm việc với
file đó mà không cần quan tâm cụ thể tên file đó được đặt cho thiết bị nào
trong hệ thống.
Che khuất cấu trúc máy đối với người dùng, đảm bảo tính độc lập tương đối
của chương trình đối với dữ liệu và phần cứng, tạo điều kiện thuận lợi hơn cho
người lập trình khi viết các chương trình chạy UNIX với các điều kiện phần
cứng hoàn toàn khác biệt nhau.
Sự ra đời Linux
Linus Torvalds (một sinh viên Phần Lan) đưa ra nhân (phiên bản đầu tiên) cho hệ điều
hành Linux vào tháng 8 năm 1991 trên cơ sở cải tiến một phiên bản UNIX có tên Minix do
Giáo sư Andrew S. Tanenbaum xây dựng và phổ biến.
Đây là bức thư mà Linus Torvalds gửi vào nhóm tin comp.os.minix ngày 25 tháng 8 năm
1991 (được coi như ngày sinh nhật của Linux):
From: [email protected] (Linus Benedict Torvalds)
Newsgroups: comp.os.minix
Subject: What would you like to see most in minix?
Summary: small poll for my new operating system
Message-ID:
Date: 25 Aug 91 20:57:08 GMT
VSIC Education Corporation Trang 8
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Organization: University of Helsinki
Hello everybody out there using minix -
I’m doing a (free) operating system (just a hobby, won’t be big and professional like gnu) for
386(486) AT clones. This has been brewing since april, and is starting to get ready. I’d like
any feedback on things people like/dislike in minix, as my OS resembles it somewhat (same
physical layout of the file-system (due to practical reasons) among
other things).
I’ve currently ported bash(1.08) and gcc(1.40), and things seem to work. This implies that I’ll
get something practical within a few months, and I’d like to know what features most people
would want. Any suggestions are welcome, but I won’t promise I’ll implement them :-)
Linus ([email protected])
PS. Yes — it’s free of any minix code, and it has a multi-threaded fs. It is NOT portable (uses
386 task switching etc), and it probably never will support anything other than AT-harddisks,
as that’s all I have :-(.
Phiên bản đầu tiên của Linux (0.01) được công bố trên Internet vào ngày 17/09/1991. Tác
giả Linux Torvalds viết rằng:“As I already mentioned, 0.01 didn’t actually come with any
binaries: it was just source code for people interested in what linux looked like. Note the lack
of announcement for 0.01: I wasn’t too proud of it, so I think I only sent a note to everybody
who had shown interest.”
(“Như tôi đã đề cập trước đây, bản 0.01 không kèm theo bản nhị phân, nó chỉ là mã nguồn
cho những ai đang muốn biết Linux trông như thế nào ?. Chú ý rằng không có bất kỳ thông
báo nào cho phiên bản 0.01: Tôi đã không tự hào về nó lắm, nên tôi nghĩ tôi chỉ gửi thông báo
đến những ai thể hiện sự quan tâm.)
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. 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).
Linus Torvalds không đăng ký bằng sáng chế cũng như không giới hạn việc phân phối hệ
điều hành mới này. Ngay từ đầu Linux đã được phân phối theo theo điều kiện của bản quyền
General Public Lisence (GPL) thường được dùng cho các ứng dụng Open Source và các dự án
của GNU.
Free Software Foundation và GNU
Vào năm, 1984, Mỹ Richard Stallman sáng lập ra tổ chức Phần mềm tự do Free Software
Foundation (FSF có trang chủ tại www.fsf.org). Mục đích của tổ chức này là loại trừ tất cả
những điều cấm đoán, hạn chế phân phối, sao chép, sửa đổi, nghiên cứu các chương trình ứng
dụng. Dự án GNU đã được bắt đầu trong khuôn khổ tổ chức FSF – dự án tạo chương trình
ứng dụng miễn phí. GNU là viết tắt của GNU’s Not UNIX (một cách chơi chữ), ý nói rằng tất
cả những gì thuộc dự án GNU không phải là một phần của UNIX.
Những gì do dự án GNU đều được ghi là tự do (free). Nhưng điều đó không có nghĩ là
chúng không có bản quyền và không có luật pháp bảo vệ. Những chương trình Open Source
VSIC Education Corporation Trang 9
Linux Fundamentals & Lan management Tài liệu dành cho học viên
được phân phối theo điều kiện của bản quyền GPL. Theo định nghĩ của FSF thì từ free (miễn
phí, tự do) có nghĩa là:
0. Tự do chạy chương trình với bất kỳ mục đích nào.
1. Tự do học cách chương trình làm việc và điều chỉnh nó theo yêu cầu. Truy cập
mã nguồn là một điều kiện tiên quyết của điều này.
2. Tự do phân phối chương trình để giúp đở hàng xóm.
3. Tự do phát triển chương trình và phân phối bản phát triển đến công chúng để
toàn thể cộng đồng có thể hưởng lợi từ nó. Truy cập mã nguồn là một điều
kiện tiên quyết của điều này.
Đặc điểm chính của Linux
Linux tương thích với nhiều hệ điều hành như DOS, Microsoft Windows ...:
Cho phép cài đặt Linux cùng với các hệ điều hành khác trên cùng một ổ cứng. Linux
có thể truy nhập đến các file của các hệ điều hành cùng một ổ đĩa. Linux cho phép
chạy mô phỏng các chương trình thuộc các hệ điều hành khác.
Do giữ được chuẩn của UNIX nên sự chuyển đổi giữa Linux và các hệ UNIX khác
là dễ dàng.
Linux là một hệ điều hành UNIX tiêu biểu với các đặc trưng là đa người dùng, đa
chương trình và đa xử lý.
Linux có giao diện đồ hoạ (GUI) thừa hưởng từ hệ thống X Window. Linux hỗ trợ
nhiều giao thức mạng, bắt nguồn và phát triển từ dòng BSD. Thêm vào đó, Linux
còn hỗ trợ tính toán thời gian thực.
Linux khá mạnh và chạy rất nhanh ngay cả khi nhiều quá trình hoặc nhiều cửa sổ.
Linux được cài đặt trên nhiều chủng loại máy tính khác nhau như PC, Minix và việc
cài đặt khá thuận lợi. Tuy nhiên, hiện nay chưa có nhiều lựa chọn Linux trên máy
tính lớn (mainframe).
Linux ngày càng được hỗ trợ bởi các phần mềm ứng dụng bổ sung như soạn thảo,
quản lý mạng, quản trị cơ sở dữ liệu, bảng tính ...
Linux hỗ trợ tốt cho tính toán song song và máy tính cụm (PC-cluster) là một hướng
nghiên cứu triển khai ứng dụng nhiều triển vọng hiện nay.
Là một hệ điều hành với mã nguồn mở, được phát triển qua cộng đồng nguồn mở
(bao gồm cả Free Software Foundation) nên Linux phát triển nhanh. Linux là một
trong một số ít các hệ điều hành được quan tâm nhiều nhất trên thế giới hiện nay.
Linux là một hệ điều hành hỗ trợ đa ngôn ngữ một cách toàn diện nhất. Do Linux
cho phép hỗ trợ các bộ mã chuẩn từ 16 bit trở lên (trong đó có các bộ mã ISO10646,
Unicode) cho nên việc bản địa hóa trên Linux là triệt để nhất trong các hệ điều hành.
Tuy nhiên cũng tồn tại một số khó khăn làm cho Linux chưa thực sự trở thành một hệ điều
hành phổ dụng, dưới đây là một số khó khăn điển hình:
Tuy đã có công cụ hỗ trợ cài đặt, tuy nhiên, việc cài đặt Linux còn tương đối phức tạp
và khó khăn. Khả năng tương thích của Linux với một số loại thiết bị phần cứng còn thấp
do chưa có các trình điều khiển cho nhiều thiết bị,
Phần mềm ứng dụng chạy trên nền Linux tuy đã phong phú song so với một số hệ điều
hành khác, đặc biệt là khi so sánh với MS Windows, thì vẫn còn có khoảng cách.
Với sự hỗ trợ của nhiều công ty tin học hàng đầu thế giới (IBM, SUN, HP, ...) và sự tham gia
phát triển của hàng vạn chuyên gia trên toàn thế giới thuộc cộng đồng Linux, các khó khăn
của Linux chắc chắn sẽ nhanh chóng được khắc phục.
VSIC Education Corporation Trang 10
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Các bản phân phối Linux
Các bản phân phối Linux (Linux Distributions hay còn gọi là Linux distro) là một gói
phần mềm chứa kernel, các tiện ích GNU, ứng dụng và thường có một trình cài đặt. Trước khi
có các bản phân phối Linux người sử dụng thường gặp nhiều khó khăn khi phải xây dựng hệ
thống từ các phần rời rạc.Theo nhu cầu cùng với tính tự do của Linux cùng các ứng dụng cho
Linux, nhiều công ty cũng như các nhà phát triển độc lập đã tập hợp, xây đựng và cho ra đời
các bản phân phối Linux.
Hiện nay, trên thế giới đang tồn tại hàng trăm bản phân phối khác nhau và ngày càng xuất
hiện thêm nhiều bản phân phối mới. Không có một tiêu chí rõ ràng để phân loại các bản phân
phối này. Một số tiêu chí được đưa ra xem xét như:
Cấu trúc hệ thống tập tin
Chương trình cài đặt
Phương tiện dùng để cài đặt cái gói chương trình
Thành phần của các tiện ích và các chương trình ứng dụng có trong bản phân
phối.
Một vài bản phân phối được phát triển dựa theo một bản phân phối khác, và những bản
phân phối này được gọi là clone (bản sao) của bản phân phối gốc. Ví dụ Gentoo là một clone
của Red Hat Enterprise Server nhưng hoàn toàn miễn phí.
Một số bản phân phối phổ biến hiện nay có thể đến:
Fedora (tiền thân là Fedora Core) được xây dựng từ dự án Fedora được tổ chức
Red Hat bảo trợ. Đây là một bản phân phối có tốt độ phát triển rất nhanh.
Fedora cung cấp những tính năng từ cơ bản tới chuyên sâu, phù hợp với mọi
mục đích.
Debian đây là một bản phân phối được đánh giá cao, hoàn toàn là một bản
phân phối tự do. Debian được khuyến cáo dùng cho người dùng Linux có kinh
nghiệm. Trang chủ Debian đặt tại http://www.debian.org/.
Ubuntu là một trong các bản phân phối có tốc độ phát triển nhanh nhất. Ra đời
từ năm 2004 và được phát triển dựa vào Debian nhưng chỉ trong 3 năm Ubuntu
đã vượt các “lão làng” như Fedora và SuSE để trở thành bản phân phối Linux
phổ biến nhất, dễ dùng nhất.
SuSE: đây là một bản phân phối phổ biến vào bậc nhất ở Châu Âu. SuSE có
trình cài đặt dể dùng và tập hợp nhiều công cụ rất tốt giúp bảo trì hệ thống sau
khi cài đặt.
Slackware là một trong những bản phân phối đầu tiên và đã tồn tại trong một
thời gian dài. Ngày nay bản phân phối này vẫn còn khá phổ biến nhưng do
không được đóng gói hoàn chỉnh như các bản phân phối khác nên chỉ thích
hợp cho người dùng có kinh nghiệm.
Ngoài ra cũng cần phải kể đến một số bản phân phối được phát triển bởi cộng
đồng Linux Việt Nam như VietKey Linux, vnLinux-CD , Ha Cao,….
VSIC Education Corporation Trang 11
Linux Fundamentals & Lan management Tài liệu dành cho học viên
Chương 2 Cài đặt Linux
Yêu cầu phần cứng
Một trong những khiếm khuyến lớn nhất của Linux đó là việc hỗ trợ phần cứng còn hạn
chế, đặc biệc đối với các phần cứng mới. Hầu hết các driver trên Linux được tạo bởi người
dùng, và thường là cho các phần cứng phổ biến nhất. Một trong nhiều nguyên nhân là do các
công ty thường không cung cấp các đặc tả về các sản phẩm của họ. Tương lai một khi mà
Linux trở nên phổ biến hơn, các nhà sản xuất thực sự hỗ trợ cho Linux thì người dùng Linux
có thể lựa chọn sử dụng Linux trên một máy tính với cấu hình phần cứng ưa thích.
Tuy nhiên, Linux lại có thể cài đặt trên cả những hệ thống có cấu hình phần cứng rất thấp.
Linux chỉ yêu cầu 8MB bộ nhớ và 200MB dung lượng đĩa cứng khi người dùng muốn cài đặt
một hệ thống chỉ làm việc với shell và một số ứng dụng như vim, emacs,….
Dĩ nhiên, yêu cầu cấu hình phần cứng phụ thuộc vào việc lựa chọn các phần mềm mà
người dùng muốn sử dụng trên hệ thống Linux.
Để đảm bảo Linux hoạt động trơn tru trên hệ thống đang có hoặc sẽ có, người dùng nên
tham khảo thêm thông tin yêu cầu về cấu hình phần cứng của phiên bản Linux sẽ dùng và
tham khảo thêm thông tin tại địa chỉ http://www.linuxdocs.org/HOWTOs/Hardware-
HOWTO/index.html
Cài đặt Fedora 7
Fedora cho phép lựa chọn nhiều phương án cài đặt như cài đặt từ đĩa mềm, từ đĩa cứng, từ
đĩa CD ROM, DVD ROM hoặc qua mạng. Giáo trình này sẽ hướng dẫn cách cài đặt Fedora 7
trực tiếp từ ổ đĩa DVD ROM. Chú ý, từ phiên bản 7, Fedora phát hành dĩa cài đặt dưới dạng
ảnh đĩa DVD. Phương pháp này yêu cầu máy cài đặt phải có khả năng khởi động từ ổ đĩa
DVD-ROM (được hỗ trợ hầu hết trong các máy tính hiện nay).
1. Khởi động máy tính, bỏ đĩa DVD Fedora 7 vào ở DVD ROM.
2. Chọn Install or upgrade an existing system để khởi động chương trình cài đặt.
VSIC Education Corporation Trang 12
Linux Fundamentals & Lan management Tài liệu dành cho học viên
3. Tại bước này, trình cài đặt cho phép thực hiện kiểm tra đĩa cài đặt. Nếu muốn kiểm tra
đĩa, chọn OK, nếu đã đảm bảo đĩa cài đặt không có lỗi thì nhấn Skip để tiếp tục.
4. Tại màn hình Welcome, nhấn Next.
5. Lựa chọn ngôn ngữ sử dụng, nhấn Next.
VSIC Education Corporation Trang 13
Linux Fundamentals & Lan management Tài liệu dành cho học viên
6. Lựa chọn kiểu bàn phím đang sử dụng, nhấn Next. Nếu trình cài đặt phát hiện có đĩa
cứng chưa được khởi động sẽ đưa ra cảnh báo, nếu đồng ý cho phép trình cài đặt khởi động
đĩa cứng thì nhấn Yes. Chú ý, sau khi khởi động thì tất cả dữ liệu trên đĩa nếu có sẽ mất.
7. Lựa chọn kiểu phân hoạch đĩa cứng. Với thiết lập mặc định Remove Linux partition
on select drives and create default layout, trình cài đặt sẽ xoá bỏ các phân hoạch đã có và
tạo phân hoạch đĩa theo cấu hình mặc định. Lựa chọn này có thể gây mất mát dữ liệu nếu hệ
thống cài đặt là hệ thống multiboot. Để có thể tuỳ ý điều chỉnh việc phân hoạch đĩa, chọn
Create custom layout rồi nhấn Next.
VSIC Education Corporation Trang 14
Linux Fundamentals & Lan management Tài liệu dành cho học viên
8. Thực hiện phân hoạch đĩa cứng. Việc phân hoạch đĩa cứng tuỳ thuộc theo nhu cầu sử
dụng Linux cũng như phương pháp quản trị hệ thống. Cơ bản thì Linux cần có một phân vùng
chứa dữ liệu được mount tại mount point / (root). Nhấn New để tạo phân vùng mới và xác
định thông số phân vùng mới như sau:
Mount Point: /
File system type: ext3
Size (MB): 9000
Additional Size Options: Fixed size.
Chọn Force to be a primary partition
VSIC Education Corporation Trang 15
Linux Fundamentals & Lan management Tài liệu dành cho học viên
9. Linux cũng yêu cầu sử dụng một phần đĩa cứng làm bộ nhớ ảo như Windows. Tuy
nhiên phần bộ nhớ ảo này được Linux dành riêng cho một phân vùng gọi là swap. Kích cỡ
phân vùng này tuy thuộc vào lượng bộ nhớ RAM sẵn có. Thường thì kích cỡ swap lớn gấp đôi
lượng RAM nếu lượng RAM thấp. Chọn chuột vào vùng trống và nhấn New để tạo phân vùng
swap theo thông số sau:
Mount Point:
File system type: swap
Size (MB): phần còn lại của đĩa cứng.
Additional Size Options: Fixed size.
Không chọn Force to be a primary partition
10. Nếu dung lượng RAM ít, trình cài đặt sẽ hiện thông báo về việc kích hoạt sử dụng
phân vùng swap.
VSIC Education Corporation Trang 16
Linux Fundamentals & Lan management Tài liệu dành cho học viên
11. Xác định cài đặt GRUB. Chọn Configure advanced boot loader options để thay đổi
nếu cần thiết.
12. Thiết lập cấu hình mạng. Có thể giữa nguyên thiết lập mặc định, nhấn Next.
VSIC Education Corporation Trang 17
Linux Fundamentals & Lan management Tài liệu dành cho học viên
13. Chọn Time zone là Saigon, Asia, nhấn Next.
14. Thiết lập mật khẩu cho tài khoản root, rồi nhấn Next.
VSIC Education Corporation Trang 18
Linux Fundamentals & Lan management Tài liệu dành cho học viên
15. Lựa chọn các chương trình ứng dụng sẽ cài đặt. Nếu muốn thay đổi chọn Customize
now rồi nhấn Next.
16. Lựa chọn bổ sung các gói phần mềm và bỏ bớt các gói phần mềm không cần thiết. Sau
khi lựa chọn xong nhấn Next.
VSIC Education Corporation Trang 19
Linux Fundamentals & Lan management Tài liệu dành cho học viên
17. Trình cài đặt lúc này sẽ kiểm tra tính phụ thuộc của các gói phần mềm được lựa chọn
và hiện thông tin về các gói được yêu cầu. Nhấn Next để tiến hành cài đặt Fedora 7 vào đĩa
cứng.
18. Sau khi cài đặt xong, trình cài đặt sẽ khởi động lại và cho phép cấu hình các thông tin
khởi tạo. Nhấn Forward ở trang Welcome. Nhất Forwardtại trang Lisence Information để
đồng ý về bản quyền.
19. Trên trang Firewall, chọn Disable và nhấn Yes để đồng ý.
VSIC Education Corporation Trang 20