1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình hệ điều hành linux (nghề quản trị mạng trình độ cao đẳng)

117 5 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Giáo Trình Hệ Điều Hành Linux
Trường học Trường Cao Đẳng
Chuyên ngành Quản Trị Mạng
Thể loại Giáo Trình
Định dạng
Số trang 117
Dung lượng 3,37 MB

Cấu trúc

  • BÀI 1: TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX (7)
    • 1. Lịch sử phát triển Unix và Linux (7)
      • 1.1. Giới thiệu (7)
      • 1.2. Tại sao Linux phát triển? (7)
    • 2. Các dòng sản phẩm (8)
    • 3. Ưu khuyết điểm (9)
      • 3.1. Linux cộng sinh với Windows (9)
      • 3.2. Thương mại hóa Linux (9)
    • 4. Kiến trúc của Linux (9)
    • 5. Các đặc tính cơ bản (10)
      • 5.1. Đa tiến trình (11)
      • 5.2. Tốc độ cao (11)
      • 5.3. Bộ nhớ ảo (11)
      • 5.4. Sử dụng chung thư viện (11)
      • 5.5. Sử dụng các chương trình xử lý văn bản (11)
      • 5.6. Sử dụng giao diện cửa sổ (11)
      • 5.7. Network Information Service (NIS) (11)
      • 5.8. Lập lịch hoạt động chương trình, ứng dụng (12)
      • 5.9. Các tiện ích sao lưu dữ liệu (12)
      • 5.10. Hỗ trợ nhiều ngôn ngữ lập trình (12)
  • BÀI 2: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX (14)
    • 1. Yêu cầu đối với hệ thống (14)
    • 2. Quá trình cài đặt (14)
      • 2.1. Chọn phương thức cài đặt (14)
      • 2.2. Chọn chế độ cài đặt (15)
      • 2.3. Chọn ngôn ngữ hiển thị trong quá trình cài đặt (15)
      • 2.4. Cấu hình bàn phím (15)
      • 2.5. Chọn cấu hình mouse (15)
      • 2.6. Lựa chọn loại màn hình (15)
      • 2.7. Lựa chọn loại cài đặt (15)
      • 2.8. Chia Partition (16)
      • 2.9. Lựa chọn Automatically partition (16)
      • 2.10. Chia Partition bằng Disk Druid (17)
      • 2.11. Cài đặt chương trình Boot Loader (18)
      • 2.12. Cấu hình mạng (18)
      • 2.13. Cấu hình Firewall (19)
      • 2.14. Chọn ngôn ngữ hỗ trợ trong Linux (20)
      • 2.15. Cấu hình khu vực địa lý của hệ thống (20)
      • 2.16. Đặt mật khẩu cho người quản trị (20)
      • 2.17. Cấu hình chứng thực (21)
      • 2.18. Chọn các chương trình và Package cài đặt (21)
      • 2.19. Định dạng filesystem và tiến hành cài đặt (22)
    • 3. Cấu hình thiết bị (22)
      • 3.1. Bộ nhớ (RAM) (22)
      • 3.2. Vị trí lưu trữ tài nguyên (22)
      • 3.3. Hỗ trợ USB (23)
      • 3.4. Network Card (23)
      • 3.5. Cài đặt modem (23)
    • 4. Sử dụng hệ thống (23)
      • 4.1. Đăng nhập (23)
      • 4.2. Một số lệnh cơ bản (24)
      • 4.3. Sử dụng trợ giúp man (24)
    • 5. Cài đặt các gói phần mềm (25)
      • 5.1. Chương trình RPM (25)
      • 5.2. Đặc tính của RPM (25)
      • 5.3. Lệnh rpm (26)
    • 1. Cài Đặt Ubuntu 104 trên máy thực (0)
  • BÀI 3: THAO TÁC VỚI TẬP TIN VÀ THƯ MỤC (50)
    • 1. Cấu trúc hệ thống tập tin & thư mục (50)
      • 1.1. Hệ thống tập tin (50)
      • 1.2. Hệ thống thư mục (51)
    • 2. Thao tác với tập tin, thư mục (53)
      • 2.1. Thao tác trên thư mục (53)
      • 2.2. Tập tin (55)
    • 3. Quyền truy cập, sở hữu đối với tập tin và thư mục (57)
      • 3.1. Quyền hạn (57)
      • 3.2. Lệnh chmod, chown, chgrp (59)
    • 4. Liên kết tập tin (60)
    • 5. Lưu trữ tập tin (61)
      • 5.1. Lệnh gzip/gunzip (61)
      • 5.2. Lệnh tar (62)
    • 6. Bài tập thực hành (12)
  • BÀI 4: QUẢN TRỊ NGƯỜI DÙNG VÀ NHÓM (74)
    • 1. Thông tin của người dùng (74)
      • 1.1. Superuser (74)
      • 1.2. User (75)
    • 2. Quản lý người dùng (76)
      • 2.1. Tạo tài khoản người dùng (76)
      • 2.2. Thay đổi thông tin của tài khoản (78)
      • 2.3. Tạm khóa tài khoản người dùng (78)
      • 2.4. Hủy tài khoản (78)
    • 3. Nhóm người dùng (78)
      • 3.1. Tạo nhóm (78)
      • 3.2. Thêm người dùng vào nhóm (79)
      • 3.3. Hủy nhóm (79)
      • 3.4. Xem thông tin về user và group (79)
  • BÀI 5: CẤU HÌNH MẠNG (90)
    • 1. Cấu hình địa chỉ IP cho card mạng (90)
      • 1.1. Xem địa chỉ IP (90)
      • 1.2. Thay đổi địa chỉ IP (91)
      • 1.3. Tạo nhiều địa chỉ IP trên card mạng (92)
      • 1.4. Lệnh netstat (93)
    • 2. Truy cập từ xa (93)
      • 2.1. xinetd (93)
      • 2.2. Tập tin /etc/services (94)
      • 2.3. Khởi động xinetd (95)
    • 3. Dịch vụ Telnet (96)
      • 3.1. Khái niệm telnet (96)
      • 3.2. Cài đặt (96)
      • 3.3. Cấu hình (96)
      • 3.4. Bảo mật dịch vụ telnet (97)
    • 4. SSH (98)
      • 4.1. Cài đặt SSH Server trên Server Linux (98)
      • 4.2. Sử dụng SSH Client trên Linux (98)
      • 4.3. Quản trị hệ thống Linux thông qua SSH client for Windows (99)
  • BÀI 7: QUẢN LÍ TIẾN TRÌNH TRÊN HỆ ĐIỀU HÀNH LINUX (102)
    • 2. Lệnh ps (103)
      • 2.1: Lệnh ps loại System V (103)
      • 2.2: Lệnh ps loại BSD (103)
    • 3. Lệnh xem danh sách xử lý của hệ thống (104)
    • 4. Lập lịch chạy tiến trình tương lai bằng cron và sleep (105)
      • 4.1: Lệnh cron (105)
      • 4.2: Lệnh sleep (106)
    • 5. Lệnh bg (107)
    • 6. Lệnh fg (107)
    • 7. Lệnh jobs (108)
    • 8. Lệnh kill và killall (108)
      • 8.1 Lệnh kill (108)
      • 8.2 Lệnh killall (109)
    • 9. Lệnh free (109)
    • 10. Lệnh uptime (109)
    • 11. Lệnh pgrep (110)
    • 13. Lệnh watch (111)
    • 14. Lệnh screen (111)
    • 15. Lệnh nice và lệnh renice (111)
      • 15.1. Lệnh nice (111)
      • 15.2. Lệnh renice (112)

Nội dung

TỔNG QUAN VỀ HỆ ĐIỀU HÀNH LINUX

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

Linux, hệ điều hành mã nguồn mở, hiện nay đã có thể cạnh tranh với các hệ điều hành thương mại như MS Windows và Sun Solaris Được phát triển từ một dự án vào đầu những năm 1990, Linux nhằm mục tiêu tạo ra một hệ điều hành kiểu UNIX có thể cài đặt trên máy tính cá nhân tương thích với dòng máy IBM-PC.

Hệ điều hành Linux, được phát triển bởi Linus Torvalds vào năm 1991, ra đời từ ý tưởng cải tiến hệ điều hành UNIX Sau khi bị từ chối bởi các nhà thiết kế UNIX, Torvalds đã tạo ra một hệ điều hành cho phép người dùng sửa đổi và phát triển, và kể từ đó, Linux đã trở thành mã nguồn mở.

Ngày nay, Linux có thể được cài đặt trên nhiều loại máy tính khác nhau, nhờ vào sự đóng góp của hàng nghìn lập trình viên trên toàn thế giới Hệ điều hành này được phát triển với mục tiêu không phụ thuộc vào bất kỳ sản phẩm thương mại nào, nhằm tạo điều kiện cho mọi người đều có thể sử dụng Ý tưởng về Linux bắt nguồn từ Linus Torvalds, một sinh viên tại Đại học Helsinki, Phần Lan.

Linux, với nền tảng bắt chước UNIX, sở hữu nhiều ưu điểm nổi bật của hệ điều hành này Tính năng đa nhiệm của Linux cho phép chạy nhiều chương trình đồng thời, đồng thời hỗ trợ đa người dùng, cho phép nhiều người đăng nhập và sử dụng hệ thống cùng lúc Mặc dù lợi ích này không rõ rệt trên máy tính cá nhân, nhưng trong môi trường công ty hoặc trường học, nó giúp tối ưu hóa việc chia sẻ tài nguyên, từ đó giảm thiểu chi phí đầu tư vào thiết bị.

Linux không chỉ đơn thuần là một hệ điều hành, mà còn là một dự án cộng đồng dành cho những ai đam mê công nghệ Mặc dù không phải là sản phẩm dễ dàng, Linux lại thể hiện sự ổn định và hiệu suất cao trong quá trình sử dụng.

1.2 Tại sao Linux phát triển?

Linux là một hệ điều hành miễn phí, nổi bật với khả năng đa nhiệm, cho phép 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.

Linux là một hệ điều hành thương phẩm ít phải nâng cấp và hoàn toàn miễn phí, cùng với nhiều phần mềm ứng dụng đi kèm Hệ điều hành này cho phép người dùng truy cập mã nguồn miễn phí, từ đó có thể chỉnh sửa và mở rộng chức năng theo nhu cầu cá nhân.

Linux là sự lựa chọn lý tưởng để thay thế các hệ điều hành UNIX đắt tiền, mang lại trải nghiệm tương tự nhưng tiết kiệm chi phí Tại nơi làm việc, nếu bạn sử dụng UNIX, thì Linux sẽ là giải pháp phù hợp cho việc sử dụng tại nhà, giúp người dùng dễ dàng truy cập, lướt web và gửi nhận thông tin trên Internet.

Một trong những lý do khiến Linux trở nên thân thiện với người dùng là vì nó cung cấp mã nguồn mở, cho phép mọi người tự do truy cập và chỉnh sửa Điều này đã thu hút sự quan tâm và đầu tư từ nhiều tổ chức, cá nhân và quốc gia, mở rộng sự lựa chọn cho họ ngoài các phần mềm đóng kín Hơn nữa, Linux hoạt động độc lập và không phụ thuộc vào Microsoft Windows.

Tại Việt Nam, nghiên cứu và phát triển hệ điều hành dựa trên kernel Linux đã đạt được những thành công đáng kể, điển hình là 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ó.

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

Linux được phát hành bởi nhiều nhà sản xuất phần mềm nổi tiếng như RedHat, ManDrake, SuSE, Corel và Caldera Các phiên bản Linux như Slackware, Debian, TurboLinux và VA Linux cũng rất phổ biến Mỗi bản phát hành Linux là một bộ chương trình chạy trên nhóm tệp lõi (kernel) do Linus Torvalds phát triển Mỗi phiên bản, chẳng hạn như RedHat Linux 6.2, đều dựa trên một kernel cụ thể, ví dụ như kernel 2.2.4.

Hãng RedHat phát triển chương trình quản lý đóng gói RPM (RedHat Package Manager), một công cụ miễn phí cho phép người dùng tự đóng gói và phát hành phiên bản Linux của riêng mình Ví dụ, bản OpenLinux của Caldera cũng được tạo ra nhờ công cụ này.

Linux mang đến một môi trường học lập trình vượt trội, không có hệ điều hành nào hiện nay có thể so sánh Với Linux, người dùng có quyền truy cập đầy đủ vào mã nguồn, điều mà các sản phẩm thương mại thường không cung cấp.

Sự ra đời của bộ vi xử lý đầu tiên vào năm 1971 và máy tính cá nhân vào năm 1975 đã đánh dấu một bước ngoặt lớn trong ngành công nghệ Ban đầu, đây là sân chơi dành cho những hacker đam mê máy tính.

Một số hacker, với khả năng tự chế tạo máy tính cá nhân và hệ điều hành đơn giản, đã dần trở thành doanh nhân Nhờ vào kinh nghiệm tích lũy qua thời gian và sự phát triển của vi mạch, hiệu suất của máy tính cá nhân đã được nâng cao, giúp chúng trở nên phổ biến hơ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

UNIX và Linux hiện nay có thể hoạt động trên nhiều nền tảng khác nhau, từ máy xách tay đến máy tính lớn Nhờ vào tính khả chuyển, các hệ thống chạy UNIX và Linux có khả năng giao tiếp chính xác và hiệu quả với nhau, tạo điều kiện thuận lợi cho việc kết nối và chia sẻ thông tin.

Linux cung cấp hàng ngàn ứng dụng đa dạng, bao gồm 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 và phát triển phần mềm cho nhiều ngôn ngữ, cùng với nhiều phần mềm viễn thông toàn diện.

Ư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

Tất cả phần mềm chạy trên DOS hoặc Windows không thể hoạt động trực tiếp trên Linux, tuy nhiên, cả ba hệ điều hành này có thể cùng tồn tại trên một máy tính.

Máy tính chỉ có thể chạy một hệ điều hành tại một thời điểm Tuy nhiên, với phần mềm “VMWARE”, người dùng có thể cài đặt và chạy nhiều hệ điều hành khác nhau đồng thời trên cùng một máy tính, miễn là máy có cấu hình đủ mạnh và phù hợp.

Linux vẫn chưa hoàn toàn khắc phục được tất cả các bất tiện và sai sót, nhưng ngày càng nhiều công ty mới đang đầu tư vào Linux và phát triển các giải pháp thương mại với giá cả phải chăng, điển hình là RedHat và Caldera.

Cả hai công ty cung cấp hỗ trợ kỹ thuật qua email, fax và trực tuyến cho những khách hàng đã mua các phiên bản Linux và sản phẩm của họ, không áp dụng cho những người sử dụng các bản sao miễn phí.

Linux được sử dụng rộng rãi trong các doanh nghiệp nhờ tính kinh tế và khả năng chạy các dịch vụ như Web, DNS, định tuyến và tường lửa trên mạng nội bộ Nhiều nhà cung cấp dịch vụ Internet (ISP) cũng chọn Linux làm hệ điều hành chính cho hệ thống của họ.

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 là giao diện người dùng, hoạt động như một bộ biên dịch, nhận lệnh từ người dùng và chuyển tiếp đến nhân thực hiện Trên hệ điều hành Linux, có nhiều loại shell được phát triển, bao gồm các môi trường desktop, windows manager và dòng lệnh Hiện tại, ba loại shell chính là Bourne, Korn và C shell Bourne shell đượ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, trong khi Korn shell là phiên bản nâng cấp của Bourne shell Các phiên bản hiện nay của Unix, bao gồm Linux, đều tích hợp cả ba loại shell này.

Cấu trúc tệp trong hệ thống lưu trữ quy định cách tổ chức và quản lý các tệp trên đĩa, với tệp được nhóm trong các thư mục Mỗi thư mục có khả năng chứa tệp và thư mục con, cho phép người dùng tạo và di chuyển tệp giữa các thư mục Đặc biệt, trên hệ điều hành Linux, người dùng có thể thiết lập quyền truy cập cho tệp và thư mục, cho phép hoặc hạn chế quyền truy cập của người dùng hoặc nhóm Cấu trúc thư mục trong Linux được tổ chức theo dạng cây, bắt đầu từ thư mục gốc (root) và phân nhánh ra các thư mục khác.

Kernel, shell và cấu trúc tệp là những thành phần chính cấu thành hệ điều hành Nhờ vào các thành phần này, người dùng có khả năng chạy chương trình, quản lý tệp và tương tác hiệu quả với hệ thống.

Các đặc tính cơ bản

Linux nổi bật với những đặc điểm chính so với các hệ điều hành khác, giúp người dùng dễ dàng định hướng và lựa chọn sử dụng Những đặc điểm này bao gồm tính linh hoạt, mã nguồn mở, bảo mật cao và khả năng tùy chỉnh.

Một số đặc điểm cơ bản của Linux:

Đặc tính này cho phép người dùng thực hiện nhiều tiến trình đồng thời, mặc dù máy tính chỉ sử dụng một CPU, nhưng vẫn có khả năng xử lý nhiều tiến trình cùng lúc.

Hệ điều hành Linux nổi bật với tốc độ xử lý cao nhờ khả năng quản lý hiệu quả tài nguyên như bộ nhớ và đĩa.

Khi hệ thống Linux gặp tình trạng thiếu bộ nhớ chính (RAM) do sử dụng quá nhiều chương trình lớn, nó sẽ sử dụng partition swap trên đĩa để lưu trữ tạm thời các chương trình hoặc dữ liệu không được truy xuất Khi có nhu cầu truy cập, hệ thống sẽ chuyển dữ liệu từ vùng swap lên bộ nhớ chính để đảm bảo hoạt động trơn tru.

5.4 Sử dụng chung thư viện

Hệ thống Linux sở hữu nhiều thư viện chung cho nhiều ứng dụng, giúp tiết kiệm tài nguyên và thời gian xử lý hiệu quả.

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à công cụ thiết yếu cho người dùng, và Linux mang đến nhiều lựa chọn như vi, emacs, và nroff để thao tác hiệu quả với văn bản.

5.6 Sử dụng giao diện cửa sổ

Hệ thống X Window, hay còn gọi tắt là X, có giao diện tương tự như hệ điều hành Windows, mang lại sự thuận tiện cho người dùng trong quá trình làm việc Được phát triển tại Viện Công nghệ Massachusetts, X được thiết kế để tạo ra một môi trường làm việc độc lập với phần cứng Hệ thống này hoạt động theo mô hình client-server và bao gồm hai bộ phận chính.

- 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)

Dịch vụ NIS (Network Information Service) cho phép chia sẻ tập tin mật khẩu và nhóm trên mạng, hoạt động theo mô hình client-server Hệ thống này lưu trữ thông tin người dùng và hỗ trợ quá trình xác thực NIS được phát triển bởi hãng Sun Microsystems và ban đầu được gọi 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 Linuxxá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

5.9 Các tiện ích sao lưu dữ liệu

Linux offers utilities such as tar, cpio, and dd for data backup and restoration Additionally, RedHat Linux provides the Backup and Restore System Unix (BRU), which enables automated scheduled backups of data.

5.10 Hỗ trợ nhiều ngôn ngữ lập trình

Linux mang đến một môi trường lập trình Unix hoàn chỉnh với đầy đủ thư viện chuẩn, công cụ lập trình, trình biên dịch và chương trình debug Ngôn ngữ chính được sử dụng trong các hệ điều hành Unix là C và C++, với gcc là trình biên dịch mạnh mẽ hỗ trợ nhiều tính năng cho cả hai ngôn ngữ này Ngoài C và C++, Linux cũng cung cấp các trình biên dịch và thông dịch cho nhiều ngôn ngữ khác như Pascal, Fortran và Java.

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.

Những trọng tâm cần chú ý trong bài

- 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;

Bài mở rộng và nâng cao

Tim hiểu các nội dung sau:

 Hệ điều hành Ubuntu (Wikipedia)

 Giới thiệu về Debian GNU/Linux (Wikipedia)

 Ubuntu thay đổi trở về giao diện Gnome

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: 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;

Kỹ năng sử dụng thành thạo các trình duyệt và ứng dụng là rất quan trọng để tìm kiếm thông tin hiệu quả Việc rút trích thông tin cần thiết và đúng yêu cầu giúp nâng cao khả năng xử lý thông tin và đáp ứng nhu cầu công việc.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

Kiến thức được đánh giá qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp, trong khi kỹ năng được đánh giá thông qua khả năng thực hành tìm kiếm thông tin và rút trích những thông tin cần thiết, đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX

Yêu cầu đối với hệ thống

Mục tiêu của bài viết là chỉ ra rằng Linux có yêu cầu cấu hình hệ thống thấp hơn so với các hệ điều hành khác Để đảm bảo Linux hoạt động hiệu quả, cần có một cấu hình tối thiểu, tuy nhiên, để đạt được hiệu suất tốt nhất, người dùng nên đầu tư vào cấu hình hệ thống cao hơn.

Linux không yêu cầu cấu hình máy tính mạnh mẽ, nhưng nếu phần cứng quá yếu, có thể gặp khó khăn trong việc chạy X Window và các ứng dụng khác Do đó, để đảm bảo hiệu suất tối ưu, cấu hình tối thiểu nên được sử 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

- 2M cho card màn hình nếu muốn sử dụng mode đồ họa.

Quá trình cài đặt

Mục tiêu của phần này là hướng dẫn chi tiết quá trình cài đặt hệ thống trên hệ điều hành Linux, giúp người học dễ dàng thực hiện việc cài đặt một cách tự tin và hiệu quả.

2.1 Chọn phương thức cài đặt

- CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot

- Đĩ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

Chọn loại bàn phím của mình, chọn Next

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

Hệ điều hành thường tự động nhận diện loại màn hình hiển thị Nếu không, bạn cần cấu hình lại màn hình hiển thị trong hộp thoại bên phải và chọn Next.

2.7 Lựa chọn loại cài đặt

Một số loại cài đặtthô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ủ.

- Custom: có thể tích hợp các tùy chọn trên một cách tùy ý

Hệ thống tự động phân vùng ổ đĩa một cách hợp lý để cài đặt hệ điều hành, thường tạo ra hai phân vùng chính là /boot và /, cùng với phân vùng 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

- 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

Retain all existing partitions and utilize only the available free space for partitioning.

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)

- 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à một chương trình cho phép người dùng chọn hệ điều hành để khởi động thông qua menu Khi lựa chọn một hệ điều hành, Boot Loader sẽ xác định các tập tin cần thiết và chuyển quyền điều khiển cho hệ điều hành đó Chương trình này có thể được cài đặt vào Master Boot Record hoặc vào sector đầu tiên của phân vùng.

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

Khi cài đặt Boot Loader vào Master Boot Record (MBR), hãy làm điều này khi chưa có chương trình Boot Loader nào được cài đặt hoặc khi bạn chắc chắn rằng Boot Loader mới có khả năng khởi động các hệ điều hành khác trên máy Việc cài đặt lên MBR sẽ thay thế các chương trình Boot Loader trước đó bằng Boot Loader mới.

Khi cài đặt Boot Loader vào sector đầu tiên của partition, bạn có thể giữ lại chương trình Boot Loader hiện tại tại MBR mà không cần thay thế Trong trường hợp này, chương trình Boot Loader hiện tại sẽ kiểm soát quá trình khởi động và chuyển hướng đế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.

Cấu hình TCP/IP có thể được thực hiện qua dịch vụ DHCP để tự động nhận địa chỉ IP, hoặc người dùng có thể chọn cấu hình tĩnh bằng cách nhập các thông số mạng cụ thể trong mục chỉnh sửa.

- 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

Khi khai báo tên máy chủ, nếu có tên DNS đầy đủ, hãy sử dụng tên đó Trong trường hợp không kết nối mạng, bạn có thể đặt tên máy thông qua mục khai báo thủ công Nếu không điền tên nào, giá trị mặc định sẽ 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

Trong Linux, Firewall được tích hợp sẵn để bảo vệ hệ thống khỏi các truy cập trái phép từ bên ngoài Để sử dụng, bạn cần kích hoạt Firewall và chọn các dịch vụ cần thiết để cho phép truy cập từ bên ngoài.

2.14 Chọn ngôn ngữ hỗ trợ trong Linux

Trong Linux, người dùng có khả năng cài đặt và sử dụng nhiều ngôn ngữ khác nhau Bạn có thể chọn ngôn ngữ mặc định là tiếng Anh (USA) cùng với các ngôn ngữ bổ sung để đáp ứng nhu cầu 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 đồ

2.16 Đặt mật khẩu cho người quản trị

Trên hệ điều hành Linux, người quản trị được gọi là root, với mật khẩu yêu cầu tối thiểu 6 ký tự và phân biệt chữ hoa, chữ thường Khi nhận được thông báo “Root password accepted”, mật khẩu đã được chấp nhận.

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ọnmặ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

- 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ầnmềm hoặc nhómcác công cụ.

2.19 Định dạng filesystem và tiến hành cài đặt

Cấu hình thiết bị

Mục tiêu của bài viết là hướng dẫn các thao tác cấu hình các thiết bị thông dụng, nhằm giúp người học thực hiện việc cấu hình một cách dễ dàng và hiệu quả.

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:

Hầu hết các phiên bản Linux mới đều hỗ trợ nhận diện thiết bị USB khi được kết nối vào cổng USB, với sự điều khiển của bộ điều khiển USB Linux tương thích với nhiều loại bộ điều khiển USB và thiết bị USB được nhận diện qua tập tin /dev/sda1 trong kernel.

The Linux kernel supports most Network Interface Cards (NICs) To view detailed information about the current network card, you can use the following commands: `dmesg`, `lspci`, `/proc/interrupts`, `/sbin/lsmod`, and `/etc/modules.conf`.

Sau đây là một số bước cài đặt serial modem:

+ Bước 1: Dùng lệnh setserial để scan serial device.

Để cấu hình modem, trước tiên, hãy sử dụng lệnh `ls -s /dev/ttyS1 /dev/modem` Tiếp theo, bạn cần cấu hình Dial profile bằng cách sử dụng công cụ wvdial, thông qua script `wvdialconfig`, để quét và thu thập thông tin cần thiết cho modem, sau đó ghi vào file `/etc/wvdial.conf`.

Sử dụng hệ thống

Để bắt đầu sử dụng hệ điều hành, người dùng cần thực hiện việc đăng nhập và làm quen với các lệnh cơ bản Bài viết này hướng dẫn cách đăng nhập, nhận diện dấu nhắc của hệ điều hành, sử dụng các lệnh đơn giản, và cách truy cập 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:

+ 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

- 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ố]

+ 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ụnglệ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

Khi chuyển sang người dùng khác, biến môi trường của hệ thống thường vẫn giữ nguyên theo người dùng cũ Để sử dụng biến môi trường của người dùng mới, chúng ta cần thêm tham số "-" trong lệnh su.

4.2 Một số lệnh cơ bản

Dưới đây là một số lệnh hữu ích trong hệ thống: Lệnh `date` hiển thị ngày giờ hệ thống, trong khi `who` cho biết các người dùng đang đăng nhập Lệnh `tty` xác định tập tin tty mà bạn đang sử dụng để đăng nhập, và `cal` hiển thị lịch Để xem thông tin chi tiết của người dùng, bạn có thể sử dụng lệnh `finger`, trong khi `chfn` cho phép bạn thay đổi thông tin cá nhân Nếu bạn muốn xem nội dung tập tin, lệnh `head` sẽ hiển thị từ đầu, còn `tail` sẽ cho bạn nội dung từ cuối tập tin Lệnh `hostname` giúp bạn xem hoặc đổi tên máy, và cuối cùng, `passwd` cho phép bạn đổi mật khẩu cho người dùng.

4.3 Sử dụng trợ giúp man

Linux cung cấp một hệ thống thư viện hỗ trợ tìm kiếm thông tin theo từ khóa Với nhiều lệnh và tùy chọn phong phú, người dùng có thể gặp khó khăn trong việc nhớ hết Để giải quyết vấn đề này, Linux cung cấp trình trợ giúp man, giúp tra cứu thông tin dễ dàng hơn.

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

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

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:

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.

Cài đặt các gói phần mềm

Mục tiêu của bài viết này là hướng dẫn người dùng cách cài đặt, gỡ bỏ và nâng cấp phần mềm trên hệ thống, với các loại file nguồn khác nhau Việc thực hiện các thao tác này là cần thiết để đảm bảo hệ thống hoạt động hiệu quả.

RedHat Package Manager (RPM) là hệ thống quản lý gói phần mềm hỗ trợ người dùng Linux, cung cấp nhiều tính năng để duy trì hệ thống Người dùng có thể dễ dàng cài đặt, xóa hoặc nâng cấp các gói phần mềm thông qua các lệnh RPM lưu trữ thông tin về các gói đã cài đặt và các tập tin liên quan trong một cơ sở dữ liệu, cho phép truy vấn và xác thực các gói trong hệ thống Đối với người dùng XWindow, có thể sử dụng các chương trình như KDE-PRM hoặc Gnome-RPM thay vì sử dụng lệnh.

Khả năng nâng cấp phần mềm của RPM cho phép nâng cấp các thành phần riêng biệt của hệ thống mà không cần cài lại, đặc biệt khi có phiên bản mới của hệ điều hành như RedHat Linux Việc nâng cấp diễn ra một cách tự động và thông minh, giúp giữ lại các tập tin cấu hình qua các lần nâng cấp, đảm bảo rằng các tùy chọn sẵn có của hệ thống không bị thay đổi.

RPM được thiết kế để truy vấn thông tin hiệu quả về các package trong hệ thống, cho phép người dùng tìm kiếm thông tin về các package hoặc tập tin cài đặt trong toàn bộ cơ sở dữ liệu Người dùng có thể xác định tập tin cụ thể thuộc về package nào và vị trí của nó Các package RPM chứa các tập tin với thông tin hữu ích về nội dung và cấu trúc của package, giúp người dùng dễ dàng tìm kiếm thông tin trong từng package riêng lẻ.

Thẩm tra hệ thống là một tính năng nổi bật của RPM, cho phép người dùng xác minh lại các gói cài đặt Nếu có nghi ngờ về việc một tệp tin bị xóa hoặc thay thế, hệ thống sẽ cung cấp công cụ để kiểm tra tính toàn vẹn của các gói.

Trong gói 26, việc kiểm tra lại rất đơn giản Cần lưu ý đến các dấu hiệu bất thường của hệ thống và thực hiện kiểm tra, cài đặt lại nếu cần thiết.

RPM chỉ có thể được thực hiện bởi người dùng quản trị (root) và bao gồm 5 chế độ chính: 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

Gói RPM thường có tên tập tin theo định dạng foo-1.0-1.i386.rpm, trong đó "foo" là tên gói, "1.0" là phiên bản, "1" là số hiệu phiên bản, và "i386" chỉ kiến trúc sử dụng Để cài đặt gói, bạn cần sử dụng lệnh cài đặt phù hợp.

# rpm –ivh tên-tập-tinRPM

#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ụngtham số replacepkgs

#rpm –ivh -–replacepkgs tên-tập-tin-package

# rpm -ivh replacepkgs foo-1.0-1.i386.rpm

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 vấn đề này, cần cài đặt các gói yêu cầu Nếu bạn muốn tiếp tục cài đặt mà không cần cài các gói khác, hãy sử dụng tùy chọn nodeps Tuy nhiên, việc này có thể khiến các gói không hoạt động tốt.

5.3.2 Loại bỏ phần mềm đã cài đặt trong hệ thống

Lưu ý : khi xóa chúng ta dùng tên-package chứ không dùng tên tập tin RPM

# rpm -e foo removing these packages would break dependencies: foo is needed by bar-1.0-1

# rpm –Uvh tên-tập-tinRPM

# rpm -Uvh foo-2.0-1.i386.rpm foo ####################################

Khi nâng cấp RPM, các phiên bản cũ của gói sẽ bị xóa Tuy nhiên, bạn có thể sử dụng lệnh này để cài đặt mà không làm mất phiên bản cũ nào.

Khi RPM tự động nâng cấp với tập tin cấu hình, thông báo "saving /etc/foo.conf as /etc/foo.conf.rpmsave" thường xuất hiện, cho thấy rằng tập tin cấu hình cũ không tương thích với phiên bản mới và được lưu lại cùng với việc tạo tập tin cấu hình mới Quá trình nâng cấp thực chất là sự kết hợp giữa gỡ cài đặt (Uninstall) và cài đặt (Install), do đó, khi thực hiện nâng cấp, người dùng có thể gặp phải các lỗi tương tự như khi cài đặt hoặc gỡ cài đặt, cùng với khả năng xảy ra lỗi khi nâng cấp lên 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 ####################################

5.3.4 Truy vấn các phần mềm

Sử dụng lệnh `rpm -q foo` để truy vấn thông tin về package, ví dụ như `foo-2.0-1` Thay vì chỉ xác định tên package, bạn có thể kết hợp thêm một số tham số khác với `-q` để chỉ định package cần truy vấn, được gọi là Package Specification Options.

+ -a: Truy vấntấ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

Lệnh rpm –Vp tên-tập-tin-RPM cho phép người dùng kiểm tra một gói phần mềm với tập tin gói xác định, thường được áp dụng trong trường hợp cơ sở dữ liệu RPM bị hỏng.

Khi kiểm tra, nếu không phát hiện lỗi, sẽ không có hiển thị; ngược lại, một thông báo sẽ được đưa ra Dòng thông báo có định dạng gồm 8 ký tự và tên tập tin, trong đó mỗi ký tự thể hiện kết quả so sánh giữa thuộc tính của tập tin và thuộc tính lưu trong cơ sở dữ liệu RPM Dấu chấm (.) biểu thị rằng việc kiểm tra đã hoàn tất, trong khi các ký tự khác đạ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

+ 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 (*.rpm), còn có phần mềm được cung cấp dưới dạng mã nguồn như *.tar hoặc *.tgz Để cài đặt phần mềm này, người dùng cần tham khảo các file hướng dẫn trong từng chương trình, thường là các file README hoặc INSTALL nằm trong thư mục con sau khi giải nén mã nguồn bằng lệnh tar Quá trình cài đặt thường bao gồm các bước cụ thể để đảm bảo phần mềm hoạt động đúng cách.

Bước 1: Giải nén file tar

[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

[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

Bước 3: Sau đó dựa vào chỉ dẫn trong file (INSTALL, README) để cài đặt phần mềm

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?

1 Cài Đặt Ubuntu 11.04 trên máy thực

Ubuntu có thể được cài đặt với đĩa đồ họa CD Hãy chắc chắn rằng máy tính được thiết lập để khởi động đĩa CD trước đĩa cứng

1 Đưa đĩa Ubuntu vào ổđĩa CD của bạn

2 Bắt đầu hoặc khởi động lại máy tính Màn hình ngôn ngữ xuất hiện

3 Chọn ngôn ngữ của bạn mong muốn và nhấp vào Forward Xuất hiện cửa số

4 Chọn vị trí gần nhất với vị trí của bạn và nhấn Forward Bàn phím bố trí cửa sổ xuất hiện

5 Chọn cách bố trí bàn phím Click Forward Phân bổ không gian cửa sổ ổ đĩa xuất hiện

THAO TÁC VỚI TẬP TIN VÀ THƯ MỤC

Cấu trúc hệ thống tập tin & thư mục

Mục tiêu của bài viết này là giới thiệu cấu trúc tập tin và thư mục trong hệ điều hành Linux, một yếu tố cơ bản tương tự như các hệ điều hành khác Bài viết sẽ cung cấp cho người học cái nhìn tổng quan về các thành phần của hệ thống tập tin và thư mục, cùng với chức năng của từng thành phần.

- Hệ thống tập tinlà 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 trong Linux bao gồm đĩa mềm, CD-ROM và các phân vùng của đĩa cứng, thường được thiết lập trong quá trình cài đặt hệ điều hành Việc thay đổi cấu trúc hệ thống tập tin có thể xảy ra khi thêm thiết bị hoặc chỉnh sửa các phân vùng đã tồn tại Do đó, việc hiểu rõ 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, trong đó ext2 và ext3 là hệ thống tập tin cơ bản, với ext3 hiện nay được sử dụng phổ biến 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ên đến 4 terabytes Ngoài ra, Linux còn hỗ trợ đặt tên tập tin dài cho các tập tin MS-DOS và phân vùng FAT32 Hệ thống tập tin ảo proc (/proc) không chiếm dung lượng đĩa phân phối, bên cạnh đó còn có các hệ thống tập tin khác như iso9660, UMSDOS và 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ủatập tin

Inode (256 byte) lưu trữ thông tin về các tập tin và thư mục trong hệ thống tập tin, nhưng không bao gồm tên thực của chúng Mỗi tập tin được tạo ra sẽ được phân bổ một inode, trong đó chứa thông tin về loại tập tin và quyền truy cập của nó.

Người sở hữu tập tin, kích thước và số lượng hard link đến tập tin, ngày và thời gian chỉnh sửa cuối cùng, cùng với vị trí lưu trữ nội dung trong hệ thống tập tin là những thông tin quan trọng cần nắm rõ.

Storageblock là khu vực lưu trữ thực tế cho các tập tin và thư mục, được chia thành các Data Block Dữ liệu được lưu trữ trên đĩa trong các block, mỗi block thường chứa 1024 byte Ngay cả khi tập tin chỉ có một ký tự, vẫn cần phải cấp phát một block để lưu trữ, và không có ký tự nào để 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ủatập tin và những thư mục con.

Hệ thống thư mục trong Linux có cấu trúc bắt đầu từ thư mục gốc (/), khác với khái niệm ổ đĩa trong Windows Trong Linux, dấu “.” đại diện cho thư mục hiện hành, trong khi dấu “ ” chỉ thư mục cha Ví dụ, nếu thư mục hiện hành là /usr/bin, thì đường dẫn /local sẽ tương đương với /usr/local.

Trong cấu trúc hệ thống, thư mục gốc được gắn vào phân vùng đầu tiên, trong khi thư mục /usr được gắn vào phân vùng thứ hai Dữ liệu lưu trữ trong thư mục /home sẽ được ghi vào phân vùng thứ ba Tương tự, dữ liệu từ thư mục /usr/local sẽ được lưu vào phân vùng thứ tư, còn dữ liệu trong thư mục /usr không phải là thư mục con của /usr/local sẽ được ghi vào phân vùng thứ hai.

Trong hệ điều hành Linux, các tập tin thiết bị trong thư mục /dev đại diện cho các partition trên ổ đĩa vật lý Các tập tin này được phân loại dựa trên loại ổ đĩa, với các tiền tố như fd cho đĩa mềm, hd cho đĩa cứng, và sd cho đĩa SCSI Mỗi ổ đĩa được đánh số theo thứ tự, với ổ đĩa đầu tiên là ký hiệu a, ổ thứ hai là b, và tiếp theo là số thứ tự partition tương ứng.

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 /bin và /sbin chứa các tập tin nhị phân cần thiết cho việc khởi động và thực thi các lệnh trong hệ thống Thư mục /boot lưu trữ kernel Linux cùng với các file ảnh hỗ trợ quá trình tải 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

/usr Lưu trữ tập tin của các chương trình đã được cài đặttrong 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

Các mount point trong hệ thống chứa các thiết bị được gắn vào, bao gồm những thư mục như /boot, /home, /root, /tmp, /usr, /usr/local, /opt và /var, mà có thể được sử dụng để mount các thiết bị riêng biệt.

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 quá trình làm việc với các tập tin và thư mục, việc sử dụng đường dẫn tương đối rất quan trọng Đường dẫn này được xác định dựa trên thư mục hiện tại mà người dùng đang làm việc Chẳng hạn, khi bạn đang ở thư mục /home/hv và gõ lệnh cat test.txt, bạn sẽ truy cập vào tập tin test.txt nằm trong thư mục đó.

Trong Linux, chương trình thực thi có hai dạng chính: tập tin lệnh và tập tin binary Tập tin lệnh chứa các lệnh của shell, trong khi tập tin binary chứa mã máy Không giống như các hệ điều hành khác, Linux không sử dụng phần mở rộng tập tin để xác định tính chất của chương trình thực thi; ví dụ, txt cho tập tin văn bản và conf cho tập tin cấu hình Để một tập tin có thể thực thi, cần phải gán quyền thực thi (x) cho nó.

Để thực thi chương trình, cần xác định đường dẫn chính xác hoặc sử dụng biến môi trường PATH Để chạy tệp tin trong thư mục hiện hành, bạn phải sử dụng cú pháp /tên-file.

Lệnh pwd cho phép xác định vị trí thư mụchiện hành.

[natan@netcom bin]$ pwd /usr/local/bin

Lệnh cd cho phép thay đổi thư mục

$cd [thư-mục] thư-mục: là nơi cần di chuyển vào

Lệnh ls cho phép liệt kê nội dung thư mục

Cú pháp lệnh ls trong hệ điều hành cho phép người dùng hiển thị danh sách các tập tin trong thư mục Sử dụng ls -x để xem các tập tin được trình bày theo nhiều cột, trong khi ls -l cung cấp thông tin chi tiết về từng tập tin Để hiển thị tất cả các tập tin, bao gồm cả những tập tin ẩn, người dùng có thể sử dụng lệnh ls -a.

-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

$ls -l tập-tin1 tập-tin2 …

Lệnh mkdir cho phép tạo thư mục

$mkdir [tùy-chọn][thư-mục]

Ví dụ: $mkdir /home/web

Lệnh cho phép xóa thư mục rỗng

$rmdir [tùy-chọn] [thư-mục]

Ví dụ: $rmdir /home/web

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ố

Lệnh cat còn cho phép xem nhiều tập tin cùng lúc

Lệnh $cat file1 file2 … không chỉ dùng để hiển thị nội dung của các tập tin mà còn có thể tạo và soạn thảo văn bản dạng text Khi sử dụng dấu >, nội dung cũ sẽ bị xóa và nội dung mới sẽ được ghi vào tập tin, trong khi dấu >> cho phép nối thêm nội dung mới vào tập tin mà không làm mất dữ liệu cũ.

$cat > [Enter]

> Các-dòng-dữ-liệu-của-tập tin

Lệnh more cho phép xem nội dung tập tin theo từng trang màn hình

Lệnh cp cho phép sao chép tập tin

$cp

Ví dụ: $cp /etc/passwd /root/passwd

Lệnh mv cho phép thay đổi tên tập tin và di chuyển vị trí của tập tin

$mv < tên-tập-tin-mới>

Ví dụ: $cp /etc/passwd /root/pwd

Lệnh rm cho phép xóa tập tin, thư mục.

$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

Cho phép tìm kiếm tập tin thỏa mãn điều kiện

#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:

“*”: 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

Lệnh grep cho phép tìm kiếm một chuỗi nào đó trong nội dung tập tin

#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

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)

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)

Quyền truy cập, sở hữu đối với tập tin và thư mục

Trong hệ điều hành Linux, mỗi tập tin và thư mục đều có người sở hữu và quyền truy cập riêng Bài viết này sẽ giới thiệu về các quyền liên quan đến tập tin và thư mục, đồng thời hướng dẫn cách gán quyền cũng như thay đổi quyền sở hữu cho các tập tin và thư mục.

Tất cả các tập tin và thư mục trong Linux đều có người sở hữu và quyền truy cập, cho phép chúng ta thay đổi các thuộc tính này Quyền của tập tin cũng giúp xác định xem tập tin đó có phải là chương trình hay không, ví dụ như khi sử dụng lệnh ls -l.

-rw-r r 1 fido users 163 Dec 7 14 : 31 myfile

Cột đầu trong Linux chỉ ra quyền truy cập của tập tin, ví dụ như ký tự -rw-r r thể hiện quyền truy cập của tập tin myfile Hệ điều hành này cho phép người sử dụng xác định quyền đọc, viết và thực thi cho từng đối tượng, với ba dạng đối tượng khác nhau.

+ 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 người dùng truy cập nội dung của tập tin, trong khi đối với thư mục, quyền này cho phép di chuyển vào và xem nội dung bên trong thư mục đó.

Quyền viết trong hệ thống cho phép người dùng thay đổi nội dung hoặc xóa tập tin Đối với thư mục, quyền này cho phép tạo, xóa hoặc đổi tên các tập tin bên trong mà không cần quan tâm đến quyền cụ thể của từng tập tin Do đó, quyền viết của thư mục sẽ vượt qua các quyền truy cập của các tập tin trong nó.

Quyền thực thi cho phép người dùng gọi chương trình từ bộ nhớ bằng cách nhập tên tập tin qua bàn phím Đối với thư mục, người dùng chỉ có thể truy cập nếu có quyền thực thi thông qua lệnh cd.

-rw-r r 1 fido users 163 Dec 7 14 : 31 myfile

Ký tự đầu tiên trong quyền truy cập của một tập tin cho biết loại của nó: dấu “-” biểu thị tập tin bình thường, trong khi ký tự “d” cho biết đó là một thư mục Ngoài ra, ký tự “c” đại diện cho thiết bị ngoại vi dạng ký tự (như bàn phím), và ký tự “b” dành cho thiết bị ngoại vi dạng block (như ổ đĩa cứng).

Chín ký tự tiếp theo được chia thành ba nhóm, xác định quyền của người sở hữu (owner), nhóm sở hữu (group) và những người còn lại (other) Mỗi nhóm quyền này cho phép thiết lập quyền đọc, viết và thực thi theo thứ tự Quyền đọc và viết được phân chia rõ ràng trong cấu trúc này.

Quyền truy cập trong hệ thống được biểu thị bằng ba ký tự: “r” cho quyền đọc ở vị trí đầu, “w” cho quyền viết ở vị trí thứ hai, và “x” cho quyền thực thi ở vị trí thứ ba Nếu một quyền không được cấp, ký tự “-” sẽ xuất hiện ở vị trí tương ứng.

Loại tập tin Owner group owner other users

Tập tin myfile có quyền sở hữu là rw, cho phép người sở hữu thực hiện cả hai thao tác đọc và viết Trong khi đó, nhóm sở hữu và những người khác chỉ có quyền đọc (read-only) Ngoài ra, các ký tự hiển thị rằng myfile không phải là một chương trình.

Quyền hạn truy cập có thể được biểu diễn dưới dạng 3 số, với mỗi số tương ứng cho 3 quyền cơ bản: đọc (read), ghi (write) và thực thi (execute) Mỗi quyền được biểu diễn bằng một bit, trong đó bit có giá trị 1 nếu quyền được cấp và 0 nếu không Giá trị nhị phân của 3 bit này sẽ xác định quyền hạn cho nhóm người dùng cụ thể.

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

Khi cấp quyền cho một tập tin hoặc thư mục, các quyền được biểu thị bằng các số thập phân Cụ thể, quyền đọc và thực thi được ký hiệu là 5 (r-x), quyền đọc và ghi là 6 (rw-), và quyền đọc, ghi và thực thi là 7 (rwx).

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.

Một tập tin với quyền 751 cho thấy chủ sở hữu có quyền đọc, ghi và thực thi (7), nhóm có quyền đọc và thực thi (5), trong khi những người khác chỉ có quyền thực thi (1).

Người sử dụng có quyền đọc tài liệu, đồng nghĩa với quyền sao chép tập tin Khi thực hiện sao chép, quyền sở hữu tập tin sẽ chuyển sang người thực hiện việc này.

-rw-r r 1 root root 1113 Oct 13 12 : 30 /etc/passwd

-rw-r r 1 ndhung admin 1113 Oct 15 10 : 37 passwd

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

$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:

Lệnh `$ chmod +x myfile` cho phép thay đổi quyền truy cập cho tập tin, nhưng kết quả phụ thuộc vào quyền hiện có trước đó Để đảm bảo an toàn hệ thống, việc thay đổi quyền truy cập tuyệt đối thường ít gây sai sót hơn Quyền truy cập cho thư mục cũng được điều chỉnh tương tự như tập tin; không có quyền thực hiện (execute) đối với thư mục sẽ ngăn cản người dùng vào thư mục đó Người dùng có quyền viết trong thư mục có thể xóa tập tin bên trong, bất kể quyền của họ đối với các tập tin đó Do đó, hầu hết các thư mục có quyền `drwxr-xr-x`, cho phép chỉ người sở hữu thư mục có quyền tạo và xóa tập tin bên trong.

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.

Liên kết (Link) là một phương thức đơn giản để tạo ra một tên tập tin thứ hai cho một tập tin đã tồn tại Ví dụ, nếu bạn có tập tin /usr/lib/testfile và muốn tạo một tập tin giống hệt trong thư mục /usr/tim, bạn chỉ cần sử dụng lệnh để tạo một liên kết mà không cần sao chép tập tin.

#ln /usr/bill/testfile /usr/tim/testfile

Cú pháp của lệnh ln:

Lý do chính để tạo liên kết giữa các tập tin là nhằm nhân bản chúng nhiều lần Trong trường hợp này, cả hai tập tin đều là một, vì vậy bất kỳ sự thay đổi nào trên một tập tin sẽ ngay lập tức ảnh hưởng đến tập tin còn lại.

Hard Link là một loại liên kết trong cùng một hệ thống tập tin, trong đó hai inode entry tương ứng đều trỏ đến cùng một nội dung vật lý với cùng một inode number Để kiểm tra điều này, bạn có thể sử dụng lệnh sau:

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

Cả hai tập tin đều có inode number giống nhau

Liên kết biểu tượng (symbolic link) là một loại liên kết không sử dụng mục inode để thực hiện liên kết Loại liên kết này thường được sử dụng để tạo ra các driver thiết bị, ví dụ như /dev/modem thay cho /dev/cua1 Để tạo một symbolic link, bạn có thể sử dụng tùy chọn -s của lệnh ln.

In the provided example, the inode numbers of different files are displayed, highlighting the presence of a symbolic link in the directory listing The symbolic link appears as "lrwxrwxrwx 1 root root 6 Sep 16:35 anotherfile -> bigfile," indicating that "anotherfile" points to "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.

Bài tập thực hành

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.

Những trọng tâm cần chú ý trong bài

- 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;

Bài mở rộng và nâng cao

Tim hiểu các nội dung sau:

 Hệ điều hành Ubuntu (Wikipedia)

 Giới thiệu về Debian GNU/Linux (Wikipedia)

 Ubuntu thay đổi trở về giao diện Gnome

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: 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;

Kỹ năng sử dụng thành thạo các trình duyệt và ứng dụng là rất quan trọng để tìm kiếm thông tin hiệu quả Người dùng cần rút trích những thông tin cần thiết và đúng yêu cầu từ các nguồn khác nhau, đảm bảo tính chính xác và độ tin cậy của dữ liệu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

Kiến thức sẽ được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Về kỹ năng, việc đánh giá sẽ tập trung vào khả năng thực hành trong việc tìm kiếm thông tin và rút trích những dữ liệu cần thiết, đáp ứng đúng yêu cầu.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

BÀI 2: CÀI ĐẶT HỆ ĐIỀU HÀNH LINUX

- 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

1 Yêu cầu đối với hệ thống

Linux có yêu cầu cấu hình hệ thống thấp hơn so với các hệ điều hành khác, giúp người dùng dễ dàng tiếp cận Để hệ điều hành Linux hoạt động hiệu quả, cần đảm bảo cấu hình tối thiểu cho hệ thống Tuy nhiên, để tối ưu hóa hiệu suất, người dùng nên sử dụng cấu hình hệ thống cao hơn mức tối thiểu đề xuất.

Linux không yêu cầu cấu hình máy tính mạnh, nhưng nếu phần cứng quá yếu, có thể không chạy được X Window hoặc các ứng dụng đi kèm Để đảm bảo hiệu suất tốt, cấu hình tối thiểu nên được sử 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

- 2M cho card màn hình nếu muốn sử dụng mode đồ họa

Mục tiêu của phần này là hướng dẫn chi tiết quá trình cài đặt hệ thống trên hệ điều hành Linux, giúp người học thực hiện cài đặt một cách dễ dàng và hiệu quả.

2.1 Chọn phương thức cài đặt

- CD-Rom: Có thể khởi động từ CD-ROM hoặc khởi động bằng đĩa mềm boot

- Đĩ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

Chọn loại bàn phím của mình, chọn Next

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

Hệ điều hành thường tự động nhận diện loại màn hình hiển thị Nếu không, bạn cần cấu hình lại màn hình trong hộp thoại bên phải và chọn "Next".

2.7 Lựa chọn loại cài đặt

Một số loại cài đặtthô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ủ.

- Custom: có thể tích hợp các tùy chọn trên một cách tùy ý

Hệ thống tự động phân vùng ổ đĩa một cách hợp lý để cài đặt hệ điều hành, thường tạo ra hai phân vùng chính: /boot và /, cùng với phân vùng 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

- 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

To optimize your storage, retain all existing partitions and utilize only the available free space for further partitioning.

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)

- 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à phần mềm cho phép người dùng chọn hệ điều hành để khởi động thông qua một menu Sau khi lựa chọn, Boot Loader xác định các tập tin cần thiết để khởi động hệ điều hành và chuyển giao quyền điều khiển cho nó Boot Loader có thể được cài đặt vào Master Boot Record hoặc vào sector đầu tiên của phân vùng.

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

Khi cài đặt Boot Loader vào Master Boot Record (MBR), bạn nên thực hiện điều này khi chưa có Boot Loader nào được cài đặt hoặc khi bạn chắc chắn rằng Boot Loader mới có khả năng khởi động các hệ điều hành khác trên máy Lưu ý rằng việc cài đặt Boot Loader lên MBR sẽ thay thế các chương trình Boot Loader trước đó bằng phiên bản mới.

Chọn cài đặt 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 mà không muốn thay thế nó Trong tình huống này, chương trình Boot Loader hiện tại sẽ nắm quyền điều khiển và dẫn đến chương trình Boot Loader của Linux khi cần 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.

Cấu hình TCP/IP có thể thực hiện qua dịch vụ DHCP để tự động nhận địa chỉ IP, hoặc bạn cũng có thể chọn cấu hình tĩnh bằng cách nhập các thông số mạng cụ thể trong mục chỉnh sửa.

- 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

Khi khai báo tên máy chủ, nếu có tên DNS đầy đủ, hãy sử dụng tên đó Trong trường hợp không kết nối mạng, bạn có thể đặt tên máy thông qua tùy chọn thủ công Nếu không nhập tên nào, giá trị mặc định sẽ 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

Trong Linux, Firewall được tích hợp sẵn nhằm bảo vệ hệ thống khỏi các truy cập trái phép từ bên ngoài Để sử dụng, bạn cần kích hoạt Firewall và chọn các dịch vụ cần cho phép truy cập từ bên ngoài.

2.14 Chọn ngôn ngữ hỗ trợ trong Linux

Trong Linux, người dùng có khả năng cài đặt và sử dụng nhiều ngôn ngữ khác nhau Bạn có thể chọn ngôn ngữ mặc định là tiếng Anh (Mỹ) cùng với các ngôn ngữ bổ sung để phục vụ nhu cầu 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 đồ

2.16 Đặt mật khẩu cho người quản trị

QUẢN TRỊ NGƯỜI DÙNG VÀ NHÓM

Thông tin của người dùng

Mục tiêu của bài viết này là trình bày cơ chế quản lý người dùng trong hệ điều hành Linux, giúp người học nắm vững cách quản lý và lưu trữ thông tin người dùng trên hệ thống một cách hiệu quả.

Trong hệ điều hành Linux, tài khoản root là tài khoản quyền cao nhất dành cho người quản trị, thường được sử dụng để cấu hình và bảo trì hệ thống Để quản lý hệ thống hiệu quả, việc tạo tài khoản người dùng thường là cần thiết Đối với các server quan trọng với nhiều dịch vụ khác nhau, nên tạo các superuser phù hợp cho từng dịch vụ để giảm thiểu việc sử dụng tài khoản root Chẳng hạn, một superuser cho công việc sao lưu chỉ cần quyền đọc (read-only) mà không cần quyền ghi.

Tài khoản root có quyền hạn lớn và thường là mục tiêu của các cuộc tấn công chiếm đoạt Do đó, người sử dụng tài khoản root cần phải cẩn thận, tránh sử dụng bừa bãi qua telnet hoặc kết nối từ xa mà không có các công cụ kết nối an toàn.

Trong Linux, bạn có thể tạo tài khoản với quyền root bằng cách tạo user có UserID bằng 0 Để phân biệt giữa tài khoản root và tài khoản người dùng thường, hãy chú ý đến dấu nhắc của shell Để chuyển đổi tài khoản đăng nhập, sử dụng lệnh su [tên tài khoản].

Ví dụ: login: nsd1 Password:******

[nsd1@DanaVTC nsd1]$ su - Password: ******

Trong ví dụ trên, dòng thứ ba ([nsd1@DanaVTC nsd1]$) biểu thị rằng người sử dụng thường (nsd1) đang kết nối, trong khi dòng cuối cùng với dấu # cho thấy các lệnh đang được thực hiện với quyền root.

1.2 User Để đăng nhập và sử dụng hệ thống Linux cần phải có 1 tài khoản Trừ tài khoản root, các tài khoản khác do người quản trị tạo ra

Mỗi tài khoản người dùng trong hệ thống yêu cầu một tên sử dụng (username) và mật khẩu (password) riêng biệt Thông tin chi tiết về các tài khoản người dùng được lưu trữ trong tập tin /etc/passwd.

Tập tin /etc/passwd là một tệp văn bản quan trọng trong hệ thống Unix/Linux, cho phép mọi người truy cập đọc nhưng chỉ có quyền root mới có khả năng chỉnh sửa nội dung của nó.

The passwd file contains essential information about user accounts on a system Each line represents a user entry with fields separated by colons For example, the root user has the username "root," user ID 0, and home directory "/root," using the shell "/bin/bash." Other entries include system users like "bin," "daemon," and "ftp," each with their respective IDs, home directories, and shell configurations The file also lists users like "nthung" and "natan," demonstrating custom user accounts with specific home directories and shells Overall, the passwd file is crucial for managing user permissions and access on a Unix-like operating system.

Trong đó, các thông tin bao gồm:

Dòng đầu tiên trong tệp tin /etc/passwd chứa thông tin về người dùng root, với tất cả tài khoản có user_ID = 0 đều là root hoặc có quyền tương tự như root Sau đó, danh sách sẽ bao gồm các tài khoản hệ thống, là những tài khoản không có thật và không thể đăng nhập vào hệ thống, và cuối cùng là các tài khoản người dùng thông thường.

- Cột 1: Tên người sử dụng;

Mã liên quan đến mật khẩu của tài khoản và ký tự "x" được lưu trữ trong hệ thống Linux Thông tin này được bảo mật trong tập tin /etc/shadow, mà chỉ có người dùng root mới có quyền truy cập đọc.

- Cột 3, cột 4: Mã định danh tài khoản (user ID) và mã định danh nhóm (group ID);

- Cột 5: Tên đầy đủ của người sử dụng;

- Cột 6: Thư mục cá nhân (Home Directory);

- Cột 7: Chương trình sẽ chạy đầu tiên sau khi người dùng đăng nhập vào hệ thống

1.2.2 Username và UserID Để quản lý người dùng, Linux sử dụng tên người dùng (user name) và định danh người dùng (user ID) để đăng nhập và truy xuất tài nguyên

Tên người dùng là chuỗi ký tự duy nhất xác định một người dùng, trong khi số định danh người dùng kiểm soát hoạt động của họ Theo quy định, người dùng có định danh 0 là quản trị viên (root), các tài khoản hệ thống có định danh từ 1 đến 99, và người dùng bình thường có định danh bắt đầu từ 100 đến 500.

Mỗi người dùng có mật khẩu riêng và có khả năng thay đổi mật khẩu của mình Tuy nhiên, quản trị viên có quyền thay đổi mật khẩu của các người dùng khác.

Mật khẩu người dùng được lưu trong tập tin /etc/passwd.

Group ID (GID) là một mã số dùng để xác định nhóm của người dùng trên hệ điều hành Linux Mỗi GID cho phép nhận biết người dùng thuộc nhóm nào Thông thường, GID được tự động tạo ra khi tạo tài khoản người dùng mới và thường có giá trị từ 500 trở lên.

Khi người dùng đăng nhập vào hệ thống, họ được chuyển đến thư mục cá nhân (home directory) của mình, nơi mỗi người có quyền truy cập đầy đủ Thư mục này chứa dữ liệu cá nhân và thông tin hệ thống cần thiết cho hoạt động của người dùng, bao gồm biến môi trường, script khởi động và profile cho X Window Thông thường, home directory của người dùng nằm trong /home, trong khi của root là /root, nhưng có thể được thay đổi vị trí thông qua lệnh useradd hoặc usermod.

Quản lý người dùng

Mục tiêu: Trình bày các thao tác quản trị người dùng thông qua tài khoản người dùng

2.1 Tạo tài khoản người dùng Để tạo tài khoản, root có thể sử dụng lệnh useraddvới cú pháp:

#useradd [-c mô_tả_người_dùng] [-d thư_mục_cá_nhân] [-m]

[-g nhóm_người_dùng] [tên_tài_khoản]

- Tham số –m sử dụng để tạo thư mục cá nhân nếu nó chưa tồn tại

- Chỉ có root được phép sử dụng lệnh này.

Ví dụ: # useradd –c “Nguyen van B“ nvb

77 Để đặt mật khẩu cho tài khoản, dùng lệnh passwd .

Changing password for user nvb New password: ****

Retype new password: **** passwd: all authentication tokens updated successfully Lưu ý:

- Đặt với độ dài tối thiểu 6 ký tự;

- Phối hợp giữa ký tự hoa, thường, ký số và ký tự đặc biệt.

- Không nên đặt password liên quan đến tên tuổi, ngày sinh,… của mình và người thân

Khi nhiều người dùng chia sẻ chức năng và dữ liệu, họ nên được nhóm lại trong cùng một nhóm Mặc định, khi tạo tài khoản trên Linux, hệ thống sẽ tự động tạo một nhóm với tên trùng khớp với tên tài khoản Ví dụ, trong tập tin /etc/passwd, thông tin về người dùng nvb được hiển thị như sau: nvb:x:1013:1013::/home/nvb:/bin/bash, cho thấy người dùng nvb có user_ID 1012 và thuộc nhóm 1013.

Xem tập tin /etc/group ta thấy:

# more /etc/group root:x:0:root

Lúc này, có thể kết nạp tài khoản nvb vào nhóm users bằng cách thay số 1013 bằng 100, là group_ID của nhóm users

Lệnh useradd –d cho phép xem các thông số mặc định khi tạo tài khoản người dùng, với thông tin được lưu trữ trong thư mục /etc/default/useradd.

GROUP0 HOME=/home INACTIVE=-1 EXPIRESHELL=/bin/bash SKEL=/etc/skel

2.2 Thay đổi thông tin của tài khoản Để thay đổi thông tin của tài khoản, có thể thay đổi từ tập tin /etc/passwd hoặc dùng lệnh usermod Cú pháp lệnh usermod:

#usermod [-c thông_tin_người_dùng] [-d thư_mục_cá_nhân] [-m]

[-g nhóm_ người_dùng] [tên_tài_khoản]

Ví dụ: Cho tài khoản nvb vào nhóm admin

2.3 Tạm khóa tài khoản người dùng Để tạm thời khóa tài khoản trong hệ thống ta có thể dùng nhiều cách:

Khóa (locking) Mở khóa (unlock) passwd –l passwd –u usermod –L usermod –U

Để tạm khóa tài khoản, bạn có thể chỉnh sửa tập tin /etc/shadow bằng cách thay thế từ khóa "x" bằng "*" hoặc gán "/bin/false" vào shell mặc định của người dùng trong file /etc/passwd.

Lệnh userdel được sử dụng để xóa một tài khoản trong hệ thống Ngoài ra, bạn cũng có thể xóa tài khoản bằng cách xóa dòng dữ liệu tương ứng trong tập tin /etc/passwd.

Ví dụ: xóa tài khoản nvb (dùng tùy chọn –r để xóa toàn bộ thông tin liên quan tới user đó): #userdel –r nvb

Nhóm người dùng

Mục tiêu: Khi nhiều người dùng có cùng một chức năng, cùng chia xẻnhau dữ liệu, có chung quyền trên tài nguyên, thường được nhóm thành một nhóm

Trong hệ điều hành Linux, mỗi nhóm được xác định bởi tên và định danh riêng, cho phép nhiều người dùng cùng thuộc về một nhóm Tuy nhiên, một người dùng chỉ có thể là thành viên của một nhóm duy nhất tại một thời điểm.

Thông tin về nhóm lưu tại tập tin /etc/group Mỗi dòng định nghĩa một nhóm, các trường trên dòng cách nhau bởidấu :

::

3.1 Tạo nhóm Để tạo một nhóm, có thể chỉnh sửa trực tiếp trong tập tin /etc/group hoặc dùng lệnh groupadd

Cú pháp: #groupadd [tên-nhóm]

3.2 Thêm người dùng vào nhóm

Để thêm người dùng vào nhóm, bạn có thể chỉnh sửa tệp /etc/group, trong đó các tên tài khoản người dùng được phân cách bằng dấu “;”, hoặc sử dụng lệnh để thêm người dùng vào nhóm.

#usermod –g [tên-nhóm tên-tài-khoản]

3.3 Hủy nhóm Để hủy nhóm, có thể xóa trực tiếp nhóm trong tập tin /etc/group, hoặc dùng lệnh:

3.4 Xem thông tin về user và group

Cú pháp: #id

Lệnh cho phép xem thông tin về tài khoản hay nhóm trong hệ thống

Trong đó, tham số -g cho phép xem thông tin về nhóm

Ví dụ: xem groupID của một user vanphong: #id –g vanphong Để xem tên nhóm của một user nào đó, dùng lệnh: groups

Ví dụ: [root@server root]# groups root root: root bin daemon sys adm disk wheel Câu hỏi

1 Trình bày các loại tài khoản trên Linux.

2 Cho biết ý nghĩa các thành phần trên tập tin /etc/passwd

BT1 Quản lý người dùng

1 Tạo các nhóm người dùng sau đây : tiep_thi,kinh_doanh,ban_hang.

2 Tạo các tài khoản người dùng và nhóm người sau đây

Tài khoản Tên đầy đủ Nhóm chính Thành viên

Matiem Mai An Tiem tiep_thi tiep_thi,kinh_doanh dtdiem Doan thi diem dtdiem dtdiem

3 Them người dùng dtidiem vao nhóm ban_hang

4 Liệt kê tất cả các nhóm của dtdiem

5 Đăng nhập vào tài khoản dtdiem

6 Liệt kê tất cả nhóm của dtdiem

7 Tạo thư mục du_lieu trong thư mục người dùng của dtdiem

8 Ls-l xem chủ sở hữu và nhóm sở hữu của nó

9 Đăng nhập vào tài khoản matiem

10.Tạo 1 thư mục con tên toto bên trong /home/dtdiem Kết quả?

12.Xem người dùng hiện tại

14.Xem người dùng hiện tại

15.Đổi nhóm chính cho dtdiem là kinh_doanh

16.Đăng nhập vào tài khoản dtdiem

17.Liệt kê tất cả các nhóm của người dùng dtdiem Chú ý thứ tự của các nhóm

18.Tạo thư mục con data bên trong thư mục ng dùng dtdiem ( / home/dtdiem)

19.Làm thế nào để biết chủ sở hữu và nhóm sỡ hữu data,cho biết chủ sở hữu và

20.Đổi nhóm chính (tạm thời) của dtdiem thành ban_hang

21.Tạo tập tin xyz trong thư mục người dùng của dtdiem

25.Đăng nhập vào tài khoản matiem Kết quả

26.Mở khóa tài khoản matiem

27.Đăng nhập vào tài khoản matiem Kết quả

1 Tạo nhóm người dùng ban–giam-hieu giao vien,sinh vien

Tài khoản Tên đày đủ Nhóm chính

Huỳnh tuyết hoa ban giám hiệu giáo viên sinh viên ban giám hiệu,giáo viên, giáo viên sinh viên

3 Nhóm chính của người dùng hthoa là gì?

4 Đổi nhóm chính của hthoa thành “giáo_viên”

5 Đổi danh sách nhóm người dùng hthoa thành ban_giam_hieu, giao-vien, sinh- vien

6 Đăng nhập vào tk hthoa

7 Cho biết thư mục hiện hành là gì

8 Đi đến thư mục người dùng của hthoa

9 Tao tm giao_an trong thư mục ng dùng of hthoa?

10.Xem quyền truy xuất , chủ sở hữu nhóm sở hữu của tm giao-an

11.Đổi nhóm chính ( thời) của người dùng hthoa thành ban-giam-hieu

12.Tạo 1 tm người dùng tên cong_van trong thư mục người dùng của hthoa

13.Xem quyền truy xuất, chủ sở hữu, nhóm sở hữu của cong-van

14.Tạo 1 tm tin-thong-bao trong thư mục người dùng của hthoa

15.Xem quyền truy xuất, chủ sỏ hữu, nhóm sở hữu của tin-thong-bao

16.Đổi nhóm sở hữu of tm thong-bao thành s-v

17.Xem quyền truy xuất, chủ sở hữu, nhóm sở hữu of tm thong-bao

18.Copy tập tin /etc/password vào thư mục thong-bao

19.Bỏ quyền đọc (r) ra khỏi t.tin passwd) Kết quả là gì? Bạn có thấy nội dung của file passwd ko?

20.Liệt kê nội dung t.tin passwd không?

21.Thêm quyền đọc (r) cho chủ sở hữu và nhóm sở hữu của ttin passwd trong tin thông báo

22.Lặp lại câu 20 kết quả là gì ? tại sao?

23.Đăng nhập vào tk ng dùng cvtam

24.Thử đọc nội dung của t.tin password trong tin thong-bao (cat thong.bao/passwd) Có thểđọc được ko?

26.Đổi nhóm sở hữu của tập tin thong.bao/passwd thành sinh_vien

27.Lặp lại câu 23,24 lúc này bạn có thể xem được nội dung tập tin thong_bao/passwd không? Tại sao?

29.Đăng nhập vào tài khoản của tttung

30.Tạo 1 thư mục tên toto trong thư mục giao_an, bạn có tạo được không? Tại sao?

Những trọng tâm cần chú ý trong bài

-Hiểu cơ chế quản lý người dùng trong hệ điều hành Linux;

-Thực hiện việc tạo lập, quản lý người dùng

Bài mở rộng và nâng cao

1 Quản lý người dùng Linux trên giao diện text

- Xem thông tin chi tiết liên quan đến người dùng trong tập tin /etc/passwd.

- Xem thông tin chi tiết liên quan đến nhóm người dùng trong tập tin /etc/group

- Xem thông tin chi tiết về mật khẩu trong tập tin /etc/shadow

Tạo nhóm học viên với các người dùng hv1, hv2, hv3 và thiết lập mật khẩu cho các tài khoản này Đồng thời, tạo nhóm quản trị viên với các người dùng admin1, admin2 và đặt mật khẩu cho các tài khoản vừa tạo.

Thay đổi UID của hai user admin1, admin2 là 0

Thay đổi thông tin mô tả của người dùng

Học viên hv1, hv2 và hv3 là những cá nhân tham gia khóa học, trong khi đó admin1 và admin2 là những người quản trị hỗ trợ và quản lý quá trình học tập.

- Thay đổi mật khẩu cho những người dùng trên

- Khóa tài khoản người dùng hv3

- Thử đăng nhập bằng tài khoản hv3

- Mở khóa tài khoản người dùng hv3

- Thử đăng nhập bằng tài khoản hv3

- Xóa tài khoản người dùng hv3

2 Quản lý người dùng trên giao diện đồ họa

- Tạo người dùng và nhóm:

- Thay đổi các thuộc tính liên quan đến người dùng

- Thay đổi nhóm của người dùng

- Giới hạn thời gian sử dụng tài khoản

- Tạm khóa tài khoản người dùng

- Giới hạn thời hạn sử dụng mật khẩu

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: -Hiểu cơ chế quản lý người dùng trong hệ điều hành Linux; Thực hiện việc tạo lập, quản lý người dùng

+ Về kỹ năng: 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;

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Về kỹ năng, người học sẽ được đánh giá khả năng thực hành trong việc tạo và quản lý tập tin cũng như thư mục, sử dụng các lệnh liên quan, quản lý người dùng và thực hiện các thao tác an toàn với máy tính.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

CẤU HÌNH MẠNG

Cấu hình địa chỉ IP cho card mạng

Mục tiêu: Trình bày các thao tác : Xem địa chỉ IP, cấu hình địa chỉ IP, kiểm tra trạng thái của tất cả các card mạng

Lệnh ifconfig cho phép xem thông tin địa chỉ IP của PC

Ví dụ: để xem thông tin cấu hình mạng, dùng lệnh ifconfig -a

# ifconfig –a eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224 inet6 addr: fe80::20c:29ff:fe6d:f03d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:6622 errors:0 dropped:0 overruns:0 frame:0

TX packets:1425 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:793321 (774.7 Kb) TX bytes:240320 (234.6 Kb) Interrupt:10 Base address:0x1080 lo Link encap:Local Loopback inet addr:127.0.0.1 Mask:255.0.0.0 inet6 addr: ::1/128 Scope:Host

UP LOOPBACK RUNNING MTU:16436 Metric:1

RX packets:76 errors:0 dropped:0 overruns:0 frame:0

TX packets:76 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:0

RX bytes:8974 (8.7 Kb) TX bytes:8974 (8.7 Kb) Trong đó, eth0 là tên của card mạng trong, lo là tên của loopback interface

1.2 Thay đổi địa chỉ IP

Trong bài 4 –mục 4, trình tiện ích cho phép thiết lập cấu hình mạng; ngoài ra, có thể sử dụng các cách sau để thay đổi địa chỉ IP:

Sử dụng lệnh: ifconfig netmask up

[root@bigboy tmp]# ifconfig eth0 10.0.0.1 netmask 255.255.255.0 up

Lưu ý rằng sau khi sử dụng lệnh này, hệ thống sẽ tạm thời lưu trữ thông tin cấu hình trong bộ nhớ, và thông tin này sẽ bị mất khi hệ thống khởi động lại Để giữ lại thông tin này sau khi reboot, bạn cần thêm lệnh vào tập tin /etc/rc.local.

Hoặc: Thay đổi thông tin cấu hình mạng trực tiếp trong file /etc/sysconfig/network- scripts/ifcfg-eth0

Gán địa chỉ IP tĩnh (tham khảo file ifcfg-eth0)

#Advanced Micro Devices [AMD]|79c970 [PCnet32LANCE]

Gán địa chỉ IP động (tham khảo file ifcfg-eth0)

1.3 Tạo nhiều địa chỉ IP trên card mạng

Phương thức tạo nhiều địa chỉ IP trên card mạng được gọi là IP alias Địa chỉ alias này phải có tên theo định dạng: tên-giao-diện-cha:X, trong đó X đại diện cho chỉ số của giao diện thứ cấp.

Sử dụng một trong các cách sau để tạo Alias IP:

- Bước 1: Đảm bảo rằng tên interface thật phải tồn tại, và kiểm tra các IP Alias trong hệ thống có tồn tại hay không

- Bước 2:Tạo Virtual interface dùng lệnh ifconfig:

# ifconfig ifcfg-eth0:0 192.168.1.99 netmask 255.255.255.0 up

Tạo một tệp tin mới có tên /etc/sysconfig/network-scripts/ifcfg-eth0:0 từ tệp /etc/sysconfig/network-scripts/ifcfg-eth0, sau đó chỉnh sửa thông tin địa chỉ trong tệp này.

- Bước 3: Bật và tắt alias interface thông qua lệnh ifconfig

Hoặc dùng lệnh /etc/init.d/network restart

- Bước 4: Kiểm tra thông tin cấu hình alias interface dùng lệnh ifconfig:

# ifconfig eth0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.14.150 Bcast:172.29.14.159 Mask:255.255.255.224 inet6 addr: fe80::20c:29ff:fe6d:f03d/64 Scope:Link

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:7137 errors:0 dropped:0 overruns:0 frame:0

TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb)

Interrupt:10 Base address:0x1080 eth0:0 Link encap:Ethernet HWaddr 00:0C:29:6D:F0:3D inet addr:172.29.15.150 Bcast:172.29.15.159 Mask:255.255.255.224

UP BROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RX packets:7137 errors:0 dropped:0 overruns:0 frame:0

TX packets:1641 errors:0 dropped:0 overruns:0 carrier:0 collisions:0 txqueuelen:1000

RX bytes:848367 (828.4 Kb) TX bytes:265688 (259.4 Kb)

To create a subinterface configuration file, copy the existing file from /etc/sysconfig/network-scripts/ifcfg-eth0 to /etc/sysconfig/network-scripts/ifcfg-eth0:X, where X represents the subinterface number.

- Thay đổi thông tin cấu hình mạng trong file ifcfg-eth0:X (các thông tin in đậm là thông tin bắt buộc phải thay đổi)

Lệnh netstat cho phép kiểm tra trạng thái của tất cả các card mạng

Ngoài ra, có thể dùng lệnh netstat –rn để xem bảng routing table của router.

Truy cập từ xa

Mục tiêu: Trình bày cơ chế hoạt động của dịch vụ truy cập từ xa

Khi cấu hình hệ thống kết nối vào mạng, máy chủ cung cấp nhiều dịch vụ Internet thông qua các daemon hoạt động trong chế độ background Mỗi daemon liên kết với một cổng và chờ đợi yêu cầu kết nối từ chương trình client Khi có kết nối, daemon sẽ tạo tiến trình con để xử lý và tiếp tục lắng nghe các yêu cầu khác Tuy nhiên, quá nhiều daemon có thể làm tăng tải cho CPU Để giải quyết vấn đề này, Linux đã phát triển super-server Xinetd.

Mỗi dịch vụ Internet đều gắn liền với một cổng chẳng hạn như: smtp – 25, pop3 – 110, dns – 53 Việc phân bổ này do một tổ chức qui định

Xinetd là một daemon server Internet, chịu trách nhiệm quản lý tập trung tất cả các dịch vụ Internet thông qua các cổng tương ứng Khi nhận được yêu cầu kết nối từ các chương trình client, Xinetd sẽ chuyển tiếp yêu cầu đến dịch vụ phù hợp và tiếp tục lắng nghe các kết nối khác Xinetd được khởi động cùng với hệ điều hành thông qua script /etc/rc.d/init.d/xinetd, và trong quá trình khởi tạo, nó sẽ đọc cấu hình từ tập tin /etc/xinetd.conf, dẫn đến thư mục /etc/xinetd, nơi chứa thông tin cấu hình cho từng dịch vụ Mỗi dịch vụ có một tập tin cấu hình riêng, được đặt tên theo tên dịch vụ, ví dụ như dịch vụ telnet.

{ disable = yes flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID

Những thuộc tính trong tập tin bao gồm:

Disable Tạm đình chỉ dịch vụ này Có 2 giá trị: yes, no

Socket_type Loại socket Trong trường hợp này là stream – một loại socket cho những kết nối connection-oriented (chẳng hạn như TCP)

Wait Thường chỉ liên quan đến những kết nối có loại socket là datagram Giá trị của nó có thể là:

- nowait nghĩa là xinetd sẽ tiếp tục nhận và xử lý những yêu cầu khác trong lúc xử lý kết nối này

Chức năng wait trong xinetd cho phép xử lý một kết nối tại một cổng chỉ định tại một thời điểm Thông thường, dịch vụ này được chạy bởi người dùng root.

Server Chỉ ra đường dẫn đầy đủ đến nơi quản lý dịch vụ

When xinetd is initialized, it accesses the /etc/services file to find the corresponding ports for each service The contents of this file include various services and their associated protocols, such as echo over TCP and UDP on port 7, discard services on port 9, systat on port 11, daytime on port 13, and qotd on port 17.

95 msp 18/tcp# message send protocol msp 18/udp# message send protocol chargen 19/tcp ttytst source chargen 19/udp ttytst source ftp-data 20/tcp ftp-data 20/udp

The FTP protocol operates on port 21 for both TCP and UDP, while the FSP protocol also utilizes this port Additionally, SSH, which is the Remote Login Protocol, functions on port 22 for TCP and UDP Telnet, another remote communication protocol, uses port 23 for both TCP and UDP connections.

The article discusses various protocols and ports related to a private mail system, specifically focusing on SMTP, which operates on TCP and UDP port 25 It also mentions the time service running on TCP and UDP port 37, as well as the resource location protocol (RLP) on TCP and UDP port 39 Additionally, it covers the nameserver protocol, which uses TCP and UDP port 42, in accordance with IEN 116 standards.

Mỗi dòng trong tập tin mô tả cho một dịch vụ, bao gồm những cột sau:

- Cột 1: tên của dịch vụ;

- Cột 2: số cổng và giao thức mà dịch vụ này hoạt động;

- Cột 3: danh sách những tên gọi khác của dịch vụ này

Sau khi chỉnh sửa các tập tin cấu hình của từng dịch vụ trong thư mục /etc/xinetd, bạn cần thực hiện lệnh để đọc lại nội dung của các tập tin cấu hình.

/etc/rc.d/init.d/xinetd restart

Dịch vụ Telnet

Mục tiêu: Trình bày cách cài đặt, cấu hình và các phương án bảo mật đối với dịch vụ truy cập từ xa Telnet

Người dùng không thể làm việc trực tiếp trên máy Linux có thể sử dụng dịch vụ telnet để làm việc từ xa Tuy nhiên, để đảm bảo tính bảo mật cho hệ thống, người dùng nên tránh làm việc từ xa bằng telnet và ưu tiên làm việc trực tiếp trên máy Linux.

Khi cài đặt Linux, dịch vụ telnet thường đã được cài sẵn Nếu dịch vụ này chưa có, bạn có thể cài đặt telnet server bằng lệnh: rpm –i telnet-server-0.17-20.i386.rpm.

Có nhiều cách cấu hình telnet server, sau đây là hai cách cấu hình cơ bản nhất:

Để cài đặt dịch vụ telnet, bạn cần dựa vào tập tin cấu hình Sau khi cài đặt xong, tập tin telnet sẽ xuất hiện trong thư mục /etc/xinetd.d, chứa thông tin cấu hình cần thiết cho dịch vụ này.

{ disable = yes flags = REUSE socket_type = stream wait = no user = root server =/usr/sbin/in.telnetd log_on_failure += USERID }

Nếu "disable" được đặt là "no", thì máy chủ TELNET sẽ được khởi động; ngược lại, nếu "disable" là "yes", máy chủ TELNET sẽ không được khởi động Sau khi chỉnh sửa tệp cấu hình, bạn có thể khởi động hoặc dừng máy chủ bằng các lệnh tương ứng.

/etc/rc.d/init.d/xinetd restart Hoặc dùng lệnh:

- Cách 2: Cấu hình telnet Server bằng dòng lệnh: chkconfig telnet on

Kiểm tra telnet thông qua lệnh:

97 tcp 0 0 *:telnet *:* LISTEN Kiểm tra telnet có được đặt như dịch vụ hệ thống:

# chkconfig list | grep telnet telnet: on Dừng telnet server:

3.4 Bảo mật dịch vụ telnet

3.4 1 Cho phép telnet server hoạt động trên tcp port khác

Telnet traffic không được mã hóa, vì vậy việc cho telnet server hoạt động trên TCP port 23 không an toàn Để tăng cường bảo mật, bạn có thể cấu hình telnet server hoạt động trên một TCP port khác ngoài 23 Các bước thực hiện sẽ được hướng dẫn chi tiết trong bài viết.

- Bước 1: Mở tập tin /etc/services và thêm dòng

# Local services stelnet 7777/tcp # "secure" telnet

- Bước 2: Chép file telnet thành file stelnet

# cp /etc/xinetd.d/telnet /etc/xinetd.d/stelnet

- Bước 3: Thay đổi một số thông tin trong file file /etc/xinetd.d/stelnet service stelnet

{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no port = 7777

- Bước 4: Kích hoạt stelnet thông qua lệnh chkconfig

- Bước 5: Kiểm tra hoạt động stelnet thông qua lệnh netstat

# netstat -an | grep 777 tcp 0 0 0.0.0.0:7777 0.0.0.0:* LISTEN

Ta có thể logon vào stelnet Server thông qua lệnh:

3.4.2 Cho phép một số địa chỉ truy xuất telnet

Ta hiệu chỉnh một số thông số sau:: service telnet

{ flags = REUSE socket_type = stream wait = no user = root server = /usr/sbin/in.telnetd log_on_failure += USERID disable = no only_from = 192.168.1.100 127.0.0.1 192.168.1.200 }

SSH

Mục tiêu: Trình bày cách cài đặt và sử dụng dịch vụ truy cập từ xa SSH với phương thức mã hóa dữ liệu

Chương trình telnet trên Linux cho phép người dùng truy cập từ xa vào hệ thống, nhưng nhược điểm lớn là tên người dùng và mật khẩu được truyền qua mạng mà không được mã hóa, dẫn đến nguy cơ bị kẻ xấu đánh cắp thông tin và tiềm ẩn mối đe dọa cho sự an toàn của hệ thống.

Phần mềm Secure Remote Access là giải pháp mới trên Linux, giúp khắc phục nhược điểm của telnet bằng cách cho phép người dùng đăng nhập từ xa với mật khẩu được mã hóa Do đó, SSH cung cấp mức độ bảo mật cao hơn nhiều so với telnet.

4.1 Cài đặt SSH Server trên Server Linux

To install the OpenSSH server package, use the command: `rpm -ivh openssh-server.*.rpm` The configuration files are located at `/etc/ssh/sshd_config` and `/etc/ssh/ssh_config` To start or stop the server, utilize the appropriate commands.

/etc/init.d/sshd start/stop/restart

4.2 Sử dụng SSH Client trên Linux

Trên client (Linux hoặc Unix) dùng lệnh ssh để login vào server Cú pháp của lệnh:

$ssh [tùy_chọn] [tên/IP_máy] [tùy_chọn] [lệnh]

Ví dụ: $ssh [–l ]

4.3 Quản trị hệ thống Linux thông qua SSH client for Windows

The SSH client for Windows is designed to enable users to manage Unix/Linux systems from the Windows operating system This software can be downloaded from the official website at http://www.ssh.com/support/downloads/.

Phần mềm này hỗ trợ cho người dùng có thể làm việc từ xa, cung cấp dịch vụ sftp

Hình 6.1Màn hình “SSH Client for Windows”

1 Trình bày các cách thay đổi địa chỉ IP (lệnh ifconfig, thay đổi từ file /etc/sysconfig/network-scripts/ifcfg-eth0)

2 Trình bày các cách tạo nhiều địa chỉ IP trên card mạng (IP alias)

Bài 1: Cho hệ thống theo hình vẽ sau:

1 Thay đổi tên máy, sau đó khởi động lại bằng lệnh init 6

3 Xem trạng thái kết nối vật lý của NIC

4 Đặt địa chỉ mạng và cập nhật

5 Dùng lệnh ping và ifconfig để kiểm tra cấu hình mạng

6 Kiểm tra cáp đã gắn vào card mạng hay chưa

Bài 2: Cho hệ thống theo hình vẽ sau:

Thực hiện các yêu cầu sau:

1 Thêm địa chỉ IP cho card mạng eth0 với:

2 Chỉ định default route cho hệ thống

4 Thống kê kết nối mạng

Những trọng tâm cần chú ý trong bài

- Nắm được cách khai báo và thay đổi cấu hình mạng cho máy tính;

- Truy cập và điều khiển máy tính từ xa;

Bài mở rộng và nâng cao

Bài 3: Cho hệ thống theo hình vẽ sau:

Cài đặt và cấu hình các dịch vụ hỗ trợ:

1 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua telnet

2 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua ssh

3 Cho phép mọi người kết nối từ xa vào máy chủ Linux qua VNC

Yêu cầu về đánh giá kết quả học tập

- + Về kiến thức: Nắm được cách khai báo và thay đổi cấu hình mạng cho máy tính; Truy cập và điều khiển máy tính từ xa;

+ Về kỹ năng: 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;

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

+ Về kiến thức: Được đánh giá bằng hình thức kiểm tra viết, trắc nghiệm, vấn đáp

Đánh giá kỹ năng thực hành trong việc khai báo và thay đổi cấu hình mạng cho máy tính là rất quan trọng Kỹ năng truy cập và điều khiển máy tính từ xa cũng cần được chú trọng, cùng với việc thực hiện các thao tác an toàn khi sử dụng máy tính Những kỹ năng này không chỉ giúp nâng cao hiệu quả làm việc mà còn đảm bảo an toàn thông tin.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

QUẢN LÍ TIẾN TRÌNH TRÊN HỆ ĐIỀU HÀNH LINUX

Lệnh ps

Lệnh ps trên Linux là một công cụ cơ bản để theo dõi các tiến trình đang hoạt động trên hệ thống Nó hiển thị danh sách các tiến trình hiện tại cùng với thông tin chi tiết như ID người dùng, mức sử dụng CPU, bộ nhớ và tên lệnh Để tìm hiểu thêm về các tùy chọn của lệnh ps, người dùng có thể sử dụng lệnh: man ps.

Lệnh ps sẽ hiển thị tất cả các quy trình đang chạy trong trình bao hiện tại.

Sử dụng tùy chọn -u để hiển thị thông tin của các quy trình cho tên người dùng được chỉ định

Lệnh ps -ef hiển thị tất cả các tiến trình trong hệ thống một cách chi tiết.

Lệnh ps -eLf hiển thị một dòng thông tin cho mỗi luồng

Lệnh ps có một kiểu đặc tả tùy chọn đặc biệt, được phát triển từ UNIX của BSD, trong đó các tùy chọn được chỉ định mà không cần sử dụng dấu gạch ngang trước.

Lệnh ps aux hiển thị tất cả các quy trình của tất cả người dùng

Lệnh ps axo cho phép bạn chỉ định thuộc tính nào bạn muốn xem.

Lệnh xem danh sách xử lý của hệ thống

Lệnh top là một công cụ quan trọng trong hệ thống Linux, giúp người dùng quản lý các thông số như CPU, RAM, I/O và các tiến trình đang hoạt động.

Lệnh này cho phép giám sát hệ thống một cách chuyên nghiệp, giúp người dùng nắm rõ từng thông tin của hệ thống Lệnh top tương tự như Task Manager trên Windows, cung cấp cái nhìn tổng quan về hiệu suất và hoạt động của các tiến trình.

Các phím thông dụng trong khi dùng lệnh top:

Nhấn Ctrl + c hoặc q để thoát khỏi lệnh "top".

Nhấn h để xem hướng dẫn, và nhấn ESC trở lại màng hình chính

Nhấn f để thêm hoặc bớt các Field, sắp xếp trên Field hoặc đổi thứ tự các Field.

Dòng 1: Liên quan đến thời gian của Server

19:43:49 Thời gian hoạt động hiện tại

Load average Thời gian CPU load trung bình 1/5/15 phút 0.02: 1 phút, 0.05: 5 phút, 0.05: 15 phút

Dòng 2: Liên quan đến thông tin của tiến trình

164 total Tổng số tiến trình đang ở chế độ active

1 running Số tiến trình đang chạy

163 sleeping Số tiến trình đang ở chế độ ngủ

0 stopped Số tiến trình đang stop

0 zombie Số tiến trình chờ stop từ tiến trình khác

Dòng 3: Liên quan đến thông tin CPU

0.0%us %CPU được dùng cho từng tiến trình của user

0.3%sy %CPU được dùng cho từng tiến trình của hệ thống

0.0%ni %CPU được dùng để cấu hình các giá trị

99.7%id %CPU ở trạng thái nghỉ

0.0%wa %CPU đang chờ trong thời gian chờ I/O

0.0%hi %CPU được dùng cho phần cứng khi bị gián đoạn

0.0%si %CPU được dùng cho phần mềm khi bị gián đoạn

0.0%st %CPU ảo chờ đợi CPU thực xử lý các tiến trình

Dòng 4: Liên quan đến thông tin RAM

1863224k total Tổng dung lượng RAM

282728k used Dung lượng RAM đang được sử dụng

1200868k free Dung lượng RAM free

Dòng 5: Liên quan đến thông tin Swap

2097148k total Tổng dung lượng Swap

0k used Dung lượng Swap Ram đang sử dụng

2097148k free Dung lương Swap free

1333080k cached Tổng cache memory bởi hệ thống

Dòng 6: Các tham số của các tiến trình đang hoạt động

PID – 120949 Mã ID của tiến trình

USER – root User root đang thực thi tiến trình

PR – 20 Độ ưu tiên của tiến trình

NI – 0 Giá trị nice value của tiến trình

VIRT - 0m Dung lượng Ram ảo thực hiện cho 1 tiến trình

RES - 0m Dung lượng RAM thực chạy 1 tiến trình

SHR – 0 Dung lượng RAM share cho 1 tiến trình

S – S Trạng thái tiến trình đang hoạt động

%CPU – 0.3 %CPU được sử dụng cho tiến trình

%MEM – 0.0 %MEM được dùng sử dụng cho tiến trình

TIME+ - 0:00.98 Tổng thời gian thực hiện cho tiến trình

Lập lịch chạy tiến trình tương lai bằng cron và sleep

Cron là một công cụ hữu ích cho phép lập lịch thực hiện các lệnh trên server theo thời gian đã định sẵn Chương trình này hoạt động ngầm và liên tục từ khi được khởi động, giúp tự động hóa nhiều công việc khác nhau.

Cron hoạt động dựa trên một tệp cấu hình có tên là /etc/crontab, trong đó chứa các lệnh shell cần được thực thi vào thời gian đã được lên lịch chính xác.

Có tệp crontab trên toàn hệ thống và tệp crontab cho mỗi người dùng.

Mỗi dòng trong tệp crontab đại diện cho một công việc, bao gồm một biểu thức CRON và một lệnh shell để thực thi Để chỉnh sửa các công việc hiện có hoặc tạo công việc mới trong crontab, bạn cần sử dụng lệnh phù hợp.

Mỗi dòng của tệp crontab chứa 6 trường:

Cấu hình trong file crountab -e

* * * * * */usr/local/bin/execute/this/script.sh

Nó sẽ sắp xếp công việc để thực thi script.sh mỗi phút mỗi giờ mỗi ngày trong tháng và mỗi tháng và mỗi ngày trong tuần

Cấu hình trong file crountab -e

Nó sẽ lên lịch sao lưu toàn bộ vào 8h30 sáng, 10 tháng 6, bất kể ngày nào trong tuần

Lệnh sleep được sử dụng để tạm dừng thực thi một tập lệnh trong một khoảng thời gian cố định Khi cần trì hoãn việc thực hiện lệnh cho mục đích cụ thể, bạn có thể chỉ định thời gian trì hoãn bằng giây (s), phút (m), giờ (h) hoặc ngày (d) Sau khi thời gian tạm dừng kết thúc, quá trình thực thi sẽ tiếp tục Cú pháp sử dụng lệnh là: sleep [SUFFIX].

• s trong vài giây ( mặc định )

Ví dụ: Trong đoạn script sau, lệnh ngủ chỉ được sử dụng với giá trị số 2 và không có hậu tố nào được sử dụng.

#!/bin/bash echo "Waiting for 2 seconds " sleep 2 echo "Task Completed"

Sử dụng lệnh `time` để chạy tệp bash giúp hiển thị ba loại giá trị thời gian khi thực thi tập lệnh Đầu ra sẽ cho biết thời gian hệ thống, thời gian người dùng và thời gian thực Ví dụ, bạn có thể sử dụng lệnh `time bash sleep.sh` để xem các thông số này.

Lệnh bg

Lệnh bg trên hệ điều hành linux được sử dụng để đặt các công việc nền Cú pháp cơ bản của lệnh bg: bg [job_spec ]

Trong đó job_spec có thể là:

• %n: Tham gia công việc số n.

• %str: Tham gia công việc một lệnh bắt đầu bằng str

• %?str: Tham khảo công việc được bắt đầu bằng lệnh chứa str.

• %-: Tham gia công việc trước đó

Để bắt đầu, chúng ta sử dụng lệnh jobs để liệt kê các công việc đang chạy Sau khi tạo công việc sleep, chúng ta nhận được tiến trình ID là 1 Để công việc này hoạt động ở chế độ nền, chúng ta cần cung cấp lệnh thích hợp.

ID của nó cho lệnh bg.

Lệnh fg

Lệnh fg trên hệ điều hành linux được sử dụng để tắt các công việc nền Cú pháp cơ bản của lệnh bg: fg [job_spec ]

Trong đó job_spec có thể là:

• %n: Tham gia công việc số n

• %str: Tham gia công việc một lệnh bắt đầu bằng str.

• %?str: Tham khảo công việc được bắt đầu bằng lệnh chứa str

• %-: Tham gia công việc trước đó.

Ví dụ: Tắt công việc nền đang hoạt động

Lệnh jobs

Lệnh jobs dùng liệt kê tất cả trạng thái các công việc đang chạy Cú pháp cơ bản của lệnh jobs: jobs [tuỳ chọn] [job_spec ]

Các tủy chọn thường sử dụng là:

• -l: Hiển thị trạng thái và ID quá trình của tất cả các công việc.

• -p: Hiển thị ID quy trình của tất cả các công việc

Ví dụ: Hiển trạng thái và ID của công việc

Lệnh kill và killall

Lệnh kill được sử dụng để gửi tín hiệu nhằm dừng một tiến trình thông qua số PID hoặc ID Để thực hiện lệnh này, cú pháp là: kill [tùy chọn] [process_id] Để hiểu rõ hơn về lệnh kill, chúng ta cần tìm hiểu các tùy chọn đi kèm.

Chấm dứt chương trình bằng tín hiệu SIGINT Điều này thường được bắt đầu bởi người dùng nhấn Ctrl + C: kill -2 [process_id]

Báo cho hệ điều hành chấm dứt ngay một tiến trình: kill -9 [process_id]

Báo hiệu hệ điều hành để tạm dừng chương trình cho đến khi nhận được tín hiệu SIGCONT ("tiếp tục"): kill -17 [process_id]

Ví dụ: Sử dụng lệnh kill để dừng một tiến trình có tên python

Lệnh killall được sử dụng để gửi tín hiệu dừng một tiến trình thông qua tên của nó Để thực hiện lệnh này, bạn chỉ cần gõ: killall [tên tiến trình].

Trong đó [process name] được thay bằng tên tiến trình bạn muốn dừng

Ví dụ: Chấm dứt tiến trình python dùng lệnh killall

Lệnh free

Lệnh free được dùng để hiển thị thông tin về dung lượng RAM và ảo SWAP trên hệ điều hành Linux Cấu trúc của lệnh free: free [tùy chọn]

Các tuỳ chọn có thể là:

• -b: Thống kê dung lượng theo đơn vị bytes.

• -k: Thống kê dung lượng theo đơn vị kilobytes

• -m: Thống kê dung lượng theo đơn vị megabytes.

• -g: Thống kê dung lượng theo đơn vị gigabyte

Lệnh -h trong lệnh free giúp hiển thị thông tin về dung lượng RAM và SWAP theo cách dễ hiểu hơn, với -h đại diện cho human Để tìm hiểu thêm về các tùy chọn của lệnh free, người dùng có thể sử dụng lệnh: man free.

Ví dụ: Hiển thị dung lượng RAM và SWAP

[root@test1 ~]# free -h total used free shared buff/cache available

Lệnh uptime

Lệnh uptime cho biết hệ thống chạy được bao lâu

Một số ví dụ về lệnh uptime:

Ví dụ 1: In thời gian hiện tại, thời gian hoạt động, số lượng người dùng đăng nhập và thông tin khác

20:04:17 up 210 days, 21:45, 1 user, load average: 0.00, 0.01, 0.05

Ví dụ 2: Chỉ hiển thị lượng thời gian hệ thống đã được khởi động cho

Ví dụ 3: In ngày và giờ hệ thống khởi động tại

Ví dụ 4: Hiển thị thông tin phiên bản

[root@test1 ~]# uptime version uptime from procps-ng 3.3.10

Lệnh pgrep

Lệnh pgrep tìm hoặc xử lí tín hiệu theo tên của tiến trình

Các ví dụ về lệnh pgrep:

Ví dụ 1: Trả về các PID của bất kỳ tiến trình đang chạy

[root@test1 ~]# ps aux | grep python root 809 0.0 0.8 573848 16972 ? Ssl 2018 51:44 /usr/bin/python -Es /usr/sbin/tuned -l -P root 4547 0.0 0.2 130152 4892 pts/0 T 21:05 0:00 python root 4555 0.0 0.0 112704 972 pts/0 S+ 21:08 0:00 grep color=auto python [root@test1 ~]# pgrep python

Ví dụ 2: Tìm kiếm tiến trình được chạy bởi một người dùng cụ thể

[root@test1 ~]# ps aux | grep python root 809 0.0 0.8 573848 16972 ? Ssl 2018 51:44 /usr/bin/python -Es /usr/sbin/tuned -l -P root 4547 0.0 0.2 130152 4892 pts/0 T 21:05 0:00 python root 4555 0.0 0.0 112704 972 pts/0 S+ 21:08 0:00 grep color=auto python [root@test1 ~]# pgrep -u root python

Lệnh pkill dùng để quản lí tiến trình theo tên Chủ yếu được sử dụng để dừng quá trình Một vài ví dụ về lệnh pkill:

Ví dụ 1: Chấm dứt tất cả các tiến trình có tên khớp với tên mà người dùng cần pkill

Ví dụ 2: Chấm dứt tất cả các tiến trình khớp với lệnh đầy đủ của chúng thay vì chỉ tên quy trình

Lệnh watch

Lệnh watch dùng để thực hiện chương trình định kì, hiển thị toàn màn hình đầu ra

Khi chuyển một file 100GB qua một server khác, để kiểm tra kích thước file trên server đích, chúng ta có thể sử dụng lệnh `ls -lh 100GB.txt` Để tự động thực thi lệnh này mỗi 2 giây, chúng ta có thể dùng lệnh `watch ls -l 100GB.txt`.

Lệnh screen

Lệnh screen mở một phiên màn hình mới trên một máy chủ từ xa Quản lý nhiều cửa sổ với một kết nối SSH

Một số ví dụ về lệnh screen :

Ví dụ 1: Bắt đầu một phiên màn hình mới screen

Ví dụ 2: Bắt đầu một phiên màn hình mới được đặt tên screen -S [session_name]

Ví dụ 3: Hiển thị phiên màn hình mở screen -ls

Ví dụ 4: Di chuyển đến một màn hình mở: screen -r {{session_name}}

Ví dụ 5: Tắt một màn hình được mở: screen -X -S [session_name] quit

Ví dụ 6: Khi sử dụng lệnh screen chúng ta có thể thoát màn hình như sau:

 Cách tách màn hình 1: Thoát màn hình bằng CTRL + A d

Khi lệnh đang thực thi, nhấn tổ hợp phím CTRL + A theo sau là d để tách màn hình

 Cách tách màn hình 2: Thoát màn hình bằng tùy chọn -d

Khi lệnh đang chạy, chúng ta gõ lệnh như sau: screen -d [SCREENID]

Trong đó SCREENID dùng lệnh screen -ls để xem ID màn hình cần thoát.

Lệnh nice và lệnh renice

Lệnh nice thực hiện một chương trình với một ưu tiên lập lịch tùy chỉnh Giá trị dao động từ -20 (mức ưu tiên cao nhất) đến 19 (mức thấp nhất)

Ví dụ: Khởi chạy một chương trình với độ ưu tiên nice -n [niceness_value] [command]

Lệnh renice dùng thay đổi mức độ ưu tiên của một hoặc nhiều tiến trình đang chạy

Giá trị độ bền dao động từ -20 (thuận lợi nhất cho tiến trình) đến 19 (ít thuận lợi nhất cho tiến trình).

Ví dụ 1: Thay đổi mức độ ưu tiên của quy trình đang chạy renice -n [niceness_value] -p [pid]

Ví dụ 2: Thay đổi mức độ ưu tiên của tất cả các quy trình thuộc sở hữu của người dùng renice -n [niceness_value] -u [user]

Ví dụ 3: Thay đổi mức độ ưu tiên của tất cả các quy trình thuộc về một nhóm quy trình renice -n [niceness_value] pgrp [process_group]

1 Mở 1 terminal hoặc konsole (terminal 1)

2 Xem các tiến trình của người dùng hiện hành

3 Xem tất cả các tiến trình đang thực thi

4 Xem tất cả các tiến trình dạng cây

5 Từ terminal 1 chạy chương trình gedit bằng cách gõ lệnh gedit

6 Click chuột trở về terminal 1 Có thể gõ tiếp lệnh ko?

7 Tạm ngưng chương trình gedit bằng cách bấm tổ hợp phím ctrl + z bạn thấy gì ở terminal 1? Có thể gõ tiếp lệnh không?

8 Click chuột trở về cửa sổ gedit Bạn có thể soạn thảo bên trong cửa sổ này không? Tại sao?

9 Click chuột trở về terminal gõ lệnh jobs để xem có bao nhiêu công việc đang thực hiện ghi lại số hiệu job của chương trình gedit

10.Đưa chương trình gedit thực hiện trở lại bằng cách cho nó chạy ở chếđộ nền Quay lại cửa sổ gedit, thử gõ vài kí tự Điều gì xảy ra?

11.Mởthêm 1 chương trình mới (xcalc: máy tính điện tử) và cho chạy ở chếđộ nền

Những trọng tâm cần chú ý trong bài

- Quản lí các tiến trình trên hệ điều hành Linux

- Truy cập và điều khiển máy tính từ xa;

Bài mở rộng và nâng cao

1 Thực hiện sao lưu cơ sở dữ liệu (database backup) vào 2 AM mỗi ngày:

2 Đặt lịch thực thi tập tin script.sh hai lần mỗi ngày vào lúc 5 AM và 5PM (có thể thêm nhiều mốc thời gian cho lịch thực thi)

3 Đặt lịch thực thi tập tin script.sh mỗi phút (rất ít khi yêu cầu cron này, tuy nhiên một số trường hợp đặc biệt cần cấu hình như vậy)

4 Đặt lịch thực thi tập tin script.sh vào mỗi tuần vào 5 PM chủ nhật

5 Đặt lịch thực thi tập tin monitor.sh mỗi 10 phút (cron này có ích trong việc giám sát)

6 Đặt lịch thực thi tập tin script.sh trong một số tháng được chỉ định (tháng 1, 5,

* * * jan,may,aug * /script/script.sh

7 Đặt lịch thực thi tập tin script.sh trong một số ngày được chọn (ví dụ chủ nhật, thứ sáu lúc 5 PM)

0 17 * * sun,fri /script/script.sh

8 Đặt lịch thực thi tập tin script.sh vào chủ nhật đầu tiên mỗi tháng.

0 2 * * sun [ $(date +%d) -le 07 ] && /script/script.sh

9 Đặt lịch thực thi tập tin script.sh theo chu kỳ 4 giờ mỗi ngày

10 Đặt lịch thực thi tập tin script.sh 2 lần mỗi ngày trong ngày chủ nhật và thứ hai

0 4,17 * * sun,mon /scripts/script.sh

Yêu cầu về đánh giá kết quả học tập

+ Về kiến thức: Hiểu cách thức hoạt động của các quản lí tiến trình trên hệ điều hành

Linux; Quản lí các tiến trình trên hệ điều hành Linux;

+ Về kỹ năng: Tạo và quản lí các tiến trình trên hệ điều hành Linux;

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc

Kiến thức được đánh giá thông qua các hình thức kiểm tra viết, trắc nghiệm và vấn đáp Về kỹ năng, người học cần thực hành trong việc tạo và quản lý các tiến trình trên hệ điều hành Linux, truy cập và điều khiển máy tính từ xa, cũng như thực hiện các thao tác an toàn với máy tính.

+ Năng lực tự chủ và trách nhiệm: Tỉ mỉ, cẩn thận, chính xác, ngăn nắp trong công việc.

Ngày đăng: 23/12/2023, 10:33

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN