Как установить unrar-несвободный?

31

Я установил unrar-free, но я не могу извлечь несколько файлов .rarархива ( my_archive.part01.rar, my_archive.part02.rarи т.д.):

$ 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

Я прочитал, что мне нужно unrar-nonfreeуправлять многочастными архивами, но, похоже, он не включен в официальное репо Raspbian.

Как я могу установить unrar-nonfree?

Морган Курбе
источник
1
Это может отличаться от того, что было в 2012 году, но я недавно установил runrar-freeсинтаксис, unrar e -r <filename>.rarи он будет рекурсивно извлекать ваши файлы.
Blairg23

Ответы:

54
  1. Удалить unrar-free.

    $ sudo apt-get remove unrar-free
    
  2. Убедитесь, что у вас есть исходный репозиторий путем редактирования /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. Синхронизировать базу данных apt.

    $ sudo apt-get update
    
  4. Создайте рабочий каталог и перейдите в него. Команда unrar-nonfreeбудет встроена в этот каталог.

    $ cd $(mktemp -d)
    
  5. Установите зависимости, необходимые для unrar-nonfree.

    $ sudo apt-get build-dep unrar-nonfree
    
  6. Загрузите unrar-nonfreeисходники и соберите .debпакет.

    $ sudo apt-get source -b unrar-nonfree
    
  7. Установите сгенерированный .debпакет. Его имя варьируется в зависимости от версии unrar-nonfree.

    $ sudo dpkg -i unrar*.deb
    
  8. Рабочий каталог, созданный на шаге 4, будет удален при следующей загрузке; нет смысла его удалять.

После установки вы можете использовать либо unrarили unrar-nonfree( unrarявляется simlink для unrar-nonfree).

Внимание: unrar-nonfreeи unrar-freeварианты разные. Например, чтобы извлечь архив:

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

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

Пожалуйста, man unrar-nonfreeдля более подробной информации.

Морган Курбе
источник
Это небольшая поправка к отличному ответу Моргана. Шаг 7 должен быть следующим: $ sudo dpkg -i unrar_4.1.4-1_armhf.deb Кроме этого, это идеальное решение. Тим
1
Превратил шаг # 7, sudo dpkg -i unrar*.debчтобы он больше не зависел от номера версии.
Мариус Бутук
Я следовал этим шагам только для того, чтобы получить «E: Вы должны поместить некоторые« исходные »URI в ваш sources.list». Я уверен, что сделал это, добавив -src к дубликату моего существующего репозитория. Ошибка произошла на пятом шаге. Кто-нибудь может помочь?
BenjaminJB
Вы ввели команду sudo apt-get update, верно? Есть ли сообщение об ошибке?
Морган Курбе
Отредактировал ответ с небольшим исправлением: удалить каталоги компиляции невозможно, потому что мы должны sudo. Также добавлен флаг f (сила), чтобы нас не спрашивали "ты уверен?" для каждого файла.
Vini.g.fer
2

это мой скомпилированный unrar 4.20

unrar_4.20_armhf.deb

eliafino

eliafino
источник
11
Всем привет. Этот ответ останется актуальным только в течение короткого периода времени (пока не обновится). Обычно нам нравятся ответы, чтобы иметь возможность стоять самостоятельно, поэтому обучение тому, как скомпилировать пакет, лучше.
Jivings