CodeGym /Các khóa học /Docker SELF /Gắn kết và tháo gắn các hệ thống tệp: mount, umount

Gắn kết và tháo gắn các hệ thống tệp: mount, umount

Docker SELF
Mức độ , Bài học
Có sẵn

1. Gắn kết là gì?

Chào mừng bạn đến với một bài giảng thú vị khác về cách làm việc với Linux! Hôm nay chúng ta sẽ nói về gắn kết và tháo gắn các hệ thống tệp — quá trình mở ra cánh cửa để làm việc với ổ USB, ổ cứng bổ sung và thậm chí cả lưu trữ mạng. Chúng ta sẽ học cách cài đặt gắn kết tự động để dữ liệu của bạn luôn sẵn sàng từ khi khởi động hệ thống. Và quan trọng nhất, chúng ta sẽ thực hành tất cả những điều này!

Gắn kết — là quá trình kết nối hệ thống tệp của thiết bị (ổ cứng, ổ USB, ISO-ảnh) vào cây hệ thống tệp của Linux. Không giống như Windows, nơi bạn thấy các thiết bị như "D:\" hoặc "E:\", trong Linux tất cả các thiết bị được "nhúng" vào cấu trúc tệp trong một thư mục cụ thể, được gọi là điểm gắn kết.

So sánh: tàu hỏa và nhà ga

Hãy tưởng tượng một con tàu (thiết bị) và một nhà ga đường sắt (điểm gắn kết). Để mọi người có thể xuống nhà ga và bắt đầu sử dụng cơ sở hạ tầng (tệp), con tàu phải đến đúng bến và kết nối. Gắn kết thiết bị với điểm của nó trong Linux cũng hoạt động tương tự như vậy.


2. Lệnh mount

Chúng ta sẽ bắt đầu với lệnh thực hiện việc gắn hệ thống, — mount. Đây là một trong những lệnh bạn sẽ sử dụng thường xuyên, đặc biệt nếu làm việc với các ổ đĩa ngoài hoặc lưu trữ mạng.

Cú pháp cơ bản

mount [tùy chọn] <thiết bị> <điểm gắn>
  • <thiết bị> — là nơi thiết bị của bạn được kết nối trong hệ thống, ví dụ, /dev/sdb1. Bạn có thể tìm thấy điều này bằng cách sử dụng lệnh lsblk.
  • <điểm gắn> — là thư mục nơi dữ liệu của thiết bị sẽ được chuyển tới. Ví dụ, nó có thể là /mnt/disk.

Ví dụ kết nối ổ USB:

sudo mount /dev/sdb1 /mnt/usb

Sau khi thực hiện lệnh, các tệp từ thiết bị /dev/sdb1 sẽ có sẵn trong thư mục /mnt/usb.

Các tùy chọn hữu ích của lệnh mount

  1. Chỉ định hệ thống tệp:

    Nếu Linux không nhận diện được hệ thống tệp của thiết bị, hãy sử dụng flag -t. Ví dụ:

    sudo mount -t ext4 /dev/sdb1 /mnt/usb
    

    Điều này rất hữu ích nếu bạn sử dụng các hệ thống tệp hiếm.

  2. Gắn chỉ để đọc:

    Nếu bạn muốn bảo vệ dữ liệu của thiết bị khỏi bị thay đổi, hãy sử dụng tùy chọn -o ro:

    sudo mount -o ro /dev/sdb1 /mnt/usb
    
  3. Gắn với mã hóa ký tự:

    Đối với đĩa FAT32 hoặc NTFS, đôi khi cần chỉ định mã hóa ký tự:

    sudo mount -o iocharset=utf8 /dev/sdb1 /mnt/usb
    

3. Lệnh umount

Bây giờ, khi bạn đã kết nối thiết bị, câu hỏi đặt ra là: làm thế nào để ngắt kết nối nó? Điều này rất quan trọng để Linux "đóng" mọi kết nối với ổ đĩa và hoàn tất ghi dữ liệu.

Cú pháp chính

umount <thiết bị hoặc điểm gắn kết>

Ví dụ cho USB đã được kết nối:

sudo umount /mnt/usb

Hoặc bạn có thể chỉ định trực tiếp thiết bị:

sudo umount /dev/sdb1

Phải làm gì nếu umount không hoạt động?

Đôi khi lệnh umount có thể báo lỗi: "Device is busy" (thiết bị đang bận). Điều này có nghĩa là ai đó (theo thuật ngữ của hệ thống tệp) đang "chiếm giữ". Có thể là bạn hoặc một chương trình khác đang mở tệp trên thiết bị này.

Trong trường hợp như vậy, lệnh fuser có thể giúp bạn, nó sẽ hiển thị các tiến trình đang chặn thiết bị:

fuser -v /mnt/usb

Sau khi tìm ra thủ phạm, bạn có thể kết thúc tiến trình:

kill <ID tiến trình>

Sau đó lặp lại lệnh umount.

Quan trọng!

Nhớ rằng trong Windows, trước khi rút USB, bạn cần nhấp vào nút Xuất (Eject)? Đó chính là việc thực hiện lệnh unmount.


4. Gắn kết tự động qua /etc/fstab

Gắn kết bằng tay thì tiện, nhưng nếu thiết bị cần kết nối mỗi khi khởi động hệ thống thì sao? Để làm điều này, dùng file /etc/fstab.

/etc/fstab là gì?

Đây là file cấu hình, chứa danh sách các thiết bị mà Linux cần tự động kết nối. Bằng cách sử dụng fstab, bạn có thể đặt tham số như loại hệ thống tệp, điểm gắn kết và quyền truy cập.

Thêm thiết bị vào /etc/fstab như thế nào?

  1. Tìm UUID của thiết bị bằng lệnh blkid:

    sudo blkid
    

    Ví dụ, thiết bị /dev/sdb1 có thể có UUID 1234-5678.

  2. Mở file /etc/fstab để chỉnh sửa:

    sudo nano /etc/fstab
    
  3. Thêm dòng mới:

    UUID=1234-5678 /mnt/usb ext4 defaults 0 2
    
    • UUID — định danh duy nhất của thiết bị.
    • /mnt/usb — điểm gắn kết.
    • ext4 — hệ thống tệp của thiết bị.
    • defaults — các tham số gắn kết mặc định.
    • 02 — các tham số kiểm tra thiết bị khi khởi động (có thể cấu hình).
  4. Kiểm tra cấu hình bằng cách gắn kết thiết bị:

    sudo mount -a
    

Bây giờ khi khởi động lại hệ thống, thiết bị sẽ tự động được kết nối.

Rủi ro

⚠️ Nếu cấu hình /etc/fstab sai, hệ thống có thể không khởi động được. Luôn kiểm tra cấu hình bằng:

sudo mount -a

Nếu không có lỗi, thì mọi thứ hoạt động đúng cách.


5. Ví dụ: Gắn kết và tách rời USB

Giả sử bạn kết nối USB và hệ thống nhận diện nó là /dev/sdb1.

  1. Tạo điểm gắn kết:

    sudo mkdir -p /mnt/usb
    
  2. Gắn kết USB:

    sudo mount /dev/sdb1 /mnt/usb
    
  3. Kiểm tra nội dung:

    ls /mnt/usb
    
  4. Sau khi xong, tách rời thiết bị:

    sudo umount /mnt/usb
    

Bây giờ thiết bị đã được tách rời an toàn và bạn có thể rút nó ra khỏi máy.


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

Nhiệm vụ

  1. Kết nối một ổ USB hoặc đĩa ảo.
  2. Tạo điểm gắn kết /mnt/test-disk.
  3. Gắn kết thiết bị vào thư mục này và kiểm tra nội dung.
  4. Cấu hình gắn kết qua /etc/fstab sử dụng UUID.
  5. Ngắt kết nối thiết bị và đảm bảo rằng cấu hình hoạt động sau khi khởi động lại.

Gợi ý

  • Nếu không có thiết bị, tạo thiết bị bằng cách sử dụng lệnh định dạng từ bài giảng trước (mkfs.ext4).
  • Kiểm tra cấu hình fstab trước khi khởi động lại.

Bây giờ bạn đã biết cách gắn kết và hủy gắn kết thiết bị trong Linux, tự động hóa kết nối chúng qua cấu hình /etc/fstab và chẩn đoán vấn đề một cách an toàn. Gắn kết là một bước quan trọng để làm việc thoải mái với dữ liệu, và kiến thức này sẽ hữu ích cho cả dự án cá nhân ở nhà lẫn làm việc trên máy chủ.

Bình luận
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION