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.

Chuyển định dạng file ext trên linux

Chuyển định dạng file ext trên linux

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 DataMetadata. 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ứ hai

File 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 Debian.

  • Kích thước tệp tối đa là 16GB - 2TB.
  • Tính năng ghi nhật ký không có.
  • Hiện nó đang được sử dụng cho thiết bị lưu trữ dựa trên Flash như ổ USB Flash, Thẻ SD, v.v.

Ext3 - File hệ thống mở rộng thứ ba

File 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]

  • Kích thước file tối đa 16GB - 2TB.
  • Cung cấp cơ sở để nâng cấp từ hệ thống file Ext2 lên Ext3 mà không cần phải sao lưu và khôi phục dữ liệu.

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.

  • Vào tháng 10 năm 2008, Ext4 đã được hợp nhất trong Kernel 2.6.28, nhân có chứa hệ thống file Ext4.
  • Khả năng tương thích ngược.
  • Kích thước file tối đa 16GB đến 16TB.
  • File hệ thống ext4 có tùy chọn "tắt tính năng ghi nhật ký".
  • Các tính năng khác như: Sub Directory, Multiblock Allocation, Delayed Allocation, Fast FSCK ...

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 Linux

Ta 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 Linux

Như 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.
Tùy chọn -f buộc phải kiểm tra file hệ thống ngay cả khi nó có vẻ sạch sẽ.

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,…

Chuyển định dạng file ext trên linux

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:

  • Hướng dẫn sử dụng lệnh SS trên Linux
  • Ebook Linux All-in-one for Dummies 5th Edition
  • Hướng dẫn thay đổi port SSH trên Linux
  • Cách tìm file và thư mục có dung lượng lớn nhất trên Linux

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

  • Top 6 cách xác định loại file system trên Linux (ext2, ext3 hay ext4)
  • 1. Lệnh “df”
  • 2. Lệnh “fsck”
  • 3. Lệnh “lsblk”
  • 4. Lệnh “mount”
  • 5. Lệnh “blkid”
  • 6. Lệnh “file”

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/