4 Làm quen với hệ thống tập tin ext3fs
4.3 Công dụng của các thư mục chính
Nếu như bạn đọc đã từng dùng Windows (ví dụ 2000 hay XP), thì biết rằng mặc dù người dùng có tồn quyền tổ chức cấu trúc thư mục, nhưng một số truyền thống vẫn được tuân theo. Ví dụ các tập tin hệ thống thường nằm trong thư mục C:\Windows, các chương trình thường được cài đặt vào C:\Program Files, v.v. . . Trong Linux cũng có một cấu trúc thư mục kiểu như vậy và thậm chí cịn nghiêm ngặt hơn. Hơn nữa có một tiêu chuẩn xác định cấu trúc thư mục cho các HĐH dòng UNIX. Tiêu chuẩn này được gọi là Filesystem Hierarchy Standart
http://www.pathname.com/fhs/. Các bản phân phối Linux lớn đều tuân theo tiêu chuẩn này.
Bảng4.1dưới đây đưa ra danh sách ngắn gọn những thư mục chính được tạo ra trong cấu trúc tập tin theo tiêu chuẩn nói trên. Ở cột bên trái liệt kê các thư mục con của thư mục gốc, cịn cột thứ hai liệt kê một vài (khơng phải tất cả) thư mục con, cịn cột thứ ba cuối cùng đưa ra mơ tả ngắn gọn về công dụng của những thư mục này. Mô tả trong bảng này là hết sức ngắn gọn, chi tiết hơn bạn có thể đọc trong tiêu chuẩn FHS có trênhttp://www.pathname.com/fhs/.
Bảng 4.1: Cấu trúc thư mục của Linux
Thư mục Công dụng
/bin Thư mục này gồm chủ yếu các chương trình, phần lớn trong số chúng cần cho hệ thống trong thời gian khởi động (hoặc trong chế độ một người dùng khi bảo trì hệ thống). Ở đây có lưu rất nhiều những câu lệnh thường dùng của Linux.
/boot Gồm các tập tin cố định cần cho khởi động hệ thống, trong đó có nhân (kernel). Tập tin trong thư mục này chỉ cần trong thời gian khởi động8.
/dev Thư mục các tập tin đặc biệt hoặc các tập tin thiết bị phần cứng. Chúng ta sẽ nói đến những tập tin này ở ngay sau trong một phần riêng. Bạn đọc có thể xem qua man mknod (mkn- ode(1)).
/etc Thư mục này và các thư mục con của nó lưu phần lớn những dữ liệu cần cho quá trình khởi động ban đầu của hệ thống và lưu những tập tin cấu hình chính. Ví dụ, trong/etccó tập tin
inittab xác định cấu hình khởi động, và tập tin người dùng
passwd. Một phần các tập tin cấu hình có thể nằm trong các
thư mục con của/usr. Thư mục/etckhơng được lưu các tập tin chương trình (cần đặt chúng trong/binhoặc/sbin. Dưới
đây chúng ta sẽ xem xét công dụng của một vài(!) thư mục con của thư mục/etc.
/etc/rc.d Thư mục này lưu những tập tin sử dụng trong quá trình khởi động hệ thống. Chúng ta sẽ đề cập chi tiết về những tập tin này và q trình khởi động nói riêng trong một vài chương sắp tới.
/etc/skel Khi tạo người dùng mới, thì những tập tin trong thư mục này sẽ được sao chép vào thư mục cá nhân của người dùng đó. /etc/sysconfig Thư mục lưu một vài (khơng phải tất cả) tập tin cấu hình hệ
thống.
/etc/X11 Thư mục dành cho các tập tin cấu hình của hệ thống X11 (ví dụ, xorg.conf).
/home Thông thường trong thư mục này là các thư mục cá nhân của người dùng (trừ root).
4.3 Công dụng của các thư mục chính 67 Thư mục Cơng dụng
/lib Thư mục này lưu các thư viện chia sẻ của các hàm mà trình biên dịch C và các mơđun (các driver thiết bị) cần. Thậm chí nếu trên hệ thống khơng có trình biên dịch C nào, thì các thư viện chia sẻ vẫn cần thiết, vì chúng được nhiều chương trình sử dụng. Những thư viện này chỉ nạp vào bộ nhớ khi có nhu cầu thực hiện hàm nào đó, như vậy cho phép giảm kích thước mã chương trình nằm trong bộ nhớ. Trong trường hợp ngược lại thì cùng một mã lặp lại nhiều lần trong các chương trình khác nhau.
/lost+found Thư mục này sử dụng để phục hồi hệ thống tập tin bằng lệnh
fsck. Nếu fsck tìm ra tập tin mà khơng xác định được thư mục mẹ thì nó sẽ đưa tập tin đó vào thư mục /lost+found. Vì thư mục mẹ bị mất, nên tập tin sẽ nhận được tên trùng với chỉ số inode của nó.
/mnt Đây là điểm gắn (mount) những hệ thống tập tin gắn tạm thời. Nếu trên máy tính có đồng thời Linux và Windows (DOS) thì thư mục này thường dùng để gắn các hệ thống tập tin FAT. Nếu bạn thường gắn một vài đĩa lưu động như đĩa mềm, CD, DVD, đĩa cứng ngồi, flash,v.v. . . thì có thể tạo trong thư mục này các thư mục con cho từng đĩa lưu.
/tmp Thư mục dành cho các tập tin tạm thời. Ở bất kỳ thời điểm này người dùng root cũng có thể xóa tập tin khỏi thư mục này mà khơng làm ảnh hưởng lớn đến người dùng khác. Tuy nhiên khơng nên xóa những tập tin trong thư mục này, trừ khi khi bạn biết rằng tập tin hoặc nhóm tập tin nào đó đang gây ảnh hưởng đến công việc của hệ thống. Hệ thống sẽ tự động dọn dẹp thư mục này theo định kỳ, vì thế khơng nên lưu ở đây những tập tin mà bạn có thể sẽ cần đến.
/root Đây là thư mục cá nhân của người dùng cao cấp root. Hãy chú ý là thư mục này không nằm cùng chỗ với thư mục cá nhân của những người dùng khác (trong/home).
/sbin Vì thư mục /bin chủ yếu lưu các tập tin thực thi (chương trình và tiện ích của HĐH) sử dụng trong quá trình khởi động và do nhà quản trị chạy. Trong tiêu chuẩn FHS có nói rằng cần đặc trong thư mục này những tập tin thực thi sẽ sử dụng sau khi gắn thành cơng hệ thống tập tin/usr. Ít nhất trong
thư mục này phải có init, mkswap, swapon, swapoff, halt, reboot, shutdown, fdisk, fsck.*, mkfs.*, arp, ifconfig, route.
/proc Đây là điểm gắn hệ thống tập tin proc cung cấp thông tin về các tiến trình đang chạy, về nhân, về các thiết bị tính, v.v. . . Đây là hệ thống tập tin ảo. Chi tiết bạn có thể đọc trong
man 5 proc. Các tập tin đặc biệt của thư mục này sử dụng để
Thư mục Công dụng
/usr Thư mục này rất lớn và cấu trúc của nó nhìn chung lặp lại cấu trúc của thư mục gốc. Trong các thư mục con của /usrlà tất cả các ứng dụng chính. Theo tiêu chuẩn FHS thì nên dành cho thư mục này một phân vùng riêng hoặc đặt hoàn toàn trên đĩa sử dụng chung trong mạng. Phân vùng hoặc đĩa đó thường gắn chỉ đọc và trên đĩa (phân vùng) là các tập tin cấu hình cũng như tập tin thực thi dùng chung, các tập tin tài liệu, các tiện ích hệ thống và cả các tập tin thêm vào (tập tin dạng include). /usr/bin Các chương trình (tiện ích và ứng dụng) thường được người dùng bình thường sử dụng./usr/bin/X11là nơi thường dùng để lưu các chương trình chạy trên X Window. Và đây cũng thường là liên kết đến /usr/X11R6/bin.
/usr/include Thư mục con này lưu mã nguồn của các thư viện tiêu chuẩn của ngơn ngữ C. Người dùng cần có ít nhất là quyền đọc đối với thư mục này. Dù trong trường hợp nào cũng đừng sửa những tập tin trong thư mục này, vì chúng đã được các nhà phát triển hệ thống kiểm duyệt kỹ càng (không lẽ bạn biết về hệ thống tốt hơn các nhà phát triển).
/usr/lib Trong thư mục này là các thư viện object của các chương trình con, các thư viện động (dynamic library), một số chương trình khơng thể gọi trực tiếp. Các hệ thống phức tạp (ví dụ Debian Linux) có thể có các thư mục con của mình trong thư mục này. /usr/lib/X11 – nơi thường dùng để đặt các tập tin có liên quan đến X Window và các tập tin cấu hình của hệ thống X Window. Trên Linux đó thường là liên kết mềm đến thư mục
/usr/X11R6/lib/X11.
/usr/local Ở đây thường đặt các chương trình và các thư mục con (nội bộ) chỉ dành cho máy tính này, bao gồm:
/usr/local/bin. Ở đây thường lưu những chương trình
ứng dụng.
/usr/local/doc– các tài liệu đi kèm với chương trình ứng dụng.
/usr/local/lib– thư viện và tập tin của các chương trình và hệ thống nội bộ.
/usr/local/man– các trang trợ giúp man.
/usr/local/sbin – các chương trình dành cho nhà quản trị.
/usr/local/src– mã nguồn của các chương trình.
/usr/sbin Thư mục này gồm các chương trình thực thi dành cho nhà quản trị và khơng sử dụng trong thời gian khởi động.
4.3 Công dụng của các thư mục chính 69 Thư mục Cơng dụng
/usr/share Thư mục này dùng cho tất cả các tập tin dữ liệu dùng chung và có quyền truy cập là chỉ đọc. Thường dùng để chia sẻ giữa các kiến trúc khác nhau của HĐH, ví dụ i386, Alpha, và PPC có thể dùng chung một thư mục /usr/share nằm trên một phân vùng hoặc đĩa chia sẻ trên mạng. Cần chú ý là thư mục này không dùng để chia sẻ giữa các HĐH khác nhau hoặc giữa các phiên bản khác nhau của cùng một HĐH. Tiêu chuẩn FHS khuyên dùng thư mục con cho mỗi chương trình. Những thư mục sau hoặc liên kết mềm sau phải có trong /usr/share: man (các trang trợ giúp man), misc (những giữ liệu tùy theo kiến trúc khác nhau). Chúng ta xem xét một vài thư mục con của thư mục này:
/usr/share/dict – các danh sách từ (word list) của tiếng Anh dùng cho các chương trình kiểm tra chính tả như
ispell.
/usr/share/man– các trang trợ giúp man. Mỗi phần của man nằm trong một thư mục con riêng trong thư mục này.
/usr/share/misc (đã nói ở trên).
/usr/src Mã nguồn của các thành phần khác nhau của Linux: nhân, ứng dụng. . .
/usr/tmp Một nơi nữa để lưu các tập tin tạm thời. Thông thường đây là liên kết mềm đến/var/tmp.
/usr/X11R6 Các tập tin thuộc về hệ thống X Window.
/usr/X11R6/bin – các chương trình ứng dụng của hệ thống này.
/usr/X11R6/lib– các tập tin và thư viện có liên quan đến X-Window.
/var Trong thư mục này là các tập tin lưu các dữ liệu biến đổi (variable). Những dữ liệu này xác định cấu hình của một số chương trình trong lần chạy sau hoặc là những thông tin lưu tạm thời sẽ sử dụng sau. Dung lượng thông tin trong thư mục này có thể thay đổi trong một khoảng lớn, vì thư mục giữ các tập tin như bản ghi (log), spool, khóa locking, các tập tin tạm thời, v.v. . .
/var/adm Lưu các thông tin về tài khoản và thơng tin chuẩn đốn dành cho nhà quản trị.
/var/lock Các tập tin điều khiển hệ thống dùng để dự trữ tài nguyên. /var/log Các tập tin bản ghi (log).
Thư mục Công dụng
/var/run Các tập tin biến đổi trong thời gian thực hiện các chương trình khác nhau. Chúng lưu thơng tin về số tiến trình (PID) và ghi thông tin hiện ghời (utmp). Tập tin trong thư mục này thường được dọn sạch trong thời gian khởi động Linux.
/var/spool Tập tin được đặt vào hàng đợt của các chương trình khác nhau, ví dụ:
/var/spool/at– các cơng việc màatđã chạy.
/var/spool/cron– tập tin của hệ thống Verb+cron+. /var/spool/lpd — tập tin trong hàng đợi in.
/var/spool/mail– tập tin thùng thư của người dùng. /var/spool/uucp– tập tin của hệ thốnguucp.
/var/tmp Các tập tin tạm thời.