UỶ BAN NHÂN DÂN TỈNH HẢI PHÒNG
TRƯỜNG CĐCN HẢI PHÒNG
GIÁO TRÌNH
Tên mơn học: Hệ điều hành Linux
NGHỀ: CƠNG NGHỆ THƠNG TIN
(ƯDPM)
TRÌNH ĐỘ CAO ĐẲNG
HẢI PHỊNG
TUYÊN BỐ BẢN QUYỀN
Tài liệu này thuộc loại sách giáo trình nên các nguồn thơng tin có thể
được phép dùng nguyên bản hoặc trích dùng cho các mục đích về đào tạo và
tham khảo.
Mọi mục đích khác mang tính lệch lạc hoặc sử dụng với mục đích kinh
doanh thiếu lành mạnh sẽ bị nghiêm cấm.
LỜI GIỚI THIỆU
”Hệ điều hành Linux” là môn học bắt buộc trong các trường nghề. Tuỳ
thuộc vào đối tượng người học và cấp bậc học mà trang bị cho học sinh, sinh
viên những kiến thức cơ bản nhất.
Để thống nhất chương trình và nội dung giảng dạy trong các nhà trường
chúng tôi biên soạn cuốn giáo trình: Hệ điều hành Linux. Giáo trình được biên
soạn phù hợp với các nghề trong các trường đào tạo nghề phục vụ theo yêu cầu
của thực tế xã hội hiện nay.
Tài liệu tham khảo để biên soạn gồm:
[1]. Nguyễn Minh Hồng. Linux – Giáo trình Lý thuyết và Thực hành. Nhà
xuất bản Lao động và Xã hội, 2002.
[2]. Ellen Siever, Aaron Weber, Stephen Figgins, Robert Love, Arnold
Robbins. Linux in a Nutshell. O'Reilly Media, Inc.; 5 edition (July 27, 2005)
[3]. Cameron Newham. Learning the bash Shell. O'Reilly Media, Inc.; 3
edition (March 29, 2005)
Kết hợp với kiến thức mới có liên quan môn học và những vấn đề thực tế
thường gặp trong sản xuất, đời sống để giáo trình có tính thực tế cao, giúp cho
người học dễ hiểu, dễ dàng lĩnh hội được kiến thức mơn học.
Trong q trình biên soạn giáo trình kinh nghiệm cịn hạn chế, chúng tơi
rất mong nhận được ý kiến đóng góp của bạn đọc để lần hiệu đính sau được
hồn chỉnh hơn.
Tổ bộ mơn Kỹ thuật hệ thống và
mạng máy tính
Mục lục
Chương 1: Giới thiệu hệ thống Linux ....................................................................................... 7
1. Lịch sử phát triển................................................................................................................. 7
2. Đặc điểm của Unix, phần mềm nguồn mở .......................................................................... 8
3. Hệ điều hành Linux và các bản phân phối .......................................................................... 9
Chương 2: Thao tác với hệ thống ............................................................................................ 23
1. Tiến trình khởi động Linux ............................................................................................... 23
2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống .......................................................... 25
3. Một số lệnh hệ thống ......................................................................................................... 26
CHƯƠNG 3: HỆ THỐNG TỆP .............................................................................................. 31
1. Tổng quan về hệ thống tệp ................................................................................................ 31
2. Quyền truy nhập thư mục và tệp ....................................................................................... 34
3. Thao tác với thư mục......................................................................................................... 38
CHƯƠNG 4: QUẢN TRỊ TIẾN TRÌNH ................................................................................ 40
1. Khái niệm tiến trình........................................................................................................... 40
2. Các thuộc tính của tiến trình ............................................................................................. 40
3. Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào ra của tiến trình .. 42
CHƯƠNG 5. QUẢN TRỊ TÀI KHOẢN NGƯỜI DÙNG ....................................................... 46
1. Quản lý người dùng ........................................................................................................... 46
2. Quản lý nhóm người dùng................................................................................................. 47
3. Quyền của người dùng ...................................................................................................... 48
CHƯƠNG 6: TRÌNH TIỆN ÍCH ............................................................................................. 51
1. Các trình tiện ích soạn thảo văn bản ................................................................................. 51
2. Các tiên ích hệ thống (tạo đĩa khởi động, setup, fdisk, mc,...). ......................................... 53
Chương 7: Lập trình Shell ........................................................................................................ 60
1. Kịch bản và ngôn ngữ kịch bản ......................................................................................... 60
2. Cơ chế mở rộng lệnh (expansion) ..................................................................................... 61
3. Các cấu trúc lệnh điều khiển (if, for, while,…),................................................................ 65
PHẦN THỰC HÀNH............................................................................................................... 68
THỰC HÀNH: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX ............................................................. 68
THỰC HÀNH: CÁC THAO TÁC VỚI TẬP TIN (Ca 1) ........................................................ 73
THỰC HÀNH: QUẢN LÝ TIẾN TRÌNH ............................................................................... 79
THỰC HÀNH: SỬ DỤNG CÁC TRÌNH TIỆN ÍCH (CA 1) .................................................. 85
THỰC HÀNH: LẬP TRÌNH SHELL (CA 1) .......................................................................... 90
HỆ ĐIỀU HÀNH LINUX
I. Vị trí, tính chất của mơ đun:
- Vị trí: Là mơ đun cơ sở chun ngành. Mơn học cần được bố trí học sau
mơn Tin đại cương.
- Tính chất: Là mơ đun trong chương trình đào tạo nghề Công nghệ thông
tin.
II. Mục tiêu mô đun:
- Về kiến thức:
Trình bày được các khái niệm cơ bản về hệ điều hành Linux;
Trình bày được các điểm khác nhau giữa hệ điều hành Linux và hệ
điều hành Windows;
Trình bày được các ưu nhược điểm khi sử dụng hệ điều hành
Linux.
- Về kỹ năng:
Cài đặt được hệ điều hành Linux;
Cấu hình được các thơng số cơ bản của hệ điều hành Linux;
Thực hiện được các thao tác trên tập tin;
Quản lý được tiến trình và người sử dụng trên hệ điều hành Linux;
Lập trình cơ bản bằng ngôn ngữ shell trên Linux.
- Về năng lực tự chủ và trách nhiệm:
Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an tồn phịng thực hành;
Tích cực vận dụng các kiến thức đã học về hệ điều hành Linux vào thực
tiễn.
III. Nội dung mô đun:
1 Nội dung tổng quát và phân bổ thời gian:
Số T
Nội dung
T
Chương 1: Giới thiệu hệ thống Linux
1. Lịch sử phát triển
2. Đặc điểm của Unix, phần mềm nguồn mở
1
3. Hệ điều hành Linux và các bản phân phối
4.Cài đặt Linux
Thực hành: Cài đặt hệ điều hành Linux
Chương 2: Thao tác với hệ thống
1. Tiến trình khởi động Linux
2
2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống
3. Một số lệnh hệ thống
4. Thực hành: Sử dụng một số lệnh cơ bản
3
4
5
6
Chương 3: Hệ thống tệp
1. Tổng quan về hệ thống tệp
2. Quyền truy nhập thư mục và tệp
3. Thao tác với thư mục
4. Các lệnh làm việc với tệp
5. Sao lưu và nén dữ liệu
Thực hành: Các thao tác với tập tin
Chương 4. Quản trị tiến trình
1. Khái niệm tiến trình
2. Các thuộc tính của tiến trình
3. Chuyển đổi trạng thái của tiến trình, lệnh ps, lệnh kill, đổi hướng vào
ra của tiến trình
Thực hành: Quản lý tiến trình
Chương 5. Quản trị tài khoản người dùng
1. Quản lý người dùng
2. Quản lý nhóm người dùng
3. Quyền của người dùng
Thực hành: Quản trị tài khoản người dùng
Chương 6: Trình tiện ích
1. Các trình tiện ích soạn thảo văn bản
2. Các tiên ích hệ thống (tạo đĩa khởi động, setup, fdisk, mc,...).
3. Các tiên ích mạng (tcpdump, iptraf, lynx,...)
Thực hành: Sử dụng các trình tiện ích
Chương 7: Lập trình Shell
1. Kịch bản và ngôn ngữ kịch bản
2. Cơ chế mở rộng lệnh (expansion)
7
3. Các cấu trúc lệnh điều khiển (if, for, while,…),
4. Câu lệnh test, expr,…
Thực hành lập trình shell
Chương 1: Giới thiệu hệ thống Linux
Mục tiêu:
Kiến thức:
- Trình bày được lịch sử phát triển của hệ điều hành Linux;
- Trình bày được các bản phân phối của hệ điều hành Linux.
Kỹ năng: Cài đặt được hệ điều hành Linux.
Thái độ:
- Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an tồn phịng thực hành;
- Tích cực vận dụng kiến thức đã học vào thực tế.
Nội dung:
1. Lịch sử phát triển
Linux là tên gọi của một hệ điều hành máy tính và cũng là tên hạt nhân của hệ
điều hành. Nó có lẽ là một ví dụ nổi tiếng nhất của phần mềm tự do và của việc
phát triển mã nguồn mở.
Phiên bản Linux đầu tiên do Linus Torvalds viết vào năm 1991, lúc ơng cịn là
một sinh viên của Đại học Helsinki tại Phần Lan. Ông làm việc một cách hăng
say trong vòng 3 năm liên tục và cho ra đời phiên bản Linux 1.0 vào năm 1994.
Bộ phận chủ yếu này được phát triển và tung ra trên thị trường dưới bản
quyền GNU General Public License. Do đó mà bất cứ ai cũng có thể tải và xem
mã nguồn của Linux.
Một cách chính xác, thuật ngữ "Linux" được sử dụng để chỉ Nhân Linux, nhưng
tên này được sử dụng một cách rộng rãi để miêu tả tổng thể một hệ điều
hành tương tự Unix (còn được biết đến dưới tên GNU/Linux) được tạo ra bởi
việc đóng gói nhân Linux cùng với các thư viện và công cụ GNU, cũng như là
các bản phân phối Linux. Thực tế thì đó là tập hợp một số lượng lớn các phần
mềm như máy chủ web, các ngôn ngữ lập trình, các hệ quản trị cơ sở dữ liệu,
các môi trường desktop như GNOME và KDE, và các ứng dụng thích hợp cho
cơng việc văn phịng như OpenOffice, LibreOffice.
Khởi đầu, Linux được phát triển cho dòng vi xử lý 386, hiện tại hệ điều hành
này hỗ trợ một số lượng lớn các kiến trúc vi xử lý, và được sử dụng trong nhiều
ứng dụng khác nhau từ máy tính cá nhân cho tới các siêu máy tính và các thiết bị
nhúng ví dụ như các máy điện thoại di động.
Ban đầu, Linux được phát triển và sử dụng bởi những người say mê. Tuy nhiên,
hiện nay Linux đã có được sự hỗ trợ bởi các công ty lớn như IBM và HewlettPackard, đồng thời nó cũng bắt kịp được các phiên bản Unix độc quyền và thậm
chí là một thách thức đối với sự thống trị của Microsoft Windows trong một số
lĩnh vực. Sở dĩ Linux đạt được những thành cơng một cách nhanh chóng là nhờ
vào các đặc tính nổi bật so với các hệ thống khác: chi phí phần cứng thấp, tốc độ
cao (khi so sánh với các phiên bản Unix độc quyền) và khả năng bảo mật tốt, độ
tin cậy cao (khi so sánh với Windows) cũng như là các đặc điểm về giá thành rẻ,
không bị phụ thuộc vào nhà cung cấp. Một đặc tính nổi trội của nó là được phát
triển bởi một mơ hình phát triển phần mềm nguồn mở hiệu quả.
Tuy nhiên, hiện tại số lượng phần cứng được hỗ trợ bởi Linux vẫn cịn rất khiêm
tốn so với Windows vì các trình điều khiển thiết bị tương thích với Windows
nhiều hơn là Linux. Nhưng trong tương lai số lượng phần cứng được hỗ trợ cho
Linux sẽ tăng lên.
2. Đặc điểm của Unix, phần mềm nguồn mở
Đặc điểm của Unix:
Unix hay UNIX là một hệ điều hành máy tính viết vào những năm
1960 và 1970 do một số nhân viên của công ty AT&T Bell Labs bao gồm Ken
Thompson, Dennis Ritchie và Douglas McIlroy.[1] Từ góc nhìn người dùng
chun nghiệp và lập trình viên, hệ thống Unix có đặc điểm là thiết kế theo
module, đơi khi cịn được gọi là triết lý Unix, nghĩa là hệ điều hành cung cấp
một tập hợp các công cụ đơn giản, và mỗi công cụ chỉ thực hiện những chức
năng giới hạn và được định nghĩa rõ ràng,[2] với hệ thống file hợp nhất là
phương tiện chính để giao tiếp[1] và phần lập trình vỏ và ngôn ngữ lệnh kết hợp
các công cụ để thực hiện các chức năng phức tạp.
Ngày nay hệ điều hành Unix được phân ra thành nhiều nhánh khác nhau, nhánh
của AT&T, nhánh của một số nhà phân phối thương mại và nhánh của những tổ
chức phi lợi nhuận.
Unix có thể chạy trên nhiều loại máy tính khác nhau, từ những máy tính cá
nhân cho đến các máy chủ dịch vụ. Nó là một hệ điều hành đa nhiệm (có thể
cùng lúc thực hiện nhiều nhiệm vụ) hỗ trợ một cách lý tưởng đối với các ứng
dụng nhiều người dùng. Unix được viết bằng ngơn ngữ lập trình C, một ngơn
ngữ rất mạnh và mềm dẻo. Unix hỗ trợ các ứng dụng mạng và hỗ trợ nhiều mơi
trường lập trình khác nhau. Với hàng trăm lệnh và một số lượng rất lớn các tùy
chọn, Unix thực sự là một khó khăn đối với người mới bắt đầu. Với sự phát triển
của các shell Unix hệ điều hành này đã trở nên phổ dụng hơn trong lĩnh vực điện
tốn.
Vì Bell Laboratories bị cấm khơng cho phép tiếp thị Unix vì lệnh chống độc
quyền đối với AT&T nên Unix đã được cung cấp miễn phí cho các trường đại
học trên tồn Bắc Mỹ từ năm 1976. Năm 1979 Đại học California tại
Berkeley đã xây dựng một phiên bản của Unix dùng cho các máy tính VAX. Sau
khi đã được ưa thích trong các lĩnh vực công nghệ, AT&T đã giành được quyền
tiếp thị đối với Unix và đã cho ra đời System V vào năm 1983. Cho đên nay
Unix vẫn được sử dụng rất rộng rãi trong thị trường dành cho máy chủ. Đã có
nhiều phiên bản phát triển khác nhau, trong đó có Linux.
Unix là một trong những hệ điều hành 64 bit đầu tiên. Hiện nay Unix được sử
dụng bởi nhiều công ty tập đồn lớn trên thế giới vì mức độ bảo mật của nó
tương đối cao.
Phần mềm nguồn mở:
Phần mềm nguồn mở là phần mềm với mã nguồn được công bố và sử dụng
một giấy phép nguồn mở. Giấy phép này cho phép bất cứ ai cũng có thể nghiên
cứu, thay đổi và cải tiến phần mềm, và phân phối phần mềm ở dạng chưa thay
đổi hoặc đã thay đổi.
Năm 1998 một nhóm người chủ trương rằng thuật ngữ phần mềm tự do nên
được thay thế bằng phần mềm nguồn mở vì thuật ngữ này ít mơ hồ hơn và dễ sử
dụng hơn cho giới doanh nghiệp.
Định nghĩa Nguồn mở của Tổ chức Sáng kiến Nguồn mở (Open Source
Initiative - OSI) thể hiện một triết lý nguồn mở và xác định ranh giới về việc sử
dụng, thay đổi và tái phân phối phần mềm nguồn mở. Giấy phép phần mềmcung
cấp cho người dùng các quyền vốn bị cấm bởi bản quyền, gồm các quyền về sử
dụng, thay đổi và tái phân phối. Một vài giấy phép phần mềm nguồn mở đã
được thẩm định thuộc giới hạn của Định nghĩa Nguồn mở. Ví dụ nổi bật nhất
là Giấy phép Cơng cộng GNU (GPL). Trong khi nguồn mở cho phép công
chúng truy cập vào nguồn của một sản phẩm, giấy phép nguồn mở cho phép tác
giả điều chỉnh cách truy cập đó.
Thuật ngữ "phần mềm nguồn mở" có nghĩa gần tương đương với "mã nguồn
mở" nhưng với độ bao hàm cao hơn. Phần mềm nguồn mở thì có hệ quả là mã
nguồn mở, nhưng điều ngược lại thì khơng đúng (ví dụ một phần mềm có mã
nguồn mở nhưng giấy phép "đóng" - hệ quả của tình huống này là người dùng
được truy cập vào mã nguồn nhưng có thể bị ngăn cấm quyền sao chép, chỉnh
sửa, phân phối lại...).
Ngày nay có rất nhiều dạng mở (khơng đóng) bao gồm: phần cứng, phần mềm
nguồn mở, tài liệu/ học liệu mở, thiết kế mở... Phần mềm nguồn mở ngày nay
phát triển với tốc độ khá cao, cho thấy nó có nhiều động lực hơn so với mã
đóng. Khơng nghi ngờ ngày nay sự phát triển lĩnh vực cơng nghệ thơng tin có
thể nói tới nguồn mở như cái gì đó năng động nhất. Tốc độ phát triển của nó có
thể nói đến từng giờ một.
Ở Việt Nam, phần mềm tự do nguồn mở là thuật ngữ được khuyến khích sử
dụng, thay thế cho hai thuật ngữ là phần mềm tự do và phần mềm nguồn mở.
3. Hệ điều hành Linux và các bản phân phối
Thành phần cấu thành lên một HĐH hoàn chỉnh được mơ tả trong hình sau:
Trong cùng là phần cứng máy tính, ba lớp ngồi lần lượt từ bên trong có kernel
(hạt nhân), hệ vỏ (shell) và ngoài cùng là lớp ứng dụng (Application Software).
Phần nhân đảm nhiệm quản lý tài nguyên phần cứng, cung cấp giao diện cho các
phần mềm lớp vỏ (shell) như vi (editor), bash (một loại shell) ... Sau đó đến lượt
mình thì lớp shell sẽ cung cấp tiện ích và giao diện cho các phần mềm mức trên
là các phần mềm ứng dụng: Mail, FTP … Trên thực tế là mọi thao tác trên
Windows quen thuộc đều có thể dịch thành các lệnh, ví dụ như lệnh tạo shortcut
(link file) có thể dùng lệnh sau:
1 C:\WINDOWS\EXPLORER.EXE /n,/e,c:\
Như vậy các bạn nên hiểu hệ điều hành Linux là sự kết hợp của hạt nhân linux
với các phần mềm GNU. Hiện nay linux được cài đặt trên rất nhiều thiết bị từ
máy tính đến máy chủ, điện thoại hay các hệ thống ảo hóa, hệ nhúng … Tính
mềm dẻo của nó cho phép nó có thể tùy biến để chạy trên rất nhiều phần cứng,
nó đã trở thành một nền tảng chứ không đơn thuần là một HĐH nữa. Các bản
phân phối linux (distro) phổ biến nhất là Debian, Fedora, Ubuntu, Android ...
Ubuntu
Đầu tiên trong danh sách ta phải kể đến phiên bản Ubuntu, một trong những
phiên bản hệ điều hành Linux được u thích nhất, nó ra đời nhằm phục vụ
những người dùng quen với giao diện đồ họa trực quan tương đồng với
Windows, giúp người dùng sử dụng và vận hành nó một cách dễ dàng hơn.
Những giao diện của nó mang nhưng nét mới dành cho người dùng, mượt mà và
đẹp mắt hơn so với những gì Windows mang lại.
Ngồi ra, Ubuntu cịn sở hữu các cơ chế cài đặt đơn giản, không bao gồm nhiều
các codec độc quyền mặc định, tuy nhiên bạn vẫn có nhiều lựa chọn ở q trình
cài đặt đơn giản bằng cách nhấp chuột vào những bước tương tự như trên
Windows, cùng với đó là việc liên tục được nhà phát triển cập nhật, giúp nó có
tính bảo mật và hiệu quả hơn.
OpenSUSE 13.2
Tiếp theo là một trong những phiên bản dựa trên cấu trúc RPM phổ biến nhất
hiện nay, đó là OpenSUSE. Nó được xây dựng trên tiêu chí tất cả trong một, bao
gồm trình quản lý thơng minh YaST, giúp người dùng quản lý các trình đơn xử
lý phần mềm cài đặt, cũng như cấu hình hệ thống và quản trị hệ thống. Do đó nó
là một trong những phiên bản thường xuyên được sử dụng trên các máy tính
server và KDE.
Ngồi ra, nó cịn sở hữu trình cài đặt đơn giản, cùng với các tùy chọn nâng cao,
chẳng hạn như việc thiết lập máy in hay cấu hình LDAP một cách dễ dàng, giúp
cho người dùng có nhiều giải pháp hơn với nó.
Fedora
Fedora được biết đến như là một trong những phiên bản Linux lâu đời nhất, khi
mà nó được ra mắt lần đầu vào những năm 1990 với sự hợp tác của Red Hat
Linux. Các phiên bản Fedora này cung cấp một hệ thống phần mềm hồn tồn
miễn phí và có truyền thống là một hệ điều hành back dành cho Ubuntu. Nó tập
trung nhiều vào việc cung cấp giải pháp dành cho những máy trạm và máy
database dành cho doanh nghiệp vừa và nhỏ.
Ngồi ra, nó cịn sở hữu các cơng cụ quản lý phầm mềm khá hữu dụng, cùng các
trình quản lý Synaptic Package. Cùng với đó, Fedora được xây dựng với 3 phiên
bản chính, bao gồm Cloud, Server và Workstation.
Linux Mint
Mint đang được biến đến như là một trong những phiên bản distro Linux được
sử dụng rộng rãi và phổ biến nhất hiện nay. Nó cũng được phát triển dựa trên
Ubuntu, cùng với giao diện được thiết kế riêng có tên Unity. Linux Mint cung
cấp cho người dùng 2 môi trường làm việc riêng biệt Gnome-based, bao gồm
Mate và Cinnamon. Trong đó, Mate cung cấp khả năng làm việc tương đồng với
những chiếc máy tính để bàn đơn thuần. Cịn với Cinnamon, nó cung cấp đến
khả năng làm việc mạnh mẽ, do đó nó hay được sử dụng dành cho những chiếc
máy tính trạm, server hay database.
4.Cài đặt Linux
Cài đặt và cấu hình Ubuntu Desktop:
Như các bước thiết lập bình thường, chúng ta tạo mới 1 máy ảo trên VMware
bằng cách nhấn Ctrl + N hoặc menu File > New Virtual Machine:
Chọn chế độ Custom (advance)
Next để tiếp tục, tại phần chọn hệ điều hành cài đặt, các bạn trỏ đến file iso của
Ubuntu Desktop được tải về máy tính ở bước trên:
Điền một số thông tin để tiếp tục:
Lưu ý rằng ở ô User name các bạn phải để tên chữ thường nhé (khơng được có
chữ hoa) và số. Tiếp theo, chọn thư mục lưu trữ file máy ảo của Ubuntu (thay
đổi ở dòng Location):
Thiết lập bộ vi xử lý - CPU cho máy ảo, bao gồm số nhân (Processors) và sỗ lõi
trên từng nhân (cores per processor). Tùy cấu hình máy thật mà bạn chia sẻ sao
cho hợp lý, tất nhiên chia 2 nhân 2 lõi sẽ nhanh hơn so với 1 nhân 1 lõi:
Thiết lập chia sẻ RAM, hình mũi tên nhỏ màu xanh lá cây là mức RAM chia sẻ
ở mức đề nghị (ở đây là 1GB), màu vàng là tối thiểu (512MB), còn màu xanh
nhạt là tối đa (khoảng 6GB):
Cấu hình mạng giữa máy ảo và máy thật (thơng thường các bạn cứ chọn NAT
nhé):
Các thiết lập tiếp theo, các bạn cứ giữ nguyên Default và Next. Tại đây là bước
đặt dung lượng ổ cứng cho máy ảo, tùy vào dung lượng còn trống của ổ cứng đặt
máy ảo mà chia sẻ sao cho hợp lý:
Lưu file *.vmdk vào cùng thư mục đặt máy ảo ở bước trên:
Xem lại tất cả các cấu hình, thiết lập của máy ảo rồi nhấn Finish để bắt đầu cài
đặt:
Sau khi bật máy ảo lên, màn hình cài đặt Ubuntu sẽ trơng giống như hình dưới:
Q trình này sẽ diễn ra khoảng 10 - 20 phút, vì trong lúc này Ubuntu sẽ tự động
tải thêm những gói dữ liệu cần thiết khác để cào đặt:
Trong lúc chờ đợi, các bạn có thể:
Ghé thăm trang gamevui để tận hưởng các trò chơi Flash cũng như HTML5
mới nhất.
Mua sắm tại siêu thị trực tuyến META.vn
Truy cập và ủng hộ Fanpage của Quản Trị Mạng
Truy cập bằng tài khoản và mật khẩu chúng ta thiết lập ở bước trên (khi cấu hình
máy ảo):
Khác với các phiên bản cũ, sau màn hình khởi động này là Ubuntu đã tự động
cài vào hệ thống cho chúng ta (quá trình copy file bên trên diễn ra gần 20 phút).
Và đây là thành quả của chúng ta:
Về mặt cơ bản, Ubuntu đã có sẵn những ứng dụng cơ bản và cần thiết như:
Trình duyệt Mozilla Firefox
Email Client là Thunderbird
Bộ ứng dụng văn phòng của Libre Office
Game bài Solitaire
...
Chương 2: Thao tác với hệ thống
Kiến thức:
- Trình bày được tiến trình khởi động của hệ điều hành Linux;
- Trình bày được các lệnh cơ bản của hệ điều hành Linux.
Kỹ năng:
- Đăng nhập và thoát khỏi hệ thống bằng các lệnh;
- Sử dụng các lệnh trên hệ điều hành.
Thái độ:
- Cẩn thận, tỉ mỉ, tuân thủ nội qui vệ sinh và an tồn phịng thực hành;
- Tích cực vận dụng kiến thức đã học vào thực tế.
Nội dung:
1. Tiến trình khởi động Linux
(1) Power-on:
BIOS (một phần mềm được cài đặt sẵn (embedded) vào các chíp PROM,
EPROM hay bộ nhớ flash nằm trên bo mạch chủ) là chương trình được chạy đầu
tiên khi bạn nhấn nút nguồn hoặc nút reset trên máy tính của mình. BIOS thực
hiện một cơng việc gọi là POST (Power-on Self-test) nhằm kiểm tra thông số và
trạng thái của các phần cứng máy tính khác như bộ nhớ, CPU, thiết bị lưu trữ,
card mạng… Đồng thời, BIOS cũng cho phép bạn thay đổi các thiết lập, cấu
hình của nó (tùy từng máy mà bạn nhấn phím F2, Delete, F10,… để vào giao
diện cài đặt cho BIOS).
Nếu q trình POST kết thúc thành cơng (tức, các phần cứng ở trạng thái tốt,
BIOS không phát hiện ra các trục trặc nào), thì sau đó BIOS sẽ cố gắng tìm kiếm
và khởi chạy (boot) một hệ điều hành được chứa trong các thiết bị lưu trữ như ổ
cứng, CD/DVD, USB…. Thứ tự tìm kiếm có thể được thay đổi bởi người dùng.
(2) Master Boot Record (MBR):
Sector đầu tiên (được đánh số 0) của một thiết bị lưu trữ dữ liệu được gọi là
MBR, thường sector 0 này có kích thước là 512-byte. Sau khi BIOS xác định
được thiết bị lưu trữ nào sẽ được ưu tiên để tìm kiếm đầu tiên thì thực chất BIOS
sẽ đọc trong MBR của thiết bị này để nạp vào bộ nhớ một chương trình rất nhỏ
(dưới 512-byte). Chương trình nhỏ này sẽ định vị và khởi động boot loader –
đây là chương trình chịu trách nhiệm cho việc tìm và nạp nhân (kernel) của hệ
điều hành.
Chú ý, hệ điều hành sẽ được nạp bởi boot loader không nhất thiết phải nằm
chung thiết bị lưu trữ với boot loader đó (những năm trước đây có thể bạn đã
từng nghe tới đĩa mềm khởi động, thực ra chúng chỉ chứa boot loader mà thôi.)
(3) Boot loader:
Có 2 bootloader phổ biến trên Linux là GRUB và LILO (tiền thân của GRUB).
Cả 2 chương trình này đều có chung mục đích: cho phép bạn lựa chọn một trong
các hệ điều hành có trên máy tính để khởi động, sau đó chúng sẽ nạp kernel của
hệ điều hành đó vào bộ nhớ và chuyển quyền điều khiển máy tính cho kernel
này.
GRUB hay LILO đều có thể khởi động cho cả Linux và Windows, nhưng ngược
lại các bootloader trên Windows như (NTLDR, BOOTMGR) thì khơng hỗ trợ
khởi động cho các hệ điều hành Linux. Trong thế giới Linux, các bootloader
cũng có thể nạp thêm các ramdisk hoặc các INITRD, lát nữa chúng ta sẽ nói
thêm về chúng.
(4) Linux kernel được nạp và khởi chạy:
bootloader nạp một phiên bản dạng nén của Linux kernel, và ngay lập tức nó tự
giải nén và tự cài đặt mình lên đỉnh bộ nhớ hệ thống – nơi mà nó sẽ nằm ở đó
cho tới khi bạn tắt máy.
(5) Các script trong (các) INITRD được thực thi:
Tại bước 3, tôi đã đề cập tới các ram disk nhưng đã không giải thích nó là gì.
Giờ thì tơi sẽ giải thích nó. Một vấn đề mà những người viết các bản Linux đa
mục đích phải đối mặt là: khơng thể nào đốn trước được chính xác cấu trúc
máy tính của người sẽ sử dụng bản Linux của họ… Máy tính của người dùng có
những thành phần linh kiện nào?
Các INITRD cung cấp một giải pháp: một tập các chương trình nhỏ sẽ được
thực thi khi kernel vừa mới được khởi chạy. Các chương trình nhỏ này sẽ dị
qt phần cứng của hệ thống và xác định xem kernel cần được hỗ trợ thêm
những gì để có thể quản lý được các phần cứng đó. Chương trình INITRD có thể
nạp thêm vào kernel các module bổ trợ. Khi chương trình INITRD kết thúc thì
quá trình khởi động Linux sẽ tiếp diễn.
(6) Chương trình init được thực thi:
Khi kernel được khởi chạy xong, nó triệu gọi duy nhất một chương trình tên là
init. Tiến trình này có PID (process ID) =1, init là cha của tất cả các tiến trình
khác mà có trên hệ thống Linux này. Do tính chất cực kỳ quan trọng này mà init
sẽ không bao giờ bị chết (khi sử dụng lệnh kill) và khơng được phép chết!
Sau đó, init sẽ xem trong file /etc/inittab để biết được nó cần làm gì tiếp theo
như: dựa vào runlevel mặc định để thực thi các script khởi động (initscript)
tương ứng trong thư mục /etc/rc.d.
Nhân đây, một trong các vấn đề phổ biến thường xảy ra với một hệ thống Linux
mới cài đặt (hoặc mới được cập nhật) là kernel khơng thể tìm thấy init. Một
thơng báo khó hiểu được đưa ra là kernel panic – not syncing. Nguyên nhân chủ
yếu là sự thiết sót tham số root= khi bạn cấu hình cho bootloader. Kernel cũng
có thể “than phiền” với ai đó mà cố gắng để tiêu diệt tiến trình init.
(7) Các initscript được thực thi dựa trên runlevel được chọn:
Nếu bạn kiểm tra trong file /etc/inittab, bạn sẽ thấy nó bao gồm hầu hết các đặc
tả, chỉ dẫn để chạy các chương trình nào đó. Các script có tên bắt đầu bằng ký tự
S sẽ được thực thi, bằng cách này, init sẽ khởi động tất cả các hệ thống con
(subsystem) hoặc các dịch vụ (deamon) để tạo thành một hệ thống Linux hoạt
động hoàn chỉnh.
Tại thời điểm này, về cơ bản Linux đã khởi động xong, init cũng hồn thành vai
trị của mình: tạm thời nó sẽ “ngủ” (ở trạng thái chờ đợi) cho tới khi có chương
trình nào đó bị chết hoặc cần được khởi động lại. Tất cả các hoạt động của hệ
thống bây giờ sẽ được thực hiện bởi các deamon khác nhau.
(8) Đăng nhập với giao diện đồ họa:
Subsystem cuối cùng được init khởi động lên là X Window (cịn có các tên gọi
khác là X.Org, Xorg, hay đơn giản là X), đây là một hệ thống cung cấp giao diện
đồ họa người dùng (GUI) của Linux. Một thành phần của X được gọi là XDM
đưa ra cho bạn màn hình đăng nhập dạng GUI.
Tuy nhiên, do XDM chưa thực sự thân thiện với người dùng nên hiện nay XDM
được thay thế bằng GDM (nằm trong gói GNOME), KDM (nằm trong gói KDE)
hoặc Entrance (nằm trong gói Enlightenment).
(9) Khi bạn hoặc ai đó đăng nhập thành cơng vào hệ thống:
một chương trình shell (có thể là bash, sh, csh…) sẽ được bắt đầu. Tất cả các
chương trình mà bạn chạy và mọi thao tác khác mà bạn thực hiện trong suốt
phiên làm việc sẽ được thực hiện bởi shell đó hoặc bởi chương trình khác mà
được shell khởi động.
Khi bạn đăng xuất, shell đó và tất cả các tiến trình con của nó sẽ bị kết thúc. Sau
đó init (hoặc XDM/GDM/KDM/Entrance) sẽ “thức tỉnh” và bắt đầu một lời
nhắc nhở đăng nhập mới.
Tồn bộ q trình khởi động của máy Linux được minh họa như hình dưới đây
2. Thủ tục đăng nhập và các lệnh thoát khỏi hệ thống
Đăng nhập hệ thống:
Root[may1/root]# (dấu nhắc hệthống)
Các lệnh thốt khỏi hệ thống:
•Bấm Ctrl + Alt + Del
•Gõ lệnh shutdown
shutdown [Tùy chọn] <time> [cảnh báo]
-k: Không tắt máy thực sự mà chỉ gửi cảnh báo;
-r: Khởi động lại máy sau khi shutdown;
-h: Tắt máy thực sự;
-f: Khởi động lại nhanh, bỏ qua việc kiểm tra đĩa cứng;
-F: Khởi động lại và có kiểm tra đĩa cứng;