Thứ Tư, 22 tháng 9, 2010

Tìm Hiểu và Chỉnh Sửa file /etc/fstab

Trong Linux có 1 file fstab nằm tại /etc. Bài viết này sẽ cùng bạn tìm hiểu nội dung và cách chỉnh sửa thông tin trong file này và ngụ ý rằng bạn đã biết cơ bản về lệnh mount

File /etc/fstab ?

File cấu hình /etc/fstab chứa thông tin về tất cả các phân vùng, USB, ổ DVD… (mình gọi chung là thiết bị) trên máy tính bao gồm: các thiết bị được mount ở đâu (tên mount point gắn với thiết bị là gì?) và được mount như thế nào (các tùy chọn khi mount là gì?)...

Nếu bạn không thể truy cập các phân vùng dành cho Windows (NTFS, FAT), hoặc không thể mount ổ DVD, ghi dữ liệu vào USB, đọc file từ ổ mềm… thì có thể chip nhớ trên thiết bị bị lỗi hoặc cũng có thể bạn đã cấu hình file fstab không đúng cách!

fstab là file dạng plain text, vì thế bạn có thể mở và chỉnh sửa với bất kỳ công cụ text editor nào với điều kiện bạn phải có đặc quyền root để lưu lại những thay đổi (login với root user hoặc chạy lệnh su, an toàn hơn nữa là tiện ích sudo)

Cấu trúc của file /etc/fstab ?

Vì mỗi hệ thống có các thiết bị khác nhau nên thông tin trong file fstab ở mỗi máy cũng khác nhau chút ít. Nhưng về cơ bản, bạn nắm được định dạng chung của fstab thì không có gì khó khăn khi làm việc với các hệ thống khác. Khi lệnh mount được thực thi, hệ thống sẽ đọc thông tin trong file fstab để đưa ra hành xử lý thích hợp. Đây là 1 ví dụ nội dung của file /etc/fstab
/dev/hda2 / ext2 defaults 1 1
/dev/hdb1 /home ext2 defaults 1 2
/dev/cdrom /media/cdrom auto ro,noauto,user,exec 0 0
/dev/fd0 /media/floppy auto rw,noauto,user,sync 0 0
proc /proc proc defaults 0 0
/dev/hda1 swap swap pri=42 0 0
Như bạn thấy, mỗi dòng (hàng) trong file chứa thông tin về 1 thiết bị. Các cột ở mỗi hàng được phân cách bởi các khoảng trắng. Thứ tự các dòng là không quan trọng. Sau đây mình sẽ giải thích kỹ hơn ý nghĩa của từng cột

+ Cột 1: mô tả về thiết bị (Partition, CD/DVD-ROM, USB, ISO...).
Đồng thời củng cho biết đường dẫn tới device file (trong Linux, mọi tài nguyên đều được coi là file, vị trí của các device file thường là /dev/device_filename).

+ Cột 2: là mount point (đường dẫn tới 1 thư mục trống trong cây thư mục).
Nếu bạn không chỉ định mount point khi gõ lệnh mount thì đây là mount point mặc định cho thiết bị ở cột 1. Thư mục chứa mount point thường là /mnt hay /media (mặc dù bạn có thể mount thiết bị vào bất cứ thư mục trống nào nhưng

+ Cột 3: là loại filesystem của thiết bị.
Hiểu đơn giản thì filesystem là phương thức nhằm cấp phát không gian lưu trữ cho file, quản lý thuộc tính của file; cách tổ chức, sắp xếp dữ liệu trên thiết bị sao cho việc tìm kiếm, truy cập tới dữ liệu được mau chóng và thuận tiện.
Linux hỗ trợ nhiều kiểu filesystem, dưới đây là 1 số filesystem phổ biến

- Ext2 và Ext3: điểm khác biệt lớn nhất giữa 2 loại filesystem này là ext3 hỗ trợ tính năng journaling, tức là khi bạn tắt máy không đúng cách (do cúp điện đột ngột, hệ thống bị treo nên phải nhấn nút reset…) thì khả năng mất mát dữ liệu ở mức rất thấp, đồng thời hệ thống sẽ không phải tốn thời gian để kiểm tra, tìm lỗi trên filesystem trong lần khởi động kế tiếp.

- ReiserFS: cũng hỗ trợ tính năng jouraling nhưng có thêm nhiều tính năng nổi trội hơn so với ext3. Ngày nay ext3, ReiserFS được chọn là filesystem mặc định trên nhiều Linux Distro.

- swap: phân vùng làm không gian bộ nhớ ảo, giúp gia tăng bộ nhớ khi hệ thống sử dụng hết dung lượng của RAM.

- Vfat (FAT16, FAT32) và NTFS: đây là các filesystem được Windows hỗ trợ

- auto: đây không phải là 1 filesytem. Nó có nghĩa là hệ thống sẽ tự động nhận diện loại filesystem khi mount thiết bị

+ Cột 4: là các tùy chọn khi mount.
Nếu có nhiều tùy chọn thì chúng được phân cách bởi dấu phẩy. Dưới đây là 1 số tùy chọn đáng chú ý, gõ man mount để xem thêm các tùy chọn khác

- auto: thiết bị sẽ được mount tự động lúc khởi động hệ thống.
- noauto: thiết bị không được tự động mount, nếu muốn sử dụng thiết bị thì sau khi khởi động vào hệ thống bạn cần chạy lệnh mount.

- user: cho phép user thông thường được quyền mount thiết bị
- nouser: chỉ có root user mới có quyền mount thiết bị

- exec: cho phép chạy các binary file trên thiết bị
- noexec: không cho phép chạy các binary file trên thiết bị

- ro (read-only): chỉ cho phép quyền đọc trên thiết bị được mount
- rw (read-write): cho phép quyền đọc-ghi trên thiết bị được mount

- sync: thao tác nhập xuất (I/O) trên filesystem được đồng bộ hóa
- async: thao tác nhập xuất (I/O) trên filesystem diễn ra không đồng bộ
(->cái này mình chịu, không hiểu rõ!)

- defaults: tương đương với tập các tùy chọn rw, suid, dev, exec, auto, nouser, async

+ Cột 5 tùy chọn cho dump
Dump là tiện ích để backup filesystem. Điền 0 -> dump bỏ qua việc backup, 1-> thực hện backup

+ Cột 6 tùy chọn cho fsck
fsck là tiện ích để check , tìm lỗi trên filesystem. Điền 0-> bỏ qua việc check, 1-> thực hện check

Không có nhận xét nào:

Đăng nhận xét