Quản trị hệ thống Linux
Tài liệu tham khảo về quản trị hệ thống Linux, là kiến thức bổ ích đối với các bạn học công nghệ thông tin
Quản trị Hệ thống Linux - Cơ bản
TÀI LIỆU ĐÀO TẠO
QUẢN TRỊ HỆ THỐNG LINUX
Tài liệu này được biên soạn theo tài liệu giảng dạy của Viện Linux
(LPI)
HÀ NỘI 2006
1
Quản trị Hệ thống Linux - Cơ bản
MỤC LỤC
GIỚI THIỆU GIẤY PHÉP CÔNG CỘNG GNU..............................................8
GIỚI THIỆU .......................................................................................................17
Giới thiệu tài liệu ................................................................................................... 17
CÀI ĐẶT .............................................................................................................18
Cấu trúc của đĩa cài................................................................................................ 18
Cài đặt Cục bộ........................................................................................................ 19
Cài đặt qua Mạng ................................................................................................... 20
Phục hồi Hệ thống.................................................................................................. 20
Chiến lược Phân vùng............................................................................................ 21
Khởi động kép với nhiều hệ điều hành .................................................................. 22
Bài tập .................................................................................................................... 22
CẤU HÌNH PHẦN CỨNG ................................................................................23
Bộ nhớ.................................................................................................................... 23
Quản lý Tài nguyên................................................................................................ 23
USB........................................................................................................................ 25
SCSI ....................................................................................................................... 25
Network Card......................................................................................................... 26
Modem ................................................................................................................... 27
Máy in .................................................................................................................... 28
Bài tập .................................................................................................................... 28
QUẢN LÝ THIẾT BỊ .........................................................................................29
Đĩa và Phân vùng ................................................................................................... 29
Công cụ Phân vùng đĩa .......................................................................................... 30
Bootloader.............................................................................................................. 31
2
Quản trị Hệ thống Linux - Cơ bản
Những thiết bị đã quản lý....................................................................................... 33
Quotas .................................................................................................................... 34
Bài tập .................................................................................................................... 35
HỆ THỐNG FILE TRONG LINUX.................................................................36
Cấu trúc của hệ thống file ...................................................................................... 36
Hệ thống file chuẩn ext2 ........................................................................................ 38
Kiểm soát dung lượng đĩa...................................................................................... 40
Quyền truy xuất File, Thư mục.............................................................................. 41
Bài tập .................................................................................................................... 44
CHẾ ĐỘ DÒNG LỆNH .....................................................................................46
Tương tác với SHELL ........................................................................................... 46
Biến môi trường của Shell ..................................................................................... 48
Chuyển hướng kết xuất .......................................................................................... 50
Dấu ngoặc và Các ký tự Đa nghĩa (Metacharacter)............................................... 53
Lịch sử dòng lệnh................................................................................................... 55
Bài tập .................................................................................................................... 56
QUẢN LÝ FILE .................................................................................................59
Di chuyển quanh hệ thống file............................................................................... 59
Tìm kiếm file và thư mục....................................................................................... 59
Làm việc với thư mục ............................................................................................ 62
Sử dụng cp và mv .................................................................................................. 62
Hard links và symbol links .................................................................................... 64
Touching và dd-ing ................................................................................................ 65
Bài tập .................................................................................................................... 66
QUẢN LÝ TIẾN TRÌNH ...................................................................................68
Xem các tiến trình đang chạy ................................................................................ 68
3
Quản trị Hệ thống Linux - Cơ bản
Thay đổi tiến trình.................................................................................................. 70
Tiến trình và Shell.................................................................................................. 72
Bài tập .................................................................................................................... 74
XỬ LÝ VĂN BẢN ..............................................................................................76
cat the Swiss Army Knife ...................................................................................... 76
Các công cụ đơn giản............................................................................................. 77
Xử lý văn bản......................................................................................................... 79
Bài tập .................................................................................................................... 81
CÀI ĐẶT PHẦN MỀM......................................................................................84
Giới thiệu ............................................................................................................... 84
Thư viện tĩnh và thư viện chia xẻ .......................................................................... 85
Cài đặt nguồn ......................................................................................................... 88
Quản lý gói Redhat ( Redhat Package Manager RPM) ......................................... 89
Công cụ Alien ........................................................................................................ 93
Bài tập .................................................................................................................... 94
THAO TÁC VỚI VĂN BẢN NÂNG CAO ......................................................95
Các biểu thức chính qui ......................................................................................... 95
Họ grep................................................................................................................... 96
Làm việc với grep .................................................................................................. 96
egrep và fgrrep ....................................................................................................... 97
Bộ soạn thảo Stream – sed ..................................................................................... 97
Bài tập .................................................................................................................... 99
SỬ DỤNG TRÌNH SOẠN THẢO VI .............................................................101
Các chế độ Vi....................................................................................................... 101
Các mục văn bản.................................................................................................. 101
Chèn văn bản........................................................................................................ 102
4
Quản trị Hệ thống Linux - Cơ bản
Xoá văn bản ......................................................................................................... 103
Copy / Paste ......................................................................................................... 103
Tìm kiếm.............................................................................................................. 104
Làm lại (Undo)..................................................................................................... 105
Ghi văn bản .......................................................................................................... 105
Bài tập .................................................................................................................. 106
NHÂN LINUX...................................................................................................107
Khái niệm nhân .................................................................................................... 107
Nhân Modular ...................................................................................................... 108
Biên dịch lại nhân ................................................................................................ 109
Thực hành ............................................................................................................ 116
KHỞI ĐỘNG LINUX ......................................................................................117
Tổng quan ............................................................................................................ 117
Tìm hiểu các mức thực thi (Runlevels)................................................................ 117
inittab ................................................................................................................... 119
GRUB - GRand Unified Bootloader.................................................................... 121
Từ khởi động đến bash......................................................................................... 123
Thực hành ............................................................................................................ 124
QUẢN LÝ NGƯỜI DÙNG VÀ NHÓM .........................................................125
Tạo người dùng mới............................................................................................. 125
Làm việc với nhóm .............................................................................................. 126
File cấu hình......................................................................................................... 128
Các tham số lựa chọn của câu lệnh..................................................................... 131
Sửa thiết lập mặc định và tài khoản ..................................................................... 131
Thực hành ............................................................................................................ 134
CẤU HÌNH MẠNG ..........................................................................................136
5
Quản trị Hệ thống Linux - Cơ bản
The Network Interface ......................................................................................... 136
Thông tin máy chủ (Host Information)................................................................ 137
Khởi động (Start) và dừng (Stop) mạng .............................................................. 138
Định tuyến............................................................................................................ 140
Các công cụ mạng................................................................................................ 143
Thực hành ............................................................................................................ 147
MẠNG TCP/IP .................................................................................................149
Số nhị phân và Dotted Quad ................................................................................ 149
Địa chỉ Broadcast, địa chỉ mạng và netmask ....................................................... 149
Lớp mạng ............................................................................................................. 152
Subnets ................................................................................................................. 153
Họ giao thức TCP/IP............................................................................................ 155
Các dịch vụ và các cổng trong TCP/IP ................................................................ 157
Thực hành ............................................................................................................ 159
CÁC DỊCH VỤ MẠNG....................................................................................160
Tiến trình nền inetd (cũ) ...................................................................................... 160
Tiến trình nền xinetd............................................................................................ 161
TCP wrappers....................................................................................................... 162
Thiết lập NFS....................................................................................................... 163
SMB và NMB ...................................................................................................... 164
Các dịch vụ DNS ................................................................................................. 166
Máy chủ Apaches................................................................................................. 172
Thực hành ............................................................................................................ 174
BASH SCRIPTING ..........................................................................................177
Môi trường bash................................................................................................... 177
Các yếu tố Scripting............................................................................................. 179
Tính toán logic ..................................................................................................... 181
6
Quản trị Hệ thống Linux - Cơ bản
Vòng lặp............................................................................................................... 182
Nhập dữ liệu từ dòng lệnh ................................................................................... 184
Làm việc với số.................................................................................................... 185
Thực hành ............................................................................................................ 185
BẢO MẬT .........................................................................................................187
Bảo mật địa phương ............................................................................................. 187
An ninh mạng....................................................................................................... 190
Shell an toàn......................................................................................................... 194
Cấu hình thời gian................................................................................................ 196
Bảo mật nhân ....................................................................................................... 198
QUẢN TRỊ HỆ THỐNG LINUX....................................................................201
Tổng quan ............................................................................................................ 201
Logfiles và các file cấu hình ................................................................................ 201
Các tiện ích nhật ký.............................................................................................. 203
Tự động hóa công việc (Automatic Tasks).......................................................... 205
Sao lưu và nén...................................................................................................... 207
Tài liệu ................................................................................................................. 209
Thực hành ............................................................................................................ 212
IN ẤN .................................................................................................................214
Bộ lọc (Filters) và gs............................................................................................ 214
Máy in và hàng đợi in .......................................................................................... 214
Các công cụ in ấn................................................................................................. 215
Các file cấu hình .................................................................................................. 217
Thực hành ............................................................................................................ 220
7
Quản trị Hệ thống Linux - Cơ bản
GIỚI THIỆU GIẤY PHÉP CÔNG CỘNG GNU
BẢN DỊCH TIẾNG VIỆT CỦA GIẤY PHÉP CÔNG CỘNG GNU
Đây là bản dịch tiếng Việt không chính thức của Giấy phép Công cộng GNU.
Bản dịch này không phải do Tổ chức Phần mềm Tự do ấn hành, và nó không quy
định về mặt pháp lý các điều khoản cho các phần mềm sử dụng giấy phép GNU
GPL -- chỉ có bản tiếng Anh gốc của GNU GPL mới có tính pháp lý. Tuy nhiên,
chúng tôi hy vọng rằng bản dịch này sẽ giúp cho những người nói tiếng Việt hiểu
rõ hơn về GNU GPL.
GIẤY PHÉP CÔNG CỘNG GNU (GPL)
Giấy phép công cộng GNU
Phiên bản 2, tháng 6/1991
Copyright (C) 1989, 1991 Free Software Foundation, Inc.
59 Temple Place - Suite 330, Boston, MA 02111-1307, USA
Mọi người đều được phép sao chép và lưu hành bản sao nguyên bản nhưng
không được phép thay đổi nội dung của giấy phép này.
Lời nói đầu
Giấy phép sử dụng của hầu hết các phần mềm đều được đưa ra nhằm hạn chế bạn
tự do chia sẻ và thay đổi nó. Ngược lại, Giấy phép Công cộng của GNU có mục
đích đảm bảo cho bạn có thể tự do chia sẻ và thay đổi phần mềm tự do - tức là
đảm bảo rằng phần mềm đó là tự do đối với mọi người sử dụng. Giấy phép Công
cộng này áp dụng cho hầu hết các phần mềm của Tổ chức Phần mềm Tự do và
cho tất cả các chương trình khác mà tác giả cho phép sử dụng. (Đối với một số
phần mềm khác của Tổ chức Phần Mềm Tự do, áp dụng Giấy phép Công cộng
Hạn chế của GNU thay cho giấy phép công cộng). Bạn cũng có thể áp dụng nó
cho các chương trình của mình.
Khi nói đến phần mềm tự do, chúng ta nói đến sự tự do sử dụng chứ không quan
tâm về giá cả. Giấy phép Công cộng của chúng tôi được thiết kế để đảm bảo rằng
bạn hoàn toàn tự do cung cấp các bản sao của phần mềm tự do (cũng như kinh
doanh dịch vụ này nếu bạn muốn), rằng bạn có thể nhận được mã nguồn nếu bạn
có yêu cầu, rằng bạn có thể thay đổi phần mềm hoặc sử dụng các thành phần của
8
Quản trị Hệ thống Linux - Cơ bản
phần mềm đó cho những chương trình tự do mới; và rằng bạn biết chắc là bạn có
thể làm được những điều này.
Để bảo vệ bản quyền của bạn, chúng tôi cần đưa ra những hạn chế để ngăn chặn
những ai chối bỏ quyền của bạn, hoặc yêu cầu bạn chối bỏ quyền của mình.
Những hạn chế này cũng có nghĩa là những trách nhiệm nhất định của bạn khi
cung cấp các bản sao phần mềm hoặc khi chỉnh sửa phần mềm đó.
Ví dụ, nếu bạn cung cấp các bản sao của một chương trình, dù miễn phí hay
không, bạn phải cho người nhận tất cả các quyền mà bạn có. Bạn cũng phải đảm
bảo rằng họ cũng nhận được hoặc tiếp cận được mã nguồn. Và bạn phải thông
báo những điều khoản này cho họ để họ biết rõ về quyền của mình.
Chúng tôi bảo vệ quyền của bạn với hai bước: (1) bảo vệ bản quyền phần mềm,
và (2) cung cấp giấy phép này để bạn có thể sao chép, lưu hành và/hoặc chỉnh
sửa phần mềm một cách hợp pháp.
Ngoài ra, để bảo vệ các tác giả cũng như để bảo vệ chính mình, chúng tôi muốn
chắc chắn rằng tất cả mọi người đều hiểu rõ rằng không hề có bảo hành đối với
phần mềm tự do này. Nếu phần mềm được chỉnh sửa thay đổi bởi một người
khác và sau đó lưu hành, thì chúng tôi muốn những người sử dụng biết rằng
phiên bản họ đang có không phải là bản gốc, do đó tất cả những trục trặc do
những người khác gây ra hoàn toàn không ảnh hưởng tới uy tín của tác giả ban
đầu.
Cuối cùng, bất kỳ một chương trình tự do nào cũng đều thường xuyên có nguy cơ
bị đe doạ về giấy phép bản quyền. Chúng tôi muốn tránh nguy cơ khi những
người cung cấp lại một chương trình tự do có thể có được giấy phép bản quyền
cho bản thân họ, từ đó trở thành độc quyền đối với chương trình đó. Để ngăn
ngừa trường hợp này, chúng tôi đã nêu rõ rằng mỗi giấy phép bản quyền hoặc
phải được cấp cho tất cả mọi người sử dụng một cách tự do hoặc hoàn toàn
không cấp phép.
Dưới đây là những điều khoản và điều kiện rõ ràng đối với việc sao chép, lưu
hành và chỉnh sửa.
Những điều khoản và điều kiện đối với việc sao chép, lưu hành và chỉnh sửa
0. Giấy phép này áp dụng cho bất kỳ một chương trình hay sản phẩm nào mà
người giữ bản quyền công bố rằng nó có thể được cung cấp trong khuôn khổ
những điều khoản của Giấy phép Công cộng này. Từ “Chương trình” dưới đây có
9
Quản trị Hệ thống Linux - Cơ bản
nghĩa là tất cả các chương trình hay sản phẩm như vậy, và “sản phẩm dựa trên
Chương trình” có nghĩa là Chương trình hoặc bất kỳ một sản phẩm nào bắt
nguồn từ chương trình đó tuân theo luật bản quyền, nghĩa là một sản phẩm dựa
trên Chương trình hoặc một phần của nó, đúng nguyên bản hoặc có một số chỉnh
sửa và/hoặc được dịch ra một ngôn ngữ khác. (Dưới đây, việc dịch cũng được
hiểu trong khái niệm “chỉnh sửa”). Mỗi người được cấp phép được gọi là “bạn”.
Trong Giấy phép này không đề cập tới các hoạt động khác ngoài việc sao chép,
lưu hành và chỉnh sửa; chúng nằm ngoài phạm vi của giấy phép này. Hành động
chạy chương trình không bị hạn chế, và những kết quả từ việc chạy chương trình
chỉ được đề cập tới nếu nội dung của nó tạo thành một sản phẩm dựa trên chương
trình (độc lập với việc chạy chương trình). Điều này đúng hay không là phụ
thuộc vào Chương trình.
1. Bạn có thể sao chép và lưu hành những phiên bản nguyên bản của mã nguồn
Chương trình đúng như khi bạn nhận được, qua bất kỳ phương tiện phân phối
nào, với điều kiện trên mỗi bản sao bạn đều kèm theo một ghi chú bản quyền rõ
ràng và từ chối bảo hành; giữ nguyên tất cả các ghi chú về Giấy phép và về việc
không có bất kỳ một sự bảo hành nào; và cùng với Chương trình bạn cung cấp
cho người sử dụng một bản sao của Giấy phép này.
Bạn có thể tính phí cho việc chuyển giao bản sao, và tuỳ theo quyết định của
mình bạn có thể cung cấp bảo hành để đổi lại với chi phí mà bạn đã tính.
2. Bạn có thể chỉnh sửa bản sao của bạn hoặc các bản sao của Chương trình hoặc
của bất kỳ phần nào của nó, từ đó hình thành một sản phẩm dựa trên Chương
trình, và sao chép cũng như lưu hành sản phẩm đó hoặc những chỉnh sửa đó theo
điều khoản trong Mục 1 ở trên, với điều kiện bạn đáp ứng được những điều kiện
dưới đây:
a) Bạn phải có ghi chú rõ ràng trong những tập tin đã chỉnh sửa là bạn đã
chỉnh sửa nó, và ngày tháng của bất kỳ một thay đổi nào.
b) Bạn phải cấp phép miễn phí cho tất cả các bên thứ ba đối với các sản
phẩm bạn cung cấp hoặc phát hành, bao gồm Chương trình nguyên bản,
từng phần của nó hay các sản phẩm dựa trên Chương trình hay dựa trên
từng phần của Chương trình, theo những điều khoản của Giấy phép này.
c) Nếu chương trình đã chỉnh sửa thường đọc lệnh tương tác trong khi
chạy, bạn phải thực hiện sao cho khi bắt đầu chạy để sử dụng tương tác
theo cách thông thường nhất phải có một thông báo bao gồm bản quyền và
10
Quản trị Hệ thống Linux - Cơ bản
thông báo về việc không có bảo hành (hoặc thông báo bạn là người cung
cấp bảo hành), và rằng người sử dụng có thể cung cấp lại Chương trình
theo những điều kiện này, và thông báo để người sử dụng có thể xem bản
sao của Giấy phép này. (Ngoại lệ: nếu bản thân Chương trình là tương tác
nhưng không có một thông báo nào như trên, thì sản phẩm của bạn dựa
trên Chương trình đó cũng không bắt buộc phải có thông báo như vậy).
Những yêu cầu trên áp dụng cho toàn bộ các sản phẩm chỉnh sửa. Nếu có những
phần của sản phẩm rõ ràng không bắt nguồn từ Chương trình, và có thể được
xem là độc lập và riêng biệt, thì Giấy phép này và các điều khoản của nó sẽ
không áp dụng cho những phần đó khi bạn cung cấp chúng như những sản phẩm
riêng biệt. Nhưng khi bạn cung cấp những phần đó như những phần nhỏ trong cả
một sản phẩm dựa trên Chương trình, thì việc cung cấp này phải tuân theo những
điều khoản của Giấy phép này, cho phép những người được cấp phép có quyền
đối với toàn bộ sản phẩm, cũng như đối với từng phần trong đó, bất kể ai đã viết
nó.
Như vậy, điều khoản này không nhằm mục đích xác nhận quyền hoặc tranh giành
quyền của bạn đối với những sản phẩm hoàn toàn do bạn viết; mà mục đích của
nó là nhằm thi hành quyền kiểm soát đối với việc cung cấp những sản phẩm bắt
nguồn hoặc tổng hợp dựa trên Chương trình.
Ngoài ra, việc kết hợp thuần tuý Chương trình (hoặc một sản phẩm dựa trên
Chương trình) với một sản phẩm không dựa trên Chương trình với mục đích lưu
trữ hoặc quảng bá không đưa sản phẩm đó vào trong phạm vi áp dụng của Giấy
phép này.
3. Bạn có thể sao chép và cung cấp Chương trình (hoặc một sản phẩm dựa trên
Chương trình, nêu trong Mục 2) dưới hình thức mã đã biên dịch hoặc dạng có thể
thực thi được trong khuôn khổ các điều khoản nêu trong Mục 1 và 2 ở trên, nếu
như bạn:
a) Kèm theo đó một bản mã nguồn dạng đầy đủ có thể biên dịch được theo
các điều khoản trong Mục 1 và 2 nêu trên trong một môi trường trao đổi
phần mềm thông thường; hoặc,
b) Kèm theo đó một đề nghị có hạn trong ít nhất 3 năm, theo đó cung cấp
cho bất kỳ một bên thứ ba nào một bản sao đầy đủ của mã nguồn tương
ứng, và phải được cung cấp với giá chi phí không cao hơn giá chi phí vật
11
Quản trị Hệ thống Linux - Cơ bản
lý của việc cung cấp theo các điều khoản trong Mục 1 và 2 nêu trên trong
một môi trường trao đổi phần mềm thông thường; hoặc
c) Kèm theo đó thông tin bạn đã nhận được để đề nghị cung cấp mã nguồn
tương ứng. (Phương án này chỉ được phép đối với việc cung cấp phi
thương mại và chỉ với điều kiện nếu bạn nhận được Chương trình dưới
hình thức mã đã biên dịch hoặc dạng có thể thực thi được cùng với lời đề
nghị như vậy, theo phần b trong điều khoản nêu trên).
Mã nguồn của một sản phẩm là một dạng ưu tiên của sản phẩm dành cho việc
chỉnh sửa nó. Với một sản phẩm có thể thi hành, mã nguồn hoàn chỉnh có nghĩa
là tất cả các mã nguồn cho các môđun trong sản phẩm đó, cộng với tất cả các tệp
tin định nghĩa giao diện đi kèm với nó, cộng với các hướng dẫn dùng để kiểm
soát việc biên dịch và cài đặt các tệp thi hành. Tuy nhiên, một ngoại lệ đặc biệt là
mã nguồn không cần chứa bất kỳ một thứ gì mà bình thường được cung cấp (từ
nguồn khác hoặc hình thức nhị phân) cùng với những thành phần chính (chương
trình biên dịch, nhân, và những phần tương tự) của hệ điều hành mà các chương
trình chạy trong đó, trừ khi bản thân thành phần đó lại đi kèm với một tệp thi
hành.
Nếu việc cung cấp lưu hành mã đã biên dịch hoặc tập tin thi hành được thực hiện
qua việc cho phép tiếp cận và sao chép từ một địa điểm được chỉ định, thì việc
cho phép tiếp cận tương đương tới việc sao chép mã nguồn từ cùng địa điểm
cũng được tính như việc cung cấp mã nguồn, mặc dù thậm chí các bên thứ ba
không bị buộc phải sao chép mã nguồn cùng với mã đã biên dịch.
4. Bạn không được phép sao chép, chỉnh sửa, cấp phép hoặc cung cấp Chương
trình trừ phi phải tuân thủ một cách chính xác các điều khoản trong Giấy phép.
Bất kỳ ý định sao chép, chỉnh sửa, cấp phép hoặc cung cấp Chương trình theo
cách khác đều làm mất hiệu lực và tự động huỷ bỏ quyền của bạn trong khuôn
khổ Giấy phép này. Tuy nhiên, các bên đã nhận được bản sao hoặc quyền từ bạn
với Giấy phép này sẽ không bị huỷ bỏ giấy phép nếu các bên đó vẫn tuân thủ đầy
đủ các điều khoản của giấy phép.
5. Bạn không bắt buộc phải chấp nhận Giấy phép này khi bạn chưa ký vào đó.
Tuy nhiên, không có gì khác đảm bảo cho bạn được phép chỉnh sửa hoặc cung
cấp Chương trình hoặc các sản phẩm bắt nguồn từ Chương trình. Những hành
động này bị luật pháp nghiêm cấm nếu bạn không chấp nhận Giấy phép này. Do
vậy, bằng việc chỉnh sửa hoặc cung cấp Chương trình (hoặc bất kỳ một sản phẩm
12
Quản trị Hệ thống Linux - Cơ bản
nào dựa trên Chương trình), bạn đã thể hiện sự chấp thuận đối với Giấy phép
này, cùng với tất cả các điều khoản và điều kiện đối với việc sao chép, cung cấp
hoặc chỉnh sửa Chương trình hoặc các sản phẩm dựa trên nó.
6. Mỗi khi bạn cung cấp lại Chương trình (hoặc bất kỳ một sản phẩm nào dựa
trên Chương trình), người nhận sẽ tự động nhận được giấy phép từ người cấp
phép đầu tiên cho phép sao chép, cung cấp và chỉnh sửa Chương trình theo các
điều khoản và điều kiện này. Bạn không thể áp đặt bất cứ hạn chế nào khác đối
với việc thực hiện quyền của người nhận đã được cấp phép từ thời điểm đó. Bạn
cũng không phải chịu trách nhiệm bắt buộc các bên thứ ba tuân thủ theo Giấy
phép này.
7. Nếu như, theo quyết định của toà án hoặc với những bằng chứng về việc vi
phạm bản quyền hoặc vì bất kỳ lý do nào khác (không giới hạn trong các vấn đề
về bản quyền), mà bạn phải tuân theo các điều kiện (nêu ra trong lệnh của toà án,
biên bản thoả thuận hoặc ở nơi khác) trái với các điều kiện của Giấy phép này,
thì chúng cũng không thể miễn cho bạn khỏi những điều kiện của Giấy phép này.
Nếu bạn không thể đồng thời thực hiện các nghĩa vụ của mình trong khuôn khổ
Giấy phép này và các nghĩa vụ thích đáng khác, thì hậu quả là bạn hoàn toàn
không được cung cấp Chương trình. Ví dụ, nếu trong giấy phép bản quyền không
cho phép những người nhận được bản sao trực tiếp hoặc gián tiếp qua bạn có thể
cung cấp lại Chương trình thì trong trường hợp này cách duy nhất bạn có thể thoả
mãn cả hai điều kiện là hoàn toàn không cung cấp Chương trình.
Nếu bất kỳ một phần nào trong điều khoản này không có hiệu lực hoặc không thể
thi hành trong một hoàn cảnh cụ thể, thì sẽ cân đối áp dụng các điều khoản, và
toàn bộ điều khoản sẽ được áp dụng trong những hoàn cảnh khác.
Mục đích của điều khoản này không nhằm buộc bạn phải vi phạm bất kỳ một bản
quyền nào hoặc các quyền sở hữu khác hoặc tranh luận về giá trị hiệu lực của bất
kỳ quyền hạn nào như vậy; mục đích duy nhất của điều khoản này là nhằm bảo
vệ sự toàn vẹn của hệ thống cung cấp phần mềm tự do đang được thực hiện với
giấy phép công cộng. Nhiều người đã đóng góp rất nhiều vào sự đa dạng của các
phần mềm tự do được cung cấp thông qua hệ thống này với sự tin tưởng rằng hệ
thống được sử dụng một cách thống nhất; tác giả/người cung cấp có quyền quyết
định rằng họ có mong muốn cung cấp phần mềm thông qua hệ thống nào khác
hay không, và người được cấp phép không thể có ảnh hưởng tới sự lựa chọn này.
13
Quản trị Hệ thống Linux - Cơ bản
Điều khoản này nhằm làm rõ những hệ quả của các phần còn lại của Giấy
phép này.
8. Nếu việc cung cấp và/hoặc sử dụng Chương trình bị cấm ở một số nước nhất
định bởi quy định về bản quyền, người giữ bản quyền gốc đã đưa Chương trình
vào dưới Giấy phép này có thể bổ sung một điều khoản hạn chế việc cung cấp ở
những nước đó, nghĩa là việc cung cấp chỉ được phép ở các nước không bị liệt kê
trong danh sách hạn chế. Trong trường hợp này, Giấy phép đưa vào những hạn
chế được ghi trong nội dung của nó.
9. Tổ chức Phần mềm Tự do có thể theo thời gian công bố những phiên bản
chỉnh sửa và/hoặc phiên bản mới của Giấy phép Công cộng. Những phiên bản đó
sẽ đồng nhất với tinh thần của phiên bản hiện này, nhưng có thể khác ở một số
chi tiết nhằm giải quyết những vấn đề hay những lo ngại mới.
Mỗi phiên bản sẽ có một mã số phiên bản riêng. Nếu Chương trình và "bất kỳ
một phiên bản nào sau đó" có áp dụng một phiên bản Giấy phép cụ thể, bạn có
quyền lựa chọn tuân theo những điều khoản và điều kiện của phiên bản giấy phép
đó hoặc của bất kỳ một phiên bản nào sau đó do Tổ chức Phần mềm Tự do công
bố. Nếu Chương trình không nêu cụ thể mã số phiên bản giấy phép, bạn có thể
lựa chọn bất kỳ một phiên bản nào đã từng được công bố bởi Tổ chức Phần mềm
Tự do.
10. Nếu bạn muốn kết hợp các phần của Chương trình vào các chương trình tự do
khác mà điều kiện cung cấp khác với chương trình này, hãy viết cho tác giả để
được phép. Đối với các phần mềm được cấp bản quyền bởi Tổ chức Phầm mềm
Tự do, hãy đề xuất với tổ chức này; đôi khi chúng tôi cũng có những ngoại lệ.
Quyết định của chúng tôi sẽ dựa trên hai mục tiêu là bảo hộ tình trạng tự do của
tất cả các sản phẩm bắt nguồn từ phần mềm tự do của chúng tôi, và thúc đẩy việc
chia sẻ và tái sử dụng phần mềm nói chung.
KHÔNG BẢO HÀNH
DO CHƯƠNG TRÌNH ĐƯỢC CẤP PHÉP MIỄN PHÍ NÊN KHÔNG CÓ MỘT
CHẾ ĐỘ BẢO HÀNH NÀO TRONG MỨC ĐỘ CHO PHÉP CỦA LUẬT
PHÁP. TRỪ KHI ĐƯỢC CÔNG BỐ KHÁC ĐI BẰNG VĂN BẢN, NHỮNG
NGƯỜI GIỮ BẢN QUYỀN VÀ/HOẶC CÁC BÊN CUNG CẤP CHƯƠNG
TRÌNH NGUYÊN BẢN SẼ KHÔNG BẢO HÀNH DƯỚI BẤT KỲ HÌNH
THỨC NÀO, BAO GỒM NHƯNG KHÔNG GIỚI HẠN TRONG CÁC HÌNH
THỨC BẢO HÀNH ĐỐI VỚI TÍNH THƯƠNG MẠI CŨNG NHƯ TÍNH
14
Quản trị Hệ thống Linux - Cơ bản
THÍCH HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. BẠN LÀ NGƯỜI CHỊU TOÀN
BỘ RỦI RO VỀ CHẤT LƯỢNG CŨNG NHƯ VIỆC VẬN HÀNH CHƯƠNG
TRÌNH. TRONG TRƯỜNG HỢP CHƯƠNG TRÌNH CÓ KHIẾM KHUYẾT,
BẠN PHẢI CHỊU TOÀN BỘ CHI PHÍ CHO NHỮNG DỊCH VỤ SỬA CHỮA
CẦN THIẾT.
TRONG TẤT CẢ CÁC TRƯỜNG HỢP TRỪ KHI CÓ YÊU CẦU CỦA LUẬT
PHÁP HOẶC CÓ THOẢ THUẬN BẰNG VĂN BẢN, NHỮNG NGƯỜI CÓ
BẢN QUYỀN HOẶC BẤT KỲ MỘT BÊN NÀO CHỈNH SỬA VÀ/HOẶC
CUNG CẤP LẠI CHƯƠNG TRÌNH TRONG CÁC ĐIỀU KIỆN NHƯ ĐÃ NÊU
TRÊN ĐỀU KHÔNG CÓ TRÁCH NHIỆM VỚI BẠN VỀ CÁC LỖI HỎNG
HÓC, BAO GỒM CÁC LỖI CHUNG HAY ĐẶC BIỆT, NGẪU NHIÊN HAY
TẤT YẾU NẢY SINH DO VIỆC SỬ DỤNG HOẶC KHÔNG SỬ DỤNG
ĐƯỢC CHƯƠNG TRÌNH (BAO GỒM NHƯNG KHÔNG GIỚI HẠN TRONG
VIỆC MẤT DỮ LIỆU, DỮ LIỆU THIẾU CHÍNH XÁC HOẶC CHƯƠNG
TRÌNH KHÔNG VẬN HÀNH ĐƯỢC VỚI CÁC CHƯƠNG TRÌNH KHÁC),
THẬM CHÍ CẢ KHI NGƯỜI CÓ BẢN QUYỀN VÀ CÁC BÊN KHÁC ĐÃ
ĐƯỢC THÔNG BÁO VỀ KHẢ NĂNG XẢY RA NHỮNG THIỆT HẠI ĐÓ.
KẾT THÚC CÁC ĐIỀU KIỆN VÀ ĐIỀU KHOẢN.
Áp dụng những điều khoản trên như thế nào đối với chương trình của bạn
Nếu bạn xây dựng một chương trình mới, và bạn muốn cung cấp một cách tối đa
cho công chúng sử dụng, thì biện pháp tốt nhất để đạt được điều này là phát triển
chương trình đó thành phần mềm tự do để ai cũng có thể cung cấp lại và thay đổi
theo những điều khoản như trên.
Để làm được việc này, hãy đính kèm những thông báo như sau cùng với chương
trình của mình. An toàn nhất là đính kèm chúng trong phần đầu của tập tin mã
nguồn để thông báo một cách hiệu quả nhất về việc không có bảo hành; và mỗi
tệp tin đều phải có ít nhất một dòng về “bản quyền” và trỏ đến toàn bộ thông báo.
Một dòng đề tên chương trình và nội dung của nó.
Bản quyền (C) năm, tên tác giả.
Chương trình này là phần mềm tự do, bạn có thể cung cấp lại và/hoặc chỉnh sửa
nó theo những điều khoản của Giấy phép Công cộng của GNU do Tổ chức Phần
15
Quản trị Hệ thống Linux - Cơ bản
mềm Tự do công bố; phiên bản 2 của Giấy phép, hoặc bất kỳ một phiên bản sau
đó (tuỳ sự lựa chọn của bạn).
Chương trình này được cung cấp với hy vọng nó sẽ hữu ích, tuy nhiên KHÔNG
CÓ BẤT KỲ MỘT BẢO HÀNH NÀO; thậm chí kể cả bảo hành về KHẢ NĂNG
THƯƠNG MẠI hoặc TÍNH THÍCH HỢP CHO MỘT MỤC ĐÍCH CỤ THỂ. Xin
xem Giấy phép Công cộng của GNU để biết thêm chi tiết.
Bạn phải nhận được một bản sao của Giấy phép Công cộng của GNU kèm theo
chương trình này; nếu bạn chưa nhận được, xin gửi thư về Tổ chức Phần mềm Tự
do, 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
Xin hãy bổ sung thông tin về địa chỉ liên lạc của bạn (thư điện tử và bưu điện).
Nếu chương trình chạy tương tác, hãy đưa một thông báo ngắn khi bắt đầu chạy
chương trình như sau:
Gnomovision phiên bản 69, Copyright (C) năm, tên tác giả.
Gnomovision HOÀN TOÀN KHÔNG CÓ BẢO HÀNH; để xem chi tiết hãy gõ
`show w'. Đây là một phần mềm miễn phí, bạn có thể cung cấp lại với những
điều kiện nhất định, gõ ‘show c’ để xem chi tiết.
Giả thiết lệnh `show w' và `show c' cho xem những phần tương ứng trong Giấy
phép Công cộng. Tất nhiên những lệnh mà bạn dùng có thể khác với ‘show w' và
`show c'; những lệnh này có thể là nhấn chuột hoặc lệnh trong thanh công cụ -
tuỳ theo chương trình của bạn.
Bạn cũng cần phải lấy chữ ký của người phụ trách (nếu bạn là người lập trình)
hoặc của trường học (nếu có) xác nhận từ chối bản quyền đối với chương trình.
Sau đây là ví dụ:
Yoyodyne, Inc., tại đây từ chối tất cả các quyền lợi bản quyền đối với chương
trình `Gnomovision' viết bởi James Hacker.
Chữ ký của Ty Coon, 1 April 1989
Ty Coon, Phó Tổng Giám đốc.
Giấy phép Công cộng này không cho phép đưa chương trình của bạn vào trong
các chương trình độc quyền. Nếu chương trình của bạn là một thư viện thủ tục
phụ, bạn có thể thấy nó hữu ích hơn nếu cho thư viện liên kết với các ứng dụng
độc quyền. Nếu đây là việc bạn muốn làm, hãy sử dụng Giấy phép Công cộng
Hạn chế của GNU thay cho Giấy phép này.
16
Quản trị Hệ thống Linux - Cơ bản
GIỚI THIỆU
Giới thiệu tài liệu
Tài liệu Quản trị hệ thống Linux – Cơ bản là cuốn giáo trình được xây dựng với
mục đích chuyển tải các kiến thức hết sức cơ bản nhưng cần thiết đối với các học
viên, đặc biệt là đối với những người làm công tác giảng dạy.
Tài liệu này được biên dịch chính dựa trên bộ giáo trình của Học viện Linux LPI
(Linux Professional Institute). Đây là bộ giáo trình được biên soạn một cách công
phu, tỉ mỉ và khoa học, dùng cho việc đào tạo và ôn luyện các chứng chỉ LPI của
Học viện Linux.
Do đang trong quá trình xây dựng, trong nội dung tài liệu không tránh khỏi nhiều
thiếu sót. Rất mong được sự đóng góp ý kiến của người đọc để tài liệu ngày càng
được hoàn chỉnh hơn.
Xin chân thành cảm ơn!
17
Quản trị Hệ thống Linux - Cơ bản
CÀI ĐẶT
Cấu trúc của đĩa cài
Hiện tại, có rất nhiều phiên bản phân phối Linux khác nhau. Với mỗi bản, cách
đặt tên của các thư mục trên đĩa cài cũng khác nhau. Thông thường chúng có
dạng như sau:
packages: Thư mục chứa các gói phần mềm đã được biên dịch trước. Tùy vào
từng bản phân phối mà thư mục này có tên khác nhau. Dưới đây là một số ví dụ:
debian: dist
mandrake: Mandrake
redhat: RedHat
suse: suse
fedora: Fedora
images: Dùng để chứa ảnh của Linux. Có nhiều kiểu file ảnh khác nhau. Mỗi file
có một công dụng riêng:
- Khởi động tiến trình cài đặt
- Cung cấp module cho nhân
- Khôi phục lại hệ thống
Một số ảnh có thể được ghi lại vào đĩa mềm hoặc CD, USB nhằm mục đích khởi
động quá trình cài đặt từ nhiều nguồn khác nhau.
18
Quản trị Hệ thống Linux - Cơ bản
Bản thân nhiều file ảnh cũng chứa bên trong nó những file và thư mục con. Có
thể truy cập đến những file và thư mục này thông qua việc ánh xạ file ảnh vào
một thiết bị loop.
mount –o loop /path/to/Image /mnt
dosutils: Thư mục chứa một số công cụ giúp cho việc chuẩn bị cài đặt được
thuận lợi hơn trong môi trường DOS.
Cài đặt Cục bộ
Cài đặt cục bộ là cách thức dễ dàng và phổ thông nhất trong tất cả các phương
thức cài đặt. Hầu hết các bản phân phối Linux đều có dạng boot CD cho phép
khởi động quá trình cài đặt một cách tự động. Với những máy tính không có ổ
CD, có thể thay thể nó bởi đĩa mềm hoặc USB để khởi động quá trình này (khi
đó, thư mục packages thường được đặt trong ổ cứng).
Để tạo ra đĩa mềm hoặc đĩa USB có khả năng khởi động, có thể dùng lệnh dd
trong Linux hoặc rawrite.exe trong DOS/Win.
dd if=/path/to/Image of=/dev/fd0 (hoặc /dev/sdX)
rawrite.exe
Ví dụ: Đối với các bản phân phối của RedHat các file ảnh này có tên là
boot.img. Ngoài ra, có thể còn có một số file ảnh đặc biệt khác được cung cấp
như: bootnet.img hay pcmcia.img.
19
Quản trị Hệ thống Linux - Cơ bản
Cài đặt qua Mạng
Thông thường các gói cài đặt được để tại một server ở xa, người dùng chỉ cần
khởi động quá trình cài đặt, thiết lập các tham số mạng chính xác sau đó, tiến
trình cài đặt sẽ tự động download các gói cần thiết về máy tính để cài (thông qua
các giao thức như FTP, HTTP, NFS).
Để khởi động quá trình cài đặt có thể sử dụng bất kỳ phương thức nào như đã
miêu tả trong phần Cài đặt Cục bộ. Ngoài ra, quá trình này cũng có thể được khởi
động thông qua một Card Mạng có khả năng boot kết hợp với DHCP và TFTP
Server được thiết lập cho mục đích này.
Phục hồi Hệ thống
Trong trường hợp hệ thống bị trục trặc, không thể khởi động chính xác, có thể
phục hồi được một số lỗi thông qua cơ chế khởi động Phục hồi Hệ thống.
Khi khởi động cơ chế này, một phiên bản thu gọn của Linux và một hệ thống file
ảo được nạp vào và chạy ngay trên RAM hệ thống. Hệ thống file thật sẽ được tìm
kiếm và ánh xạ vào một thư mục của hệ thống file ảo này. Người dùng có thể
dùng lệnh chroot để chuyển qua hệ thống file thật và xử lý sự cố. Thông thường
nếu tìm thấy, nó sẽ được ánh xạ vào thư mục /mnt/sysimage của hệ thống ảo.
20