Chuyển đến nội dung chính

Kiểm soát hệ thống Linux bằng fstab

LinuxTìm hiểu về fstab
File /etc/fstab cho phép bạn có thể kiểm soát những gì filesystems được gắn ở startup trên hệ thống Linux, gồm có các partition Windows và các chia sẻ mạng. Bạn cũng có thể sử dụng nó để kiểm soát các điểm gắn của các thiết bị lưu trữ ngoài giống như USB và các ổ cứng ngoài. Trong bài này chúng tôi sẽ giới thiệu cho các bạn cách sử dụng nó để kiểm soát hệ thống Linux của bạn.
/etc/fstab – Có trên mọi máy tính Linux, kiểm soát filesystem nào được gắn (mount) ở đây.
 
Trang hướng dẫn của nó, man fstab, bắt đầu với thông tin:
Fstab là một chương trình chỉ đọc bởi các chương trình khác, không cho phép ghi; các quản trị viên hệ thống cần phải có trách nhiệm tạo đúng và duy trì file này.
 
Tuy nhiên, ngày nay fstab thường được tạo bởi một bộ cài đặt hoặc một chương trình nào đó. Vì vậy bạn không nên quá lo lắng về “trách nhiệm” của mình.
Nhưng nếu muốn đi sâu vào nghiên cứu fstab, bạn vẫn cần hiểu nó thế nào và có thể điều chỉnh ra sao.
 
Một fstab điển hình
File fstab được cài đặt bởi bởi hầu hết các phân phối Linux hiện đại trông có vẻ hơi kinh sợ. Đây là một file fstab từ một hệ thống Ubuntu:
# /etc/fstab: static filesystem information.
#
# Use 'blkid -o value -s UUID' to print the universally unique identifier
# for a device; this may be used with UUID= as a more robust way to name
# devices that works even if disks are added and removed. See fstab(5).
#
#
proc /proc proc defaults 0 0
# / was on /dev/sda6 during installation
UUID=2ad9188b-9d1c-4102-bf24-4b5ad456a701 / ext3 errors=remount-ro 0 1
# /boot was on /dev/sda1 during installation
UUID=3943c247-16e9-405b-9fda-87684b02cc4e /boot ext2 defaults 0 2
# swap was on /dev/sda7 during installation
UUID=15825096-aef7-41d6-b53a-c86aec2ebde8 none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto,exec,utf8 0 0
 
Hình 1 bên dưới thể hiện nghĩa của các cột.
linux
Hình 1
 
Các thiết bị và UUID
Chúng ta hãy bắt đầu với thiết bị: UUID=2ad9188b-9d1c-4102-bf24-4b5ad456a701. Điều này có nghĩa gì?
Trước đây, trường thiết bị của fstab đơn giản hơn nhiều, kiểu như /dev/hda3 cho partition thứ ba trên đĩa IDE thứ nhất.
 
Tuy nhiên các hệ thống ngày càng trở nên phức tạp hơn. USB và các đĩa SATA đều sử dụng disk driver sd, ban đầu được viết cho SCSI. Tuy nhiên không thể dự đoán được thứ tự của chúng. Nếu có một vài ổ USB và SATA, hoặc nếu thường xuyên add hoặc remove các ổ đĩa, bạn có thể phát hiện thấy rằng filesystem gốc của mình xuất hiện trên sda2 hôm nay nhưng lại xuất hiện trên sdc2 vào hôm sau.
Để khắc phục sự lộn xộn này, fstab có thể sử dụng "Universally Unique IDentifier" để nhận dạng mỗi filesystem.
Tuy nhiên có thể tìm ra partition của đĩa nào ánh xạ với UUID nào? Bạn có thể thấy một số chú thích trong fstab:
# / was on /dev/sda6 during installation
UUID=2ad9188b-9d1c-4102-bf24-4b5ad456a701 / ext3 errors=remount-ro 0 1
Tuy nhiên không nên tin tưởng hoàn toàn vào các chú thích này. Rất có thể partition của bạn đang nằm trên sda6, tuy nhiên không chắc chắn như vậy.
Để an toàn, chúng ta cần đi kiểm tra giá trị hiện hành với lệnh blkid:
$ blkid
/dev/sda1: UUID="702be669-1Aee-4128-8c57-60b58bc91f59" TYPE="ext2"
/dev/sda3: UUID="615aaed5-0dba-4204-9717-c9a00ff411ea" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda5: UUID="0c5121ff-331a-4ae2-b8be-e0b10bcae62f" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda6: UUID="d2a1e4aa-6589-4846-ba58-107d32a25375" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda7: UUID="1533cdc3-635f-4552-818b-1fadce9ea7f8" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda8: UUID="b24fd645-7c28-431b-883d-0a6cf03340ed" SEC_TYPE="ext2" TYPE="ext3"
/dev/sda9: TYPE="swap"
$ blkid -o value -s UUID /dev/sda8
b24fd645-7c28-431b-883d-0a6cf03340ed
Bạn cũng có thể sử dụng /dev/disk/by-uuid:
$ ls -l /dev/disk/by-uuid
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 0c5121ff-331a-4ae2-b8be-e0b10bcae62f -> ../../sda5
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 615aaed5-0dba-4204-9717-c9a00ff411ea -> ../../sda3
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 1533cdc3-635f-4552-818b-1fadce9ea7f8 -> ../../sda7
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 b24fd645-7c28-431b-883d-0a6cf03340ed -> ../../sda8
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 ca8ec122-33c7-4765-bd65-78a15c58def3 -> ../../sda2
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 d2a1e4aa-6589-4846-ba58-107d32a25375 -> ../../sda6
lrwxrwxrwx 1 root root 10 2010-04-18 09:06 702be669-1Aee-4128-8c57-60b58bc91f59 -> ../../sda1
Một số phân phối, thay vì sử dụng UUID, bạn có thể đính nhãn (label) vào mỗi filesystem:
LABEL=/         /       ext3         defaults           1    1

Cách thức này cho phép dễ dàng đọc hơn nhiều nhưng có đôi chút lộn xộn. Nếu cài đặt một vài phát hành Linux trên các partition khác nhau thì bạn có thể bắt gặp một vài partition có cùng nhãn. Vậy cách có thể phân biệt partition nào được gắn nhãn nào như thế nào?

Lộn xộn bởi UUID và nhãn? Bạn không phải sử dụng chúng. Nếu có một thiết lập đơn giản với một đĩa, cú pháp đơn giản vẫn làm việc:

/dev/sda6     /       ext3    errors=remount-ro      0       1

Điểm gắn và kiểu Filesystem

Hai lĩnh vực tiếp theo rất đơn giản. Điểm gắn (mount point) là bất cứ nơi nào bạn muốn gắng filesystem: /, /home, /boot hoặc bất cứ chỗ nào. Nó phải là một thư mục rỗng tồn tại trước. Nếu không, bất cứ thứ gì bên trong sẽ bị ẩn khi bạn gắn gì đó lên trên nó.

Kiểu (type) là kiểu filesystem, giống như ext2, ext3, filesystem của Windows vfatntfs, hoặc iso9660 cho các CD. Bạn cũng có thể sử dụng lệnh auto, và Linux sẽ cố gắng đoán kiểu filesystem. man filesystems có một danh sách các filesystem được hỗ trợ.

 
Các tùy chọn

Phần các tùy chọn (options) là phần phức tạp nhất. Đây là chỗ bạn chỉ định “những vấn đề khác” – bất cứ thứ gì không phù hợp trong các phần khác. Nếu không có các tùy chọn cụ thể nào, bạn chỉ cần sử dụng defaults.

Có thể liệt kê nhiều tùy chọn nếu bạn muốn, phân biệt giữa chúng bằng dấu phẩy. Cho ví dụ, một CDROM có thể sử dụng ro,user,noauto,exec, bắt đầu với ro với thiết lập chỉ đọc.

user có nghĩa nó không cần đặc quyền root để gắn: bất cứ người dùng nào cũng có thể đánh mount /media/cdrom0, nếu bạn chưa có dịch vụ nào đang gắn nó.

noauto có nghĩa hệ thống sẽ không cố gắng gắn nó khi khởi động – một ý tưởng tốt cho các thiết bị ngoài.

 
exec chỉ thị cho hệ thống cho phép bạn chạy các chương trình từ hệ thống file đó. Nếu không sẽ bị vô hiệu hóa trên các CDROM và các Windows filesystem.

Trên Windows FAT filesystem, nếu sử dụng exec bạn có thể muốn fmask=111: Windows filesystem không có các điều khoản, vì vậy cần bảo đảm bit thực thi được thiết lập nếu muốn chạy các chương trình.

Đặt tất cả cùng nhau, bạn có thể tạo một entry hữu dụng trên các hệ thống không tự động gắn các thiết bị USB:

 

/dev/sdb1       /stuff        vfat      user,noauto,exec,fmask=111 0 0
 

Nếu thiết bị của bạn hiển thị ở đâu đó ngoài /dev/sdb1, hãy điều chỉnh như cần thiết. Sau đó sudo mkdir /stuff, lúc này bất cứ khi nào cắm vào camera, mp3 player hoặc USB, bạn sẽ đều có thể gắn nó bằng cách đánh mount /stuff.

Để có được danh sách đầy đủ các tùy chon, hãy xem man mount và tìm đến phần FILESYSTEM INDEPENDENT MOUNT OPTIONS và FILESYSTEM SPECIFIC MOUNT OPTIONS.

 
Dump và pass

Dump chỉ thị tần suất bạn muốn filesystem được backup như thế nào. Hầu hết mọi người không sử dụng trường này, tuy nhiên nếu bạn đang chạy phần mềm backup tự động thì có thể bạn sẽ muốn sử dụng nó.

Pass chỉ thị thời điểm và thiết bị cần được kiểm tra fsck trước khi được gắn. Nhìn chung, bạn nên sử dụng 1 cho root filesystem, 2 cho tất cả các filesystem đã được gắn khác và 0 cho filesystem không được gắn mặc định.

Văn Linh (Theo Linuxplanet)

Bài đăng phổ biến từ blog này

Bit.ly: vừa upload file vừa rút gọn link

TTO - Không chỉ "ăn đứt" TinyURL.com nhờ khả năng quản lý tất cả link rút gọn và thống kê số lượt truy cập link, Bit.ly đi trước TinyURL.com một bước khi kết nối với dịch vụ yfrog.com, cho phép người dùng upload file jpg, png, gif, bmp, tiff, swf, flv, pdf, mp4, mov, avi. Đương nhiên, sau khi upload file thành công, link sẽ được Bit.ly tự động rút gọn. Đáng tiếc là dung lượng file hỗ trợ upload hơi bị hạn chế. Theo thử nghiệm, nếu upload file lớn hơn 10MB thường bị đứt gánh giữa chừng. Bạn nên đăng ký một tài khoản miễn phí tại http://bit.ly/ để có thể khai thác hết tính năng mà Bit.ly hỗ trợ, bằng cách nhấp vào liên kết Sign Up phía trên góc phải, điền thông tin cần thiết vào ba hộp Choose a Username (tên đăng nhập; bạn sẽ cung cấp trang nhà có địa chỉ http://tênđăng nhập.bit.ly), Enter Your Email Address (địa chỉ email), Choose a Password (mật khẩu đăng nhập), rồi bấm nút Sign Up ở cuối trang để hoàn tất đăng ký và đăng nhập dịch vụ.

Tiếp cận Microsoft Office Pro 2010

Sau Windows 7 RC, thần dân IT lại có dịp tiếp cận với “hàng khủng” khác của Microsoft: bộ Microsoft Office Pro Plus 2010 Technical Preview (MO10), phiên bản thử nghiệm đầu tiên của Microsoft Office Pro 2010. MO10 là phiên bản được Microsoft phân phối cho các đối tác thân cận thử nghiệm, tích hợp đầy đủ các thành phần cần thiết như: Word 2010, Excel 2010, PowerPoint 2010, Access 2010, InfoPath 2010, OneNote 2010, Outlook 2010, Publisher 2010, Project Professional 2010, SharePoint Designer 2010, Visio Professional 2010. MO10 có dung lượng 1,34GB, tương thích với Windows XP SP2/XP SP3/Vista/7, yêu cầu máy có bộ nhớ RAM và CPU tối thiểu lần lượt là 512MB, 1GHz.

[Hướng dẫn] Làm Portable với Thinstall

Thinstall sẽ biến những phần mềm phức tạp thành phần mềm chỉ có một file EXE duy nhất, có thể chạy ngay mà không cần cài đặt, giống như những phần mềm portable. Tuy nhiên về bản chất thì khác, những phần mềm này sẽ chạy với đầy đủ những thành phần cài đặt nhưng đã được Thinstall giả lập để tạo một môi trường ảo,không ảnh hưởng gì đến hệ điều hành thật sự trong máy. Hiện nay nhu cầu tạo và sử dụng các phần mềm portable (chạy trực tiếp không cần cài đặt) ngày càng tăng, nhờ có ưu điểm không gây ảnh hưởng đến hệ thống (không để lại rác sau khi sử dụng), có thể copy vào ổ đĩa flash USB để sử dụng mọi lúc, mọi nơi. Nhưng tạo ra được một bản portable cũng không phải là chuyện dễ dàng với nhiều người, kể cả những người có kinh nghiệm. Thinstall sẽ giúp thực hiện vấn đề này theo một cách khác đơn giản hơn bằng cách làm cho các chương trình chạy trong một môi trường ảo dành riêng cho nó, hay nói một cách khác là tạo ra những phần mềm ảo (virtual). Những phần mềm ảo này sẽ có các đặc điểm như: t