Intereting Posts
Как предоставить доступ к оболочке пользователя, для которой требуется ключ Можно ли поставить оператор if в операторы If так? Как я могу преобразовать PNG в PDF в высоком качестве, чтобы он не был размытым или нечетким? При передаче аргументов в программы через переменные массива Как настроить систему Arch Linux для автоматического монтирования внешнего жесткого диска, когда он подключен? debian / knoppix sources.list Как получить доступ к событиям, связанным с запоминающим устройством, с помощью Zeitgeist? systemd-resolved – как остановить пересылку и перейти непосредственно к DNSBLs / RBL (черным спискам почтовых серверов) Как объединить переключатели -v и -B в grep? недоступный каталог Tmux не может найти окно Почему эта команда scp создает каталог на один уровень вверх? Базовый «привет мир» работает как CGI.? Время ожидания PXE загрузки iSCSI разница между gnu tar и tar пакетом в хранилищах Fedora

Невозможно использовать tar для запуска архива через сжатие bzip2

Мне сложно сжать архив с помощью bzip с помощью tar. В архиве у меня есть user-logs.tar.

Я пытаюсь запустить это:

tar -jf user-logs.tar 

Я получаю эту ошибку:

 tar: You must specify one of the `-Acdtrux' or `--test-label' options Try `tar --help' or `tar --usage' for more information. 

Я также попытался использовать -c для создания нового файла с расширением имени файла bzip без везения.

 # tar -cvjf user-logs.tar.gz user-logs.tar user-logs.tar tar (child): bzip2: Cannot exec: No such file or directory tar (child): Error is not recoverable: exiting now 

Сообщение об ошибке сообщает, что делать: вам, вероятно, нужно добавить -c (для создания ), например,

 tar -jcf user-logs.tar myargs 

а также некоторые аргументы myargs (вещи, которые нужно поместить в архив user-logs.tar ).

Во втором случае проблема заключается в том, что у вас нет bzip2 . Программа tar использует эту внешнюю программу для сжатия.

Если у вас есть tar-архив и вы просто хотите его сжать, вы можете сделать это:

 bzip2 user-logs.tar 

который (если бы у вас был установлен bzip2 ), изменил бы файл на user-logs.tar.bz2 (и, как правило, делал бы его намного меньше).

Для установки bzip2 это зависит от используемой вами системы. Например, с Ubuntu, который был бы

 sudo apt-get install bzip2 

в то время как Fedora может быть (возможно, dnf ):

 sudo yum install bzip2 

Программа tar GNU не знает, как сжать существующий файл, такой как user-logs.tar (это делает bzip2 ). Программа tar может использовать внешние программы сжатия gzip , bzip2 , xz , открывая канал для этих программ, отправляя tar-архив через канал в утилиту сжатия, которая сжимает данные, которые он считывает из tar и записывает результат в имя файла, которое программа tar задает.

В качестве альтернативы утилита tar и сжатия может быть одной и той же программой. BSD tar выполняет сжатие с помощью libarchive (они не отличаются друг от друга, кроме как в имени).

Дальнейшее чтение:

  • 3.2. Использование bzip2 с tar
  • Поддержка сжатия

Я не уверен, что правильно истолковываю ваш вопрос и данные, но мне кажется, что у вас уже есть тар-мяч и вы просто хотите его сжать?

 bzip2 user-logs.tar 

Сообщение об ошибке bzip2: Cannot exec: No such file or directory говорит вам, что tar не может найти bzip2. Скорее всего, у вас его нет.

Установите его через yum install bzip2 или apt-get install bzip2 или что-то в этом роде, в зависимости от вашей ОС.