
Я пытаюсь следовать инструкциям.здесьдля установки 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$
решение1
Проблема, по-видимому, заключается в использовании тире и порядке аргументов:
$ 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
.
решение2
Проблема может быть в позиции аргумента f
. Имя архива должно следовать за f
аргументом, поэтому ошибки говорят о невозможности открыть файл с именем z
.
Пытаться:
tar -tzf jetty-distribution-9.1.0.v20131115.tar.gz
решение3
Команда sudo wget http://eclipse.org/downloads/download.php?file=/jetty/stable-9/dist/jetty-distribution-9.1.0.v20131115.tar.gz&r=1
неверна по двум причинам:
- Ссылку на скачивание необходимо взять в кавычки, так как вы используете &, который является специальным в Bash. Смотритеhttp://www.gnu.org/software/bash/manual/bash.html#Определения
- Вы используете старую мертвую ссылку. Переход на страницу загрузки 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
он распознается автоматически.
Наконец, -
предыдущие параметры, насколько мне известно, устарели.
Еще одно: я не рекомендую использовать его, sudo
когда это не нужно. Здесь вы просто хотите скачать и распаковать архив, для чего не нужны права root, и вы можете сделать это в своем домашнем каталоге. Это позволяет избежать ошибок, которые могут привести к серьезным проблемам, особенно когда вы не совсем понимаете, что делаете.
решение4
У меня та же проблема, затем Google привел меня сюда, теперь проблема решена. Во-первых, это заглавная буква в имени файла, во-вторых, это авторизация папки. Измените ее на 777. Надеюсь, это поможет.