▪ Lệnh upgrade: Lệnh "upgrade" trong hệ điều hành Linux thường được sử dụng để cập nhật tất cả các gói phần mềm đã được cài đặt trên hệ thống của người dùng lên phiên bản mới nhất có sẵn
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA AN TOÀN THÔNG TIN - -
Bài 2:
CÀI ĐẶT HỆ ĐIỀU HÀNH MÁY
TRẠM LINUX
Giảng viên hướng dẫn: Nguyễn Ngọc Điệp
Sinh viên thực hiện: Phạm Anh Tuấn
Mã sinh viên: B21DCAT212
Lớp: D21CQAT04-B
Hà Nội, 2024
Trang 2▪ Ngày khởi đầu (1991-1994): Linux bắt đầu như một dự án cá
nhân của Linus Torvalds, một sinh viên đại học Phần Lan, vào năm 1991 Ông tạo ra kernel Linux, hay còn gọi là hạt nhân Linux, như một dự án mã nguồn mở và công bằng Kernel Linux sớm thu hút sự quan tâm của cộng đồng mã nguồn mở và nhận được sự đóng góp từ các lập trình viên trên khắp thế giới
▪ Sự phát triển và mở rộng (1994-2000): Trong giai đoạn này,
Linux trở nên phổ biến hơn và nhận được sự ủng hộ từ các tổ chức và doanh nghiệp Các bản phân phối Linux như Slackware, Debian và Red Hat xuất hiện, mang lại sự tiện ích cho người dùng thông thường cũng như doanh nghiệp Sự hỗ trợ cho Linux
từ các nhà sản xuất phần cứng và phần mềm cũng tăng lên
▪ Sự thịnh hành trong doanh nghiệp (2000-2010): Linux trở
thành một lựa chọn phổ biến cho các doanh nghiệp và tổ chức, đặc biệt là trong lĩnh vực máy chủ và hạ tầng mạng Các bản phân phối Linux dành cho doanh nghiệp như Red Hat Enterprise Linux (RHEL) và SUSE Linux Enterprise Server (SLES) trở nên phổ biến Cũng trong giai đoạn này, Android, một biến thể của Linux, được phát triển bởi Google và trở thành một trong những hệ điều hành di động phổ biến nhất thế giới
▪ Phát triển mở rộng (2010-nay): Linux ngày nay đã trở thành
một phần không thể thiếu trong nhiều lĩnh vực, từ máy chủ đến
Trang 33
thiết bị di động, máy tính cá nhân, máy tính nhúng, và đám mây Cộng đồng Linux ngày càng lớn mạnh, với hàng ngàn lập trình viên và nhà phát triển đóng góp vào kernel Linux và các dự án
mã nguồn mở liên quan Đồng thời, các công nghệ mới như containers và Kubernetes cũng đang phát triển mạnh mẽ trên nền tảng Linux
- Kiến trúc:
▪ Kernel Linux: Là trái tim của hệ điều hành Linux Kernel quản
lý tài nguyên phần cứng như bộ nhớ, CPU, thiết bị nhập xuất, và cung cấp các dịch vụ hệ thống cần thiết cho các ứng dụng và tiến trình
▪ Shell: Là giao diện dòng lệnh giữa người dùng và hệ điều hành Linux Shell cho phép người dùng tương tác với hệ thống thông qua việc nhập lệnh và nhận kết quả trả về từ các lệnh đó
▪ Các tiện ích và dịch vụ hệ thống: Linux đi kèm với một loạt
các tiện ích và dịch vụ hệ thống như quản lý người dùng, quản
lý tập tin, mạng, in ấn, và nhiều hơn nữa Các tiện ích này cung cấp các chức năng cơ bản để quản lý và sử dụng hệ thống
▪ Các thư viện hỗ trợ: Linux sử dụng một loạt các thư viện hỗ
trợ để cung cấp các chức năng cơ bản và nâng cao cho các ứng dụng và tiện ích Các thư viện này thường được chia thành các nhóm như thư viện C, thư viện đồ họa, thư viện mạng, vv
▪ Các lớp hệ thống file: Linux hỗ trợ nhiều loại hệ thống file
khác nhau như Ext4, Btrfs, XFS, và NFS Các hệ thống file này cung cấp cách tổ chức và quản lý dữ liệu trên ổ đĩa
▪ Môi trường desktop: Linux hỗ trợ nhiều môi trường desktop
như GNOME, KDE, Xfce, và LXDE Mỗi môi trường desktop cung cấp một giao diện người dùng đồ họa và một loạt các ứng dụng và tiện ích cho người dùng cuối
Trang 44
▪ Các dịch vụ nền (daemons): Linux chạy nhiều dịch vụ nền để
quản lý các chức năng phức tạp như máy chủ web, máy chủ email, máy chủ in ấn, và nhiều hơn nữa
- Giao diện:
Giao diện dòng lệnh (CLI):
▪ Bash: Là một trong những shell dòng lệnh phổ biến nhất trên Linux Nó cung cấp một cửa sổ dòng lệnh cho người dùng nhập các lệnh và thực hiện các tác vụ trên hệ thống
▪ Zsh: Một shell dòng lệnh mở rộng có nhiều tính năng tiện ích hơn
so với Bash
Giao diện đồ họa (GUI):
▪ GNOME: GNOME là một trong những môi trường desktop phổ biến nhất trên Linux Nó cung cấp một giao diện đồ họa hiện đại, linh hoạt và dễ sử dụng
▪ KDE Plasma: KDE Plasma là một môi trường desktop khác với giao diện đồ họa đẹp mắt, linh hoạt và có nhiều tính năng tùy chỉnh
▪ Xfce: Xfce là một môi trường desktop nhẹ nhàng, tiết kiệm tài nguyên và dễ sử dụng, thích hợp cho các máy tính có cấu hình thấp
▪ LXQt: LXQt là một môi trường desktop mới, sử dụng giao diện Qt
và được thiết kế để tiết kiệm tài nguyên
Giao diện dòng lệnh đồ họa (TUI - Text-based User Interface):
▪ Midnight Commander (mc): Là một trong những trình quản lý tập tin dòng lệnh phổ biến, sử dụng giao diện dòng lệnh đồ họa để quản
lý và thao tác tập tin
▪ htop: Là một công cụ giám sát hệ thống dòng lệnh với giao diện đồ họa, hiển thị thông tin về các tiến trình, tài nguyên hệ thống và sử dụng CPU, bộ nhớ, vv
- Đặc điểm, đặc trưng:
▪ Mã nguồn mở: Linux được phát triển dựa trên mô hình mã nguồn
Trang 55
mở, có nghĩa là mã nguồn của nó là công khai và có thể được sửa đổi, phân phối và sử dụng miễn phí theo các điều khoản của các giấy phép mã nguồn mở như GNU General Public License (GPL) Điều này tạo điều kiện cho sự phát triển tích cực từ cộng đồng và
sự linh hoạt trong việc tùy chỉnh và phát triển các phiên bản Linux
▪ Kernel Linux: Hệ điều hành Linux sử dụng kernel Linux, một kernel mã nguồn mở và đa nhiệm, có khả năng chạy trên nhiều loại kiến trúc phần cứng khác nhau, từ máy tính cá nhân đến máy chủ, thiết bị di động và nhúng
▪ Đa nhiệm và đa người dùng: Linux hỗ trợ cả đa nhiệm và đa
người dùng Điều này có nghĩa là nó có khả năng chạy nhiều tiến trình cùng một lúc và hỗ trợ nhiều người dùng truy cập và sử dụng
hệ thống cùng một lúc
▪ Bảo mật cao: Linux được thiết kế với các tính năng bảo mật mạnh
mẽ, bao gồm kiểm soát quyền truy cập (permission control), cơ chế phân quyền (privilege separation), và hỗ trợ mã hóa dữ liệu Các cập nhật bảo mật được cung cấp định kỳ để bảo vệ hệ thống khỏi các lỗ hổng bảo mật mới
▪ Đa nền tảng và linh hoạt: Linux có thể chạy trên nhiều loại phần
cứng khác nhau, bao gồm các máy tính cá nhân, máy chủ, thiết bị nhúng, điện thoại di động, máy tính bảng và hệ thống nhúng Điều này tạo điều kiện cho sự linh hoạt và sự lựa chọn rộng rãi trong việc triển khai và sử dụng Linux
▪ Hệ sinh thái phong phú: Linux đi kèm với một hệ sinh thái phong
phú của các ứng dụng và công cụ mã nguồn mở, bao gồm trình duyệt web, ứng dụng văn phòng, máy chủ web, máy chủ cơ sở dữ liệu, và nhiều hơn nữa Cộng đồng Linux cũng rất phát triển và hỗ trợ, cung cấp sự giúp đỡ và tài nguyên cho người dùng mới và nhà phát triển
Trang 6▪ Lệnh upgrade:
Lệnh "upgrade" trong hệ điều hành Linux thường được sử dụng để cập nhật tất cả các gói phần mềm đã được cài đặt trên hệ thống của người dùng lên phiên bản mới nhất có sẵn từ các kho lưu trữ
▪ Lệnh pwd:
Lệnh "pwd" trong hệ điều hành Linux được sử dụng để hiển thị đường dẫn (địa chỉ) của thư mục hiện tại mà người dùng đang làm việc
▪ Lệnh ls:
Lệnh "ls" trong hệ điều hành Linux được sử dụng để liệt kê các tập tin
và thư mục trong thư mục hiện tại hoặc thư mục được chỉ định
▪ Lệnh man:
Lệnh "man" trong hệ điều hành Linux được sử dụng để hiển thị tài liệu hướng dẫn (manual pages) cho các lệnh và chương trình trong hệ thống Khi chạy lệnh "man" với tên của một lệnh cụ thể, nó sẽ hiển thị một trang tài liệu chi tiết về cách sử dụng lệnh đó, bao gồm cú pháp, các tùy chọn, và các ví dụ
▪ Lệnh PS1:
Trang 77
Lệnh "PS1" trong hệ điều hành Linux được sử dụng để định dạng và hiển thị dòng lệnh (command prompt) trong shell (ví dụ như Bash) Bằng cách sử dụng biến môi trường PS1, người dùng có thể tùy chỉnh cách mà dòng lệnh hiển thị, bao gồm cả thông tin như tên người dùng, tên máy chủ, thư mục hiện tại, và nhiều hơn nữa Điều này giúp cá nhân hóa và tăng cường tính tương tác của người dùng với shell
▪ Lệnh mkdir:
Lệnh "mkdir" trong hệ điều hành Linux được sử dụng để tạo mới một thư mục (directory) mới Khi sử dụng lệnh này và chỉ định tên của thư mục muốn tạo, hệ thống sẽ tạo một thư mục mới với tên đó trong thư mục hiện tại hoặc thư mục được chỉ định Điều này cho phép người dùng tạo mới các thư mục để tổ chức và quản lý các tập tin và dữ liệu trên hệ thống
▪ Lệnh cd:
Lệnh "cd" trong hệ điều hành Linux được sử dụng để di chuyển giữa các thư mục (directory) Bằng cách sử dụng lệnh này và chỉ định tên của thư mục muốn di chuyển đến, hệ thống sẽ thay đổi thư mục làm việc hiện tại của người dùng đến thư mục được chỉ định Điều này giúp người dùng điều hướng và làm việc với các thư mục khác nhau trong
hệ thống tệp của họ
▪ Lệnh cp:
Lệnh "cp" trong hệ điều hành Linux được sử dụng để sao chép tập tin hoặc thư mục từ vị trí nguồn đến vị trí đích Bằng cách sử dụng lệnh này và chỉ định tên của tập tin hoặc thư mục nguồn và đích, hệ thống
sẽ tạo một bản sao của tập tin hoặc thư mục nguồn trong vị trí đích Điều này cho phép người dùng sao chép và di chuyển dữ liệu giữa các thư mục và vị trí khác nhau trên hệ thống tệp của họ
▪ Lệnh mv:
Lệnh "mv" trong hệ điều hành Linux được sử dụng để di chuyển hoặc
Trang 88
đổi tên tập tin hoặc thư mục từ vị trí nguồn đến vị trí đích Bằng cách
sử dụng lệnh này và chỉ định tên của tập tin hoặc thư mục nguồn và đích, hệ thống sẽ di chuyển hoặc đổi tên tập tin hoặc thư mục nguồn đến vị trí đích được chỉ định Điều này cho phép người dùng di chuyển hoặc đổi tên dữ liệu một cách dễ dàng trên hệ thống tệp của họ
▪ Lệnh rm:
Lệnh "rm" trong hệ điều hành Linux được sử dụng để xóa (remove) tập tin hoặc thư mục từ hệ thống tệp Bằng cách sử dụng lệnh này và chỉ định tên của tập tin hoặc thư mục cần xóa, hệ thống sẽ loại bỏ dữ liệu đó khỏi vị trí hiện tại Lưu ý rằng việc sử dụng lệnh "rm" là không thể đảo ngược, nên cần phải cẩn thận khi sử dụng để tránh mất dữ liệu quan trọng
▪ Lệnh rmdir:
Lệnh "rmdir" trong hệ điều hành Linux được sử dụng để xóa (remove) một thư mục trống từ hệ thống tệp Nếu thư mục không trống, lệnh này
sẽ không thể hoàn thành và sẽ báo lỗi Tuy nhiên, nếu thư mục trống,
"rmdir" sẽ loại bỏ nó khỏi hệ thống tệp Đây là một cách an toàn để xóa các thư mục trống mà không cần lo lắng về việc xóa dữ liệu bên trong
▪ Lệnh cat:
Lệnh "cat" trong hệ điều hành Linux được sử dụng để hiển thị nội dung của một hoặc nhiều tập tin văn bản trực tiếp ra màn hình Bằng cách sử dụng lệnh này và chỉ định tên của tập tin cần hiển thị, hệ thống
sẽ in ra nội dung của tập tin đó "Cat" là viết tắt của "concatenate" và thường được sử dụng để xem nội dung của các tập tin văn bản ngắn gọn trên terminal
▪ Lệnh more:
Lệnh "more" trong hệ điều hành Linux được sử dụng để hiển thị nội dung của một tập tin văn bản trên màn hình, và cho phép người dùng
Trang 99
cuộn (scroll) qua từng phần của tập tin một cách từng bước Nếu tập tin dài hơn màn hình, "more" sẽ hiển thị một phần của nội dung và đợi người dùng nhấn phím tiếp tục để xem các phần tiếp theo Lệnh này thường được sử dụng để xem nội dung của các tập tin văn bản dài trên terminal một cách thuận tiện
ra của các tập tin văn bản mà không cần phải hiển thị toàn bộ nội dung của chúng
▪ Lệnh tail:
Lệnh "tail" trong hệ điều hành Linux được sử dụng để hiển thị một phần cuối cùng của nội dung của một hoặc nhiều tập tin văn bản Mặc định, "tail" sẽ hiển thị 10 dòng cuối cùng của mỗi tập tin Tuy nhiên, người dùng có thể chỉ định số lượng dòng muốn hiển thị bằng cách sử dụng các tùy chọn Lệnh "tail" thường được sử dụng để kiểm tra nhật
ký (log files) hoặc theo dõi các tập tin được cập nhật liên tục, hiển thị các thông tin mới nhất
▪ Lệnh grep:
Lệnh "grep" trong hệ điều hành Linux được sử dụng để tìm kiếm các dòng trong tập tin văn bản hoặc đầu vào từ đầu ra của một lệnh mà chứa các chuỗi ký tự cụ thể Bằng cách sử dụng "grep" và chỉ định một biểu thức chính quy (regular expression) hoặc một chuỗi ký tự cụ thể,
nó sẽ hiển thị các dòng trong tập tin hoặc đầu vào mà khớp với chuỗi
ký tự đó Lệnh này thường được sử dụng để lọc dữ liệu và tìm kiếm thông tin trong các tập tin văn bản hoặc kết quả đầu ra của các lệnh
Trang 1010
khác
▪ Lệnh wc:
Lệnh "wc" trong hệ điều hành Linux được sử dụng để đếm số dòng, số
từ, và số byte trong một tập tin văn bản hoặc từ đầu vào trực tiếp Bằng cách sử dụng "wc" và chỉ định tên của tập tin hoặc sử dụng đầu ra từ một lệnh khác, nó sẽ trả về số dòng, số từ, và số byte của tập tin hoặc đầu vào đó Lệnh này thường được sử dụng để kiểm tra kích thước và nội dung của tập tin văn bản
▪ Lệnh clear:
Lệnh "clear" trong hệ điều hành Linux được sử dụng để xóa sạch màn hình terminal, làm cho nội dung trên màn hình biến mất và di chuyển con trỏ về đầu màn hình Điều này tạo ra một màn hình sạch sẽ và mới mỗi khi được sử dụng, giúp người dùng làm việc với terminal một cách dễ dàng và rõ ràng hơn
▪ Lệnh echo:
Lệnh "echo" trong hệ điều hành Linux được sử dụng để hiển thị một hoặc nhiều dòng văn bản ra màn hình Bằng cách sử dụng "echo" và chỉ định văn bản cần hiển thị, hệ thống sẽ in ra nội dung đó trên màn hình terminal Lệnh này thường được sử dụng để hiển thị thông điệp, biến số hoặc kết quả của một lệnh hoặc kịch bản shell
▪ Lệnh >:
Trong hệ điều hành Linux, ký hiệu ">" được sử dụng để chuyển hướng (redirect) đầu ra của một lệnh hoặc câu lệnh sang một tập tin cụ thể Bằng cách sử dụng ký hiệu này và chỉ định tên của tập tin đích, nội dung đầu ra của lệnh sẽ được ghi vào tập tin đó, thay vì hiển thị trên màn hình terminal Điều này thường được sử dụng để lưu trữ kết quả của các lệnh vào các tập tin hoặc để ghi đè nội dung của tập tin hiện
có
▪ Lệnh >>:
Trang 1111
Trong hệ điều hành Linux, ký hiệu ">>" được sử dụng để chuyển hướng (redirect) đầu ra của một lệnh hoặc câu lệnh và nối (append) nó vào cuối của một tập tin đã tồn tại Điều này có nghĩa là nội dung mới
sẽ được thêm vào cuối của tập tin đích mà không ghi đè lên nội dung hiện có của tập tin đó Ký hiệu ">>" thường được sử dụng để ghi dữ liệu vào cuối của một tập tin mà không làm mất dữ liệu đã có sẵn trong tập tin đó
▪ Lệnh sort:
Lệnh "sort" trong hệ điều hành Linux được sử dụng để sắp xếp các dòng trong một tập tin văn bản theo thứ tự bảng chữ cái Mặc định, lệnh "sort" sẽ sắp xếp các dòng theo thứ tự tăng dần của các ký tự Tuy nhiên, người dùng có thể sử dụng các tùy chọn để chỉ định cách sắp xếp khác nhau, như sắp xếp theo thứ tự giảm dần, sắp xếp theo số, hoặc sắp xếp theo trật tự từ điển Lệnh này thường được sử dụng để xử
lý và sắp xếp dữ liệu trong các tập tin văn bản
▪ Lệnh uniq:
Lệnh "uniq" trong hệ điều hành Linux được sử dụng để lọc (filter) và loại bỏ các dòng trùng lặp từ một tập tin văn bản Khi sử dụng lệnh này, các dòng trùng lặp liên tiếp sẽ chỉ còn lại một bản sao, trong khi các dòng không liên tiếp sẽ được giữ nguyên "uniq" thường được kết hợp với lệnh "sort" để loại bỏ các dòng trùng lặp không liên tiếp Lệnh này thường được sử dụng để làm sạch và xử lý dữ liệu trong các tập tin văn bản
2.2 Tài liệu tham khảo
• Phạm Hoàng Duy, Bài giảng Hệ điều hành Windows và Linux/Unix, Học viện Công Nghệ Bưu Chính Viễn Thông, 2016
• Wale Soyinka, Linux Administration A Beginners Guide, McGraw-Hill Osborne Media, 2012
2.3 Chuẩn bị môi trường
Trang 1212
• File cài đặt Ubuntu định dạng ISO
• Phần mềm ảo hóa, ví dụ: VMWare Workstation
2.4 Các bước thực hiện
• Khởi động chương trình máy ảo
• Cài đặt Ubuntu từ file đã chuẩn bị Đặt tên máy là: Họ tên SV_Mã SV
• Sau khi cài đặt, thực hành một số câu lệnh cơ bản trên Ubuntu: sudo, update,upgrade, pwd, ls, man, PS1, mkdir, cd, cp, mv, rm, rmdir, cat, more, head, tail,grep, wc, clear, echo, >, >> (append), sort, uniq
• Lệnh sudo: