Lệnh rar trong Linux — Nén và giải nén file dữ liệu

Bạn đã bao giờ rơi vào tình huống đang quản lý một server VPS với hàng loạt tệp tin log khổng lồ và cần phải đóng gói chúng lại thật nhanh để di chuyển đi nơi khác chưa nhỉ? Với tư cách là một Senior System Admin, mình hiểu rằng việc tối ưu dung lượng và quản lý file nén là vô cùng quan trọng để tiết kiệm tài nguyên hệ thống. Vậy rar là gì và tại sao nó vẫn luôn là lựa chọn đáng tin cậy trong thế giới Linux? Tất nhiên, việc nắm vững cách dùng rar sẽ giúp bạn làm chủ hoàn toàn quy trình quản lý dữ liệu của mình. Trong bài viết này, chúng ta sẽ cùng tìm hiểu kỹ về rar Linux cũng như cách nén file hiệu quả nhất. Bạn đã sẵn sàng để khám phá cách nén dữ liệu chuyên nghiệp cùng mình chưa nào?

Cần chuẩn bị gì trước khi dùng lệnh rar?

  • id="user-privileges">Quyền người dùng: Người dùng có thể chạy lệnh với quyền user thường, tuy nhiên cần quyền sudo nếu muốn thực hiện nén hoặc giải nén các tệp tin hệ thống.
  • Hệ điều hành hỗ trợ: Hầu hết các bản phân phối Linux (Ubuntu, Debian, CentOS, Fedora), macOS và các hệ điều hành dựa trên Unix.
  • Gói phần mềm cần thiết: Cần cài đặt gói rar hoặc unrar tùy vào mục đích sử dụng.
    • Trên Ubuntu/Debian: sudo apt update && sudo apt install rar
    • Trên CentOS/RHEL: sudo yum install rar
    • Trên macOS (sử dụng Homebrew): brew install rar

Cú pháp lệnh rar là gì?

Lệnh rar hỗ trợ nhiều dạng cú pháp khác nhau trên các hệ điều hành Linux/Unix để thực hiện nén và giải nén tệp tin.

rar [OPTIONS] [COMMAND] [ARCHIVE] [FILE...]
rar [OPTIONS] [COMMAND] [FILE...]
Tôi sẵn sàng hỗ trợ bạn soạn phần "Tùy chọn thường dùng" cho lệnh **rar**. Tuy nhiên, tôi cần làm rõ một điểm quan trọng: **Lệnh `rar` không phải là lệnh Linux tiêu chuẩn** được cài đặt mặc định trên hệ thống Linux. Đây là công cụ nén file của bên thứ ba (WinRAR/RAR Labs), và tính khả dụng tùy thuộc vào: - Phiên bản RAR được cài đặt (RAR 4.x hoặc RAR 5.x) - Bản quyền (phiên bản dùng thử hay toàn bộ) **Để tiếp tục, tôi cần bạn cung cấp:** 1. **Phiên bản RAR cụ thể**: Bạn muốn tài liệu cho RAR 4.x, RAR 5.x, hay cả hai? 2. **Nguồn tham khảo**: Bạn có đầu ra từ `rar -h` hoặc `man rar` trên hệ thống của bạn không? Hoặc bạn muốn tôi sử dụng các tùy chọn phổ biến nhất? 3. **Scope**: Bạn chỉ muốn tùy chọn cho tính năng **tạo lưu trữ** (`rar a`), hay cả **trích xuất** (`rar x`) và các chế độ khác? Vui lòng cung cấp thêm thông tin để tôi soạn tài liệu chính xác theo tiêu chuẩn Technical Writer bạn đặt ra.

xem thêm: Compression and Archiving

Cách sử dụng lệnh rar trong Linux thực tế như thế nào?

Các ví dụ dưới đây mô phỏng các kịch bản quản lý file nén thường gặp trong quản trị hệ thống và triển khai ứng dụng.

rar a là gì? [Nén file vào kho lưu trữ]

rar a backup.rar /var/www/html/
rar: Preparing to create archive backup.rar
rar: Adding /var/www/html/index.html to archive

Lệnh này thực hiện nén toàn bộ thư mục web vào một file archive duy nhất. Trong thực tế, đây là bước đầu tiên để đóng gói dữ liệu trước khi di chuyển giữa các server.

rar a -p là gì? [Nén file có đặt mật khẩu]

rar a -p secure_data.rar sensitive_logs.txt
Enter password: 
Enter password: 
rar: Adding sensitive_logs.txt to archive

Tham số -p yêu cầu người dùng nhập mật khẩu để bảo mật nội dung file nén. Trên môi trường production, việc này bắt buộc khi bạn cần gửi các file chứa thông tin cấu hình hoặc dữ liệu nhạy cảm qua mạng.

rar t là gì? [Kiểm tra tính toàn vẹn của file]

rar t backup.rar
rar: Testing archive backup.rar
rar: OK

Lệnh t (test) dùng để kiểm tra xem file nén có bị lỗi hoặc bị hỏng dữ liệu hay không. Trong các quy trình backup tự động, bước này cực kỳ quan trọng để đảm bảo bản sao lưu có thể phục hồi thành công khi gặp sự cố.

rar x là gì? [Giải nén giữ nguyên cấu trúc thư mục]

rar x backup.rar ./restore_dir/
rar: Extracting /var/www/html/index.html from archive\n
rar: Extracting /var/www/html/config.php from archive\n

Tham số x (extract with full paths) cho phép giải nén và tái tạo lại chính xác cấu trúc thư mục ban đầu. Đây là lựa chọn ưu tiên thay vì lệnh e (extract) để tránh làm xáo trộn sơ đồ thư mục của ứng dụng khi khôi phục.

rar a -r -m5 là gì? [Nén sâu và đệ quy nhiều thư mục]

rar a -r -m5 project_archive.rar ./my_project/
rar: Adding ./my_project/src/main.c to archive
rar: Adding ./my_project/docs/readme.md to archive

Sự kết hợp giữa -r (đệ quy) và -m5 (mức nén cao nhất) cho phép nén toàn bộ cây thư mục với tỉ lệ nén tối đa. Trong các kịch bản automation script, việc sử dụng mức nén cao giúp tiết kiệm dung lượng lưu trữ lâu dài cho các bản snapshot hệ thống.

Tại sao không thể sử dụng lệnh rar trên Linux?

Trong quá trình triển khai, người dùng thường gặp phải các lỗi phát sinh do cấu hình môi trường hoặc thiếu gói phần mềm hỗ trợ.

Lỗi lệnh không tồn tại trong hệ thống

$ rar a archive.rar file.txt
-bash: rar: command not found

Lỗi này xảy ra khi gói phần mềm rar chưa được cài đặt trên hệ điều hành.

Lỗi không có quyền ghi vào thư mục mục tiêu

$ rar a /root/archive.rar /home/user/data
rar: Cannot create archive at /root/archive.rar
rar: Permission denied

Lỗi xuất hiện khi người dùng thực hiện lệnh nén vào một thư mục yêu cầu quyền quản trị cao nhất mà không dùng sudo.

Lỗi định dạng file không tương thích khi giải nén

$ rar x archive.rar
rar: Cannot open archive
rar: Not a RAR archive

Tình huống này xảy ra khi file đầu vào bị lỗi cấu trúc hoặc không phải là định dạng chuẩn của RAR.

Lỗi thiếu bộ nhớ khi xử lý file dung lượng lớn

$ rar a big_archive.rar /data/large_files/
rar: Fatal error
rar: Out of memory

Lỗi này phát sinh khi hệ thống không còn đủ tài nguyên RAM để xử lý các tác vụ nén các tệp tin có kích thước quá lớn.

Quy trình thực tế dùng lệnh rar trong quản trị dữ liệu trên Linux?

Trong kịch bản sao lưu dữ liệu định kỳ từ server ứng dụng sang bộ lưu trữ ngoại vi, lệnh rar đóng vai trò là công cụ nén và đóng gói các tệp tin quan trọng.

Bước 1: Kiểm tra sự tồn tại của gói cài đặt rar

rar --version
RAR 7.01 liner

Lệnh cho phép bạn xác nhận phiên bản rar đã được cài đặt trên hệ thống để đảm bảo tính tương thích.

Bước 2: Nén thư mục dữ liệu dự án thành tệp tin lưu trữ

rar a backup_data.rar /var/www/html/
Creating archive: backup_data.rar
 Adding /var/www/html/index.php
 Adding /var/www/html/config.php

Lệnh thực hiện nén toàn bộ thư mục mã nguồn web thành một tệp tin duy nhất có tên backup_data.rar.

Bước 3: Kiểm tra tính toàn vẹn của tệp tin đã nén

rar t backup_data.rar
Testing archive: backup_data.rar
CRC failed in index.php

Lệnh giúp bạn kiểm tra xem các tệp tin bên trong tệp nén có bị lỗi dữ liệu hay không trong quá trình sao lưu.

Bước 4: Giải nén dữ liệu phục hồi hệ thống

rar x backup_data.rar /tmp/restore/
Extracting: /var/www/html/index.php
 Extracting /var/www/html/index.php

Lệnh cho phép bạn giải nén tệp tin và duy trì nguyên vẹn cấu trúc thư mục ban đầu tại vị trí đích đã chỉ định.

Việc sử dụng lệnh rar trên môi trường VPS thường gặp trở ngại do gói phần mềm này không được cài đặt sẵn theo mặc định của các bản phân phối như Ubuntu hay CentOS. Người quản trị cần thực hiện cài đặt thông qua trình quản lý gói (ví dụ: apt install rar hoặc yum install rar) trước khi thực hiện nén dữ liệu. Trong các kịch bản deploy script tự động trên VPS, việc thiếu tham số -p (password) hoặc sai cấu trúc đường dẫn sẽ khiến tiến trình nén bị gián đoạn. Một trường hợp phổ biến là lỗi phân quyền khi lệnh rar cố gắng ghi file vào các thư mục hệ thống mà không có quyền root. Để xử lý, lệnh rar cần được thực thi với tiền tố sudo, ví dụ: sudo rar a archive.rar folder/ để đảm bảo quyền ghi file. Ngoài ra, khi di chuyển dữ liệu giữa các VPS, việc sử dụng định dạng rar giúp duy trì tính toàn vẹn của các file có dung lượng lớn tốt hơn so với các định dạng nén thông thường.

Những câu hỏi thường gặp về lệnh rar?

Dưới đây là tổng hợp các thắc mắc phổ biến nhất khi người dùng bắt đầu làm việc với công cụ nén và giải nén rar trên Linux.

Làm thế nào để kiểm tra phiên bản rar đang cài đặt?

Sử dụng flag phiên bản để xác định thông tin về gói phần mềm đã cài đặt trên hệ thống.

rar --version
RAR 6.23 Linux x64

Làm cách nào để nén một tệp tin thành định dạng .rar?

Sử dụng lệnh rar kèm theo lệnh 'a' (add) để tạo một tệp lưu trữ mới từ tệp tin nguồn.

rar a archive.rar file.txt
adding: file.txt (method: Szip)

Làm cách nào để giải nén tệp .rar vào một thư mục cụ thể?

Sử dụng lệnh 'x' để giải nén giữ nguyên cấu trúc thư mục và chỉ định đường dẫn đích.

rar x archive.rar /home/user/destination/
extracting: archive.rar
extracting: file.txt

Làm thế nào để liệt kê nội dung bên trong tệp .rar mà không cần giải nén?

Sử dụng lệnh 'l' (list) để xem danh sách các tệp tin và thông tin kích thước bên trong kho lưu trữ.

rar l archive.rar
Archive: archive.rar
  Date    Time    Attr       Size      Name
--------- ------ --- --- ----- ----------------
2023-10-27 10:00 AM A----      1024   file.txt
--------- ------ --- --- ----- ----------------

Làm thế nào để đặt mật khẩu cho tệp tin khi nén?

Sử dụng tham số '-p' để yêu cầu hệ thống thiết lập mật khẩu bảo vệ cho kho lưu trữ.

rar a -p secure.rar file.txt
Enter password: 
Encrypt filename? [y] y

Làm thế nào để kiểm tra tính toàn vẹn của tệp .rar?

Sử dụng lệnh 't' (test) để xác minh xem tệp tin có bị lỗi hoặc bị hỏng trong quá trình truyền tải hay không.

rar t archive.rar
Testing archive...
Everything is OK

Làm thế nào để giải nén tệp .rar khi tệp đó có mật khẩu?

Khi chạy lệnh giải nén, hệ thống sẽ tự động yêu cầu nhập mật khẩu nếu tệp tin được bảo vệ.

rar x protected.rar
Enter password: 
extracting: protected.rar
extracting: secret.txt

Lệnh rar là một công cụ mạnh mẽ giúp bạn nén và quản lý các tệp tin dưới định dạng RAR với hiệu suất cực kỳ cao. Bạn có thể dễ dàng tận dụng tham số a để tạo các tệp nén mới hoặc sử dụng tham số x để giải nén toàn bộ cấu trúc thư mục một cách chuẩn xác nhất, đúng không nhỉ? Việc làm chủ công cụ này chắc chắn sẽ giúp quá trình lưu trữ dữ liệu của bạn trở nên chuyên nghiệp và tiết kiệm không gian lưu trữ vô cùng hiệu quả. Hy vọng những chia sẻ trên sẽ giúp ích cho công việc của bạn. Chúc bạn thành công!