> ## Content Index
> Fetch the complete content index at: https://blog.alphavps.com/llms.txt
> Use this file to discover other available public pages before exploring further.

# Working with RAR files under Linux
- URL: https://blog.alphavps.com/working-with-rar-files-under-linux/
- Published: 2024-11-21T10:45:59.000Z
- Updated: 2024-11-21T10:45:59.000Z
- Author: David Filipov
- Tags: Tutorials, Linux Basics, #series-linux-archives

RAR, an acronym for **R**oshal **Ar**chive is a popular program used for compressing files for easier storage and transportation over the network. RAR is a proprietary compression format and while Linux distributions don’t come with built-in support for RAR, you can easily install utilities like `rar` to extract or create RAR archives. In this blog, we’ll guide you through installing the necessary tools and demonstrate a couple of common use cases in Linux.

## Installing RAR

Ubuntu/Debian

```
sudo apt update
sudo apt install rar

```

Fedora

```
sudo dnf install rar

```

CentOS/RHEL

For CentOS and RHEL, you may need to enable the **EPEL** (Extra Packages for Enterprise Linux) before you can install rar

```
sudo dnf install epel-release
sudo dnf install rar

```

## Command syntaxes

Rar uses the following syntaxis

```
rar [flag] [archive_name] [files_to_archive]
```

Here are some of the most common flags

**a :** Creates archive; Add files to archive.  

**d :** Delete files from archive.  

**e :** Extract files to current directory. Does not create any  
 subdirectories.

**x** : Extract files with full path.

**l :** List content of archive

## Create an archive

Here is an example of creating an archive with the name "archive.rar" which includes the files "file1", "file2" and "file3" 

```
rar a archive.rar file1 file2 file3
```

Output:

```
root@hostname:~# rar a archive.rar file1 file2 file3

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Evaluation copy. Please register.

Adding    file1                                                        OK
Adding    file2                                                        OK
Adding    file3                                                        OK
Done

```

We can also use the **a** flag to add a new file to an already existing archive. In this example, we want to add "file4" to our "archive.rar" file

```
rar a archive.rar file4
```

Output:

```
root@hostname:~# rar a archive.rar file4

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Evaluation copy. Please register.

Updating archive archive.rar

Adding    file4                                                       OK
Done
```

## Extract files from an archive

To extract files from a .rar archive use the **e** flag

```
rar e archive.rar
```

Output:

```
root@hostname:~# rar e archive.rar

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Extracting from archive.rar

Extracting  file1                                                     OK
Extracting  file2                                                     OK
Extracting  file3                                                     OK
All OK
```

If you want to keep the full path of the files with directories you will need to use the **x** flag otherwise, you will extract all the files in your current directory.

Let's say that along with the other 3 files in your archive, you have a directory called "dir1" with a file inside called "file4". You want to keep this path for file4 so you use the following command:

```
rar x archive.rar
```

Output:

```
root@hostname:~# rar x archive.rar

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Extracting from archive.rar

Extracting  file1                                                     OK
Extracting  file2                                                     OK
Extracting  file3                                                     OK
Creating    dir1                                                      OK
Extracting  dir1/file4                                                OK
All OK
```

## List contents of an archive

In order to list the contents of an archive you can use the **l** flag 

```
tar l archive.rar
```

Output:

```
root@hostname:~# rar l archive.rar

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Archive: archive.rar
Details: RAR 5

 Attributes      Size     Date    Time   Name
----------- ---------  ---------- -----  ----
 -rw-r--r--         0  2024-10-11 14:30  file1
 -rw-r--r--         0  2024-10-11 14:30  file2
 -rw-r--r--         0  2024-10-11 14:30  file3
----------- ---------  ---------- -----  ----
                    0                    3
```

## Delete a file from an archive

You can use the previously mentioned **l** flag to check the contents of an archive. Let's say we want to delete "file1" from the archive. Use the **d** flag in order to delete it.

```
tar d archive file1
```

Output:

```
root@hostname:~# rar d archive.rar file1

RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Deleting from archive.rar
Deleting file1
Done
```

## Archive a folder

Let's say that you want to archive your log folder with all the files inside it to have as a backup. You can do so with the following command:

```
 rar a log_archive.rar /var/log
```

Output:

```
RAR 5.50   Copyright (c) 1993-2017 Alexander Roshal   11 Aug 2017
Trial version             Type 'rar -?' for help

Evaluation copy. Please register.

Creating archive log_archive.rar

Adding    /var/log/dpkg.log                                           OK
Adding    /var/log/lastlog                                            OK
Adding    /var/log/fontconfig.log                                     OK
Adding    /var/log/upgrade-policy-changed.log                         OK
Adding    /var/log/btmp                                               OK
Adding    /var/log/wtmp                                               OK
Adding    /var/log/bootstrap.log                                      OK
Adding    /var/log/ubuntu-advantage.log                               OK
Adding    /var/log/apt/history.log                                    OK
Adding    /var/log/apt/eipp.log.xz                                    OK
Adding    /var/log/apt/term.log                                       OK
Adding    /var/log/alternatives.log                                   OK
Adding    /var/log/faillog                                            OK
Adding    /var/log/dist-upgrade                                       OK
Adding    /var/log/journal                                            OK
Adding    /var/log/private                                            OK
Adding    /var/log/apt                                                OK
Adding    /var/log/unattended-upgrades                                OK
Adding    /var/log                                                    OK
Done
```