Chuyển định dạng file ext trên linux
Trong bài này mình sẽ giải thích khái niệm về các file Ext2, Ext3 & Ext4 trong Linux, đây là hệ thống file hệ thống (file system) của Linux nên bạn phải hiểu để sử dụng cho đúng. Show
Bài viết này được đăng tại freetuts.net, không được copy dưới mọi hình thức. Qua bài này bạn cũng sẽ biết cách chuyển đổi định dang các file này. Tuy nhiên, cần phải lưu ý rằng bạn nên tạo một bản backup cho an toàn nhé, bởi những file hệ thống này rất quan trọng, nếu có sai sót gì thì ta có thể phục hồi nó được qua bản backup. Hệ thống file Linux được chia thành hai phân đoạn được gọi là User Data và Metadata. Trong bài viết này, ta sẽ khám phá cách tạo và chuyển đổi các file hệ thống trên Linux, cũng như tìm hiểu sự khác biệt các file hệ thống Ext2, Ext3 và Ext4. Ext2 - File hệ thống mở rộng thứ haiFile ext2 được giới thiệu vào năm 1993 và Ext2 được phát triển bởi Remy Card. Đây là file hệ thống mặc định đầu tiên trong một số bản phân phối Linux như RedHat và Debian.
Ext3 - File hệ thống mở rộng thứ baFile Ext3 được giới thiệu vào năm 2001, được tích hợp và Kernel 2.4.15 với tính năng ghi nhật ký, nhằm cải thiện độ tin cậy và loại bỏ nhu cầu kiểm tra hệ thống file sau khi tắt máy đột ngột. Bài viết này được đăng tại [free tuts .net]
Ext3 - File hệ thống mở rộng thứ tưExt4 là file mở rông nâng cấp từ Ext3 được mong đợi rất cao.
Cách kiểm tra thể loại file hệ thống trên LinuxĐể kiểm tra loại file hệ thống của bạn đang ở định dạng nào thì sử dụng đoạn code dưới đây, chạy trên terminal với quyền root. # df -hT | awk '{print $1,$2,$NF}' | grep "^/dev" /dev/sda3 ext3 / /dev/sda1 ext3 /boot Cách tạo file Ext2, or Ext3, or Ext4 trên LinuxTa có thể sử dụng hai lệnh fdisk hoặc parted để tạo file hệ thống, nhưng tốt nhất bạn nên sử dụng lệnh mke2fs để chỉ định rõ thể loại cần tạo. Các ví dụ dưới đây là mình tạo file có tên là hdXX, bạn có thể thay thế nó bằng cái tên khác theo ý riêng của mình. Tạo file Ext2 # mke2fs /dev/hdXX Tạo file Ext3 # mke2fs –j /dev/hdXX OR # mkfs.ext3 /dev/hdXX Tùy chọn -j sử dụng để ghi nhật ký. Tạo file Ext4 # mke2fs -t ext4 /dev/hdXX OR # mkfs.ext4 /dev/hdXX Tùy chọn -t chỉ định loại file. Chuyển đổi giữa các file Ext2, Ext3, Ext4 trên LinuxNhư mình đã nói ở đầu, bạn nên copy ra một bản backup trước khi chuyển đổi, tránh trường hợp bị lỗi thì ta có file backup để phục hồi. Để chuyển đổi giữa các định dạng file thì bạn sử dụng các đoạn code dưới đây (đổi tên file hdXX thành tên file trong máy tính của bạn). Chuyển đổi từ Ext2 sang Ext3Để thay đổi file Ext2 thành Ext3 và bật tính năng nhật ký, hãy sử dụng lệnh. Chuyển đổi từ Ext2 sang Ext4Để chuyển đổi từ file Ext2 cũ sang file Ext4 với tính năng ghi nhật ký mới nhất. Chạy lệnh sau. # tune2fs -O dir_index,has_journal,uninit_bg /dev/hdXX Tiếp theo, thực hiện kiểm tra toàn bộ hệ thống tệp bằng lệnh e2fsck để khắc phục và sửa chữa file sau khi chuyển. Tùy chọn -p tự động sửa chữa file hệ thống. Chuyển đổi từ Ext3 sang Ext4Để bật các tính năng của Ext4 trên file Ext3 thì hãy sử dụng lệnh. # tune2fs -O extents,uninit_bg,dir_index /dev/hdX Tương tự, bạn phải chạy lệnh sau để fix lỗi file sau khi chuyển. Cảnh báo: Bạn nên chạy những lệnh trên ở một server test nhé, đừng chạy trên server chính, trừ khi bạn là một quản trị viên chuyên nghiệp. Trong bài viết này chúng ta sẽ tìm hiểu các cách để xác định loại file system trên Linux (ext2 ext3 hay ext4 ). Rất là cần thiết cho các bạn cần nắm để thực hiện các hoạt động thao tác liên quan đến partition hay file system trên Linux như mount chẳng hạn,… Vậy file system là gì ? File system là các phương pháp và các cấu trúc dữ liệu mà một hệ điều hành sử dụng để theo dõi các tập tin trên ổ đĩa hoặc phân vùng. Có thể tạm dịch file system là hệ thống tập tin. Đó là cách các tập tin được tổ chức trên ổ đĩa. Thuật ngữ này cũng được sử dụng để chỉ một phân vùng hoặc ổ đĩa được sử dụng để lưu trữ các tập tin hoặc loại hệ thống tập tin. Có thể bạn quan tâm chủ đề khác:
Trong bài viết này mình sẽ sử dụng một ổ cứng disk /dev/sda với 3 partition như dưới làm mẫu : # fdisk -l Disk /dev/sda: 21.5 GB, 21474836480 bytes 255 heads, 63 sectors/track, 2610 cylinders Units = cylinders of 16065 * 512 = 8225280 bytes Sector size (logical/physical): 512 bytes / 4096 bytes I/O size (minimum/optimal): 4096 bytes / 4096 bytes Disk identifier: 0x00022765 Device Boot Start End Blocks Id System /dev/sda1 * 1 26 204800 83 Linux Partition 1 does not end on cylinder boundary. /dev/sda2 26 281 2048000 82 Linux swap / Solaris Partition 2 does not end on cylinder boundary. /dev/sda3 281 2611 18717696 83 Linux Contents
1. Lệnh “df”Lệnh df trên Linux sẽ giúp báo cáo về dung lượng đang sử dụng của các phân vùng ổ cứng, bên cạnh đó bạn có thể xem được cả loại file system của partition hoặc disk với option “-T“. # df -Th # df -Th | grep "^/dev" /dev/sda3 ext4 18G 17G 344M 98% / /dev/sda1 ext4 190M 121M 60M 67% /boot 2. Lệnh “fsck”Lệnh fsck trên Linux được sử dụng để chữa các lỗi về file system Linux, khi phát hiện các lỗi sai thông tin metadata chẳng hạn. Bên cạnh đó lệnh cũng có thể hiển thị thông tin loại file system của các phân vùng ổ cứng cụ thể. # fsck -N /dev/sda3 fsck from util-linux-ng 2.17.2 [/sbin/fsck.ext4 (1) -- /] fsck.ext4 /dev/sda3 3. Lệnh “lsblk”Lệnh lsblk trên Linux hiển thị thông tin về các block device. Khi bạn sử dụng option ‘-f‘ thì chương trình sẽ in thêm cả loại file system của các partition. # lsblk -f NAME FSTYPE LABEL UUID MOUNTPOINT sr0 sda ├─sda1 ext4 853df20e-f080-4d9b-8bc0-cf80bc4ed5b5 /boot ├─sda2 swap 72a2588f-2de9-4643-a617-97331b30042c [SWAP] └─sda3 ext4 e6b104ff-2585-4094-9465-9988a1394f64 / 4. Lệnh “mount”Lệnh mount trên Linux được sử dụng để mount các file system trên Linux. Nhưng bên cạnh đó còn có thể để hiển thị các thông tin về các phân vùng ổ cứng, thư mục mount remote,… và cả loại file system của từng phân vùng. # mount | grep "^/dev" /dev/sda3 on / type ext4 (rw) /dev/sda1 on /boot type ext4 (rw) 5. Lệnh “blkid”Lệnh blkid được dùng để hiển thị các thông tin giá trị liên quan đến block device. Bây giờ nếu bạn sử dụng lệnh mà không có option nào thì sẽ có thông tin loại file system được hiển thị kèm. # blkid /dev/sda3 /dev/sda3: UUID="e6b104ff-2585-4094-9465-9988a1394f64" TYPE="ext4" 6. Lệnh “file”Lệnh file nếu sử dụng option ‘-s‘ sẽ đọc thông tin và đặc điểm về file hoặc block. Kết hợp option ‘-L‘ sẽ hỗ trợ cả symlink. # file -sL /dev/sda3 /dev/sda3: Linux rev 1.0 ext4 file system data (needs journal recovery) (extents) (large files) (huge files) Vậy là các bạn đã biết được các cách để nhận biết loại file system trên Linux rồi phải không nào. Rất đơn giản và dễ thực hành, hãy tự thực hành và trao đổi cùng Cuongquach.com nhé. Nguồn : https://cuongquach.com/ |