Linux – Mount ổ Cứng | Ruby's Blog

Sau khi tạo partition bằng lệnh fdisk trên ổ cứng external (external hard disk), thì dùng mkfs để khởi tạo file hệ thống. Cuối cùng để sử dụng được thì sẽ thực hiện mount ổ cứng vào.

1. mount là gì?

Cấu trúc thư mục của Linux là cấu trúc cây thư mục (tree) và được bắt đầu ở root trên cùng gọi là /root directory nhưng việc đăng ký cho 1 thiết bị lưu trữ gắn vào 1 điểm chỉ định trên cây thư mục của Linux được gọi là mount. Điểm được mount vào có thể được gọi là điểm mount.

2. format của lệnh mount

mount -t <type> -o <option> <device file> <mount point> Các option hữu ích -t type chỉ định device mount của file hệ thống -o option chỉ định flag cho phép readonly hoặc readable

Set device file, chẳng hạn như /dev/sdb1 Set mount point, vd như /mnt/diskA Nếu option bỏ trống thì khi thực thi sẽ hiển thị file hệ thống đang được mount

Ở đây, chỉ giải thích về lệnh mount được dùng cho việc mount ổ cứng. Trong thực tế, vẫn còn nhiều option khác, không hẳn chỉ chỉ có option cho việc mount.

***Note

Về option -o

Có nhiều option, có thể chỉ định nhiều option bằng cách dùng 「, (dấu phẩy)」để chia các option ra

defaults mount với default option (rw, suid, dev, exec, auto, nouser, async) rw mount ở read/write mode suid enable SUID hay SGID dev cho phép sử dụng các ký tự đặc biệt, device and block, special device trên file hệ thống. exec cho phép thực thi trên binary auto nếu option -a được chỉ định, ổ cứng sẽ auto mount nouser người dùng thông thường (không phải super user) thì không được phép thực thi lệnh mount async đối với file hệ thông thì mọi I/O sẽ được tiến hành không đồng bộ ro mount với readonly nosuid SUID cũng như SGID bị disable nodev các ký tự, ký tự đặc biệt, device block, special device…sẽ không sử dụng được noexec không được phép trực tiếp execute binary noauto nếu option -a được chỉ định, ổ cứng sẽ không auto mount user cho phép general user được quyền mount ổ cứng users cho phép toàn bộ user đều có thể mount/unmount ổ cứng remount mount lại 1 file hệ thống đang được mount Khi muốn thay đổi mount và option thì vd, khi muốn set write permission cho readonly thì mount và sửa lại. ※Ngoài ra vẫn còn 1 số option khác

3. Cách dùng lệnh mount

Thử mount partition /dev/sdb5 vào subdirectory /mnt/diskA

# mount -t ext4 -o defaults /dev/sdb5 /mnt/diskA/ ← mount partition đã mount hay chưa có thể confirm như lệnh dưới đây

# mount -t ext4 ← ở ext4 hiển thị danh sách file hệ thống đang được mount /dev/mapper/vg_sandbox1-lv_root on / type ext4 (rw) /dev/sda1 on /boot type ext4 (rw) /dev/sdb5 on /mnt/diskA type ext4 (rw) ← mount ở ext4 1 khi đã mount vào thì có thể sử dụng như 1 directory thông thường

4. Mount sau khi khởi động lại OS 

Sau khi khởi động lại OS thì việc mount lại file hệ thống thì trước đó đã được ghi sẵn ở /etc/fstab Chẳng hạn, sau khi khởi động, thì partition /dev/sdb5 mount vào sub directory /mnt/diskA sẽ được ghi thêm như dưới đây

/dev/sdb5 /mnt/diskA ext4 defaults 0 0 Về /etc/fstab Hãy xem thử nội dung file hệ thống fstab

# cat /etc/fstab

# # /etc/fstab # Created by anaconda on Tue Aug 13 09:25:19 2013 # # Accessible filesystems, by reference, are maintained under ‘/dev/disk’ # See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info # /dev/mapper/vg_sandbox1-lv_root / ext4 defaults 1 1 UUID=b5bc792e-4c30-48a5-bd1a-f071192d5573 /boot ext4 defaults 1 2 /dev/mapper/vg_sandbox1-lv_swap swap swap defaults 0 0 tmpfs /dev/shm tmpfs defaults 0 0 devpts /dev/pts devpts gid=5,mode=620 0 0 sysfs /sys sysfs defaults 0 0 proc /proc proc defaults 0 0

Thông tin mount của mỗi file hệ thống sẽ lần lược được viết từng dòng vào file fstab. Mỗi field của dòng sẽ được cách bởi space, chia nhau ra bởi TAB. Thêm vào đó, chương trình dùng để đọc file fstab chẳng hạn như fsck(*) mount, unmount thì sẽ đọc từ đầu xuống theo thứ tự từ top nên thứ tự của record (file hệ thống) được ghi lại bên trong fstab thì khá quan trọng.

Thông tin các field Field thứ 1: device file muốn mount eg: /dev/sdb5 Có thể chỉ định UUID và volume label. LABEL=Boot、UUID=3e6be9de-8139-11d1-9106-a43f08d823a6 Field thứ 2: ghi lại info mount point của file hệ thống eg: /mnt/diskA Filed thứ 3: ghi type của file hệ thống eg: ext3, ext4, iso9660, nfs …vv Filed thứ 4: ghi mỗi mount option của mỗi file hệ thống. Trường hợp có nhiều option thì dùng , (dấu phẩy) để phân tách Field thứ 5: ghi vào nếu file hệ thống có cần thiết dùng dump command hay không. 1=need, 0=no need. Nếu không ghi gì xem như là không cần thiết Field thứ 6: fsck được tham chiếu khi quyết định các thứ tự thực thi kiểm tra file hệ thống trong thời gian boot File root hệ thống thì cần được ghi là 1, ngoài ra thì với các partition khác thì sẽ ghi là 2 Nếu ghi là 0 thì dựa theo fsck được xem như là không cần thiết.

Note ***

Label là gì? Label là name mà user sẽ gắn vào để định danh cho 1 thiết bị lưu trữ như ổ đĩa cứng.

Khi thực thi mkfs thì có thể dùng -L cho option để chỉ định label name, với lệnh e2label thì có thể gắn label name cho volume. eg # mkfs -t ext4 -L hdd1 /dev/sdb5 ← ở /dev/sdb5 thì hdd1 là label name hoặc # e2label /dev/sdb5 hdd1 ← ở /dev/sdb5 thì hdd1 là label name

Cách nào cũng có thể gắn label name được.

Cách confirm label

Có thể dùng lênh e2label để confirm label eg # e2label /dev/sdb5 hdd1  ←label của /dev/sdb5

Để mô tả 1 file system đã được gắn label thì có thể viết như sau

LABEL=hdd1 /mnt/diskA ext4 defaults 0 0

***Note

UUID là gì?

UUID là ID dùng để quản lý và định danh thiết bị. Không hẳn là quản lý để khỏi bị duplicate nhưng nó hiện diện như 1 unique Id duy nhất để định danh cho thiết bị, ổ cứng cũng được gán UUID. Để xác định UUID của ổ cứng, có thể dùng lệnh blkid

eg

# blkid /dev/sda1: UUID=”b5bc792e-4c30-48a5-bd1a-f071192d5573″ TYPE=”ext4″ /dev/sda2: UUID=”50KmAJ-A2Le-xYiK-ag0P-sQgb-bZXI-rWa21g” TYPE=”LVM2_member” /dev/sdb5: LABEL=”hdd1″ UUID=”8b976773-def1-4a70-acc1-6284f53cf230″ TYPE=”ext4″ ↑ label: /dev/sdb5, có thể biết UUID và Type

/dev/mapper/vg_sandbox1-lv_root: UUID=”fa117ec8-70ec-4fc5-bff2-f74bbe58b972″ TYPE=”ext4″ /dev/mapper/vg_sandbox1-lv_swap: UUID=”38037ae3-a844-487b-8b49-98d98cff0b69″ TYPE=“swap”

UUID sẽ được ghi lại sẵn ở fstab, trường hợp chẳng hạn như thay đổi kết nối ổ cứng về mặt vật lý hay khi thêm vào thiết bị thì tên thiết bị sẽ bị thay đổi (vd như khi đổi sda1 thành sdb1) thì record đã được ghi lại ở fstab sẽ được chỉ định chọn. Trường hợp tên thiết bị được ghi lại ở fstab, nếu tên thiết bị thay đổi thì cũng có trường hợp sẽ không khởi động như bình thường được.

(*) The system utility fsck (file system consistency check) is a tool for checking the consistency of a file system in Unix and Unix-like operating systems, such as Linux and macOS.[1] A similar command, CHKDSK exists in Microsoft Windows.

Tham khảo

Share this:

  • Facebook
  • X
Like Loading...

Từ khóa » Trong Linux Lệnh Umount Cho Phép