tar: не может открыть: нет такого файла или каталога

Я пытаюсь следовать инструкциям здесь, чтобы установить Jetty на Ubuntu, но у меня возникает проблема, когда я пытаюсь использовать tar.

cd /usr/local/src
sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1

Но когда я пытаюсь

sudo tar -xfz etty-distribution-9.1.0.v20131115.tar.gz

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

tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

Что я делаю неправильно? (Я тоже пробовал как root но это не помогло)


РЕДАКТИРОВАТЬ

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

a@b:/usr/local/src$ ls
download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
download.php?file=%2Fjetty%2Fstable-9%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz

a@b:/usr/local/src$ tar -tfz jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ tar -tfz /usr/local/src/jetty-distribution-9.1.0.v20131115.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now

a@b:/usr/local/src$ sudo tar xfz download.php?file=%2Fjetty%2F9.1.0.v20131115%2Fdist%2Fjetty-distribution-9.1.0.v20131115.tar.gz
gzip: stdin: not in gzip format
tar: Child returned status 1
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ sudo tar xfz jetty-distribution-9.1.0.v20131115.tar.gztar (child): jetty-distribution-9.1.0.v20131115.tar.gz: Cannot open: No such file or directory
tar (child): Error is not recoverable: exiting now
tar: Child returned status 2
tar: Error is not recoverable: exiting now
a@b:/usr/local/src$ ^C
a@b:/usr/local/src$ 

5 ответов

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

$ tar tfz foo.tar.gz
foo
$ tar -tfz foo.tar.gz
tar: z: Cannot open: No such file or directory
tar: Error is not recoverable: exiting now
$ tar -tzf foo.tar.gz
foo
$ tar --version
tar (GNU tar) 1.15.1

Изменить: следующие две команды, кажется, работают для меня:

wget http://download.eclipse.org/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz
tar tzf jetty-distribution-9.1.0.v20131115.tar.gz

Конечно, вам нужно заменить tar tzf с tar xzfи, возможно, придется добавить sudo,

Проблема может быть в положении f аргумент. Название архива должно следовать за f аргумент, поэтому ошибки говорят о невозможности открыть файл с именем z,

Пытаться:

tar -tzf jetty-distribution-9.1.0.v20131115.tar.gz

Команда sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1 неправильно по двум причинам:

  1. Ссылка на скачивание должна быть указана, так как вы используете &, который является особенным в Bash. См. http://www.gnu.org/software/bash/manual/bash.html.
  2. Вы используете старую мертвую ссылку. Переход на страницу загрузки Jetty ( http://download.eclipse.org/jetty/) указывает http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1 как правильная ссылка для скачивания.

Затем вы должны использовать следующую команду:

sudo wget "http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.3.v20140225.tar.gz&r=1" -O jetty-distribution-9.1.3.v20140225.tar.gz`

-O Аргумент помогает в выводе на правильное имя файла.

После этого, tar xvf jetty-distribution-9.1.3.v20140225.tar.gz должно сработать.

Здесь, вариант x использовать режим извлечения, v показывает больше информации (имя извлекаемого файла) и f указывает, что следующий аргумент - это путь к архиву для извлечения.

Вам не нужно z вариант, который указывает на gzip сжатый архив с tar распознает это автоматически.

Наконец, - предыдущие варианты устарели AFAIK.

Другое дело: я не рекомендую использовать sudo когда это действительно не нужно. Здесь вы просто хотите скачать и распаковать архив, который не нуждается в привилегиях суперпользователя, и вы можете сделать это в своем домашнем каталоге. Это позволяет избежать ошибок, которые могут привести к серьезным проблемам, особенно когда вы действительно не знаете, что делаете.

У меня была аналогичная проблема, но мне удалось ее извлечь с помощью команды ниже.

      sudo tar -zxvf your_package_name.tar.gz -C /opt/

Надеюсь, поможет!

У меня та же проблема, тогда Google привел меня сюда, теперь проблема решена. один о заглавной букве вашего имени файла второй это папка authoriz. измените его на 777. Надеюсь, это поможет.

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