Hướng dẫn nén và đóng gói dữ liệu trên RHEL 8

Trong quản trị hệ thống Linux, việc quản lý tệp tin thông qua các thao tác đóng gói (archiving) và nén (compression) là kỹ năng thiết yếu để tối ưu hóa không gian lưu trữ và băng thông truyền tải dữ liệu. Nội dung dưới đây hướng dẫn chi tiết cách sử dụng các công cụ phổ biến như tar, gzip, bzip2 và zip trên môi trường RHEL 8.

1. Đóng gói tệp tin với lệnh tar

Đóng gói là quá trình gộp nhiều tệp tin hoặc thư mục vào một tệp duy nhất để dễ dàng quản lý. Công cụ phổ biến nhất là tar (Tape Archive).

Cú pháp cơ bản của lệnh tar:

  • c: Tạo tệp lưu trữ mới (create).
  • v: Hiển thị chi tiết quá trình thực hiện (verbose).
  • f: Chỉ định tên tệp lưu trữ (file).

Ví dụ, để đóng gói các tệp config.txt, data.log và script.sh vào một tệp có tên backup.tar:

[root@rhel8-server ~]# tar -cf backup.tar config.txt data.log script.sh

Lưu ý rằng lệnh tar mặc định chỉ đóng gói chứ không nén dữ liệu. Bạn có thể kiểm tra dung lượng để thấy tệp .tar thường lớn hơn hoặc bằng tổng dung lượng các tệp nguồn. Nếu muốn xóa các tệp gốc ngay sau khi đóng gói thành công, hãy sử dụng tùy chọn --remove-files:

[root@rhel8-server ~]# tar -cf backup.tar config.txt data.log --remove-files

Để xem danh sách các thành phần bên trong một tệp tar mà không cần xả nén, sử dụng tùy chọn -t:

[root@rhel8-server ~]# tar -tf backup.tar
config.txt
data.log

Để giải nén (xả gói) tệp tar, sử dụng tùy chọn -x. Để giải nén vào một thư mục cụ thể, sử dụng thêm -C:

[root@rhel8-server ~]# tar -xf backup.tar -C /tmp/restore_folder/

2. Kỹ thuật nén dữ liệu

Nén dữ liệu giúp giảm dung lượng tệp tin bằng các thuật toán toán học. Có hai công cụ dòng lệnh phổ biến là gzip và bzip2.

Trước tiên, tạo một tệp dữ liệu mẫu dung lượng 100MB để thử nghiệm:

[root@rhel8-server ~]# dd if=/dev/zero of=test_data bs=1M count=100

Sử dụng Gzip

Gzip cung cấp tốc độ nén nhanh và hiệu quả trung bình.

  • Nén: gzip test_data (tạo ra tệp test_data.gz).
  • Giải nén: gzip -d test_data.gz.

Kết hợp tar và gzip bằng tùy chọn -z:

[root@rhel8-server ~]# tar -zcf logs_archive.tar.gz /var/log/*.log

Sử dụng Bzip2

Bzip2 thường cho tỷ lệ nén tốt hơn Gzip nhưng tốn nhiều thời gian và CPU hơn.

  • Nén: bzip2 test_data (tạo ra tệp test_data.bz2).
  • Giải nén: bzip2 -d test_data.bz2.

Kết hợp tar và bzip2 bằng tùy chọn -j:

[root@rhel8-server ~]# tar -jcf source_code.tar.bz2 ./src_project

3. Sử dụng công cụ Zip

Định dạng Zip rất phổ biến vì tính tương thích cao giữa Linux và Windows. Khác với tar, zip thực hiện cả đóng gói và nén trong cùng một thao tác.

Để nén một thư mục bao gồm cả các thư mục con, sử dụng tùy chọn -r (recursive):

[root@rhel8-server ~]# zip -r workspace_backup.zip /home/user/workspace

Để giải nén tệp zip, sử dụng lệnh unzip:

[root@rhel8-server ~]# unzip workspace_backup.zip -d /target/directory/

Việc lựa chọn công cụ phụ thuộc vào mục đích sử dụng: gzip cho tốc độ, bzip2 cho dung lượng tối ưu, và zip cho khả năng trao đổi dữ liệu đa nền tảng.

Thẻ: RHEL8 linux tar Gzip bzip2

Đăng vào ngày 21 tháng 10 lúc 20:27