Tar удаляется, как возможно переустановить его?

Я делал некоторый материал на своем ПК Ubuntu, когда я сделал

sudo apt-get autoremove tar

и испорченный мой компьютер. Я, по-видимому, хотел переустановить tar, но вместо этого удалил его, думая, что я установлю его после того, как он будет удален. Это было ошибкой, и я сожалею, что делал ее.

Теперь, я могу едва сделать что-либо с tar, не установленным в моем компьютере. Я не могу установить использование пакетов apt-get, и при этом я не могу установить использование пакетов dpkg. Я пытался загрузить a .deb файл tar и установки его в моем использующем компьютеры dpkg, но поскольку я сказал, что не мог сделать этого также.

Я не могу установить использование tar apt-get также, таким образом, я не мог выяснить, как установить tar в моем компьютере снова.

Я пытался искать на веб-сайтах включая AU, но не мог найти решение этого.

Как можно установить tar, не устанавливая tar в компьютере? (решения с Кв. - добираются, dpkg и т.д. не будет работать), я нахожусь на Ubuntu 14.04 LTS.

3
задан 10 January 2017 в 19:09

2 ответа

Я решил проблему с некоторыми hacky обходными решениями, но она работает. Не мог бы быть лучший способ решить проблему все же. Я получил ответ следующим некоторые части комментария @steeldriver и добавляющий некоторых моих собственных.


Сначала необходимо загрузить .deb файл для tar.

Перейдите к Вам папка Downloads, при помощи команды

cd ~/Downloads/

и затем выполнение

ls | grep tar

удостоверяться загрузка, за которой следуют. Необходимо получить вывод, подобный

tar_1.27.1-1ubuntu0.1_i386.deb

В противном случае необходимо попытаться загрузить снова.


Я собираюсь использовать имя mytar.deb для ответа, но замены это с настоящим именем Вашего .deb файл

Теперь, необходимо извлечь содержание .deb файл, не используя tar.

Сначала сделайте

ar x mytar.deb

который извлечет файлы из архива в текущий каталог. Для списка существующих файлов сделать

ar t mytar.deb

который произведет что-то подобное

debian-binary
control.tar.gz
data.tar.xz

data.tar.xz содержит фактические файлы, которые мы должны скопировать. Мы не можем использовать tar извлечь их, потому что наш данный компьютер не имеет команды tar.

Сначала позволяет, преобразовывают data.tar.xz кому: data.tar. Чтобы сделать это, сделать

xz -dc < data.tar.xz > data.tar

который должен создать новый файл data.tar.

Теперь, мы должны создать ссылку на busybox, как упомянуто @steeldriver в комментариях. Сделайте

sudo ln -s /bin/busybox /usr/local/bin/tar

создать символьную ссылку.

Затем Вы в основном используете busybox вместо tar. Таким образом, при использовании tar команды он вызывает busybox вместо этого. Теперь сделайте

mkdir temp

создать фиктивный каталог. Затем

tar -xf data.tar -C temp/

извлечь .tar файл и дамп его содержание в каталоге temp. Измените рабочий каталог на temp при помощи

cd temp

Затем сделайте,

ls -pal

получить вывод как

total 28
drwxrwxr-x  5 ashish ashish  4096 Jan 11 08:41 ./
drwxr-xr-x 23 ashish ashish 12288 Jan 11 08:41 ../
drwxr-xr-x  2 ashish ashish  4096 Jan 11 08:41 bin/
drwxr-xr-x  2 ashish ashish  4096 Jan 11 08:41 etc/
drwxr-xr-x  5 ashish ashish  4096 Jan 11 08:41 usr/

Если Вы не получаете папки как bin, etc, и usr, Вы сделали некоторую ошибку.

Теперь, можно просто скопировать все файлы в тех папках фактическим местам назначения (/bin/tar, /usr/local/bin/tar и т.д.), и затем делают

tar --help

Если Вы получаете вывод, показывающий команды tar, он работает!

Теперь сделайте

sudo apt-get install --reinstall tar

который должен переустановить tar. Если это дает Вам ошибку при высказывании для выполнения apt-get -f install, сделайте это и затем переустановите tar, он работал на меня на Ubuntu 14.04 LTS.

3
ответ дан 1 December 2019 в 15:22

Можно выполнить живой CD версии дистрибутива человечности для копирования tar с живого дистрибутива на жесткий диск.

  1. Начальная загрузка с CD (или usb)
  2. Монтируют Ваш жесткий диск к/mnt: (если Ваш жесткий диск является/dev/sdb1)

    mount /dev/sda1 /mnt
    
  3. Копия/bin/tar к/mnt/bin/tar

    cp /bin/tar /mnt/bin/tar
    
  4. , Если это недостаточно, можно попытаться скопировать других связанные с tar файлы. Можно перечислить их с dpkg:

    $ dpkg -L tar 
    /bin
    /bin/tar
    /usr
    /usr/sbin
    /usr/sbin/tarcat
    /usr/sbin/rmt-tar
    /usr/share
    /usr/share/doc
    /usr/share/doc/tar
    /usr/share/doc/tar/changelog.Debian.gz
    /usr/share/doc/tar/copyright
    /usr/share/doc/tar/NEWS.Debian.gz
    /usr/share/doc/tar/NEWS.gz
    /usr/share/doc/tar/README.Debian
    /usr/share/doc/tar/THANKS.gz
    /usr/share/doc/tar/AUTHORS
    /usr/share/man
    /usr/share/man/man8
    /usr/share/man/man8/rmt-tar.8.gz
    /usr/share/man/man1
    /usr/share/man/man1/tarcat.1.gz
    /usr/share/man/man1/tar.1.gz
    /usr/lib
    /usr/lib/tar
    /usr/lib/mime
    /usr/lib/mime/packages
    /usr/lib/mime/packages/tar
    /etc
    /etc/rmt
    
3
ответ дан 1 December 2019 в 15:22

Другие вопросы по тегам:

Похожие вопросы: