35

I installed unrar-free, but I cannot extract a multi-file .rar archive (my_archive.part01.rar, my_archive.part02.rar, etc.):

$ ls
my_archive.part01.rar
my_archive.part02.rar
my_archive.part03.rar
$ unrar -x my_archive.part01.rar

unrar 0.0.1  Copyright (C) 2004  Ben Asselstine, Jeroen Dekkers


Extracting from /home/morgan/my_archive.part01.rar

Extracting  my_text_file.txt      Failed
1 Failed

I have read that I need unrar-nonfree to manage multipart archives, but It seems it is not included in the official Raspbian repo.

How can I install unrar-nonfree?

Morgan Courbet
  • 3,703
  • 3
  • 22
  • 38
  • 1
    This may be different than it was in 2012, but I recently installed runrar-free and the syntax is unrar e -r <filename>.rar and it will recursively extract your files. – Blairg23 Dec 01 '17 at 09:49

3 Answers3

61
  1. Uninstall unrar-free.

    $ sudo apt-get remove unrar-free
    
  2. Make sure you have a source repository by editing /etc/apt/sources.list.

    $ cat /etc/apt/sources.list
    # Default repository
    deb http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
    # Source repository to add
    deb-src http://archive.raspbian.org/raspbian wheezy main contrib non-free rpi
    
  3. Sync the apt database.

    $ sudo apt-get update
    
  4. Create a working directory and move into it. The unrar-nonfree command will be built in this directory.

    $ cd $(mktemp -d)
    
  5. Install the dependencies required by unrar-nonfree.

    $ sudo apt-get build-dep unrar-nonfree
    
  6. Download the unrar-nonfree sources and build the .deb package.

    $ sudo apt-get source -b unrar-nonfree
    
  7. Install the generated .deb package. Its name varies depending on the version of unrar-nonfree.

    $ sudo dpkg -i unrar*.deb
    
  8. The working directory you have created in step 4 will be removed at next boot; there is no use to delete it.

Once installed, you can use either unrar or unrar-nonfree (unrar is a simlink to unrar-nonfree).

Warning: unrar-nonfree and unrar-free options are different. For instance, to extract an archive:

$ # with unrar-free
$ unrar -x my_archive.part01.rar

$ # with unrar-nonfree
$ unrar e my_archive.part01.rar

Please man unrar-nonfree for more details.

Morgan Courbet
  • 3,703
  • 3
  • 22
  • 38
  • This is a small correction to Morgan's excellent answer. Step 7 should be this: $ sudo dpkg -i unrar_4.1.4-1_armhf.deb Other than this, it's a perfect solution. Tim –  Nov 24 '12 at 05:53
  • 1
    Turned step #7 into sudo dpkg -i unrar*.deb so it doesn't depend on version number anymore. – Marius Butuc Aug 25 '13 at 01:18
  • I followed these steps exactly only to get 'E: You must put some 'source' URIs in your sources.list'. I'm certain I did do that, by adding -src to a duplicate of my existing repository. The error occurred in step five. Can anyone help? – BenjaminJB Aug 24 '14 at 14:04
  • You did entered the command sudo apt-get update, right? Is there any error message? – Morgan Courbet Aug 24 '14 at 15:25
  • Edited the answer with a small fix: remove the compile directories is not possible because we must sudo. Also added the f flag (force) so we are not questioned "are you sure?" for each file. – Vini.g.fer Mar 23 '16 at 13:14
  • Hi i am also getting error on step 5 " 'E: You must put some 'source' URIs in your sources.list'" – Jono Sep 13 '19 at 06:27
7

unrar-nonfree can be installed from Debian armhf repository (it's simply called unrar there). For example, in Raspbian Buster you can run:

wget -qO - https://ftp-master.debian.org/keys/archive-key-10.asc | sudo apt-key add -
echo deb http://deb.debian.org/debian buster main contrib non-free | sudo tee -a /etc/apt/sources.list
sudo apt-get update
sudo apt-get install unrar

Don't forget to disable the Debian repository once you're done: it's not recommended to upgrade your system while having a Debian repository as a source.

An alternative is to install 7-zip with RAR support (though it may not work on newer or password-protected archives):

sudo apt install p7zip-full
Dmitry Grigoryev
  • 27,928
  • 6
  • 53
  • 144
2

this is my compiled unrar 4.20

unrar_4.20_armhf.deb

eliafino

eliafino
  • 29
  • 1
  • 12
    Hi there. This answer will only stay relevant for a short period of time (until unrar) is updated. We usually like answers to be able to stand on their own, which is why teaching how to compile the package is better. – Jivings Nov 22 '12 at 06:41