Bài giảng Hệ điều hành Linux - Trần Quốc Vương

pdf 61 trang Gia Huy 16/05/2022 2041
Bạn đang xem 20 trang mẫu của tài liệu "Bài giảng Hệ điều hành Linux - Trần Quốc Vương", để 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:

  • pdfbai_giang_he_dieu_hanh_linux_tran_quoc_vuong.pdf

Nội dung text: Bài giảng Hệ điều hành Linux - Trần Quốc Vương

  1. ỦY BAN NHÂN DÂN QUẬN 9 TRƯỜNG TCN ĐÔNG SÀI GÒN   KHOA CÔNG NGHỆ THÔNG TIN BÀI GIẢNG HỆ ĐIỀU HÀNH LINUX GVGD: TRẦN QUỐC VƯƠNG LƯU HÀNH NỘI BỘ Năm 2019
  2. MỤC LỤC ĐỀ MỤC TRANG MỤC LỤC 1 MÔ ĐUN: HỆ ĐIỀU HÀNH LINUX 7 BÀI 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX 9 1. Lịch sử phát triển Unix và Linux 9 1.1. Giới thiệu 9 1.2. Tại sao Linux phát triển? 9 2. Các dòng sản phẩm 10 3. Ưu khuyết điểm 11 3.1. Linux cộng sinh với Windows 11 3.2. Thương mại hóa Linux 11 4. Kiến trúc của Linux 12 5. Các đặc tính cơ bản 12 5.1. Đa tiến trình 12 5.2. Tốc độ cao 13 5.3. Bộ nhớ ảo 13 5.4. Sử dụng chung thư viện 13 5.5. Sử dụng các chương trình xử lý văn bản 13 5.6. Sử dụng giao diện cửa sổ 13 5.7. Network Information Service (NIS) 13 5.8. Lập lịch hoạt động chương trình, ứng dụng 13 5.9. Các tiện ích sao lưu dữ liệu 14 5.10. Hỗ trợ nhiều ngôn ngữ lập trình 14 Câu hỏi 14 BÀI 2: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX 15 1. Yêu cầu đối với hệ thống 15 2. Quá trình cài đặt 15 2.1. Chọn phương thức cài đặt 15 2.2. Chọn chế độ cài đặt 16 2.3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt 16 2.4. Cấu hình bàn phím 16 2.5. Chọn cấu hình mouse 16 2.6. Lựa chọn loại màn hình 16 2.7. Lựa chọn loại cài đặt 16 2.8. Chia Partition 17 2.9. Lựa chọn Automatically partition 17 2.10. Chia Partition bằng Disk Druid 18 2.11. Cài đặt chương trình Boot Loader 19 2.12. Cấu hình mạng 20 2.13. Cấu hình Firewall 20 2.14. Chọn ngôn ngữ hỗ trợ trong Linux 21 2.15. Cấu hình khu vực địa lý của hệ thống 21
  3. 2.16. Đặt mật khẩu cho người quản trị 22 2.17. Cấu hình chứng thực 22 2.18. Chọn các chương trình và Package cài đặt 23 2.19. Định dạng filesystem và tiến hành cài đặt 24 3. Cấu hình thiết bị 24 3.1. Bộ nhớ (RAM) 24 3.2. Vị trí lưu trữ tài nguyên 24 3.3. Hỗ trợ USB 24 3.4. Network Card 24 3.5. Cài đặt modem 24 3.6. Cài đặt và cấu hình máy in 25 4. Sử dụng hệ thống 26 4.1. Đăng nhập 26 4.2. Một số lệnh cơ bản 27 4.3. Sử dụng trợ giúp man 27 5. Cài đặt các gói phần mềm 28 5.1. Chương trình RPM 28 5.2. Đặc tính của RPM 28 5.3. Lệnh rpm 29 5.3.1. Cài đặt phần mềm bằng rpm 29 5.3.2. Loại bỏ phần mềm đã cài đặt trong hệ thống 30 5.3.3. Nâng cấp phần mềm 30 5.3.4. Truy vấn các phần mềm 31 5.3.5. Kiểm tra các tập tin đã cài đặt 31 5.3.6. Cài đặt phần mềm file nguồn *.tar, *.tgz 32 Câu hỏi 33 Bài tập thực hành 33 BÀI 3: THAO TÁC VỚI TẬP TIN VÀ THƯ MỤC 35 1. Cấu trúc hệ thống tập tin & thư mục 35 1.1. Hệ thống tập tin 35 1.2. Hệ thống thư mục 36 2. Thao tác với tập tin, thư mục 38 2.1. Thao tác trên thư mục 38 2.1.1. Đường dẫn tương đối và tuyệt đối 38 2.1.2. Lệnh pwd 38 2.1.3. Lệnh cd 39 2.1.4 Lệnh ls 39 2.1.5. Lệnh mkdir 40 2.1.6. Lệnh rmdir 40 2.2. Tập tin 40 2.2.1. Lệnh cat 40 2.2.2. Lệnh more 40 2.2.3. Lệnh cp 41 `2
  4. 2.2.4. Lệnh mv 41 2.2.5. Lệnh rm 41 2.2.6. Lệnh find 41 2.2.7. Lệnh grep 42 2.2.8. Lệnh touch 42 2.2.9. Lệnh dd 42 3. Quyền truy cập, sở hữu đối với tập tin và thư mục 42 3.1. Quyền hạn 42 3.2. Lệnh chmod, chown, chgrp 45 3.2.1. Lệnh chmod 45 3.2.2. Lệnh chown 46 3.2.3. Lệnh chgrp 46 4. Liên kết tập tin 46 5. Lưu trữ tập tin 47 5.1. Lệnh gzip/gunzip 47 5.2. Lệnh tar 48 Câu hỏi 48 Bài tập thực hành 48 BÀI 4: GIAO DIỆN ĐỒ HỌA 51 1. Giới thiệu X Window 51 1.1. Giới thiệu 51 1.2. Khởi động hệ thống X Window 52 2. Môi trường làm việc KDE 53 2.1. Giới thiệu 53 2.2. Khởi động KDE 53 3. Trung tâm điều khiển KDE 53 3.1. Giới thiệu 53 3.2. Khởi động trung tâm điều khiển KDE 53 4. Các trình tiện ích 53 4.1. Trình soạn thảo vi 54 4.1.1. Giới thiệu vi 54 4.1.2. Một số hàm lệnh của vi 54 4.1.3. Chuyển chế độ lệnh sang chế độ soạn thảo 54 4.1.4. Chuyển chế độ soạn thảo sang chế độ lệnh 54 4.2. Trình tiện ích mail 56 4.3. Trình tiện ích tạo đĩa boot 57 4.4. Trình tiện ích setup 57 4.5. Trình tiện ích fdisk 58 4.6. Trình tiện ích iptraf 58 4.7. Trình tiện ích lynx 59 4.8. Trình tiện ích mc 59 Câu hỏi 59 Bài tập thực hành 59 `3
  5. BÀI 5: QUẢN TRỊ NGƯỜI DÙNG VÀ NHÓM 61 1. Thông tin của người dùng 61 1.1. Superuser 61 1.2. User 62 1.2.1. Tập tin /etc/passwd 62 1.2.2. Username và UserID 63 1.2.3. Mật khẩu người dùng 63 1.2.4. Group ID 63 1.2.5. Home directory 63 2. Quản lý người dùng 64 2.1. Tạo tài khoản người dùng 64 2.2. Thay đổi thông tin của tài khoản 65 2.3. Tạm khóa tài khoản người dùng 65 2.4. Hủy tài khoản 66 3. Nhóm người dùng 66 3.1. Tạo nhóm 66 3.2. Thêm người dùng vào nhóm 66 3.3. Hủy nhóm 66 3.4. Xem thông tin về user và group 66 Câu hỏi 67 Bài tập thực hành 67 BÀI 6: CẤU HÌNH MẠNG 68 1. Cấu hình địa chỉ IP cho card mạng 68 1.1. Xem địa chỉ IP 68 1.2. Thay đổi địa chỉ IP 69 1.3. Tạo nhiều địa chỉ IP trên card mạng 70 1.4. Lệnh netstat 71 2. Truy cập từ xa 71 2.1. xinetd 71 2.2. Tập tin /etc/services 72 2.3. Khởi động xinetd 74 3. Dịch vụ Telnet 74 3.1. Khái niệm telnet 74 3.2. Cài đặt 74 3.3. Cấu hình 74 3.4. Bảo mật dịch vụ telnet 75 3.4. 1. Cho phép telnet server hoạt động trên tcp port khác 75 3.4.2. Cho phép một số địa chỉ truy xuất telnet 76 4. SSH 76 4.1. Cài đặt SSH Server trên Server Linux 77 4.2. Sử dụng SSH Client trên Linux 77 4.3. Quản trị hệ thống Linux thông qua SSH client for Windows 77 Câu hỏi 78 `4
  6. Bài tập thực hành 78 BÀI 7: CÀI ĐẶT DỊCH VỤ TRÊN MÁY CHỦ 81 1. Dịch vụ SAMBA 81 1.1. Cài đặt SAMBA 81 1.2. Khởi động SAMBA 81 1.3. Cấu hình SAMBA 82 1.3.1. Đoạn [global] 82 1.3.2. Đoạn [homes] 83 1.3.3. Chia xẻ máy in dùng SMB 83 1.3.4. Chia xẻ thư mục 84 1.4. Sử dụng SAMBA SWAT 84 1.4.1. Tập tin cấu hình SAMBA SWAT 84 1.4.2. Truy xuất SWAT từ Internet Explorer 85 1.4.3. Cấu hình SAMBA SWAT 85 2. Dịch vụ DNS 86 2.1. Giới thiệu về DNS 86 2.2. Cách phân bố dữ liệu quản lý Domain Name 89 2.3. Cơ chế phân giải tên 90 2.3.1. Phân giải tên thành IP 90 2.3.2. Phân giải IP thành tên máy tính 92 2.4. So sánh Domain Name – Zone 93 2.5. Phân loại Domain Name Server 93 2.5.1. Primary Name Server 93 2.5.2. Secondary Name Server 93 2.5.3. Caching Name Server 94 3. Dịch vụ DHCP 94 3.1. Một số lưu ý trên DHCP 94 3.2. Ưu điểm của DHCP 95 3.3. Cấu hình DHCP server 95 3.4. Khởi động DHCP 95 4. Dịch vụ Web 95 4.1. Web server 96 4.1.1. Giao thức HTTP 96 4.1.2. Web Server và cách hoạt động 97 4.1.3. Web client 98 4.1.4. Web động 98 4.2. Apache 99 4.2.1. Giới thiệu Apache 99 4.2.2. Cài đặt Apache 99 4.2.3. Tạm dừng và khởi động lại Apache 100 4.3.4. Sự chứng thực, cấp phép, điều khiển việc truy cập 100 4.3.4.1. Basic Authentication 100 4.3.4.2. Digest Authentication 102 `5
  7. 4.3.5. Điều khiển truy cập 103 4.3.6. Khảo sát log file trên apache 104 4.3. Cấu hình Web server 105 4.3.1. Định nghĩa về ServerName 106 4.3.1.1. Chỉ định một số thông tin cơ bản 106 4.3.2. Thư mục Webroot và một số thông tin cần thiết 107 4.3.3. Cấu hình mạng 108 4.3.4. Alias 109 4.3.5. UserDir 110 4.3.6. VirtualHost 110 4.3.6.1. IP-based Virtual Host 110 4.3.6.2. Named-based Virtual Hosts: 111 Câu hỏi 112 Bài tập thực hành 113 BÀI 8: QUẢN LÝ MÁY CHỦ LINUX BẰNG WEBMIN 115 1. Giới thiệu 115 2. Cài đặt Webmin 115 2.1. Cài đặt từ file nhị phân 115 2.2. Cài đặt từ file nguồn *.tar.gz 115 3. Cấu hình Webmin 116 3.1. Đăng nhập Webmin 116 3.2. Cấu hình Webmin 117 3.3. Cấu hình Webmin qua Web Browser 118 3.4. Quản lý Webmin 122 3.4.1. Quản lý Webmin User 122 3.4.2. Webmin cho Users (Usermin) 123 3.4.3. Sử dụng Usermin 123 Câu hỏi 125 Bài tập thực hành 125 PHƯƠNG PHÁP VÀ NỘI DUNG ĐÁNH GIÁ: 126 TÀI LIỆU THAM KHẢO 127 `6
  8. MÔ ĐUN: HỆ ĐIỀU HÀNH LINUX Mã mô đun: MĐ 40 Vị trí, tính chất, ý nghĩa của mô đun: - Vị trí: Mô đun được bố trí sau khi sinh viên học xong các mô đun quản trị mạng 1, quản trị mạng 2, cấu hình quản trị thiết bị mạng và công nghệ mạng không dây. - Tính chất: Là mô đun chuyên ngành. - Ý nghĩa: Là mô đun giúp sinh viên có kiến thức và kỹ năng về hệ điều hành mã nguồn mở. Mục tiêu của mô đun: - Trình bày được các khái niệm cơ bản cấu trúc, chức năng các thành phần trong hệ điều hành Linux; - Giải thích được các khái niệm cơ bản của hệ điều hành Linux; - Mô tả được cấu trúc, chức năng của các thành phần trong hệ điều hành Linux; - Sử dụng được các chức năng và dịch vụ của hệ điều hành Linux phục vụ công tác quản trị mạng; - Bố trí làm việc khoa học đảm bảo an toàn cho người và phương tiện học tập. Nội dung chính của mô đun: Thời lượng Mã bài Tên các bài trong mô-đun Tổng Lý Thực Kiểm số thuyết hành tra MĐ 40-01 Tổng quan về hệ điều hành Linux 3 3 MĐ 40-02 Cài đặt hệ điều hành Linux 14 4 9 1 MĐ 40-03 Thao tác với tập tin và thư mục 14 4 10 MĐ 40-04 Giao diện đồ họa X 14 4 9 1 MĐ 40-05 Quản trị người dùng và nhóm 9 3 6 MĐ 40-06 Cấu hình mạng 9 3 5 1 MĐ 40-07 Cài đặt dịch vụ trên máy chủ 18 6 12 Linux MĐ 40-08 Quản lý máy chủ Linux bằng 9 3 5 1 Webmin Tổng cộng 90 30 56 4 YÊU CẦU VỀ ĐÁNH GIÁ HOÀN THÀNH MÔ ĐUN - Đánh giá kiến thức bằng các bài kiểm tra viết hoặc vấn đáp cơ bản đạt những yêu cầu sau: `7
  9. Trình bày được các khái niệm cơ bản cấu trúc, chức năng các thành phần trong hệ điều hành Linux; Giải thích được các khái niệm cơ bản của hệ điều hành Linux; Mô tả được cấu trúc, chức năng của các thành phần trong hệ điều hành Linux; Sử dụng được các chức năng và dịch vụ của hệ điều hành Linux phục vụ công tác quản trị mạng; Bố trí làm việc khoa học đảm bảo an toàn cho người và phương tiện học tập. - Đánh giá kỹ năng của sinh viên bằng các bài tập: Cài đặt và sử dụng hệ điều hành Linux Thực thi được các thao tác tập tin, thư mục, quản lý người dùng Cài đặt và cấu hình các dịch vụ mạng Tổ chức hệ thống cho phép người sử dụng làm việc từ xa - Đánh giá thái độ: Đánh giá tính tự giác, tính kỷ luật, tham gia đầy đủ thời lượng mô đun, cẩn thận, tỉ mỉ, chính xác trong công việc. `8
  10. BÀI 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX Mã bài: MĐ 40-01 Mục tiêu: - Trình bày được lịch sử phát triển của Linux; - Nắm được các đặc tính cơ bản của hệ điều hành; - Thực hiện các thao tác an toàn với máy tính. Nội dung chính: 1. Lịch sử phát triển Unix và Linux Mục tiêu: Giới thiệu cho người học về hệ điều hành mã nguồn mở - Linux, nguyên nhân phát triển hệ điều hành này. 1.1. Giới thiệu Linux – Hệ điều hành mã nguồn mở – đế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 đầ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 tương hợp họ máy tính IBM-PC. Ngày nay Linux có thể cài đặt trên nhiều họ máy tính khác nhau. 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. Linux xuất phát từ ý tưởng của Linus Torvalds – sinh viên Đại học Helsinki ở Phần Lan. Về cơ bản, Linux bắt chước UNIX nên mang 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. 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. 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. 1.2. Tại sao Linux phát triển? 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 ít phải nâng cấp và không `9
  11. 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í, 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 sử dụng UNIX thì ở nhà cũng thích sử dụng một hệ nào đó giống như thế nhưng rẻ tiền. Linux giúp ta dễ dàng truy cập, lướt Web và gửi nhận thông tin trên Internet. Một nguyên nhân khác làm cho Linux dễ đến với người dùng là Linux cung cấp mã nguồn mở cho mọi người. Đ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 ngoài các phần mềm đóng kín mã nguồn. Linux không bị lệ thuộc Microsoft Windows. 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ẳng hạ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ó. 2. Các dòng sản phẩm Mục tiêu: Trình bày một số dòng sản phẩm nguồn mở thông dụng 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 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ế. Linux cung cấp cho 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, 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 tiết lộ mã nguồn. 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 `10
  12. đơ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 lũy 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. Tính khả chuyển của một hệ điều hành giúp ta chuyển nó từ một nền này sang nền khác mà vẫn hoạt động tốt. 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. 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. 3. Ưu khuyết điểm Mục tiêu: Trình bày các ưu và khuyết điểm chính của hệ điều hành Linux. 3.1. 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 PC, dĩ nhiên mỗi lúc chỉ chạy được một hệ điều hành thôi. 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 phải có cấu hình thích hợp và đủ mạnh. 3.2. Thương mại hóa Linux Linux chưa thể khắc phục hết ngay những bất tiện và sai sót. Như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 có tính thương mại với giá rẻ. Chẳng hạn là RedHat và Caldera. 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à 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. `11
  13. 4. Kiến trúc của Linux Mục tiêu: Trình bày các thành phần chính cấu thành hệ điều hành Linux và chức năng chính của mỗi thành phần trong cấu trúc. Linux gồm 3 thành phần chính: kernel, shell và cấu trúc tệp. Kernel là chương trình nhân, chạy các chương trình và quản lý các thiết bị phần cứng như đĩa và máy in. Shell (môi trường) cung cấp giao diện cho người sử dụng, còn được mô tả như một bộ biên dịch. Shell nhận các câu lệnh từ người sử dụng và gửi các câu lệnh đó cho nhân thực hiện. Nhiều shell được phát triển. Linux cung cấp một số shell như: desktops, windows manager, và môi trường dòng lệnh. Hiện nay chủ yếu tồn tại 3 shell: Bourne, Korn và C shell. Bourne được phát triển tại phòng thí nghiệm Bell, C shell được phát triển cho phiên bản BSD của UNIX, Korn shell là phiên bản cải tiến của Bourne shell. Những phiên bản hiện nay của Unix, bao gồm cả Linux, tích hợp cả 3 shell trên. Cấu trúc tệp quy định cách lưu trữ các tệp trên đĩa. Tệp được nhóm trong các thư mục. Mỗi thư mục có thể chứa tệp và các thư mục con khác. Người dùng có thể tạo các tệp/thư mục của riêng mình cũng như dịch chuyển các tệp giữa các thư mục đó. Hơn nữa, với Linux người dùng có thể thiết lập quyền truy nhập tệp/thư mục, cho phép hay hạn chế một người dùng hoặc một nhóm truy nhập tệp. Các thư mục trong Linux được tổ chức theo cấu trúc cây, bắt đầu bằng một thư mục gốc (root). Các thư mục khác được phân nhánh từ thư mục này. Kernel, shell và cấu trúc tệp cấu thành cấu trúc hệ điều hành. Với những thành phần trên người dùng có thể chạy chương trình, quản lý tệp và tương tác với hệ thống. 5. Các đặc tính cơ bản Mục tiêu: So với các hệ điều hành khác, Linux mang một số đặc điểm chính được liệt kê sau. Đây là các đặc điểm cơ bản giúp người dùng định hướng lựa chọn sử dụng. Một số đặc điểm cơ bản của Linux: 5.1. Đa tiến trình Là đặc tính cho phép người dùng thực hiện nhiều tiến trình đồng thời. Máy tính sử dụng chỉ một CPU nhưng xử lý đồng thời nhiều tiến trình cùng lúc. `12
  14. 5.2. Tốc độ cao Hệ điều hành Linux được biết đến như một hệ điều hành có tốc độ xử lý cao, bởi vì nó thao tác rất hiệu quả đến tài nguyên như: bộ nhớ, đĩa 5.3. Bộ nhớ ảo Khi hệ thống sử dụng quá nhiều chương trình lớn dẫn đến không đủ bộ nhớ chính (RAM) để hoạt động, Linux dùng bộ nhớ từ đĩa là partition swap. Hệ thống sẽ đưa các chương trình hoặc dữ liệu nào chưa có yêu cầu truy xuất xuống vùng swap này, khi có nhu cầu thì hệ thống chuỵển lên bộ nhớ chính. 5.4. Sử dụng chung thư viện Hệ thống Linux có rất nhiều thư viện dùng chung cho nhiều ứng dụng. Điều này sẽ giúp hệ thống tiết kiệm được tài nguyên và thời gian xử lý. 5.5. Sử dụng các chương trình xử lý văn bản Chương trình xử lý văn bản là một trong nhưng chương trình rất cần thiết đối với người sử dụng. Linux cung cấp nhiều chương trình cho phép người dùng thao tác với văn bản như vi, emacs, nroff, 5.6. Sử dụng giao diện cửa sổ Giao diện cửa sổ dùng Hệ thống X Window, có giao diện như hệ điều hành Windows. Với hệ thống này người dùng rất thuận tiện khi làm việc trên hệ thống. X Window System hay còn gọi tắt là X được phát triển tại viện Massachusetts Institute of Technology. Nó được phát triển để tạo ra môi trường làm việc không phụ thuộc phần cứng. X chạy dưới dạng client –server. Hệ thống X Window hoạt động qua hai bộ phận: - Phần server còn gọi là X server - Phần client được gọi là X Window manager hay desktop environment. X server sử dụng trong hầu hết các bản phân phối của Linux là Xfree86. Client sử dụng thường là KDE (K Desktop Environment) và GNOME (GNU Network Object Model Environment). 5.7. Network Information Service (NIS) Dịch vụ NIS cho phép chia xẻ các tập tin password và group trên mạng. NIS là một hệ thống cơ sở dữ liệu dạng client-server, chứa các thông tin của người dùng và dùng để chứng thực người dùng. NIS xuất phát từ hãng Sun Microsystems với tên là Yellow Pages. 5.8. Lập lịch hoạt động chương trình, ứng dụng Chương trình lập lịch trong Linux xác định các ứng dụng, script thực thi theo một sự sắp xếp của người dùng như: at, cron, batch. `13
  15. 5.9. Các tiện ích sao lưu dữ liệu Linux cung cấp các tiện ích như tar, cpio và dd để sao lưu và backup dữ liệu. RedHat Linux còn cung cấp tiện ích Backup and Restore System Unix (BRU) cho phép tự động backup dữ liệu theo lịch. 5.10. Hỗ trợ nhiều ngôn ngữ lập trình Linux cung cấp một môi trường lập trình Unix đầy đủ bao gồm các thư viện chuẩn, các công cụ lập trình, trình biên dịch, chương trình debug. Ngôn ngữ chủ yếu sử dụng trong các hệ điều hành Unix là C và C++. Linux dùng trình biên dịch cho C và C++ là gcc, chương trình biên dịch này rất mạnh, hỗ trợ nhiều tính năng. Ngoài C, Linux cũng cung cấp các trình biên dịch, thông dịch cho các ngôn ngữ khác như Pascal, Fortran, Java Câu hỏi 1. Linux là gì? Nêu các đặc điểm của hệ điều hành Linux. 2. So sánh các ưu khuyết điểm của hệ điều hành Linux so với hệ điều hành Windows. 3. Trình bày kiến trúc và chức năng các thành phần chính của Linux. `14
  16. BÀI 2: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX Mã bài: MĐ 40-02 Mục tiêu: - Nắm yêu cầu đối với hệ thống cài đặt hệ điều hành Linux; - Thực hiện việc cài đặt hệ điều hành lên máy tính; - Thực hiện cấu hình thiêt bị; - Cài đặt các gói phần mềm; - Thực hiện các thao tác an toàn với máy tính. Nội dung chính: 1. Yêu cầu đối với hệ thống Mục tiêu: So với các hệ điều hành khác, Linux yêu cầu cấu hình hệ thống không cao. Phần này trình bày cấu hình tối thiểu một hệ thống cần đảm bảo để hệ điều hành Linux hoạt động. Tuy nhiên, đây là khuyến cáo tối thiểu; Trên thực tế, cấu hình hệ thống càng cao càng tốt. Linux không đòi hỏi máy có cấu hình mạnh. Tuy nhiên nếu phần cứng có cấu hình thấp quá thì có thể không chạy được X Window hay các ứng dụng có sẵn. Cấu hình tối thiểu nên dùng: - CPU: Pentium MMX trở lên. - RAM: 64 MB trở lên cho Text mode, 192MB cho mode Graphics. - Đĩa cứng: Dung lượng đĩa còn phụ thuộc vào loại cài đặt. + Custom Installation (minimum): 520MB. + Server (minimum): 870MB. + Personal Desktop: 1.9GB. + Workstation: 2.4GB. + Custom Installation (everything): 5.3GB. - 2M cho card màn hình nếu muốn sử dụng mode đồ họa. 2. Quá trình cài đặt Mục tiêu: Phần này sẽ trình bày chi tiết quá trình cài đặt hệ thống, giúp người học có thể tự cài đặt hệ thống với hệ điều hành Linux một cách dễ dàng. 2.1. Chọn phương thức cài đặt Nguồn cài đặt từ: - CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot. `15
  17. - Đĩa cứng: Cần sử dụng đĩa mềm boot (dùng lệnh dd hoặc mkbootdisk để tạo đĩa mềm boot). - FS image: Sử dụng đĩa khởi động mạng. Kết nối tới NFS sever. - FTP: Sử dụng đĩa khởi động mạng. Cài trực tiếp qua kết nối FTP. - HTTP: Sử dụng đĩa khởi động mạng. Cài trực tiếp qua kết nối HTTP. 2.2. Chọn chế độ cài đặt Chúng ta có thể chọn các chế độ: - Linux text: chế độ text (Text mode). - [Enter]: chế độ đồ họa (Graphical mode) 2.3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt Chọn ngôn ngữ “English” rồi chọn Next 2.4. Cấu hình bàn phím Chọn loại bàn phím của mình, chọn Next 2.5. Chọn cấu hình mouse Chọn loại Mouse phù hợp với mouse của mình. Khi chọn lưu ý cổng gắn mouse là serial hay PS/2, chọn Next. 2.6. Lựa chọn loại màn hình Thông thường hệ điều hành sẽ tự động nhận đúng loại màn hình hiển thị, nếu không ta phải cấu hình lại màn hình hiển thị trong hộp thoại bên phải. Chọn Next. 2.7. Lựa chọn loại cài đặt Một số loại cài đặt thông dụng: - Workstation: Cài đặt hệ điều hành phục vụ cho công việc của một máy trạm. - Server: Cài đặt hệ điều hành phục vụ cho máy chủ. `16
  18. - Custom: có thể tích hợp các tùy chọn trên một cách tùy ý. 2.8. Chia Partition - Automatically partition: hệ thống tự động phân vùng ổ đĩa hợp lý để cài hệ điều hành (thông thường theo cách này thì hệ thống sẽ tạo ra hai phân vùng: /boot, /, swap) - Manually partition with Disk Druid: Chia partition bằng tiện ích Disk Druid. Đây là cách chia partition dưới dạng đồ họa dễ dùng. - Nếu ta là người mới học cách cài đặt thì nên lựa chọn Automatically partition. 2.9. Lựa chọn Automatically partition - Remove all Linux partitions on this system: loại bỏ tất cả các Linux partition có sẵn trong hệ thống. - Remove all partitions on this system: loại bỏ tất cả các partition có sẵn trong hệ thống. - Keep all partitions and use existing free space: giữ lại tất cả các partition có sẵn và chỉ sử dụng không gian trống còn lại để phân chia phân vùng. `17
  19. Tùy theo từng yêu cầu riêng mà ta có thể lựa chọn các yêu cầu trên cho phù hợp, sau đó chọn Next. 2.10. Chia Partition bằng Disk Druid Trong bước 8 ta chọn Manually partition with Disk Druid để thực hiện phân chia phân vùng sử dụng tiện ích Disk Druid. Disk Druid hiển thị các partition của đĩa dưới chế độ đồ họa ở phía trên, ta có thể chọn từng partition để thao tác. Chi tiết các partition gồm kích thước, loại hệ thống tập tin, thư mục được mount vào được mô tả trong hình sau: - New: Tạo một partition mới, chỉ định tên phân vùng (mount point), loại filesystem (ext3) và kích thước (size) tính bằng Mbyte (tùy chọn). `18
  20. - Edit: Thay đổi lại các tham số của phân vùng được chọn. - Delete: Xóa phân vùng được chọn. - Reset: Phục hồi lại trạng thái đĩa như trước khi thao thác. - Make RAID: Sử dụng với RAID (Redundant Array of Independent Disks) khi ta có ít nhất 3 đĩa cứng. 2.11. Cài đặt chương trình Boot Loader Boot Loader là chương trình cho phép chọn các hệ điều hành để khởi động qua menu. Khi chúng ta chọn, thì chúng xác định các tập tin cần thiết để khởi động hệ điều hành và giao quyền điều khiển lại cho hệ điều hành. Boot Loader có thể được cài vào Master Boot record hoặc vào sector đầu tiên của partition. Linux cho phép sử dụng chương trình Boot Loader là GRUB hoặc LILO. Cả 2 Boot Loader đều hỗ trợ quản lý nhiều hệ điều hành trên một hệ thống. - Chọn cài Boot Loader vào Master Boot Record (MBR) khi chưa có chương trình Boot Loader nào được cài, hoặc chắc chắn chương boot loader có thể khởi động được các hệ điều hành khác trong máy. Khi cài lên MBR thì các chương trình Boot Loader trước đó sẽ bị thay thế bằng Boot Loader mới. - Chọn cài Boot loader vào sector đầu tiên của partition cài đặt khi đã có chương trình Boot Loader tại MBR và không muốn thay thế nó. Trong trường hợp này, chương trình Boot Loader kia nắm quyền điều khiển trước và trỏ đến chương trình Boot Loader của Linux khi có yêu cầu khởi động hệ điều hành này. - Nếu không cài chương trình Boot loader thì phải sử dụng đĩa mềm boot để khởi động hệ điều hành. - Có thể đặt mật khẩu cho boot loader thông qua nút Change password. `19
  21. 2.12. Cấu hình mạng Configure using DHCP: Có thể chọn cấu hình TCP/IP động qua dịch vụ DHCP hoặc cấu hình cụ thể. Khi cấu hình cụ thể, phải nhập những thông số cấu hình mạng trong mục chọn edit: - IPAddress: Chỉ định địa chỉ IP của host cài đặt. - Netmask Address: subnet mask cho địa chỉ IP trên. Active on boot: Card mạng được kích hoạt khi hệ điều hành khởi động. Host name: Nếu có tên dns đầy đủ thì khai báo tên đầy đủ. Trong trường hợp không kết nối vào mạng, chúng ta cũng đặt tên cho máy thông qua mục manually. Nếu không điền tên nào vào thì giá trị mặc nhiên là localhost. Miscellaneous Settings: chỉ định địa chỉ gateway và Primary DNS, và một số thông số khác. Các trường không có giá trị thì các trường đó không được sử dụng trong hệ thống. 2.13. Cấu hình Firewall Trong Linux có tích hợp Firewall để bảo vệ hệ thống chống lại một số truy xuất bất hợp pháp từ bên ngoài. Ta chọn Enable Firewall, sau đó chọn loại dịch vụ cần cho phép bên ngoài truy cập vào Firewall. `20
  22. 2.14. Chọn ngôn ngữ hỗ trợ trong Linux Chúng ta có thể cài đặt và sử dụng nhiều ngôn ngữ trong Linux. Có thể chọn ngôn ngữ mặc định (English (USA)) và các ngôn ngữ khác để sử dụng. 2.15. Cấu hình khu vực địa lý của hệ thống Các vị trí chia theo châu lục. Ta có thể chọn mục này một cách thông qua việc định vị chuột tại đúng vị trí trên bản đồ. `21
  23. 2.16. Đặt mật khẩu cho người quản trị Trên Linux người quản trị được gọi là người root. Mật khẩu của user root bắt buộc có chiều dài tối thiểu của password là 6 ký tự. Lưu ý password phân biệt chữ hoa và thường. Khi có thông báo “Root password accepted” là được. 2.17. Cấu hình chứng thực Nếu không sử dụng password mạng có thể bỏ qua cấu hình này nhưng vẫn sử chế độ chọn mặc nhiên (chọn Enable MD5 passwords và Enable shadow passwords) - Enable MD5 passwords: cho phép password sử dụng tới 256 ký tự thay vì chỉ tới 8 ký tự. - Enable shadow passwords: cung cấp cơ chế lưu trữ password an toàn. Password được lưu trữ trong tập tin /etc/shadow và chỉ có root mới được đọc. - Enable NIS: cho phép một nhóm máy trong một NIS domain sử dụng chung tập tin passwd và group. Chọn các tham số sau: + NIS domain: Xác định NIS domain mà máy này tham gia + Use broadcast to find NIS server: Cho phép sử dụng thông điệp quảng bá để tìm NIS server. + NIS Server: Xác định NIS server. + Enable LDAP: Hệ thống sử dụng LDAP cho một vài hoặc tất cả các phép chứng thực. + LDAP Server: Xác định LDAP server (dùng địa chỉ IP) + LDAP Base DN: cho phép tìm kiếm thông tin người dùng dựa trên DN (Distinguished Name) + Use TLS (Transport Layer Security) lookups: cho phép LDAP gởi tên người dùng và password mã hóa tới LDAP server trước khi chứng thực. `22
  24. - Enable Kerberos: là hệ thống cung cấp các dịch vụ chứng thực trên mạng. Các lựa chọn: + Realm: cho phép truy xuất tới mạng sử dụng Kerberos. + KDC: cho phép truy xuất tới Key Distribution Center (KDC). + Admin Server: cho phép truy xuất tới server chạy kadmin. + Enable SMB Authentication: Cài PAM để dùng một Samba server chứng thực cho các client. + SMB Server: Xác định samba server mà các máy trạm kết nối tới để chứng thực. + SMB Workgroup: Xác định workgroup mà samba server được cấu hình tham gia. 2.18. Chọn các chương trình và Package cài đặt Chọn các chương trình cần cài đặt: everything: cài tất cả các chương trình, Minimal: chỉ cài một số chương trình hoặc phần mềm thông dụng. Nếu nắm rõ các package cần thiết cho các chương trình mong muốn thì chọn Select individual packages. Ta có thể chọn Details để chọn chi tiết các thành phần trong từng phần mềm hoặc nhóm các công cụ. `23
  25. 2.19. Định dạng filesystem và tiến hành cài đặt 3. Cấu hình thiết bị Mục tiêu: Trình bày các thao tác cấu hình các thiết bị thông dụng. Điều này giúp người học có thể cấu hình các thiết bị một cách dễ dàng. 3.1. Bộ nhớ (RAM) System RAM được BIOS nhận biết khi khởi động, Linux kernel có khả năng nhận biết được tất cả các loại RAM (EDO, DRAM, SDRAM, DDRAM). 3.2. Vị trí lưu trữ tài nguyên Kernel lưu trữ thông tin tài nguyên trong thư mục /proc, các tập tin ta cần quan tâm: + /proc/dma + /proc/interrupt + /proc/ioports + /proc/pci 3.3. Hỗ trợ USB Hầu hết các phiên bản linux gần đây có khả năng nhận biết USB device, khi USB được cắm vào USB port thì nó được USB controller điều khiển, Linux hỗ trợ rất nhiều USB controller, thiết bị USB được Linux kernel nhận biết qua tập tin /dev/sda1. 3.4. Network Card Kernel của linux hỗ trợ hầu hết NIC, để xem chi tiết thông tin hiện tại của card mạng ta sử dụng các lệnh sau đây: Dmesg, lspci, /proc/interrupts, /sbin/lsmod, /etc/modules.conf 3.5. Cài đặt modem Sau đây là một số bước cài đặt serial modem: `24
  26. + Bước 1: Dùng lệnh setserial để scan serial device. + Bước 2: Dùng lệnh ls –s /dev/ttyS1 /dev/modem + Bước 3: cấu hình Dial profile thông qua công cụ wvdial cung cấp script wvdialconfig để ta scan những thông tin cần thiết cho modem và ghi vào file /etc/wvdial.conf. 3.6. Cài đặt và cấu hình máy in Trước khi cài đặt máy in, cần cài thêm package system-config-printer- 0.6.98-1 (Fedora Core). Sau đó dùng lệnh #system-config-printer Chọn New để cài đặt máy in Đặt tên Printer và chọn Queue Type `25
  27. Chọn Queue Driver để chỉ định loại máy in 4. Sử dụng hệ thống Mục tiêu: Việc đăng nhập và sử dụng các lệnh cơ bản, sử dụng trợ giúp là điều đầu tiên người dùng phải thực hiện được. Phần này trình bày cách đăng nhập, quan sát dấu nhắc hệ điều hành, cách sử dụng các lệnh đơn giản và cách gọi trợ giúp khi cần thiết. 4.1. Đăng nhập Để sử dụng hệ thống, trước hết phải đăng nhập vào. Khi kết nối tới máy thì màn hình hiển thị dòng: + Login: + Password: Có 2 dạng dấu nhắc lệnh: + Dạng $ dùng cho người dùng thường. + Dạng # dùng cho người dùng quản trị (root). Khi login vào hệ thống, chúng ta thấy dấu nhắc lệnh xuất hiện có dạng: [tên-đăng-nhập@tên-máy thư-mục-hiện-hành]dấu-nhắc-lệnh Ví dụ: [root@serverroot]# - Từ dấu nhắc lệnh ta có thể sử dụng lệnh theo cú pháp như sau: Tên-lệnh [tùy-chọn] [tham-số] `26
  28. + Tùy chọn có dạng: – + Nếu có nhiều tùy chọn thì ta dùng dấu khoảng trắng để làm dấu ngăn cách hoặc kết hợp nhiều tùy chọn Ví dụ: [root@serverls –a –l /etc - Linux cho phép kết hợp nhiều lựa chọn chỉ dùng một dấu - . Như ví dụ trên ta có thể dùng lệnh ls –al /etc thay cho ls –a –l /etc - Chuyển sang user khác: Đang làm việc chúng ta có thể chuyển sang người dùng khác mà không phải logout ra, bằng cách dụng lệnh su. $su [tên-user]: chuyển sang user mới - Nếu tên-user không có thì mặc định là chuyển qua root - Thông thường khi chuyển sang user khác thì biến môi trường của hệ thống vẫn giữ nguyên theo user cũ. Để sử dụng biến môi trường của user mới chúng ta dùng thêm tham số - trong lệnh su. Ví dụ: #su – [user] 4.2. Một số lệnh cơ bản Tên lệnh Ý nghĩa date Hiển thị ngày giờ hệ thống who Cho biết các người dùng đang đăng nhập vào hệ thống tty Xác định tập tin tty mà mình đang login vào cal Lịch finger Hiển thị các thông tin của các người dùng: họ tên, địa chỉ chfn Thay đổi thông tin của người dùng head Xem nội dung tập tin từ đầu tập tin tail Xem nội dung từ cuối tập tin hostname Xem, đổi tên máy passwd Đổi mật khẩu cho user 4.3. Sử dụng trợ giúp man Linux cung cấp một hệ thống thư viện giúp tìm các thông tin theo từ khóa nhập vào. Các lệnh trong Linux sử dụng rất nhiều tùy chọn, chúng ta sẽ khó nhớ hết được, Linux cung cấp trình trợ giúp man: $man [từ-khóa] Ví dụ: Tìm kiếm các thông tin về lệnh ls $man ls Để thoát khỏi man: chọn phím q `27
  29. Man phân dữ liệu lưu trữ thành những đoạn (session) khác nhau với các chủ đề khác nhau là Session Tên chủ đề Ý nghĩa 1 user command các lệnh thông thường của hệ điều hành 2 system call các hàm thư viện kernel của hệ thống 3 subroutines các hàm thư viện lập trình 4 devices các hàm truy xuất tập tin và xử lý thiết bị 5 File format các hàm định dạng tập tin 6 games các hàm liên quan đến trò chơi 7 Miscel các hàm khác 8 Sys. admin các hàm quản trị hệ thống Xác định cụ thể thông tin của một chủ đề nào, chúng ta dùng lệnh man như sau: $man [session] [từ-khóa] Ví dụ: man 3 printf Xem các thông tin về hàm prinf dùng trong lập trình Nếu không xác định session thì session mặc nhiên là 1. 5. Cài đặt các gói phần mềm Mục tiêu: Khi sử dụng hệ thống, việc cài đặt các chương trình, phần mềm trên hệ thống là thao tác cần thiết. Phần này sẽ cung cấp cho người dùng cách cài đặt, gỡ bỏ, nâng cấp phần mềm với các dạng file nguồn khác nhau. 5.1. Chương trình RPM RedHat Package Manager (RPM) là hệ thống quản lý package (gói phần mềm) được Linux hỗ trợ cho người dùng. Nó cung cấp cho người dùng nhiều tính năng để duy trì hệ thống. Người dùng có thể cài đặt, xóa hoặc nâng cấp các package trực tiếp bằng lệnh. RPM có một cơ sở dữ liệu chứa các thông tin của các package đã cài và các tập tin của chúng, nhờ vậy RPM cho phép truy vấn các thông tin, cũng như xác thực các package trong hệ thống. Nếu sử dụng XWindow, có thể dùng chương trình KDE-PRM hoặc Gnome-RPM thay cho việc sử dụng lệnh. 5.2. Đặc tính của RPM - Khả năng nâng cấp phần mềm: Với RPM, có thể nâng cấp các thành phần riêng biệt của hệ thống mà không cần phải cài lại. Khi có một phiên bản mới của hệ điều hành dựa trên RPM (như RedHat Linux chẳng hạn) chúng ta không phải cài lại hệ thống mà chỉ cần nâng cấp. RPM cho phép nâng cấp hệ thống một `28
  30. cách tự động, thông minh. Các tập tin cấu hình được giữ lại qua các lần nâng cấp; vì thế, các tuỳ chọn sẵn có của hệ thống được nâng cấp không bị thay đổi. - Truy vấn thông tin hiệu quả: RPM cũng được thiết kế cho mục đích truy vấn các thông tin về các package trong hệ thống. Có thể tìm kiếm thông tin các package hoặc các tập tin cài đặt trong toàn bộ cơ sở dữ liệu, cũng có thể hỏi tập tin cụ thể thuộc về package nào và nó ở đâu. Package RPM có các tập tin chứa các thông tin rất hữu ích về package này và nội dung của package. Các tập tin này cho phép người dùng tìm kiếm thông tin trong một package riêng lẻ. - Thẩm tra hệ thống (System Verification): Một đặc tính rất mạnh của RPM là cho phép thẩm tra lại các package. Nếu nghi ngờ một tập tin nào bị xóa hay bị thay thế trong package, có thể kiểm tra lại rất dễ dàng. Cần phải chú ý đến các dấu hiệu bất bình thường của hệ thống, nên kiểm tra và cài lại nếu cần thiết. 5.3. Lệnh rpm Lưu ý rằng rpm phải được thực hiện bởi người dùng quản trị (root). RPM có 5 chế độ thực hiện: cài đặt (installing), xóa (uninstalling), nâng cấp (upgrading), truy vấn (querying) và thẩm tra (verifying). 5.3.1. Cài đặt phần mềm bằng rpm Package RPM thường chứa các tập tin giống như foo-1.0-1.i386.rpm Tên tập tin này bao gồm tên package (foo), phiên bản (1.0), số hiệu phiên bản (1), kiến trúc sử dụng (i386). Lệnh cài đặt: # rpm –ivh tên-tập-tinRPM Ví dụ: #rmp –ivh foo-1.0-1.i386.rpm foo ################################# Một số trường hợp lỗi khi cài đặt. o Package đã cài rồi. o Xung đột với tập tin cũ đã tồn tại. o Package phụ thuộc vào package khác. Ví dụ: package đã được cài đặt trước # rpm -ivh foo-1.0-1.i386.rpm foo package foo-1.0-1 is already installed Nếu muốn cài chồng lên package đã cài, sử dụng tham số replacepkgs #rpm –ivh -–replacepkgs tên-tập-tin-package Ví dụ: # rpm -ivh replacepkgs foo-1.0-1.i386.rpm `29
  31. Ví dụ: xung đột với tập tin cũ đã tồn tại # rpm -ivh foo-1.0-1.i386.rpm foo /usr/bin/foo conflicts with file from bar-1.0-1 Để bỏ qua lỗi này, có thể cài đè lên bằng tùy chọn replacefiles. # rpm -ivh replacefiles foo-1.0-1.i386.rpm Ví dụ: Package phụ thuộc vào package khác # rpm -ivh foo-1.0-1.i386.rpm failed dependencies: bar is needed by foo-1.0-1 Giải quyết trường hợp này, phải cài các package được yêu cầu. Nếu muốn tiếp tục cài mà không cài các package khác thì dùng tùy chọn nodeps. Tuy nhiên lúc này các package có thể chạy không tốt. 5.3.2. Loại bỏ phần mềm đã cài đặt trong hệ thống # rpm -e tên-package Lưu ý: khi xóa chúng ta dùng tên-package chứ không dùng tên tập tin RPM. Ví dụ: # rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1 5.3.3. Nâng cấp phần mềm # rpm –Uvh tên-tập-tinRPM Ví dụ: # rpm -Uvh foo-2.0-1.i386.rpm foo #################################### Khi upgrade RPM sẽ xóa các phiên bản cũ của package. Có thể dùng lệnh này để cài đặt, khi đó sẽ không có phiên bản cũ nào bị xóa đi. Khi RPM tự động nâng cấp với tập tin cấu hình, chúng thường xuất hiện một thông báo như sau: saving /etc/foo.conf as /etc/foo.conf.rpmsave. Điều này có nghĩa là khi tập tin cấu hình của phiên bản cũ không tương thích với phiên bản mới thì chúng lưu lại và tạo tập tin cấu hình mới. Nâng cấp thực sự là sự kết hợp giữa Uninstall và Install. Vì thế khi upgrade cũng thường xảy ra các lỗi như khi Install và Uninstall và thêm một lỗi nữa là khi upgrade với phiên bản cũ hơn. # rpm -Uvh foo-1.0-1.i386.rpm foo package foo-2.0-1 (which is newer) is already installed Trong trường hợp này, thêm tham số oldpackage # rpm -Uvh oldpackage foo-1.0-1.i386.rpm foo #################################### `30
  32. 5.3.4. Truy vấn các phần mềm # rpm -q tên-package Ví dụ: # rpm -q foo foo-2.0-1 //kết quả truy vấn Thay vì xác định tên package, có thể sử dụng thêm một số tham số khác kết hợp với -q để ấn định package muốn truy vấn, chúng được gọi là Package Specification Options + -a: Truy vấn tất cả các package. + -f : Truy vấn những package chứa tập-tin. Khi xác định tập tin, phải chỉ rõ đường dẫn (ví dụ: /usr/bin/ls) + -p : Truy vấn package tên-tập-tin-package Sau đây là các tùy chọn sử dụng để xác định loại thông tin cần tìm kiếm. Chúng được gọi là Information Selection Options + -i: xác định các thông tin về package bao gồm: tên, mô tả, phiên bản, kích thước, ngày tạo, ngày cài đặt, nhà sản xuất + -l: Hiển thị những tập tin trong package. + -s: Hiển thị trạng thái của các tập tin trong package. + -d: hiển thị danh sách tập tin tài liệu cho package (ví dụ man, README, info file ) + c: hiển thị danh sách tập tin cấu hình. 5.3.5. Kiểm tra các tập tin đã cài đặt Các thông tin dùng kiểm tra là: kích thước, MD5 checksum, quyền hạn, loại tập tin, người sở hữu, nhóm sở hữu tập tin. + rpm –V tên-package: Kiểm tra tất cả các tập tin trong package. + rpm –vf tên-file: Kiểm tra tập tin tên-file + rpm –Va: Kiểm tra tất cả các package đã cài. + rpm –Vp tên-tập-tin-RPM: Kiểm tra một package với tập tin package xác định, thường sử dụng trong trường hợp cơ sở dữ liệu của RPM bị hỏng. Khi kiểm tra nếu không có lỗi thì không có hiển thị, nếu không thì sẽ thông báo ra. Định dạng của dòng thông báo gồm 8 ký tự và tên tập tin. Mỗi ký tự biểu diễn cho kết quả của việc so sánh một thuộc tính của tập tin với thuộc tính lưu trong cơ sở dữ liệu RPM. Dấu chấm (.) nghĩa là đã kiểm tra xong. Những ký tự đại diện cho các lỗi kiểm tra. + 5 – MD5 checksum + S – kích thước tập tin + L – liên kết mềm + T - thời gian cập nhật tập tin `31
  33. + D - thiết bị + U – người sở hữu + G – nhóm sở hữu + M - quyền truy xuất và loại tập tin. + ? – không tìm thấy tập tin 5.3.6. Cài đặt phần mềm file nguồn *.tar, *.tgz Ngoài các phần mềm được đóng gói dạng file nhị phân (file *.rpm) còn có các phần mềm được ung cấp dạng file source code như: *.tar hoặc *.tgz. Thông thường để cài đặt phần mềm này ta cần phải dựa vào trợ giúp của file giúp đỡ trong từng chương trình hoặc phần mềm, các file (README or INSTALL) này nằm trong các thư mục con của thư mục sau khi ta dùng lệnh tar để giải nén source. Để thực hiện việc cài đặt này ta thường làm các bước sau: Bước 1: Giải nén file tar. Ví dụ: [root@bigboy tmp]# tar -xvzf linux-software-1.3.1.tar.gz linux-software-1.3.1/ linux-software-1.3.1/plugins-scripts/ linux-software-1.3.1/linux-software-plugins.spec [root@bigboy tmp]# Tạo các thư mục con chứa các file cài đặt [root@bigboy tmp]# ls linux-software-1.3.1 linux-software-1.3.1.tar.gz [root@bigboy tmp]# Bước 2: Chuyển vào thư mục con và tham khảo các file INSTALL, README. Ví dụ: [root@bigboy tmp]# cd linux-software-1.3.1 [root@bigboy linux-software-1.3.1]# ls COPYING install-sh missing plugins depcomp LEGAL mkinstalldirs plugins-scripts FAQ lib linux-software.spec README Helper.pm Makefile.am linux-software.spec.in REQUIREMENTS INSTALL Makefile.in NEWS subst.in [root@bigboy linux-software-1.3.1]# Bước 3: Sau đó dựa vào chỉ dẫn trong file (INSTALL, README) để cài đặt phần mềm. `32
  34. Câu hỏi 1. Trình bày các yêu cầu đối với hệ thống để cài đặt hệ điều hành Linux. 2. Cho biết các chế độ cài đặt Linux; Ưu và nhược điểm của mỗi chế độ cài đặt? Bài tập thực hành 1. Cài đặt hệ điều hành Linux cho hệ thống. Các bước thực hiện: - Boot - Chọn chế độ cài đặt - Kiểm tra đĩa CD - Giới thiệu - Chọn ngôn ngữ - Chọn keyboard - Cấu hình màn hình - Chọn kiểu cài đặt - Chọn cơ chế phân chia đĩa - Tạo 3 phân vùng - Lựa chọn cấu hình Boot loader đặt mật khẩu - Cấu hình mạng - Cấu hình firewal - Chọn ngôn ngữ hỗ trợ sau cài đặt - Cấu hình múi giờ - Thiết lập mật khẩu cho user quản trị hệ thống - Kết nối phần mềm cần cài đặt: o X Windows System o GNOME Desktop o KDE o Các phần mềm khác (Editors, Graphic Interrnet, Text-based Interrnet, Office/Productivity, Các tool khác, Các công cụ hỗ trợ cấu hình, Các dịch vụ, hệ thống cần thiết khác, Công cụ hỗ trợ biên dịch, Các công cụ quản trị hệ thống Linux - Yêu cầu login để sử dụng Linux - Setup các thông số cơ bản (License, ngày giờ, cơ chế hiển thị màn hình, độ phân giải) - Tạo thêm account cho các user khác - Cài đặt các packet khác - Màn hình đồ họa hiển thị và yêu cầu đăng nhập - Lựa chọn các công cụ trong quá trình sử dụng giao diện đồ họa. 2. Cài đặt máy in - Cài đặt máy in HP 4500 trên môi trường text `33
  35. - Cài đặt máy in trên chế độ graphic * Thực hiện cài đặt một máy in cục bộ: * Cài đặt một máy in mạng 3. Cài đặt modem trên hệ thống hiện tại 4. Cài đặt Font VNI và Unicode trên máy hiện hành 5. Cài đặt bộ gõ tiếng việt - Cài đặt bộ gõ tiếng việt xvnkb từ file nhị phân rpm: - Cài xvnkb từ file nguồn *.tar.gz - Cài đặt xvnkb trên giao diện đồ họa 6. Cài đặt phần mềm OpenOffice `34
  36. BÀI 3: THAO TÁC VỚI TẬP TIN VÀ THƯ MỤC Mã bài: MĐ 40-03 Mục tiêu: - Nắm các khái niệm cơ bản vệ hệ thống tập tin và thư mục của Linux; - Tạo và quản lý tập tin & thư mục; - Sử dụng các lệnh liên quan đến tập tin và thư mục; - Thực hiện các thao tác an toàn với máy tính. Nội dung chính: 1. Cấu trúc hệ thống tập tin & thư mục Mục tiêu: Như các hệ điều hành khác, cấu trúc tập tin và thư mục là một phần cơ bản của hệ điều hành Linux. Phần này cung cấp cho người học các thành phần của hệ thống tập tin, thư mục cùng với chức năng của mỗi thành phần. 1.1. Hệ thống tập tin - Hệ thống tập tin là một phần cơ bản của hệ điều hành Linux. - Một hệ thống tập tin là thiết bị mà nó đã được định dạng để lưu trữ tập tin và thư mục. - Hệ thống tập tin Linux bao gồm: đĩa mềm, CD-ROM, những partition của đĩa cứng. Những hệ thống tập tin thường được tạo trong quá trình cài đặt hệ điều hành. Nhưng cũng có thể thay đổi cấu trúc hệ thống tập tin khi thêm thiết bị hay chỉnh sửa những partition đã tồn tại. Như vậy, việc biết và hiểu cấu trúc hệ thống tập tin trong Linux là rất quan trọng. Linux hỗ trợ nhiều loại hệ thống tập tin như: ext2, ext3, MS-DOS, proc. Hệ thống tập tin cơ bản của Linux là ext2 và ext3 (hiện tại là ext3). Hệ thống tập tin này cho phép đặt tên tập tin tối đa 256 ký tự và kích thước tối đa là 4terabytes. Bên cạnh đó, Linux hỗ trợ và cho phép đặt tên tập tin dài đối với những tập tin MS-DOS và những partition FAT32. Proc là một hệ thống tập tin ảo (/proc) nghĩa là không dành dung lượng đĩa phân phối cho nó. Ngoài ra còn có những hệ thống tập tin khác như iso9660, UMSDOS, Network File System (NFS). - Các thành phần của hệ thống tập tin: + Super Block: là một cấu trúc được tạo tại vị trí bắt đầu hệ thống tập tin. Nó lưu trữ thông tin về hệ thống tập tin như: Thông tin về block-size, free block, thời gian gắn kết (mount) cuối cùng của tập tin. `35
  37. + Inode (256 byte): Lưu những thông tin về những tập tin và thư mục được tạo ra trong hệ thống tập tin. Nhưng chúng không lưu tên tập tin và thư mục thực sự. Mỗi tập tin tạo ra sẽ được phân bổ một inode lưu thông tin sau: o Loại tập tin và quyền hạn truy cập tập tin o Người sở hữu tập tin. o Kích thước của tập tin và số hard link đến tập tin. o Ngày và thời gian chỉnh sửa tập tin lần cuối cùng. o Vị trí lưu nội dung tập tin trong hệ thống tập tin. + Storageblock: Là vùng lưu dữ liệu thực sự của tập tin và thư mục. Nó chia thành những Data Block. Dữ liệu lưu trữ vào đĩa trong các data block. Mỗi block thường chứa 1024 byte. Ngay khi tập tin chỉ có 1 ký tự thì cũng phải cấp phát 1 block để lưu nó. Không có ký tự kết thúc tập tin. + Data Block của tập tin thông thường lưu inode của tập tin và nội dung của tập tin. + Data Block của thư mục lưu danh sách những entry bao gồm inode number, tên của tập tin và những thư mục con. 1.2. Hệ thống thư mục Hệ thống thư mục trong Linux có cấu trúc như hình vẽ trên. Trong Linux không có khái niệm ổ đĩa như trong Windows, tất cả các tập tin thư mục bắt đầu từ thư mục gốc (/). Linux sử dụng dấu “.” chỉ thư mục hiện hành và dấu “ ” chỉ thư mục cha của thư mục hiện hành. Ví dụ thư mục hiện hành là /usr/bin, đường dẫn /local tương đương /usr/local `36
  38. Như hình vẽ trên thư mục gốc được mount vào partition thứ nhất, /usr được mount vào partition thứ 2 Những dữ liệu ghi vào thư mục /home sẽ ghi vào partition thứ 3. Tương tự, dữ liệu của thư mục /usr/local ghi vô partition 4, dữ liệu của thư mục /usr không phải thư mục con /usr/local thì ghi vào partion 2. Linux sử dụng các tập tin chỉ đến các partition trên ổ đĩa vật lý. Những tập tin này là những tập tin thiết bị, nằm trong thư mục /dev. Tập các tập tin này có dạng đầu tin là ký tự xác định loại ổ đĩa như: đĩa mềm là fd, đĩa cứng là hd, đĩa scsi là sd tiếp theo là số thứ tự ổ đĩa: Ổ đĩa thứ nhất dùng ký hiệu a, thứ 2 ký hiệu là b và sau cùng là số thứ tự partition. Ví dụ: tập tin chỉ đến các thiết bị: + ổ mềm thứ nhất: /dev/fd0 + partition thứ nhất của ổ đĩa cứng đầu tin: /dev/hda1 + partition thứ 3 của đĩa cứng thứ 2: /dev/hdb3. Các thư mục cơ bản trên Linux Thư mục Chức năng /bin, /sbin Chứa các tập tin nhị phân hỗ trợ cho việc boot và thực thi các lệnh cần thiết /boot Chứa linux kernel, file ảnh hỗ trợ load hệ điều hành /lib Chứa các thư viện chia xẻ cho các tập tin nhị phân trong thư mục /bin và /sbin, chứa kernel module. /usr/local Chứa các thư viện, các phần mềm để chia xẻ cho các máy khác trong mạng /tmp Chứa các file tạm /dev Chứa các tập tin thiết bị (như CDROM, floppy), và một số file đặc biệt khác. /etc Chứa các tập tin cấu hình hệ thống /home Chứa các thư mục lưu trữ home directory của người dùng /root Lưu trữ home directory cho user root `37
  39. /usr Lưu trữ tập tin của các chương trình đã được cài đặt trong hệ thống. /var Lưu trữ log file, hàng đợi của các chương trình ứng dụng, mailbox của người dùng. /mnt Chứa các mount point của các thiết bị được mount vào trong hệ thống. Các thư mục có thể sử dụng làm mount point cho các thiết bị riêng: như: /boot, /home, /root, /tmp, /usr, /usr/local, /opt, /var. 2. Thao tác với tập tin, thư mục Mục tiêu: Trình bày các thao tác trên tập tin, thư mục một cách chi tiết, từ cú pháp lệnh đến chức năng và các ví dụ cụ thể. 2.1. Thao tác trên thư mục 2.1.1. Đường dẫn tương đối và tuyệt đối Đường dẫn trong Linux sử dụng là dấu / Để xác định một tập tin hay thư mục chúng ta dùng đường dẫn tuyệt đối hay tương đối. Đường dẫn tuyệt đối là đường dẫn đầy đủ đi từ thư mục gốc (/) của cây thư mục. Ví dụ: /home/hv, /usr/local/vd.txt Trong một số trường hợp sử dụng các tập tin và thư mục là con của thư mục mình đang làm việc, lúc đó chúng ta sử dụng đường dẫn tương đối. Đường dẫn tương đối được tính từ thư mục hiện hành. Ví dụ chúng ta đang ở thư mục /home/hv khi gõ lệnh cat test.txt là chúng ta xem tập tin test.txt trong thư mục /home/hv. Chương trình thực thi trong Linux có 2 dạng chính là tập tin lệnh và tập tin binary. Tập tin lệnh là tập tin lưu các lệnh của shell; tập tin binary chứa mã máy. Trong Linux tên tập tin không có khái niệm mở rộng. Người ta thường sử dụng phần mở rộng để nói lên tính chất, ý nghĩa của tập tin chứ không để xác định chương trình thực thi tập tin. Ví dụ .txt chỉ tập tin dạng text, .conf chỉ tập tin cấu hình. Tập tin muốn thực thi được thì phải gán quyền thực thi (x). Khi thực thi chương trình phải xác định đường dẫn chính xác hoặc sử dụng đường dẫn trong biến môi trừơng PATH. Do vậy, muốn thực thi tập tin trong thư mục hiện hành phải dùng ./tên-file 2.1.2. Lệnh pwd Lệnh pwd cho phép xác định vị trí thư mục hiện hành. Ví dụ: `38
  40. [natan@netcom bin]$ pwd /usr/local/bin 2.1.3. Lệnh cd Lệnh cd cho phép thay đổi thư mục. Cú pháp: $cd [thư-mục] thư-mục: là nơi cần di chuyển vào. Ví dụ: $cd /etc 2.1.4 Lệnh ls Lệnh ls cho phép liệt kê nội dung thư mục. Cú pháp: ls [tùy chọn] [thư mục] ls –x hiển thị trên nhiều cột. ls –l hiển thị chi tiết các thông tin của tập tin. ls –a hiển thị tất cả các tập tin kể cả tập tin ẩn. Ví dụ: $ ls –l /etc -rw-r r 1 root root 920 Jun 25 2001 im_palette-small.pal -rw-r r 1 root root 224 Jun 25 2001 im_palette-tiny.pal -rw-r r 1 root root 5464 Jun 25 2001 imrc -rw-r r 1 root root 10326 Apr 12 08:42 info-dir lrwxrwxrwx 1 root root 11 Apr 12 07:52 init.d -> rc.d/init.d Ý nghĩa các cột từ trái sang phải + Cột 1: ký tự đầu tiên: - chỉ tập tin bình thường, d chỉ thư mục, l chỉ link và phía sau có dấu -> chỉ tới tập tin thật. + Các ký tự còn lại chỉ quyền truy xuất + Cột thứ 2: Chỉ số liên kết đến tập tin này. + Cột thứ 3, 4: Người sở hữu và nhóm sở hữu + Cột thứ 5: Kích thước tập tin, thư mục + Cột thứ 6: Chỉ ngày giờ sửa chữa cuối cùng + Cột thứ 7: Tên tập tin, thư mục Để xem thông tin 1 hay nhiều tập tin có thể dùng `39
  41. $ls -l tập-tin1 tập-tin2 2.1.5. Lệnh mkdir Lệnh mkdir cho phép tạo thư mục. Cú pháp: $mkdir [tùy-chọn] [thư-mục] Ví dụ: $mkdir /home/web 2.1.6. Lệnh rmdir Lệnh cho phép xóa thư mục rỗng Cú pháp: $rmdir [tùy-chọn] [thư-mục] Ví dụ: $rmdir /home/web 2.2. Tập tin 2.2.1. Lệnh cat Lệnh cat dùng hiển thị nội dung của tập tin dạng văn bản. Để xem tập tin, chọn tên tập tin làm tham số. Cú pháp: $cat [tên-tập-tin] Ví dụ: $cat myfile Lệnh cat còn cho phép xem nhiều tập tin cùng lúc $cat file1 file2 Cat cũng được dùng để tạo và soạn thảo văn bản dạng text. Trong trường hợp này chúng ta sử dụng dấu > hay >> đi theo sau (dấu > xóa nội dung cũ và ghi nội dung mới vào tập tin, dấu >> ghi nối nội dung mới vào tập tin). $cat > [Enter] > Các-dòng-dữ-liệu-của-tập tin > [Ctrl-d: kết thúc] 2.2.2. Lệnh more Lệnh more cho phép xem nội dung tập tin theo từng trang màn hình. Cú pháp: `40
  42. $more [tên-tập-tin] Ví dụ: $more /etc/passwd 2.2.3. Lệnh cp Lệnh cp cho phép sao chép tập tin Cú pháp: $cp Ví dụ: $cp /etc/passwd /root/passwd 2.2.4. Lệnh mv Lệnh mv cho phép thay đổi tên tập tin và di chuyển vị trí của tập tin Cú pháp: $mv Ví dụ: $cp /etc/passwd /root/pwd 2.2.5. Lệnh rm Lệnh rm cho phép xóa tập tin, thư mục. Cú pháp: $rm [tùy-chọn] [tên-tập-tin/thưmục] Các tùy chọn thường dùng: -r xóa thư mục và tất cả các tập tin và thư mục con -l xác nhận lại trước khi xóa 2.2.6. Lệnh find Cho phép tìm kiếm tập tin thỏa mãn điều kiện. Cú pháp: #find [đường-dẫn] [biểu-thức-tìm-kiếm] o đường-dẫn: là đường dẫn thư mục tìm kiếm o biểu-thức-tìm-kiếm: tìm các tập tin hợp với điều kiện tìm. Tìm 1 tập tin xác định: #find [thư-mục] –name [tên-tập-tin] –print Ngoài ra, có thể sử dụng những kí hiệu sau: `41
  43. “*”: viết tắt cho một nhóm ký tự “?”: viết tắt cho một ký tự Có thể sử dụng man để có các lựa chọn tìm kiếm đầy đủ hơn 2.2.7. Lệnh grep Lệnh grep cho phép tìm kiếm một chuỗi nào đó trong nội dung tập tin. Cú pháp: #grep [biểu-thức-tìm-kiếm] [tên-tập-tin] Tìm trong tập tin có tên [tên-tập-tin] những dữ liệu thỏa mãn [biểu- thức-tìm-kiếm] Ví dụ: grep “nva” /etc/passwd Tìm kiếm trong tập tin /etc/passwd và hiển thị các dòng có xuất hiện chuỗi “nvan”. 2.2.8. Lệnh touch Là lệnh hỗ trợ việc tạo và thay đổi nội dung tập tin Cú pháp: touch file Ví dụ: #touch file1.txt file2.txt (tạo hai tập tin file1.txt và file2.txt) 2.2.9. Lệnh dd Sao chép và chuyển đổi file. Ví dụ: dd if=/mnt/cdrom/images/boot.img of=/dev/fd0 (if là input file, of là output file) 3. Quyền truy cập, sở hữu đối với tập tin và thư mục Mục tiêu: Trong Linux, các tập tin hay thư mục khi được tạo ra luôn có người sở hữu và quyền truy cập. Phần này sẽ trình bày các quyền trên tập tin và thư mục, cách gán quyền hay thay đổi sở hữu các tập tin và thư mục sẽ được hướng dẫn ở phần này. 3.1. Quyền hạn Tất cả các tập tin và thư mục của Linux đều có người sở hữu và quyền truy cập. Chúng ta có thể thay đổi các tính chất này đối với tập tin hay thư mục. Quyền của tập tin còn cho phép xác định tập tin có phải là chương trình (application) hay không. Ví dụ với lệnh ls –l: -rw-r r 1 fido users 163 Dec 7 14 : 31 myfile `42
  44. Cột đầu chỉ ra quyền hạn truy cập của tập tin; ví dụ trên, các ký tự -rw-r r biểu thị quyền truy cập của tập tin myfile. Linux cho phép người sử dụng xác định các quyền đọc (read), viết (write) và thực thi (execute) cho từng đối tượng. Có 3 dạng đối tượng: + Người sở hữu (the owner) + Nhóm sở hữu (the group owner) + Người khác (“other users” hay everyone else). Quyền đọc cho phép đọc nội dung của tập tin. Đối với thư mục, quyền đọc cho phép di chuyển vào thư mục và xem nội dung của thư mục. Quyền viết cho phép thay đổi nội dung hay xoá tập tin. Đối với thư mục, quyền viết cho phép tạo ra, xóa hay thay đổi tên các tập tin trong thư mục không phụ thuộc vào quyền cụ thể của tập tin trong thư mục. Như vậy, quyền viết của thư mục sẽ vô hiệu hóa các quyền truy cập của tập tin trong thư mục. Quyền thực thi cho phép gọi chương trình lên bộ nhớ bằng cách nhập từ bàn phím tên của tập tin. Đối với thư mục, chỉ có thể vào thư mục bởi lệnh cd nếu có quyền thực thi với thư mục. -rw-r r 1 fido users 163 Dec 7 14 : 31 myfile Ký tự đầu tiên của quyền là ký tự “-” cho biết đó là một tập tin bình thường. Nếu ký tự d thay thế cho dấu “-” thì myfile là một thư mục. Ngoài ra còn có c cho thiết bị ngoại vi dạng ký tự (như bàn phím), b cho thiết bị ngoại vi dạng block (như ổ đĩa cứng). Chín ký tự tiếp theo chia thành 3 nhóm, cho phép xác định quyền của 3 nhóm: người sở hữu (owner), nhóm sở hữu (group) và những người còn lại (other). Mỗi cặp ba này cho phép xác định quyền đọc, viết và thực thi theo thứ tự kể trên. Quyền đọc viết tắt là “r” ở vị trí đầu, quyền viết viết tắt bằng “w” ở vị trí thứ hai và vị trí thứ ba là quyền thực thi ký hiệu bằng chữ “x”. Nếu một quyền không được cho thì tại vị trí đó sẽ có ký tự “-”. Ký tự r w x rw x r w x Loại tập tin Owner group owner other users Trong trường hợp của tập tin myfile, người sở hữu có quyền rw tức là đọc và viết. Nhóm sở hữu và những người còn lại chỉ có quyền đọc tập tin (read-only). Bên cạnh đó, các ký tự cho biết myfile không phải là một chương trình. Song song với cách ký hiệu miêu tả bằng ký tự ở trên, quyền hạn truy cập còn có thể biểu diễn dưới dạng 3 số. Quyền hạn cho từng loại người dùng sử dụng một số có 3 bit tương ứng cho 3 quyền read, write và excute. Theo đó nếu cấp `43
  45. quyền thì bit đó là 1, ngược lại là 0. Giá trị nhị phân của số 3 bit này xác định các quyền cho nhóm người đó. Bit 2 Bit 1 Bit 0 read write excute Ví dụ: chỉ có quyền đọc 100 có giá trị là 4 có quyền đọc và thực thi 101 có giá trị là 5 Ví dụ: Nếu có quyền read và excute thì số của quyền là: 4+1 =5 read, write và excute: 4+2+1=7 Tổ hợp của 3 quyền trên có giá trị từ 0 đến 7. + 0 or : Không có quyền + 1 or x: execute + 2 or -w-: write-only (race) + 3 or -wr: write và execute + 4 or r : read-only + 5 or r-x: read và execute + 6 or rw-: read và write + 7 or rwx: read, write và execute Như vậy khi cấp quyền trên một tập tin/thư mục, có thể dùng số thập phân gồm 3 con số. Số đầu tiên miêu tả quyền của sở hữu, số thứ hai cho nhóm và số thứ ba cho những người còn lại. Ví dụ: Một tập tin với quyền 751 có nghĩa là sở hữu có quyền read, write và execute bằng 4+2+1=7. Nhóm có quyền read và execute bằng 4+1=5 và những người còn lại có quyền execute bằng 1. Chú ý: Người sử dụng có quyền đọc thì có quyền copy tập tin. Khi đó, tập tin sao chép sẽ thuộc sở hữu người làm copy. Ví dụ minh họa sau: $ ls -l /etc/passwd -rw-r r 1 root root 1113 Oct 13 12 : 30 /etc/passwd $ cp /etc/passwd ./ $ ls -l passwd -rw-r r 1 ndhung admin 1113 Oct 15 10 : 37 passwd `44
  46. 3.2. Lệnh chmod, chown, chgrp 3.2.1. Lệnh chmod Dùng cấp quyền hạn truy cập của tập tin hay thư mục. Chỉ có chủ sở hữu và superuser mới có quyền thực hiện các lệnh này. Cú pháp của lệnh: $chmod [nhóm-người-dùng] [thao-tác] [quyền-hạn] [tên-tập-tin] Nhóm-người-dùng Thao tác Quyền u – user + : thêm quyền r – read g – group - : xóa quyền w – write o – others = : gán ngang quyền x – excute a – all Một số ví dụ: gán quyền trên tập tin myfile Gán thêm quyền write cho group: $ chmod g+w myfile Xóa quyền read trên group và others: $ chmod go-w myfile Cấp quyền x cho mọi người: $ chmod ugo+x myfile hoặc $ chmod a+x myfile hoặc $ chmod +x myfile Đây là cách thay đổi tương đối vì kết quả cuối cùng phụ thuộc vào quyền đã có trước đó mà lệnh này không liên quan đến. Trên quan điểm bảo mật hệ thống, cách thay đổi tuyệt đối dẫn đến ít sai sót hơn. Thay đổi quyền truy cập của một thư mục cũng được thực hiện giống như đối với một tập tin. Chú ý là nếu không có quyền thực hiện (execute) đối với một thư mục, thì không thể cd vào thư mục đó. Mọi người sử dụng có quyền viết vào thư mục đều có quyền xóa tập tin trong thư mục đó, không phụ thuộc vào quyền của người đó đối với các tập tin trong thư mục. Vì vậy, đa số các thư mục có quyền drwxr-xr-x. Như vậy chỉ có người sở hữu của thư mục mới có quyền tạo và xóa tập tin trong thư mục. Ngoài ra, thư mục còn có một quyền đặc biệt, đó là cho phép mọi người đều có quyền tạo tập tin trong thư mục, mọi người đều có quyền thay đổi nội dung tập tin trong thư mục, nhưng chỉ có người tạo ra mới có quyền xóa tập tin. Đó là dùng sticky bit cho thư mục. Thư mục /tmp thường có sticky bit bật lên. drwxrwxrwt 7 root root 16384 Oct 21 15:33 tmp `45
  47. Ta thấy chữ t, cuối cùng trong nhóm các quyền, thể hiện cho sticky bit của /tmp. Để có sticky bit, ta sử dụng lệnh: chmod 1????????? tên_thư_mục. Ngoài ra, chúng ta cũng có thể gán quyền trực tiếp thông qua 3 chữ số xác định quyền như sau: $chmod [giá-trị-quyền] [tên-tập-tin] Ví dụ: Cấp quyền cho tập tin myfile Quyền Lệnh -wrxr-xr-x $chmod 755 myfile -r-xr r $chmod 522 myfile -rwxrwxrwx $chmod 777 myfile 3.2.2. Lệnh chown Lệnh chown dùng để thay đổi người sở hữu trên tập tin, thư mục Cú pháp: $chown [tên-user:tên-nhóm] [tên-tập-tin/thư-mục] $chown –R [tên-user:tên-nhóm] [thư-mục] Dòng lệnh cuối cùng với tùy chọn –R (recursive) cho phép thay đổi người sở hữu của thư mục và tất cả các thư mục con của nó. Điều này cũng đúng với lệnh chmod, chgrp. 3.2.3. Lệnh chgrp Lệnh chgrp dùng để thay đổi nhóm sở hữu của một tập tin, thư mục Cú pháp: $chgrp [nhóm-sở-hữu] [tên-tập-tin/thư-mục] 4. Liên kết tập tin Mục tiêu: Trình bày các dạng liên kết tập tin trong Linux và cách sử dụng các dạng liên kết này. Link (Liên kết) một liên kết, hiểu theo cách đơn giản nhất, là tạo ra một tên tập tin thứ hai cho một tập tin. Ví dụ, khi có một tập tin /usr/lib/testfile và muốn có một tập tin giống như vậy trong thư mục /usr/tim thì không cần phải copy nó mà chỉ cần tạo một liên kết với lệnh sau: #ln /usr/bill/testfile /usr/tim/testfile Cú pháp của lệnh ln: $ln `46
  48. Lý do cơ bản của việc tạo liên kết là nhân tập tin lên nhiều lần. Trong ví dụ trên, cả hai tập tin chính là một. Do đó, nếu có bất kỳ sự thay đổi nào trên một tập tin sẽ ảnh hưởng ngay đến tập tin còn lại. Hard Link: là một liên kết trong cùng hệ thống tập tin với hai inode entry tương ứng trỏ đến cùng một nội dung vật lý (cùng inode number vì chúng trỏ đến cùng dữ liệu). Nếu muốn thấy điều này, dùng lệnh sau: $ ls -i testfile 14253 testfile Sau đó tạo một liên kết có tên khác và hiển thị thông tin của inode entry. $ ln testfile test2 $ ls -i testfile test2 14253 testfile 14253 test2 Cả hai tập tin đều có inode number giống nhau Symbolic Link: Là một liên kết khác mà không sử dụng inode entry cho việc liên kết. Sử dụng liên kết này khi muốn tạo ra những driver thiết bị, như /dev/modem thay cho /dev/cua1. Tùy chọn –s của lệnh ln cho phép tạo ra một symbolic link. Ví dụ: $ ls -i bigfile 6253 bigfile $ ln -s bigfile anotherfile $ ls -i bigfile anotherfile 6253 bigfile 8358 anotherfile Theo ví dụ trên, nội dung inode number của các tập tin khác nhau. Liệt kê một thư mục sẽ thấy symbolic link: lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile -rw-rw-r 1 root root 2 Sep 17:23 bigfile Lưu ý: khi xóa tập tin gốc, nội dung của tập tin hard link không bị ảnh hưởng nhưng nội dung tập tin symbolic link không xem được. 5. Lưu trữ tập tin Mục tiêu: Trình bày cách lưu trữ các tập tin trong Linux một cách hiệu quả. 5.1. Lệnh gzip/gunzip gzip dùng để nén tập tin, gunzip dùng để giải nén các tập tin đã nén. Cú pháp: `47
  49. $gzip [tùy-chọn] [tên-tập-tin] $gunzip [tùy-chọn] [tên-tập-tin] gzip tạo tập tin nén với phần mở rộng .gz Các tùy chọn dùng cho gunzip và gzip: - c Chuỵển các thông tin ra màn hình - d Giải nén, gzip –d tương đương gunzip - h Hiển thị giúp đỡ. Ví dụ: #gzip /etc/passwd #gunzip /etc/passwd.gz 5.2. Lệnh tar Lệnh dùng để gom và bung những tập tin/thư mục (tạo ra một tập tin có phần mở rộng .tar) Cú pháp: #tar [tùy-chọn] [tập-tin-đích] [tập-tin-nguồn/thư-mục-nguồn ] Trong đó: + –cvf: gom tập tin/ thư mục + –xvf: bung tập tin/ thư mục + tập-tin-đích: tập tin .tar sẽ được tạo ra. + tập-tin-nguồn/thư-mục-nguồn: những tập tin và thư mục cần gom. Ví dụ: #tar –cvf /home/backup.tar /etc/passwd /etc/group #tar –xvf /home/backup.tar Câu hỏi 1. Trình bày hệ thống tập tin và thư mục trong Linux. Cho biết các thành phần của hệ thống tập tin. 2. Trình bày hệ thống thư mục trong Linux; cho biết các thư mục cơ bản và chức năng của mỗi loại. Bài tập thực hành 1. Login vào chế độ text với user root và thực hiện các lệnh cơ bản: + Đổi mật khẩu + Hiển thị thư mục hiện tại đang truy xuất + Hiển thị thông tin chi tiết về cấu hình mạng trên máy tính cục bộ `48
  50. + Xem tên máy đang dùng, đổi tên máy thành linux + Kiểm tra kết nối mạng – ping. Xem địa chỉ cục bộ Kiểm tra máy có liên thông internet hay không + Xem và đặt lại ngày giờ hệ thống + Khởi động lại hệ thống + Thiết lập shutdown hệ thống sau khoảng thời gian 1 phút 2. Thực hiện các thao tác trên file system + Xác định thư mục hiện hành của user root + mount đĩa CD3 của Fedora Core 2 vào thư mục /mnt/cdrom + Tạo thư mục /root/software, /root/dataserver + Copy tập tin có ký tự bắt đầu là mc trong thư mục /mnt/cdrom/Fedora/RPMS của đĩa CDROM vào thư mục /root/software + Cho biết hai tập tin passwd và group được lưu tại vị trí nào. Sau đó, copy chúng vào thư mục /root/dataserver + Trong thư mục /root tạo thư mục data. Sau đó, copy hai tập tin trong thư mục dataserver về thư mục này với tên mới là pwd và grp + Tạo tập tin lylich.txt lưu trong thư mục data với nội dung khoảng 5 dòng + Thêm dòng “Chao cac ban” vào cuối tập tin lylich.txt + Gom các tập tin trong thư mục data thành tập tin backup.tar. Sau đó, nén tập tin này thành backup.tar.gz + Dùng lệnh giải nén và bung file backup.tar.gz vào thư mục /root + Dùng man tìm hiểu lệnh head, tail, wc, call, finger, tty. Sau đó, tạo một file có tên /mancmd có nội dung giải thích công dụng của các lệnh tail, head, wc, tty + Dùng lệnh để xem toàn bộ nội dung tập tin /etc/passwd + Xem nội dung hai tập tin pwd và grp đồng thời + Tính tổng số dòng và tổng số ký tự trong tập tin pwd và grp + Tìm trong tập tin /etc/paswd và hiển thị ra màn hình những dòng có chuỗi “root” + Tìm trong hệ thống có các file nào có dung lượng lớn hơn 200KB hay không. Nếu có thì in ra màn hình. + Xem và ghi nhận tất cả các thuộc tính liên quan đến file /et/passwd (chỉ số liên kết, chủ sở hữu, nhóm sở hữu, quyền của u, g, o trên file, dung lượng file) + Tạo file /permissiontest, sau đó cấp quyền chỉ cho người dùng root mới được quyền xem nội dung file này + Xem tất cả các chỉ số inode của các file và thư mục của thư mục /root + Liệt kê tất cả các file và thư mục trong thư mục /etc/ theo từng trang màn hình + Xem trong thư mục /root có bao nhiêu file ẩn, hiển thị chi tiết thông tin của các file này. Sau đó cho kết xuất ra file /root/filelist.txt `49
  51. 3. Thiết lập quyền người dùng trên file và thư mục + Tạo file /test + Xem thuộc tính file /test + Thêm quyền thực thi cho người dùng chủ sở hữu cho file /test + Gán quyền thực thi cho mọi đối tượng trên file /test + Bỏ quyền thực thi cho mọi đối tượng trên file /test + Kiểm tra lại file /test + Thực hiện thao tác thay đổi quyền bằng chỉ số bit nhị phân + Thay đổi chủ sở hữu file /test thành chủ sở hữu là hv2 + Thay đổi nhóm sở hữu thành nhóm hocvien + Thay đổi quyền: người khác không có quyền nào trên file /test, chỉ có hv2 và nhóm hocvien mới có quyền. + Logout, sau đó login vào bằng user1 để đọc file /test + Logout, sau đó login trở lại bằng root + Tạo file /test1 + Xem quyền hạn trên file này + Thay đổi quyền mặc định để khi tạo mới file, hệ thống tự động gán quyền cho phép nhóm có quyền read write, chủ sở hữu có quyền read write, người khác không có quyền gì + Tạo thư mục mkdir /abc + Kiểm tra quyền trên thư mục /abc + Chuyển về quyền mặc định ban đầu umask 022 + Tạo thư mục /cde + Kiểm tra quyền trên thư mục /cde `50
  52. BÀI 4: GIAO DIỆN ĐỒ HỌA Mã bài: MĐ 40-04 Mục tiêu: - Phân biệt và chuyển đổi giữa các giao diện KDE, GNOME; - Thao tác trong giao diện đồ họa KDE; - Cấu hình môi trường làm việc; - Sử dụng các trình tiện ích; - Thực hiện các thao tác an toàn với máy tính. Nội dung chính: 1. Giới thiệu X Window Mục tiêu: Cung cấp cho người học các loại giao diện đồ họa trong Linux, cách khởi động giao diện đồ họa. 1.1. Giới thiệu Giao diện đồ họa trong Linux được xây dựng trên cơ sở X Window System (gọi là X) với mục đích tiêu chuẩn hóa giao diện đồ họa cho các hệ điều hành UNIX. Hệ thống X Window được xây dựng trên cơ sở mô hình chủ/khách. Trong đó, chương trình máy chủ X làm việc trên máy tính người dùng mà không phải trên máy chủ. Chương trình chủ X làm việc trực tiếp với phần cứng. Chương trình chủ X chiếm lĩnh các thiết bị phần cứng và cung cấp cho các chương trình khác ở dạng tài nguyên riêng theo một giao thức đặc biệt (X Network Protocol – Giao thức kết nối mạng X). Máy tính chỉ dùng để chạy chương trình chủ X được gọi là máy X Terminal. Bản thân chương trình chủ X không tạo ra hình ảnh trên màn hình mà chỉ cung cấp hình ảnh cho card màn hình. Để đưa hình ảnh ra màn hình, cần phải chạy một trình quản lý cửa sổ và một chương trình khách để tạo ra hình ảnh trên màn hình. Chương trình khách của chủ X có thể là các ứng dụng làm việc dưới X Window. Giữa chương trình khách và chương trình chủ còn có hai thành phần của giao diện đồ họa; đó là thư viện các hàm đồ họa X-lib và trình quản lý cửa sổ. Thư viện X-lib gồm các hàm đồ họa cho phép thực hiện các thao tác bậc thấp với cac hình mẫu đồ họa, trình quản lý cửa sổ gọi các hàm trong X-lib để điều khiển màn hình và thực hiện thao tác chuyển đổi hình ảnh trong các cửa sổ. `51
  53. Kiến trúc của hệ thống đồ họa X Window System Khi ứng dụng X khởi động, cửa sổ chuyển quyền điều khiển đến trình quản lý cửa sổ. Trình quản lý cửa sổ cung cấp các phương tiện để thao tác với cửa sổ. Trình quản lý cửa sổ còn gọi các hàm cho các chương trình khách khi người dùng thao tác với các ứng dụng bằng phím và chuột. Các môi trường làm việc đồ họa mở như KDE, GNOME, không thể thay thế các thành phần trên của hệ thống X Window mà chỉ mở rộng và thêm vào. 1.2. Khởi động hệ thống X Window Khi cài đặt Linux, có thể đồng ý với đề nghị của trình cài đặt để hệ thống tự động chạy. Tuy nhiên, sẽ là bất lợi do bị chiếm bộ nhớ và sử dụng tài nguyên. Người dùng cũng có thể khởi động bằng cách khác: - Sau khi khởi động máy chủ, chạy chương trình Xorg từ thư mục /usr/bin/X11/; sau đó, nhấn tổ hợp phím Ctrl+Alt+Backspace để dừng chạy máy chủ và quay về chế độ văn bản. - Hoặc sử dụng câu lệnh xinit trong thư mục /usr/bin/X11/ Sau đó, thực hiện lệnh twm hoặc fvwm. Nếu trên máy có cài các trình quản lý cửa sổ và môi trường làm việc khác (KDE hoặc GNOME) thì thực hiện lệnh startkde hoặc gnome-session. `52
  54. 2. Môi trường làm việc KDE Mục tiêu: Cung cấp môi trường làm việc trên giao diện đồ họa với các thiết lập cá nhân. Trên hệ điều hành Linux, người dùng có thể tạo ra môi trường làm việc phù hợp với cá nhân. Tuy nhiên, GUI (Graphical User Interface) – giao diện đồ họa người dùng đã được phát triển. Đây là bộ các chương trình ứng dụng đã được kiểm tra và nhóm lại với nhau để làm việc trong chế độ đồ họa; nó bao gồm trình quản lý cửa sổ và các chương trình khác có cùng giao diện. 2.1. Giới thiệu KDE – K Desktop Environment – môi trường đồ họa cho Linux gồm các ứng dụng và được hỗ trợ các ngôn ngữ khác nhau. KDE được phân phối miễn phí cùng với mã nguồn. 2.2. Khởi động KDE Khởi động KDE được thực hiện qua lệnh startx. Để sử dụng KDE làm môi trường làm việc mặc định, mở tập tin cấu hình hệ thống (/etc/sysconfig/windowmanager) rồi thay thế giá trị đã có trong DEFAULT_WM thành kde (DEFAULT_WM=“kde”). Sau khi khởi động KDE, người dùng phải đăng nhập với user và password tương ứng. Khi đã đăng nhập thành công, màn hình xuất hiện với hai thành phần chính: - Các thanh panel – dùng để chạy các ứng dụng. - Màn hình Desktop – cho phép đặt các biểu tượng để chạy các ứng dụng, các tập tin, thư mục, 3. Trung tâm điều khiển KDE 3.1. Giới thiệu Trung tâm điều khiển KDE (Personal Settings – thiết lập cá nhân) là chương trình cho phép thay đổi các cấu hình của môi trường làm việc KDE. 3.2. Khởi động trung tâm điều khiển KDE Trung tâm điều khiển KDE có thể được chạy từ trình đơn chính hoặc qua biểu tượng trên thanh panel, hoặc từ dòng lệnh, gõ tên chương trình kcontrol. 4. Các trình tiện ích Mục tiêu: Cung cấp cho người học các trình tiện ích thông dụng trên hệ điều hành Linux. `53
  55. 4.1. Trình soạn thảo vi 4.1.1. Giới thiệu vi vi là chương trình soạn trực quan, hoạt động ở 2 chế độ: chế độ lệnh (command mode) và chế độ soạn thảo (input mode). Để soạn thảo tập tin mới hoặc xem hay sửa chữa tập tin cũ, dùng lệnh: $vi [tên-tập-tin] Khi thực hiện, vi sẽ hiện lên màn hình soạn thảo ở chế độ lệnh. Trong chế độ này, chỉ có thể sử dụng các phím để thực hiện các thao tác như: Dịch chuyển con trỏ, lưu dữ liệu, mở tập tin mới mà không thể soạn thảo văn bản. Nếu muốn soạn thảo văn bản, phải chuyển từ chế độ lệnh sang chế độ soạn thảo. Chế độ soạn thảo giúp sử dụng bàn phím để soạn thảo nội dung văn bản. 4.1.2. Một số hàm lệnh của vi vi tập tin Bắt đầu dòng 1 vi +n tập tin Bắt đầu ở dòng n vi +/pattern Bắt đầu ở pattern vi -r tập tin Phục hồi tập tin sau khi hệ thống bị treo 4.1.3. Chuyển chế độ lệnh sang chế độ soạn thảo i trước dấu con trỏ I trước ký tự đầu tiên trên dòng a sau dấu con trỏ A sau ký tự đầu tiên trên dòng o dưới dòng hiện tại O trên dòng hiện tại r thay thế 1 ký tự hiện hành R thay thế cho đến khi nhấn 4.1.4. Chuyển chế độ soạn thảo sang chế độ lệnh Dùng phím ESC, sau đó sử dụng các nhóm lệnh thích hợp sau: a. Nhóm lệnh di chuyển con trỏ h sang trái một khoảng trắng e, sang phải một khoảng trắng w sang phải 1 từ b sang trái 1 từ k lên một dòng j, xuống một dòng ) cuối câu ( đầu câu `54
  56. } đầu đoạn văn { cuối đoạn văn Ctrl+w đến ký tự đầu tiên chèn vào Ctrl+u cuốn lên 1/2 màn hình Ctrl+d kéo xuống 1/2 màn hình Ctrl+z kéo xuống 1 màn hình Ctrl+b kéo lên 1 màn hình b. Nhóm lệnh xóa dw Xóa 1 từ do Xóa đến đầu dòng d$ Xóa cuối dòng 3dw Xóa 3 từ dd Xóa dòng hiện hành 5dd Xóa 5 dòng x Xóa 1 ký tự c. Nhóm lệnh thay thế cw Thay thế 1 từ 3cw Thay thế 1 từ cc Dòng hiện hành 5cc 5 dòng d. Nhóm lệnh tìm kiếm */and Từ kế tiếp của and * ?and Từ kết thúc là and */nThe Tìm dòng kế bắt đầu bằng The n Lặp lại lần dò tìm sau cùng e. Nhóm lệnh tìm kiếm và thay thế :s/text1/text2/g Thay text1 thành text2 :1,$s/tập tin/thư mục Thay tập tin bằng thư mục từ hàng 1 đến cuối :g/one/s//1/g Thay thế one bằng 1 f. Copy and paste Để copy ta dùng lệnh y và để paste dùng lệnh p y$ copy từ vị trí hiện tại của cursor đến cuối dòng yy copy toàn bộ dòng tại vị trí cursor 3yy copy ba dòng liên tiếp g. Undo `55
  57. Sử dụng phím u cho phép hủy thao tác hiện tại, quay về thao tác trước đó. h. Thao tác trên tập tin :w ghi vào tập tin :x lưu và thoát khỏi chế độ soạn thảo :wq lưu và thoát khỏi chế độ soạn thảo :w lưu vào tập tin mới :q thoát nếu không có thay đổi nội dung tập tin :q! thoát không lưu nếu có thay đổi tập tin :r mở tập tin đọc 4.2. Trình tiện ích mail Linux cung cấp cho người dùng tiện ích mail hỗ trợ việc gửi và nhận mail bằng cách sử dụng lệnh: $mail Lệnh cho phép hiển thị nội dung các mail trong mailbox. Sau khi hiển thị mail, màn hình ở trạng thái chờ lệnh từ người sử dụng (hiển thị dấu ?) Các thao tác cơ bản: newline, + Hiển thị mail kế, nếu không còn thì thoát khỏi lệnh p In thông báo s [tập tin] lưu mail vào tập tin khác hoặc mailbox w [tập tin] giống như s nhưng không lưu đầu thông báo d xóa mail q thoát khỏi tiện ích x thoát khỏi tiện ích mà không thay đổi mail Ví dụ: Gửi mail với nội dung là đến người dùng có địa chỉ mail là giaovien1@danavtc.edu.vn $mail giaovien1@danavtc.edu.vn ^D Gửi mail cùng lúc với nhiều người: $mail giaovien1@danavtc.edu.vn giaovien2@danavtc.edu.vn Nhận mail: Khi login vào hệ thống nếu có thư hệ thống sẽ thông báo “You have mail”; để nhận mail, gõ lệnh $mail. Có thể dùng các tiện ích như: sendmail, pine thông qua trợ giúp man. `56
  58. 4.3. Trình tiện ích tạo đĩa boot Để tạo đĩa mềm khởi động hệ thống, sử dụng lệnh mkbootdisk. Các bước thực hiện: - Đăng nhập vào hệ thống bằng user root; - Xem phiên bảng kernel của Linux (lệnh ls /lib/modules/ hoặc lệnh uname –r; - Sử dụng lệnh /sbin/mkbootdisk 2.2.12-20 từ dấu nhắc shell; - Đưa đĩa mềm vào ổ đĩa khi được hệ thống yêu cầu (Insert a disk in /dev/fd0. Any information on the disk will be lost). 4.4. Trình tiện ích setup Tiện ích setup hỗ trợ cài đặt thiết bị, filesystem, thiết lập cấu hình mạng, dịch vụ hệ thống. Từ dấu nhắc lệnh ta enter vào lệnh setup, hộp thoại hiển thị cho phép chọn công cụ: Từ hộp thoại này, có thể lựa chọn các công cụ để cấu hình các thiết bị: - Authentication configuration: Cấu hình xác thực hệ thống; - Firewall configuration: Cấu hình tường lửa; - Mouse configuration: Cấu hình chuột; - Network configuration: Cấu hình mạng TCP/IP; - Printer configuration: Cấu hình máy in; - System services: Cấu hình các dịch vụ hệ thống; - Timezone configuration: Cấu hình múi giờ. `57
  59. 4.5. Trình tiện ích fdisk fdisk là trình tiện ích cho phép quản lý ổ đĩa cứng như: tạo mới, xem thông tin và xóa các parttition trong hệ thống. Cú pháp: #fdisk Trong đó có thể là /dev/hda hoặc /dev/sda. Một số lệnh fdisk cơ bản: P Liệt kê danh sách các parttition table N Tạo mới 1 parttition D Xóa parttition Q Thoát khỏi trình tiện ích W Tạo mới parttition A Thiết lập boot parttition T Thay đổi system parttition ID L Liệt kê loại partition (bao gồm ID) Lưu ý: Sau khi dùng fdisk để tạo một partition, phải reboot hệ thống rồi dùng lệnh mkfs –t ext3 để định dạng lại partition trước khi sử dụng. 4.6. Trình tiện ích iptraf iptraf là trình tiện ích hỗ trợ việc theo dõi và giám sát các traffic trên mạng; lưu ý rằng, chương trình này phải cài từ đĩa CDROM bằng lệnh: rpm –ivh iptraf rpm Ví dụ: sử dụng tiện ích iptraf để theo dõi lưu lượng mạng. Từ dấu nhắc lệnh enter vào lệnh iptraf Ý nghĩa: IP traffic monitor Theo dõi ip trafic và TCP connection General interface statistics Xem các thông tin tổng quát trên các interface Detailed interface statistics Xem thông tin chi tiết trên từng interface (tổng số byte gởi, tổng số byte nhận, ) Statistical breakdown Thống kê các packet bị hủy bỏ trên các interface do một số sự cố mạng LAN station monitor Thống kê thông tin từ máy mạng gởi vào máy nội bộ `58
  60. Filters Cho phép thiết lập bộ lọc thông tin dựa theo các giao thức mạng TCP/UDP Configure Cấu hình các thông số cho trình tiện ích iptraf 4.7. Trình tiện ích lynx lynx trình duyệt Web qua giao diện text thay vì sử dụng giao diện đồ họa của Xwindows. Cú pháp: #lynx 4.8. Trình tiện ích mc mc – Midnight Commander là trình quản lý tập tin cho phép xem cấu trúc cây thư mục và thực hiện các thao tác điều khiển hệ thống tập tin. Các phím chức năng của trên mc: F1 Gọi trợ giúp F2 Gọi menu của người dùng F3 Xem tập nội dung tập tin đang đặt dòng sáng F4 Sửa nội dung tập tin đang đặt dòng sáng F5 Sao chép các tập tin đang chọn F6 Di chuyển các tập tin đang chọn F7 Tạo thư mục trong thư mục hiện hành F8 Xóa tập tin, thư mục đang chọn F9 Gọi kích hoạt menu chính F10 Thoát chương Câu hỏi 1. X Window là gì? Cho biết kiến trúc của hệ thống đồ họa X Window System. 2. KDE là gì? Trình bày cách khởi động KDE Bài tập thực hành 1. Tìm hiểu giao diện đồ họa Login vào Xwindow thông qua giao diện GNOME Desktop hoặc KDE Desktop Sử dụng các công cụ cơ bản trên giao diện desktop (truy cập các biểu tượng trên Computer, Root’s home, Trash, Start Here) Biểu tượng Computer: Floppy, CDROM, Filesystem (đại diện ổ đĩa cục bộ), Network (truy cập các máy tính khác trên mạng) Các thành phần trên taskbar: Giờ, ngày hệ thống, nút Startmenu, Web browser, Email, OpenOffice, Biểu tượng Root’s Home cho phép truy cập vào home directory của người dùng root (được đặt trong thư mục root) Biểu tượng Trash: lưu trữ các file đã xóa trên giao diện đồ họa `59
  61. Start Here: các công cụ cần thiết để truy cập, cấu hình hệ thống - Application: chứa các công cụ cần thiết để truy cập các ứng dụng trên Linux - Preferences: cung cấp các công cụ để cấu hình các thành phần trong máy tính: độ phân giải màn hình, hiệu chỉnh hình login, cấu hình chuột, thay đổi mật khẩu, - Systen settings: các công cụ cấu hình hệ thống: dịch vụ DNS, HTTP, Samba, Khởi động Terminal, tìm hiểu dấu nhắc [root@linuxserver root]# Khởi động trình duyệt web để truy cập 1 vài trang web Logon và sử dụng giao diện KDE Desktop (gần với giao diện Windows). 2. Sử dụng các tiện ích - Khởi động mc, tìm hiểu các phím chức năng - Khởi động trình tiện ích setup; Cấu hình cho hệ thống từ giao diện text +Hiệu chỉnh cấu hình Firewall + Cấu hình mạng Địa chỉ IP 192.168.7.200 Đặt Default gateway 192.168.7.1 DNS 203.162.4.1 Cập nhật cấu hình mạng Cấu hình X - Cài đặt và sử dụng trình tiện ích thống kê mạng iptraf Kiểm tra iptraf đã cài đặt hay chưa Cài đặt iptraf Khởi động iptraf và sử dụng các công cụ: + IP traffic monitor + General interface statistics + Detail interface statistics + Statistical breakdowns + LAN station monitor - Sử dụng tiện ích lynx Cài đặt lynx Khởi động lynx Truy nhập một trang web (www.vietnamnet.vn) Truy nhập một trang web khác - Sử dụng công cụ tcpdump để theo dõi traffic trên mạng - Sử dụng tiện ích netconfig để thay đổi, cấu hình địa chỉ cho card mạng trên máy tính cục bộ 3. Vào giao đồ họa, sử dụng ethereal để phân tích gói tin (thống kê các gói tin đã bắt và theo dõi được; thống kê về một gói tin đang chọn; xem dữ liệu chi tiết của gói tin), sử dụng công cụ service để quản lý dịch vụ. `60