Я делал некоторый материал на своем ПК 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.
Я решил проблему с некоторыми 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.
Можно выполнить живой CD версии дистрибутива человечности для копирования tar с живого дистрибутива на жесткий диск.
Монтируют Ваш жесткий диск к/mnt: (если Ваш жесткий диск является/dev/sdb1)
mount /dev/sda1 /mnt
Копия/bin/tar к/mnt/bin/tar
cp /bin/tar /mnt/bin/tar
, Если это недостаточно, можно попытаться скопировать других связанные с 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