Giáo trình Hệ điều hành mã nguồn mở

pdf 58 trang Gia Huy 16/05/2022 3351
Bạn đang xem 20 trang mẫu của tài liệu "Giáo trình Hệ điều hành mã nguồn mở", để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên

Tài liệu đính kèm:

  • pdfgiao_trinh_he_dieu_hanh_ma_nguon_mo.pdf

Nội dung text: Giáo trình Hệ điều hành mã nguồn mở

  1. BỘ LAO ĐỘNG - THƯƠNG BINH VÀ XÃ HỘI TRƯỜNG CAO ĐẲNG NGHỀ KỸ THUẬT CÔNG NGHỆ š›&š› GIÁO TRÌNH MÔ ĐUN: HỆ ĐIỀU HÀNH MÃ NGUỒN MỞ NGHỀ: KỸ THUẬT SỬA CHỮA, LẮP RÁP MÁY TÍNH TRÌNH ĐỘ: CAO ĐẲNG Ban hành theo Quyết định số: 248b/QĐ-CĐNKTCN ngày 17 tháng 9 năm 2019 của Hiệu trưởng Trường Cao đẳng nghề Kỹ thuật Công nghệ Hà Nội, năm 2021 (Lưu hành nội bộ)
  2. 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. MÃ TÀI LIỆU: MĐSCMT 26 2
  3. LỜI GIỚI THIỆU Trên đà phát triển của công nghệ thông tin như hiện nay, Hệ điều hành mã nguồn mở đã không ngừng mở rộng ra ngoài phạm vi nghiên cứu đại học để phục vụ cho mục đích thương mại và hành chính, hoặc dùng làm hệ điều hành cho các mạng máy tính. Quả thật Linux đã tiến triển và hoàn thiện liên tục với những phiên bản mới, thậm chí năm 2003 các dòng Linux ManDrake và RedHat v.v. đều đã có đến bản 9.0 và hiện nay la 11.0. Mặt khác Linux càng ngày càng có thêm nhiều người sử dụng vì vậy mà nhu cầu cần có một cuốn giáo trình làm tài liệu học tập và tham khảo cho học sinh, sinh viên của các trường Cao đẳng, Đại học là cần thiết. Các bài trong giáo trình này chủ yếu sẽ hướng dẫn cách cài đặt và sử dụng dòng sản phẩm RedHat vì có lẽ đó là dòng Linux phổ biến nhất và cũng dễ cài đặt nhất từ trước đến nay. Ngoài ra, giáo trình còn cung cấp những hiểu biết khác, thí dụ cập nhật và nâng cấp các phần mềm tương hợp với Linux, hoặc in ấn, hỗ trợ an ninh và quản trị hệ thống một cách thuận tiện. Cuốn giáo trình này này cũng phù hợp cho những người muốn biết thêm về Linux và UNIX mà chưa có dịp sử dụng hai hệ điều hành ấy. Thậm chí, giáo trình sẽ có ích với những người tuy biết cách cài đặtLinux và sử dụng UNIX, nhưng chưa có dịp thực hiện các công việc quản trị hệ thống bao giờ. Cuốn giáo trình sau sẽ giải thích chi tiết về cách quản trị và duy trì hệ thống Linux/UNIX. Một người sử dụng UNIX bình thường khó có quyền làm quản trị hệ thống, song với Linux thì có thể trở thành chủ nhân của toàn bộ hệ thống. Linux dẫn xuất từ UNIX nên cũng là một hệ điều hành đa người dùng và đa nhiệm (phục vụ nhiều người và thực hiện nhiều việc cùng lúc). Nó có thể chạy trên nhiều bộ vi xử lý (đặc biệt trên họ Intel từ đời 386 trở lại đây) và tương thích với chuẩn mở POSIX. POSIX là một tiêu chuẩn quốc tế cho các hệ điều hành và phần mềm khả chuyển với những thành phần có thể sử dụng chung, đảm bảo tính mở của chúng. Trong quá trình biên soạn, dù đã hết sức cố gắng, song không tránh khỏi những sai sót. Rất mong nhận được những ý kiến đóng góp và nhận xét của các thầy cô, các em học sinh, sinh viên và những ai sử dụng cuốn giáo trình này. Hà Nội, ngày 23 tháng 04năm 2021 Tham gia biên soạn 1. Chủ biên: Trần Thị Vinh 2. Tập thể giảng viên khoa Công nghệ thông tin Mọi thông tin đóng góp chia sẻ xin gửi về hòm thư tranthivinhvnn@gmail.com hoặc liên hệ số điện thoại 0978113529 3
  4. MỤC LỤC LỜI GIỚI THIỆU 3 MỤC LỤC 4 BÀI 1: TỔNG QUAN VỀ LINUX 10 1. Tìm hiểu chung về Linux 10 1.1. Linux là gì 10 1.3. Các bản phát hành Linux 12 1.4. Lợi thế của Linux 12 1.5. Ai phát triển Linux 13 1.6. Linux cộng sinh với Windows 13 1.7. Thương mại hoá Linux 14 2. Unix và Linux 15 3. Tác quyền và bản quyền Linux 16 BÀI 2: CHUẨN BỊ CÀI ĐẶT LINUX 18 1. Chọn cấu hình phần cứng 18 1.1. Bộ xử lý 18 1.2. Bus hệ thống 19 1.3. Bộ nhớ 19 1.4. Đĩa cứng 19 1.4.1. Dung lượng ổ đĩa cứng 19 1.4.2. Phân vùng hoán chuyển 20 1.5. Yêu cầu về màn hình 20 1.6. Ổ CD 21 1.6.1 Các ổ đĩa CD phổ quát 21 1.6.2. Các ổ đĩa CD đặc chủng 21 1.7. Truy cập mạng 21 1.7.1. Truy cập qua Ethernet 22 1.7.2. Truy cập qua modem 23 1.8. Các thiết bị khác 24 1.8.1. Chuột 24 1.8.2. Ổ băng từ 24 1.8.3. Máy in 24 2. Dung lượng đĩa và bộ nhớ 24 3. Phân vùng ổ đĩa cứng 25 3.1. Tìm hiểu về phân vùng 25 3.2. Sử dụng lệnh FDISK 26 3.2.1. Các yêu cầu về phân vùng 26 3.2.2. Các yêu cầu về DOS 26 3.2.3. Các yêu cầu về Linux 27 3.2.4. Phân vùng lại ổ DOS 27 3.2.5. Cách tránh phân vùng đĩa cứng 27 3.2.6. Xoá bỏ phân vùng 28 3.2.7. Thêm phân vùng mới 28 3.2.8. Định dạng phân vùng 28 BÀI 4: BẮT ĐẦU SỬ DỤNG LINUX 29 1. Thiết lập tài khoản 29 4
  5. 1.1. Giao tiếp qua dòng lệnh 30 1.2. Lịch trình nhập lệnh 30 1.3. Nhập lệnh bằng sao ghép 30 1.4. Tự động điền lệnh 30 2. Quản lý người sử dụng 31 2.1. Đăng nhập và đăng xuất 31 2.2. Thêm người sử dụng trong Slackware 31 2.3. Thêm người sử dụng mới trong RedHat Linux 34 2.4. Dùng bảng điều khiển RedHat để quản lý người sử dụng 34 2.5. Thay đổi mật khẩu 35 3. Sử dụng các lệnh cơ bản 35 3.1. Dùng man để tìm trợ giúp cho câu lệnh 36 3.2. Sử dụng các lệnh can thiệp vào thư mục 36 3.2.1. Chuyển đổi thư mục hiện hành bằng lệnh cd 36 3.2.2. Liệt kê các tệp và thư mục bằng lệnh ls 36 3.2.3. Tạo thư mục mới bằng lệnh mkdir 37 3.2.4. Xoá bỏ thư mục bằng lệnh rmdir 37 3.3. Sử dụng các lệnh thao tác tệp 37 3.3.1. Chép các tệp bằng lệnh cp 37 3.3.2. Chuyển tệp bằng lệnh mv 37 3.3.3. Xoá tệp bằng lệnh rm 38 3.3.4. Hiển thị nội dung tệp bằng lệnh more 38 3.3.5. Sử dụng lệnh less 38 4. Xử lý các tệp DOS trong Linux 38 5. Đóng tắt Linux và chạy các chương trình Linux 39 5.1. Đóng tắt Linux 39 5.2. Chạy các chương trình Linux 40 5.2.1. Sử dụng chương trình CD Player 40 5.2.2. Sử dụng Gnumeric và KSpread 40 5.2.3. Sử dụng bc Calculator 41 5.2.4. Sử dụng chương trình minicom 41 6. Chạy các chương trình DOS trong Linux 42 6.1. Cài đặt DOSEMU 42 6.2. Lập cấu hình DOSEMU 43 6.3. Chạy DOSEMU 44 7. Chạy các chương trình Windows với Linux 44 BÀI 5: NÂNG CẤP VÀ CÀI ĐẶT PHẦN MỀM VỚI RPM 47 1. Chính sách nâng cấp phần mềm 47 2. Cài đặt phần mềm 47 2.1. Giới thiệu 47 2.2. Công việc của quản trị viên hệ thống 48 3. Sử dụng RPM 49 3.1. Vị trí của các gói phần mềm 49 3.2. Cài đặt gói phần mềm bằng RPM 50 3.3. Gỡ bỏ cài đặt gói phần mềm bằng RPM 51 3.4. Cập nhật gói phần mềm bằng RPM 51 3.5. Tìm các gói phần mềm 51 5
  6. 3.6. Kiểm tra gói phần mềm 52 3.7. Cài đặt phần mềm không của Linux 53 3.7.1. Các định dạng của gói phần mềm 53 3.7.2. Cài đặt phần mềm 53 3.7.3. Sử dụng lệnh tar 54 3.8. Xem lại các quyền truy cập 55 3.9. Giải quyết vấn đề 55 3.10. Gỡ bỏ các ứng dụng 56 4. Nâng cấp Kernel 56 5. Cài đặt trong môi trường X bằng RPM 56 5.1. Khởi động GNOME-RPM 57 5.2. Chọn gói phần mềm 57 5.3. Cài đặt phần mềm mới 57 5.4. Lập cấu hình mặc định cho trình cài đặt 57 5.5. Gỡ bỏ phần mềm 58 BÀI 6: QUẢN TRỊ HỆ THỐNG LINUX 59 1. Các hệ thống và các thành phần xử lý 59 1.1. Các hệ thống xử lý tập trung 59 1.2. Các thành phần của mô hình xử lý tập trung 60 1.3. Các hệ thống xử lý phân tán 60 1.4. Các thành phần của mô hình xử lý phân tán 61 2. Các mô hình và quản trị trong môi trường mạng 61 2.1. Mô hình client/server 62 2.2. Quản trị trong môi trường mạng 62 2.3. Xác định vai trò quản trị viên mạng 62 2.4. Lựa chọn phần cứng và phần mềm 62 2.5. Những công việc chung trong quản trị mạng 63 2.5.1. Thiết lập hệ thống 63 2.5.2. Thao tác các thiết bị ngoại vi 64 2.5.3. Giám sát hệ thống 64 2.5.4. Nâng cấp phần mềm 64 2.6. Huấn luyện quản trị viên 64 BÀI 6: KHỞI ĐỘNG VÀ ĐÓNG TẮT 70 1. Trình quản lý mồi LILO 70 1.1. Thiết lập cấu hình LILO 70 1.2. Sử dụng LILO 71 2. Tiến trình khởi động 71 3. Đóng tắt Linux 77 BÀI 7: QUẢN LÝ TÀI KHOẢN 79 1. Làm việc với các user và nhóm user 79 1.1. Làm việc với các user 79 1.1.1. Thêm vào một user 79 1.1.2. Sử dụng lệnh adduser 80 1.1.3. Thiết lập mật khẩu cho user 81 1.1.4. Gỡ bỏ một user 82 1.2. Làm việc với nhóm 82 1.2.1. Thêm vào một nhóm 83 6
  7. 1.2.2. Xoá bỏ một nhóm 83 2. Quản lý home directory 83 3. Quản trị qua giao diện web 83 BÀI 8: QUẢN LÝ TỆP VÀ THƯ MỤC 87 1. Các thao tác cơ bản với tệp 87 1.1. Liệt kê tệp 87 1.2. Tổ chức tệp 89 1.3. Sao chép tệp 90 1.4. Di dời và đặt tên lại tệp 91 1.5. Xoá tệp hoặc thư mục 91 1.6. Xem nội dung của tệp 92 1.6.1. Các thiết bị xuất nhập chuẩn 92 1.6.2. Xem tệp bằng lệnh cat 93 1.6.3. Xem tệp bằng lệnh more 93 1.6.4. Xem tệp bằng lệnh less 93 1.6.5. Duyệt tìm xuyên tệp và thoát khỏi shell 94 1.6.6. Xem tệp bằng những cách khác 94 1.7. Duyệt tìm tệp 95 1.8. Thay đổi nhãn ngày giờ 96 2. Nén và nới tệp 97 3. Hệ thống thư mục trong Linux 98 3.1. Thư mục UNIX cổ điển 98 3.2. Các thư mục trong Linux 99 TÀI LIỆU THAM KHẢO 110 7
  8. GIÁO TRÌNHMÔ ĐUN Tên môn đun: Hệ điều hành mã nguồn mở Mã mô đun: MĐSCMT 26 Vị trí, tính chất, ý nghĩa và vai trò của mô đun: - Vị trí: Mô đun được bố trí sau khi học xong các môn chung và bố trí song song với môn học/mô đun đào tạo chuyên ngành. - Tính chất: Là mô đun chuyên ngành. - Ý nghĩa, vai trò của mô đun:Mô đun này cung cấp các thông tin về bản quyền hệ điều hành và phần mềm mã nguồn mở có chi phí rẻ hơn so với các phần mềm truyền thống, mặt khác rất dễ nâng cấp, cải tiến.Ngoài ra còn giúp cho chúng ta biết được nhiều ưu điểm nổi bật của hệ điều hành Linux như: Độ an toàn cao, tích hợp cho quản trị mạng, Đối với những người làm tin học, đặc biệt là đối với sinh viên, thì việc tìm hiểu và nghiên cứu hệ điều hành Linux và phần mềm mã nguồn mở là một điều kiện rất tốt để nâng cao hiểu biết của mình. Mục tiêu của mô đun: - Về kiến thức + Hiểu được nguyên lý hệ điều hành Linux, các yếu tố hợp thành hệ điều hành Linux. Biết chọn được phần cứng thích hợp để cài được hệ điều hành Linux, cài được HĐH Linux. - Về kỹ năng + Cài đặt các phần mềm và các ứng dụng trên hệ Linux, sử dụng được một số ứng dụng cơ bản trên hệ Linux, biết cơ bản về quản lý hệ thống Linux, các tập tin, thư mục, tài khoản, phân chia quyền hạn - Về năng lực tự chủ và trách nhiệm + Có ý thức về vấn đề bản quyền phần mềm. + Rèn luyện tinh thần chia sẻ, giúp đỡ nhau cùng phát triển. Nội dung Thời gian (giờ) Thực hành, Kiểm thí Số Lý Tra/ Tên các bài trong mô đun Tổng nghiệm, TT Thu Thi kết số thảo yết thúc mô luận, đun luyện tập Tổng quan về Linux. 1. Tìm hiểu chung về Linux 1 1 0 1 2. UNIX và Linux 3. Tác quyền và bản quyền Linux Chuẩn bị cài đặt Linux 1. Chọn cấu hình phần cứng 2 2 1 1 2. Dung lượng đĩa và bộ nhớ 3. Phân vùng ổ đĩa cứng Bắt đầu sử dụng Linux 3 2 1 1 1. Thiết lập tài khoản 8
  9. 2. Quản lý người sử dụng 3. Sử dụng các lệnh cơ bản 4. Xử lý các tệp DOS trong Linux 5. Đóng tắt Linux& chạy các chương trình Linux 6. Chạy các chương trình DOS trong Linux 7. Chạy các chương trình Windows với Linux Nâng cấp và cài đặt phần mềm với RPM 1. Chính sách nâng cấp phần mềm 4 2. Cài đặt phần mềm 5 2 2 1 3. Sử dụng RPM 4. Nâng cấp Kernel 5. Cài đặt trong môi trường X bằng RPM Quản trị hệ thống Linux 1. Các hệ thống và các thành phần xử lí 5 8 2 6 2. Các mô hình và quản trị trong môi trường mạng Khởi động và đóng tắt 1. Trình quản lý mồi LILO 6 2 1 1 2. Tiến trình khởi động 3. Đóng tắt Linux Quản lý tài khoản 1. Làm việc với các user& nhóm user 7 6 1 4 1 2. Quản lý home directory 3. Quản trị qua giao diện web Quản lý tệp và thư mục 1. Các thao tác cơ bản với tệp 8 4 1 3 2. Nén và nới tệp 3. Hệ thống thư mục trong Linux Cộng 30 10 18 2 9
  10. BÀI 1: TỔNG QUAN VỀ LINUX Mã bài: MĐSCMT 26.01 Giới thiệu Bài này chủ yếu dành cho các nhà quản lý dự án công nghệ thông tin. Tuy không thật cần thiết cho việc cài đặt và sử dụng Linux, nhưng nội dung của nó cũng có thể bổ ích cho bất kỳ ai muốn tìm hiểu về những chủ đề sau đây: - Linux là gì? - Tại sao Linux phát triển? - Các bản phát hành Linux - Lợi ích của Linux - Ai phát triển Linux? - Linux cộng sinh với Windows - Thương mại hóa Linux - UNIX và Linux - Tác quyền và bản quyền Linux Mục tiêu - Nắm được kiến thức chung về sự ra đời, mục đích ra đời của hệ điều hành Linux, các giai đoạn phát triển cũng như các phiên bản của hệ điều hành Linux - Nắm được sự khác biệt giữa Linux và Unix, và sinh viên sẽ hiểu rõ hơn về tác giả và bản quyền của hệ điều hành Linux trước khi sử dụng chúng. - Nhận thức về bản quyền phần mềm. - Nâng cao tính chia sẻ cộng đồng. Nội dung chính 1. Tìm hiểu chung về Linux Mục tiêu : - Nêu được khái niệm Linux - Trình bày được Các bản phát hành Linux - Biết được lợi ích của Linux 1.1. Linux là gì Linux xuất hiện như một sản phẩm nguồn mở miễn phí và đến nay đã có thể sánh vai với các hệ điều hành thương phẩm như MS Windows, Sun Solaris v.v. Linux ra đời từ một dự án hồi đầu những năm 1990 có mục đích tạo ra một hệ điều hành kiểu UNIX cài đặt trên máy tính cá nhân chạy với bộ vi xử lý Intel, tương hợp họ máy tính IBM-PC (còn gọi tắt là PC). Từ lâu, UNIX đã nổi tiếng là một hệ điều hành mạnh, tin cậy và linh hoạt, nhưng vì khá đắt nên chủ yếu chỉ dùng cho các trạm tính toán hoặc máy chủ cao cấp. Ngày nay Linux có thể cài đặt trên nhiều họ máy tính khác nhau, không chỉ riêng cho họ PC. Qua Internet, Linux được hàng nghìn nhà lập trình khắp trên thế giới tham gia thiết kế, xây dựng và phát triển, với mục tiêu không lệ thuộc vào bất kỳ thương phẩm nào và để cho mọi người đều có thể sử dụng thoải mái. Khởi thuỷ, Linux xuất phát từ ý tưởng của Linus Torvalds, khi đó chàng sinh viên Đại học Helsinki ở Phần Lan đã muốn thay thế Minix, một hệ điều hành nhỏ kiểu UNIX. Về cơ bản, Linux bắt chước UNIX cho nên cũng có nhiều ưu điểm của UNIX. Tính đa nhiệm thực sự của Linux cho phép chạy nhiều chương trình cùng lúc. Với Linux, chúng ta có thể đồng thời thực hiện một số thao tác, thí dụ chuyển tệp, in ấn, sao tệp, nghe nhạc, chơi game v.v. 10
  11. Linux là hệ điều hành đa người dùng, nghĩa là nhiều người có thể đăng nhập và cùng lúc sử dụng một hệ thống. Ưu điểm này có vẻ không phát huy mấy trên máy PC ở nhà, song ở trong công ty hoặc trường học thì nó giúp cho việc dùng chung tài nguyên, từ đó giảm thiểu chi phí đầu tư vào máy móc. Ngay cả khi ở nhà, chúng ta cũng có thể đăng nhập vào Linux với nhiều trương khoản (account) khác nhau qua các terminal ảo và tổ chức dịch vụ trên mạng riêng cho mình bằng cách sử dụng Linux với nhiều modem. Có thể kể tên các hệ điều hành miễn phí khác như FreeBSD, OpenBSD, NetBSD v.v. Cũng phải kể đến ảnh hưởng lớn công ty Sun (chủ nhân của ngôn ngữ Java) vì Sun muốn cung cấp hệ điều hành Solaris dùng miễn phí trên máy PC. Phiên bản Solaris chạy trên chip Intel sẽ trở nên một đối thủ đáng gờm của Linux với mã nguồn mở và nhờ danh tiếng là hệ điều hành rất ổn định và tương thích với hệ Solaris chạy trên chip Sun SPARC. Bản thân việc độc lập với những công ty lớn cũng tiềm tàng một điểm yếu của Linux. Khi chưa có một mạng lưới riêng cung cấp dịch vụ bảo trì thì tất nhiên người ta sẽ ngại sử dụng Linux. Tuy thế, với sự phát triển của Internet, các tổ chức hỗ trợ người dùng Linux đã tạo nên các Website và forum để tháo gỡ cho chúng ta nhiều vấn đề khó khăn. Hơn nữa Linux có thể không chạy tốt với một số phần cứng ít phổ biến, thậm chí việc hỏng hóc hoặc xoá mất dữ liệu đôi khi cũng xảy ra, bởi vì Linux luôn thay đổi và khó được thử nghiệm đầy đủ trước khi đưa lên Internet. Linux không phải là đồ chơi sẵn có, nó được thiết kế nhằm mang đến cho người sử dụng cảm giác cùng tham gia vào một dự án mới. Tuy nhiên thực tế cho thấy Linux chạy tương đối ổn định và cho chúng ta một cơ may không tốn kém để học và sử dụng UNIX, một họ hệ điều hành chuyên nghiệp hiện nay đang được rất nhiều người dùng trên các máy chủ và trạm tính toán cao cấp. 1.2. Tại sao Linux phát triển Trước hết, Linux phát triển vì là một trong những hệ điều hành miễn phí và có khả năng đa nhiệm cho nhiều người sử dụng cùng lúc trên các máy tính tương thích với PC. So với những hệ điều hành thương phẩm, Linux giúp chúng ta ít phải nâng cấp và lại không cần trả tiền, cũng như phần lớn các phần mềm ứng dụng cho nó. Hơn nữa, Linux và những ứng dụng đó được cung cấp với cả mã nguồn miễn phí mà chúng ta có thể lấy về từ Internet, sau đó chỉnh sửa và mở rộng chức năng của chúng theo nhu cầu riêng. Linux có khả năng thay thế một số hệ điều hành thuộc họ UNIX đắt tiền. Nếu tại nơi làm việc mà chúng ta sử dụng UNIX thì ở nhà chúng ta cũng thích sử dụng một hệ nào đó giống như thế nhưng rẻ tiền. Linux giúp chúng ta dễ dàng truy cập, lướt qua các Website và gửi nhận thông tin trên mạng Internet. Nếu chúng ta là một quản trị viên UNIX thì về nhà chúng ta cũng có thể sử dụng Linux để thực hiện mọi công việc quản trị hệ thống. Một nguyên nhân khác làm cho Linux dễ đến với người dùng là nó cung cấp mã nguồn mở cho mọi người. Chính điều này đã khiến một số tổ chức, cá nhân hay quốc gia đầu tư vào Linux nhằm mở rộng sự lựa chọn ra ngoài các phần mềm đóng kín mã nguồn. Họ cho rằng, mặc dù có dịch vụ hậu mãi nhưng không gì đảm bảo được rằng khi dùng các sản phẩm đóng kín này trên Internet, các thông tin cá nhân hay quốc gia của họ có bị gửi về một tổ chức hay một quốc gia nào khác hay không. Thí dụ Trung Quốc đã phát triển hệ điều 11
  12. hành Hồng Kỳ từ kernel của Linux để không bị lệ thuộc Microsoft Windows, cũng như họ đang tự nghiên cứu bộ vi xử lý Hồng Tâm để thay thế cho họ chip Intel. Tại Việt Nam, việc nghiên cứu xây dựng một hệ điều hành từ kernel Linux đã thu được một số thành công nhất định. Chắc chúng ta cũng đã biết đến Vietkey Linux và CMC RedHat Linux (phiên bản tiếng Việt của RedHat Linux 6.2). Gần đây, các công ty nổi tiếng như IBM, Sun, Intel, Oracle cũng bắt đầu nghiên cứu Linux và xây dựng các phần mềm ứng dụng cho nó. 1.3. Các bản phát hành Linux Nhiều người đã biết đến các nhà sản xuất phần mềm RedHat, ManDrake, SuSE, Corel và Caldera. Có thể chính chúng ta cũng đã từng nghe đến tên các phiên bản Linux như Slackware, Debian, TurboLinux và VA Linux, v.v. Quả thật, Linux được phát hành bởi nhiều nhà sản xuất khác nhau, mỗi bản phát hành là một bộ chương trình chạy trên nhóm tệp lõi (kernel) của Linus Tordvalds. Mỗi bản như vậy đều dựa trên một kernel nào đó, thí dụ bản RedHat Linux 6.2 sử dụng phiên bản kernel 2.2.4. Hãng RedHat đã làm ra chương trình quản lý đóng gói RPM (RedHat Package Manager), một công cụ miễn phí giúp cho bất cứ ai cũng có thể tự đóng gói và phát hành một phiên bản Linux của chính mình. Thí dụ bản OpenLinux của Caldera cũng đã được tạo ra như thế. 1.4. Lợi thế của Linux Tại sao có thể chọn Linux thay vì chọn một trong những hệ điều hành khác chạy trên PC như DOS, Windows 95/98, Windows NT, hoặc Windows 2000 ? Linux cung cấp cho chúng ta một môi trường học lập trình mà hiện nay chưa có hệ nào sánh được. Với Linux, chúng ta có đầy đủ cả mã nguồn, trong khi đó các sản phẩm mang tính thương mại thường không bao giờ tiết lộ mã nguồn. Cuối cùng, Linux mang đến cho chúng ta cơ hội sống lại bầu không khí của cuộc cách mạng vi tính trước kia. Cho đến giữa thập niên 1970, máy tính điện tử còn là sân chơi riêng của các tổ chức lớn, chẳng hạn như chính quyền, tập đoàn doanh nghiệp và trường đại học. Người dân thường đã không thể sử dụng những thành tựu kỳ diệu của công nghệ thông tin. Song với sự xuất hiện của bộ vi xử lý đầu tiên (1971) rồi máy tính cá nhân (1975), mọi việc đã thay đổi. Thoạt tiên, đó là đất dụng võ của các tay hacker say mê vi tính. Họ thậm chí có thể tự làm ra những máy tính cá nhân và hệ điều hành đơn giản, nhưng các hệ này chưa làm gì được nhiều ở góc độ hiệu năng. Với kinh nghiệm tích luỹ dần theo năm tháng, một số hacker đã trở thành nhà doanh nghiệp, rồi cùng với khả năng tích hợp ngày càng cao của các vi mạch, PC đã trở thành phổ biến (rất tiếc hiện nay xã hội thường nghĩ xấu về chữ "hacker", xin mời chúng ta xem thêm mục "Ai phát triển Linux?" ở cuối chương này để phân biệt rõ hơn hacker và cracker là những ai). Ngày nay Linux đang làm một cuộc cách mạng ở lĩnh vực phần mềm hệ thống. Linux là lá cờ tập hợp những con người không muốn bị kiểm sát bởi các hãng khổng lồ nhân danh kinh tế thị trường để làm xơ cứng óc sáng tạo và cải tiến. Với Linux chúng ta sẽ khai thác được nhiều thế mạnh của UNIX. Trong số những hệ điều hành thông dụng hiện nay, Linux là hệ điều hành miễn phí được nhiều người sử dụngrộng rãi nhất. Bản thân Linux đã hỗ trợ sẵn sàng bộ giao thức mạng TCP/IP, giúp chúng ta dễ dàng kết nối Internet và gửi thư điện tử. Linux thường đi kèm XFree86 là một giao diện đồ hoạ cho người sử dụng (GUI) và cũng được phát hành miễn phí. XFree86 cung cấp cho chúng ta các chức năng phổ biến ở một số thương phẩm khác, chẳng hạn như Windows. 12
  13. Tính khả chuyển của một hệ điều hành giúp chúng ta chuyển nó từ một nền này sang nền khác mà vẫn hoạt động tốt. Thí dụ UNIX là một hệ có tính khả chuyển cao. Ban đầu UNIX chỉ hoạt động trên một nền duy nhất, đó là máy tính mini DEC PDP-7. Hiện nay UNIX và Linux có khả năng chạy trên bất kỳ nền nào, từ máy xách tay cho đến máy tính lớn. Nhờ tính khả chuyển, các máy tính chạy UNIX và Linux trên nhiều nền khác nhau có thể liên lạc với nhau một cách chính xác và hữu hiệu. Những hệ này có thể hoạt động mà không cần phải bổ sung thêm bất kỳ giao diện liên lạc đắt tiền nào, mà thông thường chúng ta phải mua thêm sau khi mua những hệ điều hành khác. Linux đã có hàng ngàn ứng dụng, từ các chương trình bảng tính điện tử, quản trị cơ sở dữ liệu, xử lý văn bản đến các chương trình phát triển phần mềm cho nhiều ngôn ngữ, chưa kể nhiều phần mềm viễn thông trọn gói. Ngoài ra Linux cũng có hàng loạt trò chơi giải trí trên nền ký tự hoặc đồ hoạ. Phần lớn những chương trình tiện ích và ứng dụng có sẵn cho Linux lại không mất tiền mua. Các chúng ta chỉ phải trả chi phí cho việc tải chúng từ Internet xuống hoặc trả cước phí bưu điện. Đến với Linux, giới lập trình sẽ có một loạt các công cụ phát triển chương trình, bao gồm các bộ biên dịch cho nhiều ngôn ngữ lập trình hàng đầu hiện nay, chẳng hạn như C, C++. Chúng ta cũng có thể dùng ngôn ngữ Pascal thông qua trình biên dịch FreePascal. Nếu chúng ta không thích sử dụng những ngôn ngữ vừa kể, Linux có sẵn các công cụ như Flex và Bison để chúng ta xây dựng ngôn ngữ riêng cho mình. Hai khái niệm hiện nay được đề cập rất nhiều là hệ thống mở (open system) và tính liên tác (interoperability) đều gắn với khả năng của những hệ điều hành có thể liên lạc với nhau. Phần lớn các hệ mở đòi hỏi phải thoả mãn tương thích tiêu chuẩn IEEE POSIX (giao diện hệ điều hành khả chuyển). Linux đáp ứng những tiêu chuẩn ấy và được lưu hành với mã nguồn mở. 1.5. Ai phát triển Linux Nói chung, Linux là một hệ thống được xây dựng bởi các hacker và cho các hacker. Mặc dù hiện nay trong xã hội từ hacker thường có hàm ý tiêu cực, song nếu theo nghĩa ban đầu thì hacker không phải là tội phạm. Hacker tìm hiểu những gì có bên trong một hệ thống cho đến từng chi tiết và có khả năng sửa chữa nếu hệ thống ấy bị hỏng hóc. Đa số các hacker không xâm nhập hệ thống vì tiền bạc hoặc ác ý, mặc dù sau này đã có những người vượt qua giới hạn ấy và bị tập thể các hacker gọi là cracker (tin tặc) hay hacker mũ đen. Giới hacker cảm thấy bị xúc phạm khi mọi người xem họ như lũ phá hoại và gọi chung là tin tặc. Thực ra, những hacker chân chính, còn gọi là hacker mũ trắng, rất có công trong việc phát hiện kẽ hở của các phần mềm, giúp mọi người và chủ nhân của những phần mềm ấy cảnh giác trước sự tấn công của giới tin tặc. Cũng nhờ công cuộc bảo vệ này mà Linux và các ứng dụng Linux (nói rộng hơn là các phần mềm nguồn mở) càng ngày càng an toàn hơn Ngoài đời, phần lớn những người sử dụng UNIX chỉ được cấp cho một số trương khoản với quyền hạn thu hẹp, do đó một người bình thường không thể thử nghiệm đầy đủ các câu lệnh UNIX. Với Linux chúng ta có một phiên bản hoạt động tương tự UNIX nhưng cho phép quản trị, sử dụng, vào ra thoải mái không giới hạn, một điều hiếm gặp trong cuộc sống. Linux cho chúng ta biết thế nào là làm hacker, song chúng tôi hy vọng từ đó chúng ta sẽ không trở thành cracker. 1.6. Linux cộng sinh với Windows Về nguyên tắc, tất cả các phần mềm đang chạy trên DOS hoặc Windows sẽ không chạy trực tiếp với Linux, nhưng 3 hệ điều hành này có thể cộng sinh trên cùng một máy 13
  14. PC, dĩ nhiên mỗi lúc chỉ chạy được một hệ điều hành thôi. Chúng ta cũng có thể cài thêm một chương trình đặc biệt tên là "VMWARE" để phỏng tạo một hay nhiều hệ điều hành khác nhau chạy đồng thời trên cùng một máy với điều kiện máy của chúng ta phải có một cấu hình thích hợp và đủ mạnh. Người ta còn xây dựng những chương trình phỏng tạo môi trường Windows và DOS trên nền Linux. Công ty Caldera đã chuyển WABI (Windows Applications Binary Interface) của Sun sang Linux., cho phép các ứng dụng Windows 3.1 chạy với Linux. Caldera bán sản phẩm vừa kể trên và nhiều ứng dụng Linux song vẫn biếu không phiên bản RedHat để chạy các ứng dụng do hãng bán ra. Caldera còn thử chuyển một phiên bản DR DOS sang Linux. Chương trình WINE cũng được sử dụng như một môi trường phỏng tạo Windows để có thể chạy các ứng dụng Windows trong Linux. Nói chung, Linux có khả năng chạy các ứng dụng Macintosh, DOS và Windows. Ngược lại, cũng có nhiều người đang soạn thảo những chương trình phỏng tạo Linux trên nền Windows như đã từng có chương trình cho phép chạy các phần mềm Macintosh trên nền Sun và Windows. Chúng ta có thể xem các thông tin liên quan mới nhất trên các Web site về Linux. Muốn cài đặt Linux chúng ta phải phân vùng lại ổ cứng máy mình, mặc dù không phải lúc nào cũng nhất thiết làm như thế. Chúng ta phải xoá một phần ổ cứng chứa chương trình và dữ liệu có sẵn trong đó. Hiện nay, việc cài đặt Linux mà không phân vùng lại ổ cứng đã được giải quyết nhưng khi chạy vẫn còn chậm. Do đó khi dự định cài đặt Linux chúng ta nên sao lưu ổ cứng ra vài ba bản. Ổ cứng cũng cần phải còn đủ chỗ cho cả Linux và những hệ điều hành khác, chúng ta phải quyết định cái nào giữ lại và cái nào bỏ đi. Chúng ta có nhiều lựa chọn để phân vùng lại ổ cứng. Chẳng hạn chúng ta có thể dành chỗ riêng cho DOS và Linux, hoặc chúng ta chạy một chương trình phân vùng ổ cứng mà không phải xoá các tệp có sẵn. Tuy nhiên rủi ro mất dữ kiện khi cài đặt vẫn còn đó. Khi phân vùng lại ổ cứng, chúng ta sẽ kiểm soát vùng đĩa dành riêng cho Linux hữu hiệu hơn, và Linux cũng chạy tốt hơn. Dung lượng đĩa cứng dành cho Linux sẽ tuỳ vào việc chúng ta muốn cài bao nhiêu ứng dụng và đó là phiên bản Linux nào. Chúng ta cần có ít nhất 300 MB trống trên ổ đĩa cứng nếu muốn cài RedHat 7.2, chưa kể đến tất cả các chương trình và dữ liệu mà chúng ta muốn giữ lại từ hệ điều hành trước đó. Nếu ổ cứng của chúng ta còn nhiều hơn thì càng tốt. Chúng ta cần phải học cách quản lý hệ thống Linux để trở thành quản trị viên hệ thống (system administrator hoặc sys admin). Công việc của quản trị viên hệ thống bao gồm: thêm bớt trương khoản cho những người sử dụng, đều đặn sao lưu dữ liệu, cài đặt thêm phần mềm mới, thiết lập cấu hình hệ thống, và giải quyết các hỏng hóc. Linux càng ngày càng phổ biến vì thế nguồn tài liệu hiện nay rất phong phú. Phần lớn các bản phát hành Linux đều kèm theo hàng ngàn trang tài liệu. Có thể dễ dàng tìm thấy những thông tin tương tự tại thư mục /DOCS trên các CD chứa Linux. 1.7. Thương mại hoá Linux Cũng như mọi phần mềm, Linux chưa thể khắc phục hết ngay những bất tiện và sai sót. Nhưng rõ ràng càng ngày càng có thêm công ty mới đầu tư cho Linux và đưa ra các giải pháp ít nhiều có tính thương mại với giá rất rẻ. Xin nêu tên hai trong số các công ty đó là RedHat và Caldera. 14
  15. Cả hai công ty này đều trợ giúp kỹ thuật qua e-mail, fax và qua mạng cho những người đã mua các phiên bản Linux và sản phẩm của họ mà không dành cho những người sao chép các bản miễn phí. Vì tính kinh tế, Linux và các chương trình kèm theo thường được chạy trên mạng nội bộ của nhiều doanh nghiệp, chẳng hạn làm các dịch vụ Web, tên miền (DNS), định tuyến (routing) và bức tường lửa. Nhiều nhà cung cấp dịch vụ Internet (ISP) cũng dùng Linux làm hệ điều hành chính. Ngoài việc phân phối RedHat Linux với RPM, doanh nghiệp RedHat còn có những sản phẩm khác, thí dụ bộ ứng dụng văn phòng Applixware, bao gồm một phần mềm xử lý văn bản, một phần mềm bảng biểu, một phần mềm trình diễn, một công cụ thư điện tử cùng với nhiều công cụ triển khai lập trình và giao diện đồ hoạ XFree86 Nhưng chỉ cần trả khoảng một nửa giá bán của riêng Windows XP thôi, chúng ta sẽ nhận được một bản RedHat kèm các phần mềm nói trên mà không cần phải mua thêm MS Office, v.v. Caldera lúc đầu chỉ phát hành từ mạng Internet các sản phẩm dựa trên RedHat và Novell, trước khi có OpenLinux, một hệ điều hành giá rẻ với kernel 2.x. Sản phẩm này bao gồm một giao diện đồ hoạ có khả năng quản lý hệ thống và tài nguyên mạng, cùng với các ứng dụng mạng chủ yếu. OpenLinux tích hợp một X server thương mại của MetroLink và một phiên bản trình duyệt đã đăng ký đầy đủ của Netscape Navigator. Hiện nay, Caldera tách riêng OpenLinux thành 2 sản phẩm khác nhau: một để dùng cho máy tính cá nhân và một để dùng cho máy chủ. Caldera cũng phát hành bản Corel WordPerfect cho Linux, cùng với một bộ ứng dụng văn phòng hướng Internet. Ngoài ra Caldera còn phát triển phần mềm tương thích công nghệ WABI của SunSoft, cho phép người dùng cuối chạy các ứng dụng Windows trên nền Linux. 2. Unix và Linux Mục tiêu : - Trình bày được lịch sử phát triển của hệ điều hành UNIX và Linux Lịch sử Linux phát xuất từ UNIX và cụ thể liên quan đến Minix. Minix là một hệ điều hành nhỏ kiểu UNIX, minh hoạ bộ sách giáo khoa rất nổi tiếng do Tannebaum viết từ giữa những năm 1980. Minix đã từng phổ biến trên nhiều máy tính mini và PC. Còn Bell Laboratories thuộc công ty AT&T là nơi hệ điều hành UNIX sinh ra, song chính các tập thể và cá nhân khác đã cải thiện UNIX qua nhiều năm. Từ năm 1969, Thompson và các cộng sự ở Bell Laboratories đã phát triển UNIX, một hệ điều hành rất linh động và phù hợp với nhiều yêu cầu khác nhau của giới lập trình. Khởi thuỷ, hệ điều hành MULTICS của Viện MIT đã gợi ý cho Thompson viết được sản phẩm của mình, nhưng sau này chỉ có UNIX trở thành một tiêu chuẩn công nghiệp cho các hệ điều hành đa nhiệm và đa người dùng. Năm 1978, Berkeley Software Distribution (BSD) thuộc Đại học Berkeley tại California đã phát triển phiên bản UNIX đầu tiên của mình từ nền phiên bản UNIX v.7 của AT&T, với ý đồ sao cho UNIX trở nên thân thiện hơn với người sử dụng. Mặc dù không hoàn toàn tương thích với UNIX nguyên thuỷ của AT&T, phiên bản BSD UNIX vẫn đạt được mục tiêu đề ra nhờ những tiện ích mới đã làm nhiều người hài lòng. Sau đó BSD đã phát hành FreeBSD, một phiên bản dành cho họ vi xử lý Intel 386 và phân phối khá hạn chế qua Internet hoặc CD-ROM, rồi các tác giả đã công bố bản này trên tạp chí Dr. Dobb's. Hiện nay bản thương phẩm của FreeBSD đã trở thành một hệ điều hành thông dụng tương tự như Linux. 15
  16. UNIX System Laboratories (USL) là một công ty ra đời từ AT&T và đã từng triển khai UNIX System V từ đầu thập niên 1980. Trước khi được Novell mua lại hồi năm 1993, USL sở hữu mã nguồn của tất cả các phiên bản xuất xứ từ UNIX System V. Tuy nhiên hồi ấy USL chưa bán ra được những bản sẵn sàng cho người tiêu dùng. Bản phát hành đáng nhớ nhất của USL là UNIX System V Release 4.2 (SVR4.2). Đây là lần đầu tiên mà USL tham gia vào thị trường với qui mô lớn. Lúc ấy Novell và USL khai trương một công ty liên doanh mang tên Univel để sản xuất hàng loạt phiên bản SVR4.2 gọi là UnixWare. Khi mua lại USL, Novell đã chuyển vai trò trọng tâm của USL từ nhà sản xuất mã nguồn thành nhà phát hành UnixWare. Cuối cùng Novell lại bán UNIX của mình cho công ty Santa Cruz Operation (SCO). Gần đây SCO phát hành bản SCO UNIX một người dùng (single-user), tuy nhiên chi phí lên đến 19 USD, khó cạnh tranh được với Linux đa người dùng. Hơn nữa SCO không công bố mã nguồn hệ điều hành của mình. Từ cuối thập niên 1970, Microsoft cũng đã từng phát triển phiên bản UNIX của mình, gọi là XENIX. Đến năm1981, trong thời kỳ cao điểm của cuộc cách mạng vi tính, máy tính cá nhân IBM-PC ra đời với hệ điều hành đơn nhiệm một người dùng DOS. Khả năng xử lý của PC tăng dần và bắt đầu sánh ngang các máy tính mini vào cuối thập niên 1980, khi sự ra đời của bộ vi xử lý Intel 386 cho phép XENIX có thể chạy trên PC. Microsoft và AT&T đã đồng ý nhập XENIX và UNIX vào thành một phiên bản duy nhất gọi là System V/386 Release 3.2, có khả năng hoạt động hầu như trên mọi cấu hình phần cứng của PC 386. Sun Microsystems có đóng góp lớn lao vào việc mở rộng thị trường UNIX khi sản xuất ra các máy chủ và máy trạm chạy với hệ điều hành SunOS trên nền UNIX BSD. Cuối cùng BSD và SVR4 cũng đã hội tụ và tương thích với nhau. IBM bước vào thế giới của UNIX bằng sản phẩm mang tên hệ điều hành AIX (Advanced Interative Executive). Các công ty HP và Apple cũng phát triển phiên bản UNIX của mình, gọi là HP-UX và A/UX. Mặc dù AIX, HP-UX và A/UX không nổi tiếng bằng vài phiên bản UNIX khác, song chúng chạy rất tốt và có một thị phần đáng kể. Các công ty nói trên đều giữ bản quyền phiên bản UNIX của mình, trong khi DOS và MS Windows thuộc về Microsoft. Vậy ai là chủ sở hữu của Linux? 3. Tác quyền và bản quyền Linux Mục tiêu : - Trình bày được sự tác quyền và bản quyền Linux Nói chung, Linux không phải là phần mềm công cộng, bởi vì các thành tố của nó đã được nhiều người khác đăng ký tác quyền. Linus Torvalds giữ tác quyền về kernel Linux. Công ty RedHat là chủ của phiên bản RedHat Linux, và Patrick Voldkerding giữ tác quyền bản Slackware Linux v.v. Nhưng nhiều tiện ích Linux lại có giấy phép công cộng GPL (GNU General Public License). Quả thực, Torvalds cùng nhiều người đóng góp cho Linux đã đặt công trình của mình dưới sự bảo vệ của GPL. Chúng ta có thể xem toàn văn GPL trên Internet hoặc trong tệp mang tên "copying" của mọi bản phát hành Linux. Bản quyền ấy đôi khi được gọi dí dỏm là Copyleft để đối lập chữ Copyright. GPL áp dụng cho phần mềm thuộc phong trào GNU (cũng chơi chữ: GNU's Not UNIX) và FSF (Free Software Foundation), cho phép tạo ra phần mềm tự do cho tất cả mọi người. Tự do hiểu là mỗi người đều có quyền sử dụng phần mềm GPL và tùy thích chỉnh sửa nó theo nhu cầu 16
  17. riêng của mình nhưng phải nhớ rằng không được giữ riêng bản chỉnh sửa ấy mà phải phổ biến rộng rãi để cho người khác cùng sử dụng và tiếp tục thay đổi theo ý họ. GPL cho phép tác giả chương trình được giữ tác quyền pháp lý; song tác giả phải để cho người khác thao tác, thay đổi, và thậm chí bán chương trình mới được viết lại. Tuy nhiên một khi đã bán đi rồi thì người bán không được cấm người mua thay đổi chương trình đó và phải cung cấp mã nguồn. Đó là lý do tại sao Linux đến với chúng ta cùng toàn bộ mã nguồn đầy đủ và mở. B. CÂU HỎI VÀ BÀI TẬP Câu 1: Trình bày các giai đoạn phát triển và các phiên bản của hệ điều hành Linux? Câu 2: Nêu sự khác biệt giữa Linux và Unix? Câu 3: Trình bày sự tác quyền và bản quyền Linux? 17
  18. BÀI 2: CHUẨN BỊ CÀI ĐẶT LINUX Mã bài: MĐSCMT 26.02 Giới thiệu Chúng ta sẽ tìm thấy sau đây các thông tin cần thiết trước khi cài đặt bất cứ bản phát hành Linux nào trên PC. Xin nhớ rằng Linux không phải là một thương phẩm, do đó cần phải chuẩn bị đối phó các trục trặc nếu có. Chúng ta có thể đọc thêm các HOW- TO, ngoài những mục hướng dẫn khá đầy đủ trong chương này như: - Chọn cấu hình phần cứng - Dung lượng đĩa và bộ nhớ - Những cách cài đặt Linux - Phân vùng ổ đĩa cứng Mục tiêu - Xác định cấu hình phần cứng phù hợp, sinh viên có khả năng từ nhu cầu thực tế để tính toán đưa ra cấu hình phần cứng thích hợp nhất từ bộ nhớ, dung lượng bộ nhớ, chuẩn thiết bị đầu cuối để chuẩn bị cho bước cài đặt Linux tốt nhất. - Nâng cao nhận thức về tính tương thích. Nội dung chính 1. Chọn cấu hình phần cứng Mục tiêu : - Trình bày được cách chọn cấu hình phần cứng để cài đặt hệ điều hành Linux Điều kiện cài đặt Linux thành công là có các phần cứng phù hợp. Muốn chọn cấu hình cho tương xứng, chúng ta phải biết trước bao nhiêu người sẽ sử dụng hệ thống và sẽ chạy những ứng dụng nào. Từ đó chúng ta tính ra các yêu cầu về bộ nhớ, dung lượng ổ đĩa cứng, chủng loại thiết bị đầu cuối, v.v. Ngày nay, đa số các máy tính có cài đặt Linux đều là PC và thường cũng chỉ cài đặt phiên bản cho một người sử dụng, mặc dù các máy ấy có thể liên kết với nhiều hệ thống Linux và UNIX lớn hơn. Nếu chúng ta cài đặt phiên bản Linux cho một người dùng (trường hợp hay gặp nhất) thì chúng ta cũng là quản trị viên của hệ thống. Chúng ta có trách nhiệm hiểu rõ hệ thống để thực hiện chức năng quản trị, sao cho hệ thống chạy tối ưu. Chúng ta phải bảo đảm dung lượng tối thiểu trên ổ đĩa cứng, sao lưu đều đặn, các thiết bị kết nối với hệ đều có trình điều khiển (driver) và các phần mềm cài đặt thích hợp, v.v Chúng ta nên chọn lựa các loại phần cứng mà chính đa số những người tạo ra Linux đã sử dụng. Các công ty phát triển phần mềm thương phẩm thường chạy thử sản phẩm của họ trên nhiều phần cứng khác nhau, còn cộng đồng tình nguyện triển khai Linux chỉ có máy tính của chính mình. Cũng may là cộng đồng Linux khá đông đảo cho nên hầu hết những phần cứng tiêu chuẩn của PC đều được Linux chấp nhận. Lưu ý:Linux là một hệ thống tiến hoá và thỉnh thoảng lại có thông tin cập nhật. Bản phát hành RedHat sử dụng trong tài liệu này chạy khá ổn định, tuy nhiên thực tế có những phần cứng thay đổi mà chưa được Linux biết đến. Mặc dù nhiều phần cứng có thể đã thay đổi bằng các linh kiện “nhái” hoặc tương thích Intel, song không phải tất cả những phần cứng ấy đều chạy được với Linux. 1.1. Bộ xử lý Hệ thống phần cứng phù hợp Linux thường là một PC có bộ xử lý Intel 386 hoặc hiện đại hơn, chẳng hạn như 486, 586 hoặc Pentium. Những bộ xử lý nhái Intel như của Cyrix hoặc AMD cũng đều chấp nhận Linux. 18
  19. Một số PC không có bộ đồng xử lý toán học, nhưng Linux không nhất thiết cần đến bộ phận này vì có thể phỏng tạo nó bằng cách sử dụng các chương trình con, dù rằng như thế sẽ giảm tốc độ thi hành. Kernel Linux cũng được phát triển cho một số bộ xử lý khác, chẳng hạn như DEC Alpha, IBM PowerPC và Sun Sparc, thậm chí cho cả các bộ xử lý dùng trong hệ thống nhúng (embedded) như Network PC của Caldera. 1.2. Bus hệ thống Linux thường chạy với các loại bus như ISA, EISA và PCI. Các kernel mới của Linux (từ 2.2 trở đi) có thể chạy với bus AGP. Với bus MCA trên máy tính PS/2 của IBM, chỉ các bản kernel từ 2.0.7 là chạy được. Một số hệ thống sử dụng loại bus cục bộ, gọi là VLB, để truy cập đĩa cứng và hiển thị màn hình nhanh hơn cũng được Linux chấp nhận. 1.3. Bộ nhớ Linux không đòi hỏi nhiều RAM, nhất là khi so sánh với các hệ điều hành khác như Windows 2000, XP hoặc Windows NT. Theo kernel và HOW-TO phiên bản ngày 11-7-2001, Linux chỉ cần 2 MB RAM, nhưng trong thực tế sử dụng thì Linux cần ít nhất 4 MB RAM. Thật sự, cấu hình thấp với 4 MB RAM chỉ có thể chạy ở chế độ văn bản, không có giao diện đồ hoạ. Từ phiên bản RedHat v.7.2, chúng ta cần ít nhất là 64 MB RAM và hiện nay 128 MB là yêu cầu trung bình. Nếu có ít hơn 4 MB RAM, chúng ta phải chạy với tệp hoán chuyển (swap file) ở trên đĩa cứng, được dùng như bộ nhớ ảo và do đó làm chậm hệ thống. Lượng RAM cần thiết còn phụ thuộc vào việc chúng ta sử dụng máy để làm gì. Càng muốn có nhiều chức năng chúng ta càng cần thêm RAM. Khi chúng ta dùng máy để quản trị một cơ sở dữ liệu thì lượng RAM cần thiết sẽ tăng lên rất nhiều. Việc sử dụng giao diện đồ hoạ X Window (bằng phần mềm XFree86) làm tăng nhu cầu về bộ nhớ. Chúng ta cần ít nhất 8 MB RAM vật lý và 8 MB tệp hoán chuyển, tức là 16 MB RAM ảo để có một hệ thống hoạt động hiệu quả. 1.4. Đĩa cứng Chúng ta có thể khởi động Linux từ một đĩa mềm. Mặc dù trên nguyên tắc vẫn có thể chạy Linux từ đĩa mềm, song thực tế không ai làm như thế. Nếu sử dụng PC ở nhà, chúng ta cần có một ổ đĩa mềm loại 3.5" (1.44 MB), cho dù có thể chạy thẳng Linux từ CD với bản demo của SUSE Linux 7.3 hoặc KNOPIX Để hệ thống chạy hiệu quả hơn chúng ta nên cài đặt Linux vào ổ đĩa cứng có giao diện IDE. Linux chấp nhận cả giao diện ESDI, nhưng đối với loại ổ đĩa IDE cải tiến (tức EIDE) thì chỉ có các bản kernel Linux từ 2.2.x trở lên mới tương thích hoàn toàn. Linux chấp nhận giao diện SCSI với bìa điều khiển của các hãng Adaptec, Future Domain, Seagate, UltraStore, cũng như với các bộ thích nghi (adapter) trên bìa ProAudio Spectrum 16 và Western Digital. 1.4.1. Dung lượng ổ đĩa cứng Sau khi có bìa điều khiển thích hợp cho ổ đĩa rồi, chúng ta phải quan tâm đến các yêu cầu về dung lượng ổ đĩa. Linux chấp nhận một lúc nhiều ổ đĩa cứng và có thể cài đặt nó không cùng trên một ổ duy nhất. Muốn sử dụng Linux cho có hiệu quả, chúng ta phải phân vùng lại ổ đĩa cứng và cấp phát đủ dung lượng đĩa cho các tệp hệ thống Linux và cho các tệp dữ liệu của chúng ta. Phân vùng (Partition) là chia những vùng theo ý của người sử dụng khi bắt đầu thiết lập thông số cho ổ đĩa cứng và trước khi định dạng ổ đĩa cứng. 19
  20. Dung lượng đĩa cần thiết tuỳ thuộc vào phần mềm chúng ta sẽ cài đặt và số lượng dữ liệu mà phần mềm ấy sinh ra. So với hầu hết các hệ điều hành kiểu UNIX, Linux đòi hỏi dung lượng đĩa ít hơn. Chúng ta có thể chạy toàn bộ hệ Linux (không có phần X Window-tức là chỉ ở Text mode) với chỉ 80 MB (bản kernel 2.2.4-10). Nếu cài đặt không sót một thứ gì trong bản phát hành, chúng ta sẽ cần từ 1.8 GB đến 3.5 GB tuỳ theo phiên bản và nhà sản xuất. Thông thường lệnh DOS fdisk hoặc một vài thương phẩm khác cho phép chúng ta phân chia lại ổ đĩa cứng và Linux cũng có tiện ích tương tự gọi là FIPS. Chú ý: Nếu chúng ta cài đặt Linux vào một ổ đĩa cứng mới nguyên thì không sao, còn đối với ổ đang dùng thì phải phân vùng và định dạng lại. Việc này sẽ xoá sạch toàn bộ thông tin trên ổ đĩa cứng, do đó chúng ta phải sao lưu cẩn thận trước khi cài đặt Linux. Nếu ổ đĩa cứng có dung lượng lớn, chúng ta có thể phân thành nhiều vùng và sao chép thông tin trở lại vào các vùng đã khai báo. 1.4.2. Phân vùng hoán chuyển Như đã nói ở trên, nếu chúng ta có ít RAM thì phải cần đến phân vùng hoán chuyển (swap partition). Một số hệ điều hành như Microsoft Windows lưu trữ tệp hoán chuyển trên ổ đĩa cứng như bất kỳ tệp nào khác, trong khi đó Linux cho phép tệp hoán chuyển cư trú trên một phân vùng dành riêng cho nó. Khi cài đặt, nhiều người sử dụng phân vùng hoán chuyển thay vì tệp hoán chuyển. Bởi vì có thể tạo ra nhiều phân vùng trên cùng một ổ đĩa cứng vật lý nên chúng ta có thể đặt phân vùng hoán chuyển trên cùng ổ đĩa với Linux. Tuy nhiên nếu đặt phân vùng hoán chuyển trên ổ đĩa khác, Linux sẽ chạy tốt hơn. Linux cho phép chúng ta tạo ra đến 8 phân vùng hoán chuyển. Nên đặt kích cỡ phân vùng hoán chuyển to gấp đôi số lượng RAM vật lý của máy chúng ta. Ví dụ máy chúng ta có 8 MB RAM thì phân vùng hoán chuyển nên là 16 MB. 1.5. Yêu cầu về màn hình Đối với các thiết bị cuối làm việc ở chế độ văn bản (ASCII terminal), Linux chấp nhận tất cả mọi loại màn hình (video monitor) và bìa điều khiển màn hình (video adapter) hợp các chuẩn Hercules, CGA, EGA, VGA và SuperVGA. Khi làm việc ở chế độ đồ hoạ, chúng ta cũng có thể chạy được bất kỳ tổ hợp màn hình và bìa điều khiển nào. Để tận dụng việc Linux có khả năng hiển thị đầy đủ các màu, chúng ta nên sử dụng màn hình màu. Nhưng phiền toái có thể sinh ra khi chúng ta chạy XFree86 (phiên bản giao diện đồ hoạ X Window phát hành kèm theo Linux). Muốn chạy XFree86 chúng ta cần có một trong các bìa điều khiển màn hình liệt kê tại bảng sau. Ghi chú: Bộ xử lý đồ hoạ là một nhóm các mạch tích hợp (chip, intergrated circuit) có chức năng lấy thông tin đầu ra từ máy vi tính và chuyển chúng thành một hình gồm những điểm sáng hiển thị trên màn hình. Muốn biết chính xác bìa điều khiển dùng bộ xử lý đồ hoạ nào, cần xem kỹ hồ sơ đi kèm với bìa đó. Một số nhà sản xuất bìa điều khiển màn hình không cung cấp đủ thông tin cần thiết để lập trình trong XFree86, do đó khi chạy phần mềm này có thể các thông tin không được hiển thị trơn tru. Một vài hãng bằng lòng cung cấp thông tin nhưng đòi hỏi phải trả phần trăm quyền sở hữu, hoặc yêu cầu bảo mật. Ghi chú: Trước đây các bìa điều khiển màn hình của hãng Diamond không chạy được với Linux vì những lý do liên quan đến quyền sở hữu. Hiện Diamond đã bắt đầu làm việc với nhóm XFree86 để tìm giải pháp tương thích với Linux. 20
  21. 1.6. Ổ CD Muốn cài đặt Linux từ đĩa CD, máy chúng ta phải có ổ CD tương thích với Linux. Đa số các ổ CD trước kia sử dụng giao diện SCSI, do đó bất kỳ bộ điều khiển SCSI nào được liệt kê ở mục “Ổ đĩa cứng" nói trên đều được Linux chấp nhận. Hiện nay Linux tương thích với nhiều ổ CD loại mới, sử dụng giao diện EIDE và ATAPI đang có trên thị trường. Nhiều ổ CD được bán theo dạng trọn gói multimedia có thể tương thích hay không tương thích với Linux, tuỳ vào việc bộ điều khiển có giao diện chuẩn SCSI thật hay chỉ là bộ thích nghi theo chuẩn riêng. Hầu hết các bộ thích nghi theo chuẩn riêng không hoạt động với Linux. Tuy nhiên Linux lại tương thích với các ổ CD kiểu Creative Labs Soundblaster và cung cấp một cấu hình cài đặt riêng biệt cho các CD này. Sau đây là một số ổ CD tương thích với Linux: 1.6.1 Các ổ đĩa CD phổ quát Các ổ đĩa có giao diện SCSI (xem tài liệu CD HOW-TO): Bất kỳ ổ SCSI CD với khối (block) 512 hay 2048 bytes đều có thể làm việc được trong Linux. Các ổ đĩa có giao diện EIDE (ATAPI) CD và IDE CD: Hầu như tất cả các ổ đĩa CD tốc độ 2X, 4X, 6X đều được Linux hỗ trợ Thí dụ các ổ đĩa CD phổ quát : Mitsumi FX400, Nec-260, Sony 55E v.v. 1.6.2. Các ổ đĩa CD đặc chủng Aztech CDA268-01A, Orchid CDS-3110, Okano/Wearnes CDD-110 Conrad TXC, CyCDROM CR520ie/CR540ie/CR940ie (AZTCD) Creative Labs CD-200(F) (SBPCD) Funai E2550UA/MK4015 (SBPCD) GoldStar R420 (GSCD) IBM External ISA (SBPCD) Kotobuki (SBPCD) Lasermate CR328A (OPTCD) LMS Philips C MB 206 (CM206) Longshine LCS-7260 (SBPCD) Matsushita/Panasonic CR-521/522/523/562/563/(SBPCD) MicroSolutions Backpack parallel portdrive (BPCD) Mitsumi CR DC LU05S (MCD/MCDX) Mitsumi FX001D/F (MCD/MCDX) Optics Storage Dolphin 8000AT (OPTCD) Sanyo CDR-H94A (SJCD) Sony CDU31A/CDU33A (CDU31A) Sony CDU-510/CDU-515 (SOMYCD535) Sony CDU-535/CDU-531 (SONYCD535) Teac CD-55A SuperQuad (SBPCD) 1.7. Truy cập mạng Hiện nay có thể kết nối các hệ thống Linux bằng nhiều cách, song hai cách phổ biến nhất và có sẵn nhiều thiết bị nhất là sử dụng giao diện mạng hoặc modem. Các giao diện mạng bao gồm Token Ring, FDDI, ATM và Ethernet. Hầu hết các mạng thông thường đều sử dụng giao diện Ethernet. 21
  22. 1.7.1. Truy cập qua Ethernet Khởi thuỷ do Xerox, DEC và Intel đề ra, Ethernet từ lâu đã trở thành giao diện mạng phổ biến nhất. Mặc dù ở nhà ít ai dùng máy Linux để kết nối vào mạng Ethernet, song ở các cơ quan, doanh nghiệp và trường học thì đó là điều thường thấy. Bảng sau đây liệt kê những bìa giao diện mạng Ethernet được Linux chấp nhận: 3Com 3c501, 3c503, 3c505, 3c507 3Com 3c509/3c509B (ISA) 3Com 3c579 (EISA) 3Com Etherlink III Vortex Ethercards 3c590, 3c592, 3c595, 3c597 (PCI) 3Com Etherlink XL Boomerang 3c900, 3c905 (PCI) 3Com Cyclone 3c905B, 3c980 3Com Fast EtherLink Ethercard 3c515 (ISA) 3Com 3ccfe575 Cyclone Cardbus (3c59x driver, PCMCIA) 3Com 3c575 series Cardbus (3c59x driver, PCMCIA) AMD LANCE 79C960/PCnet (ISA/PCI) AT&T GIS WaveLAN Allied Telesis AT1700 Allied Telesis LA100PCI-T Allied Telesyn AT2400T/BT ("ne" module) Ansel Communications AC3200 (EISA) Apricot Xen-II/82596 Cabletron E21xx Cogent EM110 Crystal Lan CS8920, Cs8900 Danpex EN-9400 DEC DE425 (EISA) / DE434/DE435 (PCI) / DE450/DE500 (DE4x5 driver) DEC DE450/DE500-XA (dc21x4x) (Tulip driver) DEC DEPCA và EtherWORKS DEC EtherWORKS 3 (DE203, DE204, DE205) DEC QSilver's (Tulip driver) Digi International RightSwitch DLink DE-220P, DE-528CT, DE-530+, DFE-500TX, DFE-530TX Fujitsu FMV-181/182/183/184 HP PCLAN (27245 và 27xxx series) HP PCLAN PLUS (27247B và 27252A) HP 10/100VG PCLAN (J2577, J2573, 27248B, J2585) (ISA/EISA/PCI) ICL EtherTeam 16i/32 (EISA) Intel EtherExpress Intel EtherExpress Pro KTI ET16/P-D2, ET16/P-DC ISA Macromate MN-220P (PnP hoặc NE2000 mode) NCR WaveLAN Novell NE2000/NE1000 Netgear FA-310TX (Tulip) New Media Ethernet PureData PDUC8028, PCI8023 SEEQ 8005 22
  23. SMC Ultra/EtherEZ (ISA) SMC 9000 series SMC PCI EtherPower 10/100 (Tulip driver) SMC EtherPower II (epic100.c driver) Sun LANCE adapters (kernel 2.2 và mới hơn) Sun Intel adapters (kernel 2.2 và mới hơn) Schneider & Koch G16 Western Digital WD80x3 Zenith Z-Note / IBM ThinkPad 300 built-in adapter Znyx 312 EtherArray (Tulip driver) 1.7.2. Truy cập qua modem Khi làm việc ở nhà, chúng ta thường kết nối với bên ngoài qua modem và mạng điện thoại bằng các giao thức liên lạc nối tiếp như SLIP hoặc PPP. Nói chung, Linux tương thích với mọi loại modem sử dụng cổng Serial RS-232 đang bán trên thị trường. Đa số các loại modem nối qua cổng USB và modem gắn trong (internal modem) các PC cũng chạy được dưới Linux. Trong một số trường hợp, chúng ta không có trình điều khiển riêng cho modem chạy với Linux và sẽ phải sử dụng trình điều khiển phổ quát (generic driver). Nếu sử dụng được một modem dưới DOS thì chúng ta sẽ không có khó khăn gì cho nó chạy dưới Linux. Dưới đây là danh sách các modem tương thích Linux hiện nay: 3Com 3CXM256/3CCM256 và 3CXM656/3CCM656 PCMCIA AOpen FM56-P và FM56-H AT&T/Lucent winmodem Boca Research 28.8 internal modem (model MV34AI) Boca Research 33.6 internal modem (model MV34) MC2920A-3.3, E6030D 4035-01 và 1721 8011 A Cirrus Logic CL-MD3450D-SC-B Cirrus Logic MD1724-11VC-D Datatronic VLM301-1 Omron G5V-1 AST M628032-20E1 Cirrus Logic CD-MD4450C-SC-A Abracon 23-040-20 Compaq 192PCMCIA modem/serial card HP Fastmodem D4810B IBM Mwave ( “Dolphin” card Multiwave Innovation CommWare V.34 modem Megahertz XJ/CC2560 PCMCIA New Media Winsurfer PCMCIA modem/serial card Rockwell SoftK56 US Robotics WinModem Series Zoltrix 33.6 Win HSP Voice/Speaker Phone modem Zoltrix Phantom 56K, model FM-HSP56PCI, bộ xử lý PCTel (PCI) 23
  24. 1.8. Các thiết bị khác Những mục sau đây sẽ nói về tính tương thích với Linux của các thiết bị ngoại vi khác như chuột, ổ băng từ, máy in. Các thiết bị này giúp chúng ta sử dụng Linux tiện lợi hơn, song không nhất thiết phải có. 1.8.1. Chuột Chuột máy tính là thiết bị dùng để điều khiển con chạy (cursor) trên màn hình. Nếu chỉ chạy ở chế độ văn bản thì chẳng cần đến chuột, mặc dù Linux cho phép chúng ta dùng chuột cắt những đoạn chữ từ màn hình rồi dán sang dòng lệnh, trong khi UNIX thường không làm được như vậy. Muốn chạy ở chế độ đồ hoạ dưới giao diện X Window thì chúng ta phải sử dụng chuột. Linux tương thích với hầu hết các loại chuột nối tiếp của những hãng như Logitech, Kensington, Mouseman, Microsoft, v.v. Linux cũng chấp nhận các loại chuột bus của Microsoft, Logitech, ATIXL và IBM, v.v. Những thiết bị khác dùng để điều khiển con chạy như quả cầu (trackball) và màn hình xúc giác (touch screen), mô phỏng các loại chuột vừa liệt kê, cũng đều chạy được với Linux. 1.8.2. Ổ băng từ Ổ băng từ có dung lượng lớn nên cho phép thoải mái sao lưu dữ liệu hệ thống. Linux tương thích với nhiều ổ băng từ có giao diện SCSI được liệt kê ở bảng dưới đây. Linux cũng chấp nhận các ổ băng từ rẻ tiền như Colorado Memory Systems loại 120 MB và 250 MB, được cắm thẳng vào giao diện điều khiển ổ đĩa. Các ổ băng từ cắm thẳng vào cổng song song (cổng máy in) hiện chưa được Linux chấp nhận. Hầu hết các ổ băng từ tương thích chuẩn QIC-02 chạy được với Linux. Sau đây là một số ổ băng từ tương thích với Linux: Hãng sản xuất Kiểu Exabyte Tất cả các kiểu có giao diện SCSI Sanko CP150SE Tandberg 3600 Wangtek 552ES, 515ES, 5099EN 1.8.3. Máy in Linux tương thích với toàn bộ các máy in nối qua cổng song song. Với máy in song song, thì khó khăn lớn nhất có thể gặp là hiệu ứng nấc thang. Hiệu ứng nấc thang xảy ra do cách UNIX và Linux xử lý khi xuống dòng và điều khiển đầu in quay về đầu dòng. Với UNIX, lệnh đưa giấy lên thêm một dòng (LF: line feed) sau đó đặt đầu in tại vị trí đầu dòng mới (CR: carriage return) do một ký tự duy nhất là LF điều khiển, trong khi các hệ như DOS hoặc Windows lại sử dụng cặp ký tự CR-LF cho hai lệnh trên. Khi chúng ta in một tệp UNIX bằng máy in được cấu hình cho DOS, chúng ta sẽ bị hiệu ứng nấc thang bởi vì tệp chỉ chứa ký tự LF chứ không chứa ký tự CR. Ở chiều ngược lại, các tệp văn bản soạn trong môi trường DOS/Windows cũng cần được chỉnh lý (cặp ký tự CL-LF đổi thành LF) khi chuyển sang môi trường Linux hoặc UNIX. Việc đặt cấu hình Linux để chạy với máy in nối tiếp thường khó hơn. Các chương trình cài đặt Linux về cơ bản không có sẵn công cụ hỗ trợ máy in nối tiếp. 2. Dung lượng đĩa và bộ nhớ Mục tiêu : - Trình bày được cách chọn đĩa cứng và bộ nhớ để cài đặt 24
  25. Tuỳ theo cách cài đặt, mở đầu chúng ta có thể cần ổ đĩa cứng khoảng 80G đã được định dạng để tạo ra đĩa mồi cho Linux. Sau đó chúng ta phải dành đủ dung lượng đĩa cứng; nếu cài hết mọi thứ có trên CD thì phải cần 3.5 GB, tuy nhiên vẫn có thể sử dụng ít hơn. Cần tính xem có bao nhiêu trương khoản người dùng. Nếu hệ thống chỉ có một trương khoản thì 80 MB là đủ cho RedHat 6.1, nếu không cài X Window. Tuy nhiên, càng ngày yêu cầu về dung lượng đĩa càng tăng. Bản RedHat 7.2 cài tối thiểu cũng cần tới 350 MB đĩa cứng. Tiếp theo chúng ta tính xem cần bao nhiêu cho vùng hoán chuyển (swap space) mà thường là khoảng 500 MB. Nhưng nếu chúng ta phải tạo một máy chủ cơ sở dữ liệu (database server) thì dung lượng này là không đủ. Đặc biệt với ORACLE 9i, chúng ta cần vùng hoán chuyển lớn gấp 2 hay 3 lần bộ nhớ vật lý (mà bộ nhớ vật lý tối thiểu cho ORACLE 9i đã là 256 MB). Cuối cùng chúng ta nên chừa ít nhất 1 GB cho thư mục gốc (root). Đây là thư mục chính mà từ đó chúng ta truy cập đến tất cả các thư mục thứ cấp của Linux. Cần nhắc lại là cách cài đặt Linux tối thiểu sẽ chỉ cần 350 MB (bản RedHat 7.2), trong khi cài đặt đầy đủ và dành chỗ cho nhiều user sẽ cần khoảng 5 GB. Ghi chú: Chúng ta có thể chạy một phần hệ thống Linux từ CD mà không nhất thiết phải cài đặt toàn bộ lên đĩa cứng, song như thế không đọc được các CD khác. Nếu chúng ta quyết định dùng giao diện đồ hoạ X Window, trước tiên nên ghi ra giấy xem bìa đồ hoạ của chúng ta được bộ xử lý nào điều khiển. Nếu chúng ta có chuột nối tiếp và modem, cũng nên ghi rõ tên cổng nối tiếp của chúng. Trong quá trình cài đặt chúng ta sẽ cần những thông số ấy. 3. Phân vùng ổ đĩa cứng Mục tiêu : - Biết được cách phân vùng ổ đĩa cứng - Sử dụng được các lệnh để phân vùng - Thực hiện thành thạo phân vùng ổ đĩa cứng Sau khi đã sao lưu dữ liệu và tạo ra đầy đủ các đĩa mồi và đĩa phụ trợ, hãy chuẩn bị ổ đĩa cứng cho Linux. Lưu ý: Đây là một thao tác nguy hiểm nhất bởi vì sẽ xóa mất dữ liệu cũ. Nếu chưa sao lưu hệ thống, chúng ta nên làm công việc này trước khi cài đặt hệ điều hành mới vào máy. Mặc dù có thể sử dụng chương trình thử nghiệm FIPS và các chương trình thương mại như Partition Magic để phân chia lại ổ đĩa cứng mà không phá huỷ dữ liệu, chúng tôi vẫn khuyên chúng ta sao lưu toàn bộ và đầy đủ. 3.1. Tìm hiểu về phân vùng Khi PC xuất hiện, phần lớn các hệ điều hành, chương trình và dữ liệu đều để trên đĩa mềm. Khi máy PC XT ra đời, hãng IBM mới có thêm ổ đĩa cứng 10 MB. Các hệ điều hành sơ khai như DOS chỉ truy cập được một dung lượng rất hạn chế trên ổ đĩa cứng. Sau đó các nhà sản xuất hàng năm đều tăng dung lượng của ổ đĩa cứng khiến cho DOS khó theo kịp để quản lý những dung lượng mới lớn hơn. DOS tránh né vấn đề bằng cách cho phép người sử dụng chia ổ đĩa cứng thành nhiều vùng logic, gọi là phân vùng. Các phân vùng này lưu giữ được những tệp chương trình, các hệ điều hành khác, hoặc dữ liệu. DOS thường được khởi động tại một ổ đĩa cứng gọi là ổ C. Nếu chia ổ này làm ba thì các phân vùng ổ đĩa logic sẽ gọi là C, D, E. DOS cho phép lắp nhiều ổ đĩa (ổ cứng hoặc CD), do đó nếu lắp thêm một ổ đĩa nữa, nó sẽ được gọi là F, v.v. UNIX và Linux không dùng các chữ cái ấy để gọi phân vùng, mà dùng cách khác. Người sử dụng Linux có thể đặt nhiều thư mục khác nhau trên những phân vùng khác 25
  26. nhau (của cùng một ổ đĩa cứng) và ngay cả trên các ổ đĩa cứng khác. Chúng ta cũng có thể đặt các hệ điều hành khác nhau trên các phân vùng khác nhau. Thông tin phân vùng được ghi rõ trên cung đầu tiên của ổ đĩa cứng gọi là Master boot record (MBR) và mang tên là bảng phân vùng. Bảng này được sử dụng để biết xem phải khởi động hệ điều hành ở phân vùng nào. Chức năng của MBR là mồi (boot), nghĩa là để móc nối với cơ chế khởi động hệ điều hành. Chương trình mồi LILO của Linux và các phần mềm quản lý mồi khác đều sử dụng MBR để biết xem nên khởi động hệ điều hành nào. Bảng phân vùng ghi rõ vị trí và kích thước của nhiều phân vùng trên ổ đĩa cứng. Có ba loại phân vùng: sơ cấp (Primary), mở rộng (Extended) và logic (Logical). DOS và vài hệ điều hành khác phải khởi động từ phân vùng sơ cấp. Chỉ có thể tạo tối đa 4 phân vùng sơ cấp trên một ổ đĩa cứng. Bản thân một phân vùng mở rộng không chứa dữ liệu mà chỉ ghi lại cách phân vùng cho các phân vùng khác trên ổ đĩa cứng. Số phân vùng logic trên một ổ đĩa cứng là không giới hạn. Do đó để giải quyết giới hạn của bốn phân vùng sơ cấp, chúng ta có thể chỉ định một phân vùng mở rộng và khai báo một số phân vùng logic khác ở bên trong phân vùng mở rộng. DOS và các phiên bản của OS/2 trước phiên bản 2.0 đòi hỏi phải được cài đặt trên một phân vùng sơ cấp, tuy nhiên chúng có thể truy cập các ổ logic bên trong các phân vùng mở rộng. Việc này rất quan trọng nếu chúng ta muốn cài DOS và Linux trên cùng ổ đĩa cứng. DOS phải nằm trên phân vùng sơ cấp. 3.2. Sử dụng lệnh FDISK Trên PC các phân vùng được tạo ra, xoá đi và quản lý bởi một chương trình gọi là fdisk. Mỗi hệ điều hành có fdisk riêng của mình, do đó trước khi sử dụng chúng ta phải dò lại xem có đúng phiên bản hay chưa. Nếu đang sử dụng DOS hoặc dự định sử dụng nó, trước tiên chúng ta phải phân chia lại ổ đĩa cứng bằng fdisk của DOS. Sau này chúng ta sẽ dùng fdisk của Linux để tạo phân vùng của Linux. 3.2.1. Các yêu cầu về phân vùng Trước tiên chúng ta phải xác định mình cần bao nhiêu phân vùng. Trong khi DOS cần phân vùng sơ cấp thì Linux có thể cư trú trên các phân vùng khác. Nên nhớ nếu chúng ta nén một phân vùng hiện hành của DOS để dành chỗ cho Linux, thì tất cả các tệp của chúng ta không thể phục hồi hết trên phân vùng DOS nhỏ hơn mới được tạo. Sau đó chúng ta quyết định số phân vùng cần thiết và mỗi phân vùng như thế cần bao nhiêu dung lượng ổ đĩa cứng. Ghi chú: Từ Linux, chúng ta có thể vào các phân vùng của DOS và thực hiện các lệnh di dời, sao lưu, chỉnh sửa các tệp DOS, nhưng không thể chạy các chương trình DOS bằng Linux. Hai phần mềm Linux cho phép chúng ta phỏng tạo DOS trên Linux và cài đặt Linux trên DOS. Cả hai hệ này chủ yếu thích hợp cho các hacker. Một trong những phần mềm ấy, gọi là UMSDOS, lại không tương thích với RedHat Linux. 3.2.2. Các yêu cầu về DOS Nếu chúng ta khởi động bằng DOS, máy sẽ vào một phân vùng sơ cấp. Một phiên bản mồi được (bootable) của DOS không đòi hỏi nhiều chỗ trên ổ đĩa cứng, chỉ cần đủ chỗ cho các tệp hệ thống COMMAND.COM, CONFIG.SYS và những driver cần thiết để khởi động hệ thống. Thực tế chỉ cần 5 MB cho phân vùng sơ cấp để khởi động DOS. Một khi đã tải xong và chạy DOS, chúng ta có thể vào bất cứ phân vùng mở rộng và phân vùng logic nào của hệ thống. 26
  27. Nhưng trong khi Linux có thể truy cập các tệp DOS trong một phân vùng DOS thì trái lại DOS lại không thể truy cập các tệp Linux trong phân vùng Linux. 3.2.3. Các yêu cầu về Linux Như đã nói, Linux thao tác trên các hệ thống tệp và chúng có thể trú trên nhiều phân vùng khác nhau, chủ yếu là để phòng xa. Linux đòi hỏi một phân vùng cho mỗi hệ thống tệp. Việc tiếp theo phải quan tâm là phân vùng hoán chuyển. Phần lớn các hệ điều hành đều cho phép tạo bộ nhớ ảo, Linux cũng lấy một phần ổ đĩa cứng làm tệp hoán chuyển hoặc phân vùng hoán chuyển để mô phỏng bộ nhớ vật lý. Kích thước phân vùng hoán chuyển tuỳ thuộc số lượng RAM vật lý của hệ thống máy. Một thông lệ được chấp nhận mặc nhiên là: phân vùng hoán chuyển lớn gấp đôi lượng RAM. Do đó nếu máy chúng ta có 8 MB RAM, phân vùng hoán chuyển phải là 16 MB. Nếu có từ 4 MB RAM trở xuống, chúng ta phải kích hoạt một phân vùng hoán chuyển. Đối với RedHat Linux phiên bản 6.x trở lên, tổng dung lượng dành cho các phân vùng hoán chuyển trên Linux là tuỳ ý (tối thiểu là gấp đôi dung lượng bộ nhớ vật lý), do đó chúng ta chỉ cần tính đến các yêu cầu của những ứng dụng sẽ được cài trên máy để xác định dung lượng cần cho phân vùng hoán chuyển. Ví dụ như nếu chúng ta cần cài thêm ORACLE 7.x trên máy như một máy chủ cơ sở dữ liệu thì ít nhất phần phân vùng hoán chuyển phải có dung lượng là 500 MB. Vì thế nếu ngoài một phân vùng hoán chuyển mà hệ thống Linux của chúng ta lại cần hai phân vùng khác (một cho tệp hệ thống và một cho tệp người dùng) thì tổng cộng chúng ta phải phân 3 vùng cho Linux. 3.2.4. Phân vùng lại ổ DOS Trước tiên chúng ta phải thi hành FDISK bằng cách gõ fdisk tại dấu nhắc DOS. Một menu gồm 4 tuỳ chọn FDISK sẽ hiện ra trên màn hình. Qua các tuỳ chọn, chúng ta biết phân vùng nào hiện tồn tại, biết tạo phân vùng mới và xoá phân vùng cũ. Tuỳ vào phiên bản DOS mà chúng ta đang sử dụng, màn hình sẽ hơi khác nhau một chút. Chọn “Display Partition Information” trên menu. Khi màn hình Display Partition Information xuất hiện, chúng ta nên chép lại các thông tin. Chúng ta sẽ cần những thông tin này nếu quyết định ngưng lại quá trình cài đặtLinux và phục hồi hệ thống nguyên thuỷ trên máy chúng ta. Trong DOS 6.x, nếu muốn xem tất cả các thông tin về phân vùng hiện hữu, chúng ta cũng sử dụng tùy chọn Display Partition Information. 3.2.5. Cách tránh phân vùng đĩa cứng Mặc dù việc phân vùng lại ổ đĩa cứng sẽ giúp Linux chạy tốt hơn, song không nhất thiết phải thực hiện như trên vì e mất dữ liệu. Có thể dùng FIPS để phân vùng mà không phá huỷ các thông tin trên ổ đĩa cứng. FIPS (First non-destructive Interactive Partition Splitting) là một chương trình phát triển cho Linux. Như tên gọi, FIPS sẽ di chuyển các phân vùng DOS để dọn chỗ cho các phân vùng Linux mà không phá hỏng thông tin. Muốn biết thêm, hãy tham khảo tệp fips.doc ở thư mục /utils/fips trong CD Linux. FIPS chỉ có ích khi nào ổ đĩa cứng trong máy chúng ta còn đủ khoảng trống cần thiết để cài đặt Linux, nếu không chúng ta phải xoá những tệp nào xét thấy không cần thiết. Với bản phát hành Slackware Linux, chúng ta có thể cài đặt Linux trên cùng phân vùng với DOS (nhưng lúc này gọi là UMSDOS). UMSDOS là một dự án nhằm tạo điều kiện cho Linux hiện diện trên các phân vùng DOS. Nói cách khác, UMSDOS cho phép chúng ta tạo hệ thống tệp gốc của Linux trong một thư mục DOS đã có sẵn. Tuy nhiên chúng ta không thể sử dụng UMSDOS với RedHat Linux. 27
  28. 3.2.6.Xoá bỏ phân vùng Rất tiếc là fdisk không cho phép chúng ta đặt lại kích thước của phân vùng một cách đơn giản. Trước tiên chúng ta phải xoá bỏ phân vùng ấy, sau đó lại tạo ra chính nó nhưng với kích thước mới. Từ màn hình tuỳ chọn fdisk, chọn tuỳ chọn 3, “Delete Partition” hoặc “Logical DOS Drive” để xoá phân vùng được chọn. Màn hình Delete Partition hoặc Logical DOS Drive sẽ hiện ra. Chọn tuỳ chọn tương ứng với loại phân vùng chúng ta sẽ muốn xoá, thí dụ phân vùng DOS sơ cấp. Chẳng hạn tuỳ chọn 1 (Delete Primary DOS Partition) giúp chúng ta xoá các phân vùng sơ cấp của DOS. Chọn tuỳ chọn 1 để hiển thị màn hình Delete Primary DOS Partition. Màn hình sẽ hỏi tên (volume) của phân vùng và đòi hỏi xác nhận lại lần nữa trước khi chúng ta quyết định xoá hẳn phân vùng ấy, cùng với tất cả mọi thông tin trên đó. 3.2.7. Thêm phân vùng mới Sau khi xoá các phân vùng cần xóa, chúng ta phải thêm các phân vùng thích hợp cho hệ thống DOS của chúng ta bằng tuỳ chọn “Create a DOS Partition”. Hãy chọn các tuỳ chọn sau để được thấy hồi đáp màn hình cho “Create a DOS Partition” hoặc “Logical DOS Drive”. Ghi chú: Chúng ta không thể thêm phân vùng Linux vào bằng chương trình FDISK của DOS. Việc phân chia lại ổ đĩa cứng cho Linux sẽ được bàn sau ở mục “Sử dụng lệnh fdisk của Linux”. Các hồi đáp màn hình của fdisk bao gồm thông số khoảng trống cho phân vùng (tính bằng MB) và chỉ báo về phân vùng hiện hành (sáng rõ). Phân vùng hiện hành la phân vùng có thể khởi động được. Để khởi động DOS, chúng ta phải chỉ định phân vùng sơ cấp là phân vùng hiện hành. Với sự chọn lựa đầu tiên như trên màn hình này, chúng ta nên chọn N (no) để sau đó có thể ấn định dung lượng dành cho phân vùng DOS. Nếu chúng ta chọn “no”, màn hình sẽ hiển thị “Specify Disk Space for the Partition Screen”. Chúng ta có thể chọn dung lượng dành cho phân vùng DOS bằng đơn vị MB hoặc bằng tỷ lệ phần trăm và bấm . Sau đó chúng ta chỉ định đấy là phân vùng hiện hành. Từ màn hình menu của fdisk, chúng ta chọn tuỳ chọn 2, “Set Active Partition”, sau đó làm theo các hướng dẫn. 3.2.8. Định dạng phân vùng Sau khi phân vùng lại ổ đĩa cứng, chúng ta phải chuẩn bị phân vùng mới cho DOS và phục hồi các tệp thích hợp vào phân vùng ấy. Dùng đĩa mồi đã tạo sẵn trước đó để khởi động lại máy. Tiếp theo chúng ta định dạng (format) ổ đĩa cứng thích hợp và chuyển các tệp hệ thống lên đó bằng lệnh DOS: format c: /s Khi phân vùng đã được định dạng xong, chúng ta có thể phục hồi phần sao lưu vào ổ mới. Nếu do giảm kích thước của phân vùng mà hết chỗ để phục hồi, chúng ta nên chuyển các tệp dư thừa vào các ổ DOS hoặc phân vùng DOS khác. CÂU HỎI VÀ BÀI TẬP Câu 1: Trình bày yêu cầu phần cứng phù hợp để cài đặt Linux? Câu 2: Muốn sử dụng Linux cho có hiệu quả, chúng ta phải phân vùng lại ổ đĩa cứng như thế nào? Câu 3: Trình bày các yêu cầu về phân vùng của DOS và Linux? 28
  29. Câu 4: Nêu cách tránh phân vùng đĩa cứng? BÀI 4: BẮT ĐẦU SỬ DỤNG LINUX Mã bài: MĐSCMT 26.04 Giới thiệu Bài này sẽ giúp các em học sinh thiết lập trương khoản người sử dụng (user account), giới thiệu một vài lệnh căn bản và tiện ích của hệ điều hành Linux mà các em mới cài đặt xong lên máy PC. Chúng ta có một hệ điều hành đa nhiệm và đa người dùng của riêng mình nên cứ mạnh dạn bắt tay vào thao tác để có kinh nghiệm thực tế, vì có thể các em không được gặp dịp may như thế trên những hệ UNIX thuần tuý. Ngoài ra, với Internet, chúng sẽ có cơ hội tải về hàng ngàn ứng dụng nguồn mở và miễn phí từ thế giới Linux. Mục tiêu - Thiết lập tài khoản. - Quản lý người sử dụng. - Những lệnh căn bản. - Làm việc với các tệp DOS. - Đóng chương trình Linux. - Chạy các chương trình Linux. - Chơi trò chơi trên Linux. - Chạy các chương trình DOS trên Linux. - Chạy các chương trình Windows trên Linux. - Tự tin trong việc sử dụng Hệ điều hành Linux Nội dung chính 1. Thiết lập tài khoản Mục tiêu : - Nêu được các bước thiết lập tài khoản - Thiết lập được một tài khoản bằng các dòng lệnh Việc khởi động Linux mất gần một phút, cuối cùng dấu nhắc hiện lên màn hình và mời chúng ta đăng nhập vào hệ thống. Toàn bộ thông báo đại loại có thể như sau: RedHat Linux Release 7.3 (Valhala) Kernel 2.4.18-3 on an I686 Web login: Chúng ta sẽ thấy các số hiệu khác nhau tuỳ theo phiên bản Linux được cài đặt. Đến đây chúng ta phải nhập vào tên người sử dụng (user name) và mật khẩu (password). Trương khoản người sử dụng giúp Linux phân biệt chúng ta với nhiều người khác mà nó phải phục vụ cùng lúc hoặc ở các thời điểm khác nhau. Linux chấp nhận nhiều trương khoản, mỗi trương khoản cung cấp cho từng người sử dụng một thư mục mặc định, gọi là thư mục “nhà” (home directory). 29
  30. Việc thiết lập trương khoản làm cho người sử dụng chỉ được thao tác trong phạm vi vài thư mục nào đó của hệ thống và với một số các câu lệnh nhất định mà thôi, bởi vì mục tiêu đầu tiên của trương khoản là để bảo vệ sự riêng tư của từng cá nhân. 1.1. Giao tiếp qua dòng lệnh Chúng ta nhập dòng lệnh cho Linux cũng giống như cho DOS hoặc cho những hệ điều hành giao tiếp qua dòng lệnh với người dùng. Linux đòi hỏi sự chính xác với từng ký tự trong câu lệnh, kể cả việc phân biệt chữ thường với chữ hoa. Nếu xảy ra trường hợp Linux không hiểu một câu lệnh nào đó, chúng ta nên kiểm tra xem mình viết đúng hay chưa. Đa số các câu lệnh sẽ được thực thi ngay sau khi chúng ta bấm phím . 1.2. Lịch trình nhập lệnh Nhiều shell Linux có lệnh history để xem lại lịch trình các câu lệnh được gõ vào. Lịch trình nếu không bị xoá sẽ được dùng như một thứ nhật ký của phiên sử dụng. Chúng ta có thể bấm phím để hiện lịch trình, rồi di chuyển con chạy trong đó và bấm để kích hoạt một lệnh tự chọn mà không phải gõ lại nó. Trong thí dụ sau, người sử dụng tên là Lan Anh dùng lệnh history và màn hình hiển thị một lịch trình các câu lệnh đã nhập, đại loại như: [lan_anh@web~]$history 1 clear 2 adduser 3 history Sau khi đã có lịch trình, chúng ta có thể chọn lại một lệnh trong đó bằng cách bấm phím và lướt con chạy cho đến khi gặp lệnh thích hợp. Hoặc chúng ta có thể bấm phím rồi nhập số của lệnh mà chúng ta muốn Linux thi hành lại. Thí dụ khi muốn máy thi hành lại lệnh adduser trong lịch trình trên, chúng ta gõ như sau: [lan_anh@web~]$!2 Chúng ta có thể định nghĩa số của từng dòng trong lịch trình ra lệnh tại tệp cấu hình profile ở trương khoản của người sử dụng. Ghi chú: Linux có nhiều loại shell và một số shell không có tiện ích lịch trình. 1.3. Nhập lệnh bằng sao ghép Nếu chúng ta đã cài đặt chuột và một chương trình tiện ích mang tên “selection”, chúng ta có thể sao vài đoạn chữ từ các vùng khác nhau của màn hình để ghép thành một câu lệnh. Muốn chọn một đoạn chữ, chúng ta bấm và giữ phím trái của chuột rồi kéo lê con chạy đi hết đoạn chữ (để nó đổi màu thành âm bản), sau đó bấm phím phải của chuột để sao đoạn chữ sang dòng lệnh. Thao tác này rất có ích khi chúng ta muốn nhập một câu lệnh dài. 1.4. Tự động điền lệnh Linux còn một cách khác để nhập lệnh. Chúng ta gõ vài ký tự đầu của tên lệnh rồi bấm phím . Linux sẽ tìm trong thư mục lệnh xem tệp nào có tên bắt đầu giống như những ký tự mà chúng ta vừa gõ vào, rồi tự động điền đủ tên tệp vừa được phát hiện. Trong trường hợp có vài lệnh mang các ký tự khởi đầu giống nhau, Linux sẽ phát ra âm thanh "bip" và tự động viết đủ tên lệnh cho đến ký tự chung cuối cùng mà những lệnh đó đều có. Thí dụ chúng ta muốn chép một lệnh mang tên todo_Monday sang tệp todo_today. Chúng ta gõ cp to tại dấu nhắc rồi bấm , Linux sẽ bíp và tự động viết đủ phần chung của tên tệp tại dòng lệnh như sau: 30
  31. [lan_anh@web~]$sp todo_ Nếu vào lúc này chúng ta gõ M (nghĩa là ký tự đầu tiên của chữ Monday) và bấm , Linux sẽ tự động điền đủ todo_Monday vào dòng lệnh. 2. Quản lý người sử dụng Mục tiêu : - Đăng nhập và đăng xuất được một user - Thêm người sử dụng trong Slackware - Thêm người sử dụng mới trong RedHat Linux Người chịu trách nhiệm gìn giữ các trương khoản của người sử dụng trong hệ thống được gọi là quản giá trị viên hệ thống. Quản giá trị viên hệ thống có nhiệm vụ thiết lập các trương khoản và một số các công việc khác mà chúng ta có thể tìm hiểu tại phần “Quản giá trị hệ thống” của giáo trình này. Trên hệ Linux của chúng ta, chúng ta là quản giá trị viên hệ thống, do đó chúng ta chịu trách nhiệm thiết lập trương khoản cho chính mình, cho gia đình và bè chúng ta. Muốn thêm vào trương khoản cho chính mình, chúng ta phải đóng vai trò quản giá trị viên hệ thống để tạo nó ra. Đôi lúc quản giá trị viên hệ thống còn được gọi là superuser bởi vì người này nắm quyền kiểm soát trên toàn bộ hệ thống. Để bắt đầu hành trình Linux, thoạt tiên chúng ta phải đăng nhập với tư cách là superuser qua trương khoản root. 2.1. Đăng nhập và đăng xuất Muốn đăng nhập (log in) với quyền hạn của superuser, chúng ta gõ root tại dấu nhắc đăng nhập và Linux sẽ hỏi mật khẩu. Mật khẩu ngăn cấm những người không thẩm quyền lén đăng nhập vào những trương khoản mà họ không có quyền dùng. Linux bảo vệ mật khẩu chúng ta gõ vào bằng cách không cho hiện lại (echo) các ký tự, nghĩa là không hiển thị những gì đang gõ vào, do đó chúng ta cố gắng gõ đúng mật khẩu. Nếu gõ vào tên hoặc mật khẩu không hợp lệ, Linux sẽ báo lỗi như sau: web login: lan_anh Password: password Login incorrect web login: Để đăng xuất (log out), chúng ta gõ logout. Lệnh này sẽ đưa chúng ta trở về dấu nhắc đăng nhập. Nếu lệnh này không hoạt động, chúng ta cần gõ lệnh exit. 2.2. Thêm người sử dụng trong Slackware Trong Linux Slackware, sau khi đăng nhập với tư cách là root, chúng ta bổ sung người sử dụng mới vào hệ thống hiện hành bằng cách gõ lệnh adduser: [root@web~] # adduser Adding a new user. The user name should be not exceed 8 characters in length, or you may run into problems later. Enter login name for new account (^C to quit): Chúng ta cần chú ý đến dấu nhắc, tức là chỗ mà ngay sau nó chúng ta phải gõ lệnh vào. Dấu nhắc bắt đầu bằng host name là cái tên mà chúng ta đã chọn trong khi cài đặt hệ thống và tiếp theo là ký tự ~ tức dấu sóng (tilde), kết thúc bằng dấu thăng #. Linux sử dụng ký tự ~ để biểu thị thư mục nhà (/home) của trương khoản hiện hành (sẽ giải thích ở phần sau). Tại thời điểm này host name là root@web và dấu ~ tượng trưng cho thư mục hiện hành, nghĩa là chúng ta đang ở trong thư mục ấy. Nếu chúng ta ra lệnh adduser từ thư mục /usr/bin, thì dấu nhắc sẽ có dạng: 31
  32. [root@web /usr/bin] # Ký tự cuối là dấu thăng (#), được Linux quy ước dùng để chỉ trương khoản của superuser. Các user bình thường thì có ký tự dollar ($) ở cuối dấu nhắc. Tiếp theo, chúng ta có thể thấy cảnh báo nếu có sai chính tả và ngữ pháp tại các dấu nhắc ("should be not" hoặc "you may run" ). Những sai sót này không ảnh hưởng đến an toàn máy; chỉ nhắc chúng ta nhớ rằng Linux là một hệ thống chạy được và chạy tốt, song cũng có khác các thương phẩm. Chúng ta hãy gõ vào tên một người sử dụng dài không quá tám (8) ký tự và bấm . Sau đây là một thí dụ khi cô Lan Anh tạo lập trương khoản: Enter login name for new account (^C to quit): lan_anh Editing information for new user [lan_anh] Full Name: Phan Lan Anh GID[100]: Checking for an available UID after 500 501 First unused uid is 502 UID[502]: Home directory: [/home/lan_anh] : Shell [/bin/bash]: Password: xxxxxxx Information for new user [lan_anh]: Home directory: [/home/lan_anh] Shell: [/bin/bash] Password: [xxxxxxx] uid: [502] gid: [100] Is this correct? [y/N]:y Adding login [lan_anh] and making directory [/home/lan_anh] Adding the files from the /etc/skel directory: ./.kermc -> /home/lan_anh/./.kermc ./.less -> /home/lan_anh/./.less ./.lessrc -> /home/lan_anh/./.lessrc ./.term/ -> /home/lan_anh/./.term ./.term/.termrc ->/home/lan_anh/./.termrc ./.emacs -> /home/lan_anh/./.emacs [root@web~] # Ghi chú: Chúng ta cần gõ tên đầy đủ của người sử dụng để về sau nhận diện được trương khoản ấy, rồi nhập số định danh nhóm (group ID) và số định danh người sử dụng (user ID), nhưng vào thời điểm này chúng ta đừng lo âu về những chi tiết đó. Linux dùng chúng để xác định các thư mục và các tệp mà chúng ta có quyền truy cập. Chúng ta có thể chấp nhận các giá trị mặc định (nằm bên trong ngoặc vuông) bằng cách bấm phím sau mỗi lần máy hỏi. Tiếp theo Linux nhắc chúng ta nhập tên home directory cho người sử dụng, tức thư mục sẽ dành cho người sử dụng khi đăng nhập. Đây là vùng để trương khoản của người sử dụng ấy dùng để lưu các tệp và làm việc. Linux cung cấp một thư mục mặc định dựa vào tên của người sử dụng. Nếu thư mục mặc định ấy được chúng ta chấp nhận thì bấm . Nếu không, chúng ta gõ vào một tên khác và bấm . Tạm thời chúng ta nên chấp nhận các mặc định do lệnh adduser đề nghị. Đến đây Linux yêu cầu chúng ta xác định loại shell cho người sử dụng. Shell là một chương trình diễn dịch (interpreter) tiếp nhận dòng lệnh được gõ vào và thực hiện 32
  33. một số lệnh nhất định. Kể từ đầu đến giờ, chúng ta đang dùng một shell gọi là bash. Vào thời điểm này, chúng ta chỉ cần chấp nhận tuỳ chọn mặc định bash. Tham số quan trọng cuối cùng là mật khẩu của trương khoản. Tốt nhất, đối với mỗi trương khoản chúng ta nên có một mật khẩu khác nhau. Tiếp theo, Linux sẽ hiển thị tất cả mọi thông tin được nhập vào và hỏi chúng ta xem đã chính xác chưa. Nếu chưa, chúng ta gõ n (hoặc bấm , bởi vì No là lựa chọn mặc định) sau đó trở lại chỉnh sửa những chỗ cần thiết. Chỉ khi mọi thứ đã chính xác, chúng ta mới gõ y. Linux hiển thị một loạt tệp chép từ thư mục /etc/skel sang thư mục “nhà” của người sử dụng. Đấy là những tệp cấu hình cho một số mục như terminal của người sử dụng và cách hoạt động của một số chương trình chẳng hạn như emacs và less. Sau khi thêm trương khoản vào hệ thống, chúng ta kiểm tra sự hiện diện của nó bằng một trong hai cách. Cách nhanh nhất là dùng tiện ích finger để xem người sử dụng có trương khoản hay chưa. Dạng tổng quát của câu lệnh này là : finger tên_user Thí dụ: [root@web~] # finger lan_anh Login: lan_anh Name: Phan Lan Anh Directory: /home/lan_anh Shell:/bin/bash Never logged in. No Mail. No Plan. [root@web~] # Nếu người sử dụng có một trương khoản, Linux sẽ hiển thị tình trạng ấy; nếu không thì sẽ thông báo là không có trương khoản. Cách kiểm tra thứ hai một trương khoản là đăng nhập thật sự vào trương khoản ấy để thử xem Linux có cho vào hay không. Chúng ta có thể thử bằng nhiều cách: - Đăng xuất sau đó lại đăng nhập bằng tên người sử dụng mới. - Sử dụng lệnh su. - Dùng lệnh login. - Sử dụng một trong sáu terminal ảo do Linux cung cấp để đăng nhập vào trương khoản mới (nên nhớ là Linux có đặc tính đa người dùng). Lệnh Mô tả Logout Đăng xuất khỏi trương khoản đang dùng và trở về dấu nhắc đăng nhập. Không thể truy cập vào trương khoản nói trên nếu không đăng nhập lại. su Chuyển sang trương khoản của người khác và sẽ nhập mật khẩu của tên_user trương khoản mới này. Nếu không khai tên_ user, thì mặc định là root. Người sử dụng cũ không bị đăng xuất và vẫn ở trương khoản cũ. Login tên_ Cũng là chuyển người sử dụng, nhưng người sử dụng cũ bị đăng xuất. user Nếu để trống tên_user thì hệ thống sẽ trở về dấu nhắc đăng nhập bình thường. Cho phép sử dụng 1 trong 6 terminal ảo bằng cách bấm và một phím chức năng từ F1 đến F6. Sẽ hiển thị một màn hình để có thể đăng nhập trương khoản mới. Tức là dù ở một trương khoản song vẫn có thể vào trương khoản khác và tổ hợp giúp di chuyển qua lại giữa 33
  34. hai trương khoản ấy. Bảng 4.1: Các cách kiểm tra một trương khoản Ghi chú: Nếu định thêm người sử dụng mới vào một trương khoản mà chúng ta đã tạo ra từ trước và không phải là root, chúng ta sẽ không có quyền sử dụng lệnh adduser, một câu lệnh chỉ dành riêng cho superuser. Khi đó chúng ta hãy đăng nhập lại với tư cách root. 2.3. Thêm người sử dụng mới trong RedHat Linux Phiên bản RedHat Linux có tự động hoá chức năng tạo thêm người sử dụng mới; từ dòng lệnh, chúng ta gõ: [root@web/root] #adduser lan_anh Thực chất, lệnh trên là một shell script nằm ở /usr/sbin; muốn ra lệnh đó, chúng ta phải là superuser. Giá trị của các thuộc tính sẽ có của người sử dụng mới đã được khai báo sẵn trong tệp /etc/default/useradd hay /home/etc/default/useradd. Trình script trên chỉ là một tệp văn bản, nó tạo ra các thư mục và tệp cần thiết cho người sử dụng mới. Điều còn lại phải làm là thiết lập mật khẩu người sử dụng khi người ấy đăng nhập. Việc thay đổi mật khẩu sẽ được bàn tới tại mục “Thay đổi mật khẩu”. 2.4. Dùng bảng điều khiển RedHat để quản lý người sử dụng Nếu cài đặt XFree86 chung với RedHat Linux, chúng ta có thể mở cửa sổ thiết lập cấu hình Quản lý người sử dụng và nhóm người sử dụng (User/Group Manager) trong bảng điều khiển (Control Panel) như minh hoạ 5.2 để thêm người sử dụng mới, xoá bỏ hoặc cho nghỉ một người sử dụng, hoặc thay đổi những thiết lập cho một người sử dụng. Chúng ta có thể dùng lệnh sau : từ cửa sổ shell (hay xterm, hay Run), gõ: redhat-config-users Muốn thao tác một trương khoản của người sử dụng, chúng ta chọn người sử dụng từ hộp thoại sau đó chọn nút thích hợp. Bảng 5.2 mô tả chức năng từng nút. Nút Mô tả Add Hiện hộp thoại Add User, giúp thiết lập các thuộc tính từng người sử dụng, chẳng hạn như thư mục “nhà” và mật khẩu. Deactivate Tạm treo trương khoản của một user để sau này còn sử dụng. Lý do treo có thể là user ấy nghỉ phép hoặc bị kỷ luật. Có thể nén các tệp của user ấy để tiết kiệm chỗ trống trên ổ đĩa cứng và chờ đến khi tái kích hoạt. Reactivate Tái kích hoạt trương khoản của người sử dụng. Remove Xoá một user ra khỏi hệ thống. Các thư mục và tệp của user ấy sẽ bị xoá sạch. Linux cho phép sao lưu chúng trước khi xoá hẳn. Edit Chỉnh sửa các chi tiết trương khoản của user như mật khẩu (trong trường hợp quên mật khẩu), shell và nhóm của user. Exit Thoát khỏi RH Linux User/Group Manager. Bảng 4.2: Các nút quản lý user/group của RH Linux Nhấp chuột vào nút Add sẽ hiển thị hộp thoại Add User như ở minh hoạ 5.2, chúng ta thiết lập cấu hình trương khoản cho từng người sử dụng bằng cách điền vào các trường của hộp thoại. Bảng sau mô tả các trường cùng với chức năng tương ứng. Trường Mô tả Username Tên của người sử dụng dùng để đăng nhập hệ thống Password Mật khẩu của người sử dụng đang đăng nhập. Muốn phân phối mật khẩu người sử dụng, phải dùng lệnh Edit từ menu; màn hình 34
  35. sẽ hiển thị một hộp thoại khác để nhập mật khẩu mới cho người sử dụng. Tổ hợp này cũng cho phép bỏ trống trường mật khẩu bằng cách chọn giá trị “none” hoặc khoá mật khẩu. UID Đây là một trường do hệ thống sinh ra. Xem thêm chi tiết tại chương “Quản lý trương khoản người sử dụng”. Primary Group Nhóm sơ cấp người sử dụng. Trường này giúp đưa những người sử dụng vào thành từng nhóm, với từng quyền hạn riêng biệt. Full Name Tên họ đầy đủ của người sử dụng. Home Thư mục “nhà” của người sử dụng. Thông thường vị trí này ở bên trong thư mục /home. Shell Shell mặc định, vị trí làm việc ban đầu của một trương khoản. Một hộp thoại cho phép chọn bất kỳ shell nào mà RedHat Linux sẵn có. Bảng 4.3: Các tuỳ chọn của hộp thoại Add User 2.5. Thay đổi mật khẩu Chúng ta thường phải đổi mật khẩu (hoặc đặt mật khẩu cho một trương khoản mới), nhất là cho trương khoản gốc (root) vì nó cần được bảo vệ thật cẩn thận. Để thay đổi mật khẩu, bất kỳ phiên bản Linux hoặc UNIX nào đều dùng lệnh passwd, nó đòi nhập cả mật khẩu cũ lẫn mới và kiểm tra mật khẩu mới vừa nhập vào. Nếu chúng ta chưa có mật khẩu cho trương khoản (thậm chí quên mất mật khẩu), hãy sử dụng lệnh passwd để thay đổi. Việc thay đổi mật khẩu diễn ra như sau: [lan_anh@web~]$passwd lan_anh Changing password for lan_anh Enter old password: old-password Enter new password: new-password Re-type new password: new-password Nếu chúng ta làm không đúng, Linux sẽ thông báo là mật khẩu chưa được thay. Linux cũng yêu cầu mật khẩu phải bao gồm ít nhất sáu ký tự. Cẩn thận: Đừng quên mật khẩu! Nếu quên mật khẩu của người sử dụng, chúng ta phải thay đổi thông tin về trương khoản ấy. Nếu quên mật khẩu trương khoản root, chúng ta phải sử dụng đĩa mềm khởi động (được tạo ra trong tiến trình cài đặt) để khởi động lại hệ thống và đổi mật khẩu. Chúng ta cũng có thể thay đổi mật khẩu của root bằng cách khởi động lại hệ thống ở chế độ Single. Chúng ta có thể để mật khẩu trống bằng cách chọn “none” trong hộp thoại RH Add/Edit User, sau đó cho người sử dụng tự lập mật khẩu mới bằng lệnh passwd. Chúng ta cũng có thể chỉnh sửa tệp /etc/passwd và gỡ bỏ mật khẩu đã mã hoá từ bản ghi của người sử dụng (trong trường hợp không có khai báo shadow). Thông thường RedHat xác định số ký tự tối thiểu của password là 6, tuy thế ta có thể thay đổi được, thí dụ ta dùng công cụ linuxconf như ở minh hoạ 5.4. 3. Sử dụng các lệnh cơ bản Mục tiêu : - Biết cách dùng man để tìm trợ giúp cho câu lệnh - Sử dụng được các lệnh can thiệp vào thư mục - Sử dụng được các lệnh thao tác tệp Những mục sau đây sẽ hướng dẫn chúng ta sử dụng các lệnh cơ bản để điều khiển hệ thống, trong đó có một số lệnh thực sự là những trình tiện ích mà Linux dùng để mở rộng tập hợp các câu lệnh của mình. Những chương trình ấy nằm trong các thư mục /bin, /sbin và /usr/bin. 35
  36. 3.1. Dùng man để tìm trợ giúp cho câu lệnh Muốn nhận được trợ giúp trực tiếp cho các lệnh Linux, chúng ta gõ: man xyz* Linux sẽ hiển thị từng trang thông tin liên quan đến từng lệnh bắt đầu bằng các ký tự xyz. Chúng ta có thể xem lần lượt các lệnh này bằng cách bấm phím q, khi đó nội dung từng lệnh sẽ hiện ra. Đặc điểm này của man chỉ có từ RedHat 7.2. Nếu chưa biết chắc chắn mình sẽ dùng lệnh nào, chúng ta thử gõ tham số -k và nhập một từ khoá liên quan đến chủ đề chúng ta đang quan tâm. Lúc ấy man sẽ tìm trong các tệp trợ giúp (được gọi là trang man, hoặc trang manual) có chủ đề chứa từ khoá ấy. Linux cũng cung cấp một alias (bí danh) cho lệnh ấy, gọi là apropos. Nếu chúng ta nhập lệnh manls, Linux hiển thị trợ giúp cho lệnh ls, bao gồm tất cả các tham số. Lệnh man –k cls cung cấp danh sách các câu lệnh có chữ cls trong tệp trợ giúp. Lệnh aproposcls cũng giống như man –k cls. 3.2. Sử dụng các lệnh can thiệp vào thư mục Cũng giống như những hệ điều hành khác mà chúng ta có dịp dùng qua, Linux có nhiều câu lệnh để tạo ra, xoá bỏ, di chuyển thư mục và hiển thị thông tin của thư mục. 3.2.1. Chuyển đổi thư mục hiện hành bằng lệnh cd Cũng như DOS và các hệ điều hành khác, Linux chứa các tệp trong một cấu trúc cây gọi là thư mục. Chúng ta đi đến một tệp qua đường dẫn từ thư mục gốc bằng ký tự /. Do đó tệp cấu hình emacs cho người sử dụng tên lan_anh có thể được xác định như sau: /home/lan_anh/.emacs Nếu trước nay ban từng quen thuộc với hạn chế của DOS là tám ký tự cho tên tệp và ba ký tự cho cái đuôi, nay chúng ta sẽ thích thú hơn vì Linux không hạn chế số ký tự cho tên tệp. Linux cũng sử dụng khái niệm về một home directory (thư mục nhà), thư mục này được xác định khi thêm một trương khoản vào hệ thống. Thông thường, thư mục “nhà” của một người sử dụng được xác định bằng ký tự tilde (ký tự sóng ~). Khi người sử dụng muốn chép một tệp từ thư mục hiện hành /usr/home/lan_anh vào thư mục “nhà” của mình, chúng ta có thể dùng ký tự tilde thay vì tên của thư mục. cp.emacs ~ Muốn di chuyển trong cấu trúc Linux, chúng ta dùng lệnh chuyển thư mục cd. Nếu chúng ta gõ cd vào mà không kèm tham số nào, Linux đưa chúng ta về thư mục “nhà” của chúng ta. Muốn chuyển từ thư mục này sang thư mục khác, chúng ta dùng lệnh cd như khi chúng ta sử dụng DOS, nghĩa là cd thư_mục_mới. Linux cũng dùng dấu chấm (.) để đại diện thư mục hiện hành và dấu chấm chấm ( ) đại diện cho thư mục mẹ. Thực ra chính DOS mới phỏng tạo UNIX, chứ UNIX/Linux không phỏng tạo DOS. Ghi chú: Hãy cẩn thận khi dùng dấu sổ ngược ở đường dẫn thư mục. Trong khi DOS dùng dấu sổ ngược xuống (\) thì Linux dùng dấu chéo lên (/). Dấu chéo xuống được Linux dùng để nối tiếp một câu lệnh trên một dòng khác. Và ngược lại với DOS, Linux quan tâm đến việc chúng ta phải dùng khoảng trắng khi xác định các tham số “.” và “ ” Linux không hiểu lệnh cd , nhưng nếu chúng ta viết cd thì Linux sẽ hiểu. Nói tóm lại, Linux cần khoảng trắng ở giữa câu lệnh và tham số. 3.2.2. Liệt kê các tệp và thư mục bằng lệnh ls Ls viết tắt cho list (danh sách) và Linux dùng lệnh này để liệt kê danh sách tệp. Lệnh này cũng tương tự như DIR của DOS. (Linux chấp nhận lệnh dir để liệt kê danh sách tệp trong một thư mục). Lệnh ls của Linux liệt kê tất cả các tệp chính bằng màu 36
  37. sắc. Theo mặc định, màu xanh lơ biểu thị thư mục và xanh lục biểu thị các chương trình thi hành được. Muốn thay các màu mặc định, chúng ta chỉnh sửa tệp /etc/DIR_COLORS. Ls sử dụng nhiều tham số để thay đổi cách liệt kê tệp và loại tệp phải liệt kê. Tham số phổ biến nhất là –la, ra lệnh cho máy liệt kê thông tin của tệp theo dạng dài. Lệnh ls-la liệt kê tất cả thông tin của từng tệp trong thư mục hiện hành. Lệnh ls.emacs liệt kê các tệp bắt đầu bằng .emacs, trong khi ls-l.emacs liệt kê tất cả thông tin của các tệp bắt đầu bằng .emacs. Tuỳ chọn –ltar (được dùng như là ls-ltar) liệt kê thông tin giống như lệnh ls vừa kể, có khác chăng là các thông tin được trình bày theo thứ tự từ lâu nhất đến mới nhất. 3.2.3. Tạo thư mục mới bằng lệnh mkdir Tương tự như lệnh MD của DOS, mkdir của Linux tạo thư mục mới và chúng ta cung cấp tên của thư mục ấy như ở thí dụ sau: mkdir backup Ghi chú: Trong trường hợp chúng ta quá quen với lệnh MD của DOS và không thích dùng mkdir, Linux có một cách để tạo bí danh cho tên các lệnh. 3.2.4. Xoá bỏ thư mục bằng lệnh rmdir Lệnh rmdir xoá các thư mục Linux với điều kiện thư mục ấy phải rỗng. Thí dụ nếu thư mục /backup có thư mục thứ cấp thì lệnh: rmdir /backup không hoàn thành công tác được. Lệnh: rmdir /backup/lan_anh/* xoá tất cả các tệp trong thư mục /backup/lan_anh và sau đó rmdir/backup/lan_anh mới có thể xoá bỏ thư mục /backup/lan_anh bây giờ đã rỗng. Cẩn thận: Vì lệnh rmdir không thể xoá thư mục chưa rỗng, chúng ta có thể dùng tham số -r với lệnh rm. Thí dụ: rm –r * sẽ xoá sạch mọi thứ từ thư mục hiện hành và tất cả các thư mục thứ cấp bên dưới. Do đó chúng ta phải cẩn thận khi ra lệnh này, vì một khi đã xoá là không phục hồi được. Nhớ sao lưu trước. 3.3. Sử dụng các lệnh thao tác tệp Linux xử lý tệp và thư mục cũng như nhau. 3.3.1. Chép các tệp bằng lệnh cp Lệnh cp tương tự như copy của DOS. Chúng ta dùng lệnh này để chép một hoặc nhiều tệp từ thư mục này sang thư mục khác. Cú pháp của cp như sau: cp tệp_nguồn tệp_ đích Chúng ta thay thế hai tham số tệp_nguồn tệp_đích bằng tên hai tệp mà chúng ta chọn. Nếu muốn giữ nguyên tên tệp, hãy dùng thư mục sẽ chứa tệp thay vào chỗ tham số tệp_đích. Ở DOS, chúng ta có thể bỏ trống tệp_đích nếu chép về thư mục hiện hành. Lệnh cp lananh1 lananh1.old sẽ chép tệp lananh1 sang một tệp sao lưu mang tên lananh1.old, trong khi lệnh cp ~/lananh1.old /backup/lan_anh sẽ chép tệp lananh1.old từ thư mục “nhà” sang thư mục /backup/lan_anh. (Ký tự ~ đại diện cho thư mục “nhà” của người sử dụng). 3.3.2. Chuyển tệp bằng lệnh mv Lệnh này tương tự như MOVE của DOS để chúng ta di chuyển tệp từ thư mục này sang thư mục khác. Khi ra lệnh di chuyển tệp, nghĩa là chúng ta đã chép tệp ấy sang chỗ mới và xoá tệp ở chỗ cũ. Lệnh mv không sao chép tệp. 37
  38. Cú pháp của lệnh mv giống như lệnh cp: mv tệp_nguồn tệp_đích Lệnh mv lananh1 lananh1.old chép tệp lananh1 sang một tệp sao lưu mang tên lananh1.old, sau đó huỷ tệp lananh1 cũ, trong khi lệnh mv ~/lananh1.old /backụp/lan_anh di chuyển tệp lananh1.old từ thư mục “nhà” sang thư mục /backup/lan_anh. 3.3.3. Xoá tệp bằng lệnh rm Lệnh này nguy hiểm bởi vì khi đã huỷ thì chúng ta không thể khôi phục tệp được. Do đó để an toàn, chúng ta nên sử dụng hình thức sau đây của lệnh rm: rm –i tên tệp Tham số -i bắt máy phải hỏi lại người sử dụng xem có thực sự muốn xoá bỏ tệp hay không. Thí dụ lệnh rm lananh1 sẽ xoá tệp lananh1, trong khi rm –i lananh1 sẽ mời chúng ta khẳng định việc huỷ tệp. Cẩn thận: Với Linux, một khi tệp bị huỷ thì coi như mất luôn chứ không thể lấy lại được (undelete) như với DOS. Khi xoá một tệp, hy vọng duy nhất của chúng ta là bản sao lưu của tệp ấy. 3.3.4. Hiển thị nội dung tệp bằng lệnh more Lệnh more hiển thị tệp văn bản qua từng màn hình một. Chúng ta có thể xem một tệp văn bản mà không nhất thiết phải dùng đến phần mềm soạn thảo (edit), không cần in tệp ấy ra và cũng không phải tạm dừng thiết bị cuối (terminal) trong khi thiết bị ấy hiển thị tệp. Thí dụ, muốn hiển thị nội dung tệp .emacs, chúng ta gõ lệnh như sau: more .emacs Trong các phiên bản trước 6.0 của RH Linux, lệnh more khá bất tiện khi không cho chúng ta trở lui xem lại một trang màn hình đã qua. Tuy nhiên các tuỳ chọn dưới đây mới được bổ sung từ phiên bản 6.x cho phép trở lui k trang màn hình (mặc định là 1 trang): b hay . Lệnh less sau đây có thể giải quyết vấn đề này tiện lợi hơn. Ghi chú: Nếu dùng more với một tệp dữ liệu nhị phân, chúng ta có thể bực mình vì chẳng hạn máy sẽ bị treo. Trong trường hợp này, chúng ta thoát ra bằng cách bấm hoặc . 3.3.5. Sử dụng lệnh less less hiển thị từng màn hình một. Giống như more, less có thể hiển thị màn hình thông tin của một tệp văn bản, song điểm khác biệt là chúng ta có thể di chuyển tới lui. Chúng ta thử dùng lệnh sau đây để duyệt tệp readme trong thư mục /info: less /info/readme Ghi chú: ở DOS, chúng ta dùng lệnh CLS để xoá màn hình ; ở Linux, đó là lệnh clear. 4. Xử lý các tệp DOS trong Linux Mục tiêu : - Sử dụng được các lệnh để xử lý các tệp DOS trong Linux Trong khi cài đặt, chúng ta đã có dịp khai báo các partition (phân vùng) DOS để cho Linux hiểu được. Các partition này được đặt ở một thư mục mà chúng ta đã chọn trong khi thiết lập cấu hình, thí dụ như /dosc. Nếu dùng lệnh cp để chép các tệp ấy sang đĩa mềm, chúng ta có thể gặp rắc rối vì UNIX và Linux xử lý tệp văn bản khác với DOS, nhất là khi phải xử lý phím xuống dòng. Mặt khác khi muốn tương tác với đĩa mềm, nếu dùng lệnh cp, chúng ta cần phải mount (lắp ghép) đĩa mềm trước và sau khi thực hiện lệnh sao chép cp xong, chúng ta còn phải unmount (tháo gỡ) đĩa mềm đó để lấy đĩa mềm ra. Để giải quyết vấn đề này, 38
  39. người ta đã soạn thảo một nhóm chương trình để xử lý các tệp DOS chạy ở môi trường UNIX. Đó là các câu lệnh thuộc họ m-, trong đó có những lệnh như mcopy và mdir. Lệnh mcopy hoạt động như lệnh COPY của DOS và mdir liệt kê thư mục. Như chúng ta đã nhận thấy, các lệnh này giống như đồng loại của chúng ở DOS, chỉ khác là chúng bắt đầu bằng ký tự m, do đó mới gọi là họ lệnh m-. Họ lệnh m- là thành phần của phần mềm chương trình mtools, vốn là bộ sưu tập các chương trình công cộng (phân phối tự do miễn phí) giúp cho UNIX tương tác với các tệp DOS dễ dàng hơn. Các câu lệnh nói trên cũng giúp chúng ta chép tệp sang đĩa mềm dễ dàng hơn. vì lúc ấy chúng ta có thể sử dụng cách gọi tên của DOS, chẳng hạn như ổ đĩa A, thay vì phải gọi theo Linux là /dev/fd0. Muốn biết thêm chi tiết về họ lệnh m-, chúng ta gõ: man mtools Tuy nhiên trong lúc cài đặt, chúng ta cần chọn phần mềm “DOS emulation” thì mới sử dụng được mtools. Lệnh Mô tả mattrib Hiển thị thuộc tính của tệp được lựa chọn mcd Chuyển sang thư mục được nêu ở đường dẫn mcopy Chép các tệp sang đường dẫn được nêu mdel Xoá bỏ các tệp được chọn mdir Liệt kê thư mục mformat Format đĩa mềm mlabel Đặt tên nhãn cho file system DOS mmd Tạo thư mục mới mrd Xoá bỏ một thư mục (thư mục này phải rỗng, như đối với DOS) mren Đặt lại tên cho tệp DOS mtype Hiển thị nội dung văn bản của tệp DOS 5. Đóng tắt Linux và chạy các chương trình Linux Mục tiêu : - Đóng tắt được Linux - Chạy được các chương trình Linux 5.1. Đóng tắt Linux Khi chúng ta dùng máy PC chạy với DOS, làm việc xong chúng ta chỉ cần tắt công tắc điện. Nhưng với Windows làm như thế sẽ tổn hại đến các tệp. Với Linux, mức độ rủi ro này còn cao hơn nữa, đặc biệt sẽ tổn hại cả phần cứng lẫn hệ thống tệp. Chúng ta phải đóng tắt Linux theo quy định, nếu không muốn lần làm việc tiếp theo sẽ gặp khó khăn khi khởi động máy. Trước khi ghi dữ liệu vào đĩa cứng, Linux lưu rất nhiều thông tin về chính mình và thông tin của những tệp đang nằm trong bộ nhớ, tại những vùng đệm, còn gọi là bộ nhớ trung gian (buffer). Tiến trình này giúp cải thiện năng suất của cả hệ thống, đồng thời kiểm soát việc sử dụng phần cứng. Đây là việc mà các hệ điều hành đa nhiệm phải làm để một người sử dụng này không thể sử dụng một thiết bị nào đó đang phục vụ một người sử dụng khác. Nếu đột ngột tắt máy, các thông tin vừa kể sẽ mất đi và hệ thống tệp bị hỏng. Là một hệ điều hành đa nhiệm và dành cho nhiều người sử dụng, Linux phải đảm bảo rằng từng thành viên phải ngưng phiên làm việc đúng quy cách và lưu lại công việc đang tiến hành trước khi đóng tắt cả hệ, như thế sẽ tránh được trường hợp mất dữ liệu và hỏng hệ thống tệp. Điều này cũng giúp cho những người khác đang cùng sử 39
  40. dụng hệ Linux này có đủ thời gian đăng xuất. Muốn đóng tắt Linux cho đúng, chúng ta phải dùng lệnh shutdown với cú pháp như sau: shutdown [-r] thời_gian_đóng_tắt [lời nhắn] Tuỳ chọn –r có nghĩa là Linux phải lập tức khởi động lại sau khi đóng tắt. Điều này có ích khi chúng ta muốn thoát khỏi Linux để khởi động một hệ điều hành khác. Thời_gian_đóng_tắt báo là tham số báo cho hệ điều hành biết khi nào có thể đóng tắt. Thời gian được tính theo hình thức 24 giờ, thí dụ nếu muốn hệ điều hành đóng tắt vào lúc 11 giờ đêm, chúng ta cần gõ lệnh: shutdown 23:00 Tham số [lời nhắn] là thông báo chung cho tất cả những người sử dụng đang ở trong mạng. Từng người sẽ thấy lời nhắn này trên màn hình của mình. Thí dụ khi muốn ngưng sử dụng máy để thực hiện công tác sao lưu hàng tuần, chúng ta gõ lệnh như sau để mọi người lo mà đăng xuất: [root@web] /root] # shutdown –r 23:00 Đóng tắt hệ thống vào lúc 11:00 pm để bảo trì hệ thống. Lưu ý: Trên một số hệ thống đôi khi Linux có thể hiểu được nhóm phím khởi động lại và sẽ thực hiện thao tác đóng tắt đúng quy trình như khi chúng ta gõ lệnh shutdown. Tuy nhiên ở một số hệ thống khác, Linux không hiểu được nhóm phím ấy. Nếu lỡ tắt hệ thống không đúng cách và làm hỏng kết cấu tệp, chúng ta có thể dùng lệnh fsck để thử sửa lại hệ thống tệp. 5.2. Chạy các chương trình Linux Khi đã quen các thao tác mở, tắt trong Linux và vài lệnh cơ bản, chúng ta có thể bắt đầu thử một số ứng dụng đã cài đặt khi thiết lập hệ thống. Những ứng dụng này bao gồm các tiện ích, từ một cái máy tính bỏ túi đơn giản cho đến những bộ biên dịch C và C++. Một vài ứng dụng như thế có giá trị lớn ; may thay nhờ vào giấy phép GNU, nhiều ứng dụng đã trở thành miễn phí. Nhiều chương trình khác dành cho Linux cũng hiện diện miễn phí trên Internet và chúng ta có thể lấy được chúng nhờ vào một chương trình tải nạp đi kèm trong bản phát hành Slackware và RedHat. Ngoài ra nhiều cửa hàng có thể cung cấp cho chúng ta những đĩa CD-ROM với hàng trăm chương trình UNIX dưới dạng mã nguồn. Chúng ta có thể chọn lọc vài chương trình yêu thích từ CD-ROM rồi dùng các chương trình gcc và g++ để biên dịch các chương trình ấy. Những chương trình này chủ yếu làm việc ở chế độ văn bản, do đó không cần phải chạy hệ X Window. 5.2.1. Sử dụng chương trình CD Player CD Player là một chươngr trình chơi nhạc từ đĩa CD, được cài đặt sẵn trong bản phát hành RedHat Linux. Chúng ta nên thử nó một lần xem, nếu máy chúng ta có một ổ CD-ROM chấp nhận đĩa CD audio. Thực tế có thể CD Player không tương thích với tất cả các loại ổ CD-ROM có trên thị trường. Chương trình này cho phép dùng bàn phím điều khiển CD, vì vậy chúng ta nhớ bật bàn phím sang chế độ . 5.2.2. Sử dụng Gnumeric và KSpread Trước khi phần mềm VisiCalc ra đời, các nhà lập kế hoạch phải dùng những tờ giấy kẻ ô gọi là spreadsheet. Là phiên bản điện tử của tờ spreadsheet, VisiCalc đã làm một cuộc cách mạng ở khâu tính toán và lập kế hoạch. 40
  41. Ngày nay các chương trình như Microsoft Excel hoặc Lotus 1-2-3 đang tiếp nối truyền thống của VisiCalc. Trong Linux, Gnumeric và KSpread cũng làm chức năng đó. Gnumeric và KSpread đều có dạng bảng tính (spreadsheet calculator) gồm nhiều dòng và cột. Mỗi ô chứa một giá trị số học, một chuỗi ký tự, hoặc một biểu thức. Các chuỗi ký tự có thể dựa vào những ô khác để lập thành nhiều mối liên hệ phức hợp. Nếu đã từng làm việc với các chương trình bảng tính khác, chúng ta sẽ không gặp khó khăn với các lệnh của Gnumeric và KSpread. 5.2.3. Sử dụng bc Calculator bc là một chương trình tính toán theo câu lệnh vì bản thân nó có một ngôn ngữ lập trình cho phép chúng ta thực hiện tương tác. Sau khi chúng ta gõ lệnh, bc hiển thị vài dòng lưu ý về bản quyền tác giả và dấu nhắc sẽ nhấp nháy chờ lệnh. Chúng ta có thể ra lệnh làm hai phép tính cộng và trừ. Chúng ta cũng có thể ra lệnh nhân và chia, song phiên bản bc phát hành kèm với RH Linux lại xén bớt kết quả hai phép tính này. bc rất tiện lợi cho các phép tính đơn giản. Một điều tiện lợi nữa là bc có khả năng lưu giá trị từ một phép tính này cho phép tính sau chỉ bằng một cú pháp đơn giản, đó là tên-của-biến = biểu-thức. Thí dụ sau đây tính giá trị của 125*5, sau đó lưu kết quả vào biến var1. Kết quả phép tính được hiển thị bằng cách gõ tên của biến var1 và sẽ in giá trị (625) ở hàng kế tiếp. Thí dụ này còn lập biến var2 làm nơi chứa kết quả (125) của var1 chia cho 5. var1 = 125*5 var1 625 var2 = var1/5 var2 125 5.2.4. Sử dụng chương trình minicom Chúng ta có thể nối kết với thế giới nếu chúng ta có một modem và một phần mềm viễn thông. Linux cung cấp một phần mềm mang tên minicom và chúng ta chỉ cần nối modem với cổng nối tiếp COM trên máy PC. Cũng giống như nhiều phần mềm Linux khác, minicom do một người viết ra nhưng được nhiều người khác trên Internet giúp đỡ hoàn chỉnh và phần mềm này chạy rất tốt, có khả năng cạnh tranh với nhiều ứng dụng thương mại khác. Để biết thêm các chức năng chi tiết của minicom, chúng ta xem trợ giúp bằng lệnh man. Điều đầu tiên nên ghi nhớ là minicom dùng nhóm phím cho một số chức năng, chẳng hạn như auto-dial (tự động quay số điện thoại) và file downloading (tải tệp xuống). Đang ở trong minicom, nếu cần trợ giúp chúng ta bấm để hiển thị màn hình tóm tắt các câu lệnh. Phím Mô tả D Truy cập thư mục quay số gọi S Gửi tệp đi P Liệt kê các tham số liên lạc L Bật/tắt việc ghi biên bản phiên làm việc vào một tệp F Gửi tín hiệu BREAK cho thiết bị bên kia đầu dây T Phỏng tạo terminal giữa các chế độ vt100, Minix, hoặc ANSI W Bật/tắt chế độ làm tròn dòng G Chạy một tệp script của minicom 41