JDK 8 НЕ установлен - ОШИБКА 404: Не найдено

Со вчерашнего дня я пытался установить JDK8 на мою машину с Ubuntu, но она постоянно терпела неудачу.

Я пытался запустить команды:

sudo add-apt-repository ppa:webupd8team/java -y
sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

Но я не могу продолжать, потому что при запуске команды sudo apt-get install oracle-java8-installer все, что я получаю, это:

...
Connecting to download.oracle.com (download.oracle.com)|23.215.130.99|:80... connected.
HTTP request sent, awaiting response... 404 Not Found
2017-10-18 11:07:34 ERROR 404: Not Found.

download failed
Oracle JDK 8 is NOT installed.
dpkg: error processing package oracle-java8-installer (--configure):
 subprocess installed post-installation script returned error exit status 1
...

Моя установка - это 64-битная версия Ubuntu 14.04.

11 ответов

Решение

После долгих поисков я нашел ответ на форуме Ubuntu.

По сути, проблема заключается в том, что существует новая версия Java, и установщик не был обновлен для ссылки на нее.

Если на вашем компьютере установлен Linux x64 с процессором AMD64, и вам нужна последняя версия Java8, это можно легко исправить, выполнив эти команды (кредит на оригинальную версию идет на g1zmo2, а эта обновленная версия идет на @MinneapolisCoder9):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u181|JAVA_VERSION=8u191|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|SHA256SUM_TGZ="53c29507e2405a7ffdbba627e6d64856089b094867479edc5ede4105c1da0d65"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_181|J_DIR=jdk1.8.0_191|' oracle-java8-installer.*

А затем запустите команды установщика JDK 8, как вы это обычно делаете =):

sudo apt-get update
sudo apt-get install oracle-java8-installer
sudo apt-get install oracle-java8-set-default

Если ваша машина не Linux x64 AMD64 или вы ищете Java 9, то вам повезло. Сегодня вы узнаете, как починить установщик Java для своих нужд.

Для целей данного руководства мы предполагаем, что вам нужна Java 8u181, и вы ранее установили Java 8u171 (потому что это то, что у меня есть).

Во-первых, мне нужно, чтобы вы перешли на страницу загрузок JDK в Java (для Java8 перейдите сюда, перейдите на вкладку "Загрузки", а затем ссылку "Java SE 8u181").

Теперь найдите нужную версию JDK для вашей машины. В моем случае моя машина работает на 64-битной Ubuntu 14.04, поэтому мне нужен "Linux x64".

Версии JDK

Скопируйте ссылку, которая приведет вас к нужной вам загрузке. Не забудьте принять лицензионное соглашение. В моем случае (Linux x64) мне нужно: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/jdk-8u181-linux-x64.tar.gz,

Для целей этого урока нам нужен только путь ссылки: http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/, Держать его в безопасности; это понадобится нам позже.

Теперь найдите ссылку на контрольную сумму на странице и щелкните по ней.

Ссылка на контрольную сумму

Это должно привести вас к странице html таблицы плана. Просто посмотрите на sh256 это подходит вашей машине.

Linux x64 SHA

Опять же, моя машина "Linux x64", поэтому мне нужно 1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3, как на картинке. Скопируйте значение и сохраните его в безопасности; нам это тоже понадобится позже.

Теперь откройте терминал на вашем компьютере и введите папку, в которой находится файл установщика Java:

cd /var/lib/dpkg/info

Отлично, теперь введите это:

sudo grep --color -P "JAVA_VERSION=[a-z0-9]+" oracle-java8-installer.config

Вывод должен выглядеть примерно так:

Java-версия установщика

Это говорит нам о том, что является версией Java, которую установщик настроил для установки. Так

sudo sed -i 's|JAVA_VERSION=<INSTALLER CURRENT JAVA VERSION HERE>|JAVA_VERSION=<NEW VERSION HERE>|' oracle-java8-installer.*

В нашем случае мы обновляем 8u171 в 8u181 так мы бы казнили

sudo sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*

Хорошо, теперь нам нужно обновить URL-адрес загрузки.

sudo grep --color -P "PARTNER_URL=[^ ]+" oracle-java8-installer.config

URL партнера установщика

Чтобы обновить его, мы должны выполнить такую ​​команду:

sudo sed -i 's|PARTNER_URL=<INSTALLER CURRENT JAVA URL HERE>|PARTNER_URL=<NEW URL HERE>|' oracle-java8-installer.*

Помните тот URL, который я сказал вам сохранить в начале? Ну, нам это нужно сейчас. Место как ваш новый URL, вот так:

sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*

После этого нам нужно обновить контрольную сумму. Поэтому, пожалуйста, выполните эту команду:

sudo grep --color -P '[^#]SHA256SUM_TGZ="[^"]+"' oracle-java8-installer.config

Это распечатывает пару различных SHA256:

Установщик SHA256s

Обратите внимание, что они все разные. Мы вернемся к этому через секунду. Итак, чтобы обновить SHA256, нам нужно выполнить эту команду:

sudo sed -i 's|SHA256SUM_TGZ="<INSTALLER CURRENT JAVA HASH HERE>"|SHA256SUM_TGZ="<NEW JAVA HASH>"|' oracle-java8-installer.*

Но как мы узнаем, какой из существующих Java-хэшей заменить? Что ж, нам нужно выяснить архитектуру нашего процессора:

dpkg --print-architecture

В моем случае это будет выводить amd64, Это означает, что я должен взять вторую ссылку. Откуда я это знаю? Ну читаю исходник (sudo gedit oracle-java8-installer.config), так что поверьте мне на это:

  • Если ваша архитектура i386, i586 или же i686 Хватай первый.
  • Если amd64 Хватай второй.
  • Если armv7l или же armv6l Хватай третий.
  • Если armv8l, arm64 или же aarch64 Хватай четвертый.
  • Если ничего из вышеперечисленного вам не повезло...

Итак, как мой amd64 используя новый хеш, полученный на сайте Java, я бы выполнил:

sudo sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*

Наконец, нам нужно изменить имя каталога установщика JDK, поэтому выполните это, чтобы найти текущее:

sudo grep --color -P "J_DIR=[^ ]+" oracle-java8-installer.config

В моем случае это напечатано:

Имя папки установщика JDK

Итак, мы выполнили бы что-то вроде этого:

sudo sed -i 's|J_DIR=<INSTALLER CURRENT JDK VERSION HERE>|J_DIR=<NEW JDK VERSION>|' oracle-java8-installer.*

Быть моей текущей версией jdk1.8.0_171 Я выполняю:

sudo sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*

И это все. Мы готовы вызвать установщик Java, ура. (уф... это заняло больше времени, чтобы набрать то, что я думал сначала).


Edit4 @Glenn Smith - более старая версия команд, использованных из 8u171 в 8u181 (в случае, если это пригодится кому-либо, хотя это должно было быть удалено с новыми файлами сборки)

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*

Edit3 @Kenny Hung более старая версия команд, используемых из 8u161 в 8u171 (в случае, если это пригодится кому-либо, хотя это должно было быть удалено с новыми файлами сборки)

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u171|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|' oracle-java8-installer.*

Edit2 @Martin Šuráb / @ Старая версия команд Альберта Жонга / p-ansell, использованных из 8u151 в 8u162 (в случае, если это пригодится кому-либо, хотя это должно было быть удалено с новыми файлами сборки)

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

Edit1 G1zmo2 более старая версия команд, используемых из 8u144 в 8u152 (на случай, если это кому-нибудь пригодится, хотя его следовало удалить с новыми файлами сборки):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u144|JAVA_VERSION=8u152|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|' oracle-java8-installer.*

Спасибо за ответ Кавполло для JDK 8u141.

Я дам исправление для JDK 8u151-1 ~ webupd8 ~ 0 (используйте вместо этого JDK 8i162):

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

Поразите это сегодня с Oracle, перемещающимся от 8u181 до 8u191. Следуя инструкциям @cavpollo и приняв его за мои вещи, я исправил 181–191 на тот случай, если это кому-нибудь понадобится:

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u181|JAVA_VERSION=8u191|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u191-b12/2787e4a523244c269598db4e85c51e0c/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|SHA256SUM_TGZ="53c29507e2405a7ffdbba627e6d64856089b094867479edc5ede4105c1da0d65"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_181|J_DIR=jdk1.8.0_191|' oracle-java8-installer.*

Так как несколько дней назад этот обходной путь устарел из-за новой версии Java. Вместо этого используйте эту замену:

sed -i 's|JAVA_VERSION=8u151|JAVA_VERSION=8u162|' oracle-java8-installer.*
sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u162-b12/0da788060d494f5095bf8624735fa2f1/|' oracle-java8-installer.*
sed -i 's|SHA256SUM_TGZ="c78200ce409367b296ec39be4427f020e2c585470c4eed01021feada576f027f"|SHA256SUM_TGZ="68ec82d47fd9c2b8eb84225b6db398a72008285fafc98631b1ff8d2229680257"|' oracle-java8-installer.*
sed -i 's|J_DIR=jdk1.8.0_151|J_DIR=jdk1.8.0_162|' oracle-java8-installer.*

Для изменений, внесенных 16 апреля 2019 года, для Linux x64 на AMD64, начиная с 8u201 в 8u211 добавить следующее:

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u201|JAVA_VERSION=8u211|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/|PARTNER_URL=https://download.oracle.com/otn/java/jdk/8u211-b12/478a62b7d4e34b78b671c754eaaf38ab/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="cb700cc0ac3ddc728a567c350881ce7e25118eaf7ca97ca9705d4580c506e370"|SHA256SUM_TGZ="c0b7e45330c3f79750c89de6ee0d949ed4af946849592154874d22abc9c4668d"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_201|J_DIR=jdk1.8.0_211|' oracle-java8-installer.*

В моем случае мне не нужно использовать sudo но для согласованности с другими ответами здесь я оставил это в.

Благодаря @cavpollo

Ниже был мой обходной путь для Ubuntu Mate 16.04 x64:

wget --header "Cookie: oraclelicense=accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz

mkdir /opt/jdk

sudo tar -zxf jdk-8u152-linux-x64.tar.gz -C /opt/jdk

update-alternatives --install /usr/bin/java java /opt/jdk/jdk1.8.0_152/bin/java 100

update-alternatives --install /usr/bin/javac javac /opt/jdk/jdk1.8.0_152/bin/javac 100

Кредит цифровому океану для корректировки заголовка.

Вот это для Java 8u181, так как 8u171 больше не работает:

cd /var/lib/dpkg/info
sed -i 's|JAVA_VERSION=8u171|JAVA_VERSION=8u181|' oracle-java8-installer.*
sed -i 's|J_DIR=jdk1.8.0_171|J_DIR=jdk1.8.0_181|' oracle-java8-installer.*
sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u181-b13/96a7b8442fe848ef90c96a2fad6ed6d1/|' oracle-java8-installer.*
sed -i 's|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|SHA256SUM_TGZ="1845567095bfbfebd42ed0d09397939796d05456290fb20a83c476ba09f991d3"|' oracle-java8-installer.*

И более новая версия:

cd /var/lib/dpkg/info
sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u171|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="b6dd2837efaaec4109b36cfbb94a774db100029f98b0d78be68c27bec0275982"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_171|' oracle-java8-installer.*

Позвольте мне поделиться с вами обновлением для JDK версии 8u172

sudo sed -i 's|JAVA_VERSION=8u161|JAVA_VERSION=8u172|' oracle-java8-installer.*
sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u161-b12/2f38c3b165be4555a1fa6e98c45e0808/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u172-b11/a58eab1ec242421181065cdc37240b08/|' oracle-java8-installer.*
sudo sed -i 's|SHA256SUM_TGZ="6dbc56a0e3310b69e91bb64db63a485bd7b6a8083f08e48047276380a0e2021e"|SHA256SUM_TGZ="28a00b9400b6913563553e09e8024c286b506d8523334c93ddec6c9ec7e9d346"|' oracle-java8-installer.*
sudo sed -i 's|J_DIR=jdk1.8.0_161|J_DIR=jdk1.8.0_172|' oracle-java8-installer.*

Для самой последней версии (jdk-8u211-linux-x64.tar.gz) вы можете получить HTTP "Требуется авторизация 401". Мое решение этой проблемы заключается в следующем.

  1. Перейдите на официальный сайт, чтобы загрузить jdk-8u211-linux-x64.tar.gz( здесь), вам необходимо зарегистрировать учетную запись перед загрузкой файла.
  2. Установите apache2 для создания сервера Http.

    sudo apt-get install apache2
    
  3. Переместите только что загруженный файл в /var/www/html папка, потому что корневой каталог по умолчанию сервера /var/www/html, Теперь вы можете скачать файл через URL (например, http://localhost/jdk-8u211-linux-x64.tar.gz).

  4. Обновите установщик oracle-java8.

    cd /var/lib/dpkg/info
    sudo sed -i 's|JAVA_VERSION=8u201|JAVA_VERSION=8u211|' oracle-java8-installer.*
    sudo sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/|PARTNER_URL=http://localhost/|' oracle-java8-installer.*
    sudo sed -i 's|SHA256SUM_TGZ="cb700cc0ac3ddc728a567c350881ce7e25118eaf7ca97ca9705d4580c506e370"|SHA256SUM_TGZ="c0b7e45330c3f79750c89de6ee0d949ed4af946849592154874d22abc9c4668d"|' oracle-java8-installer.*
    sudo sed -i 's|J_DIR=jdk1.8.0_201|J_DIR=jdk1.8.0_211|' oracle-java8-installer.*
    

В дополнение к ответу @cavpollo, для тех, кто использует Ansible, это задание поможет вам

- name: Patch Java installer
  shell: "{{ item }}"
  args:
    chdir: "/var/lib/dpkg/info"
  become: yes
  with_items:
    - sed -i 's|JAVA_VERSION=8u144|JAVA_VERSION=8u152|' oracle-java8-installer.*
    - sed -i 's|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/|PARTNER_URL=http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/|' oracle-java8-installer.*
    - sed -i 's|SHA256SUM_TGZ="e8a341ce566f32c3d06f6d0f0eeea9a0f434f538d22af949ae58bc86f2eeaae4"|SHA256SUM_TGZ="218b3b340c3f6d05d940b817d0270dfe0cfd657a636bad074dcabe0c111961bf"|' oracle-java8-installer.*
    - sed -i 's|J_DIR=jdk1.8.0_144|J_DIR=jdk1.8.0_152|' oracle-java8-installer.*

Над.gz отсутствует в URL для загрузки java 8. wget --header "Cookie: oraclelicense = accept-securebackup-cookie" http://download.oracle.com/otn-pub/java/jdk/8u152-b16/aa0333dd3019491ca4f6ddbe78cdb6d0/jdk-8u152-linux-x64.tar.gz

Я считаю, что ссылка, предоставленная oracle, неверна, попробуйте эту ссылку " http://download.oracle.com/otn-pub/java/jdk/9.0.1+11/jdk-9.0.1_linux-x64_bin.tar.gz"

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