Как удалить OpenJDK?

С помощью Shotwell вы можете использовать альтернативную библиотеку для ваших «секретных» снимков, которая также оставила бы папку по умолчанию .shotwell в вашей домашней папке неповрежденной. Вам нужно будет удалить shotwell.log в ~/.cache/shotwell, чтобы исключить доказательство того, что эта библиотека была открыта. Безопасно удалить этот файл журнала, поскольку он генерируется автоматически всякий раз, когда выполняется shotwell.

Используя cryptkeeper, я хочу сохранить секретную библиотеку shotwell в моей зашифрованной папке, поэтому я монтирую свою зашифрованную папку (называемую secret) и point shotwell к этой папке при ее запуске:

shotwell -d /home/mike/misc/secret

Теперь я импортирую свою изображения из моей зашифрованной папки, и библиотека останется в моей зашифрованной папке. Это стандартная команда, позволяющая выбрать альтернативную библиотеку для shotwell, сохраняя при этом значение по умолчанию неизменным. Каждый раз, когда вы загружаете свою зашифрованную папку и запускаете команду shotwell, ваша библиотека будет готова к использованию. Теперь, если вы делаете это так каждый раз, не будет отсутствующих предупреждений о файлах.

Теперь, когда вы размонтируете свою папку cryptkeeper, вы можете снова запустить shotwell как обычно, и она загрузит вашу библиотеку по умолчанию ( просто посмотрите мое примечание выше об удалении журнала shotwell, если вы хотите покрыть ваши дорожки).

ПРИМЕЧАНИЕ. Для Shotwell 0.13 и выше вам нужно запустить программу с помощью сценария оболочки bash, когда используя его с cryptkeeper или truecrypt, так как папка миниатюр .cache также должна оставаться конфиденциальной. Итак, что-то вроде этого должно запустить Shotwell - указать кеш и shotwell в вашу зашифрованную папку или том:

#!/bin/bash
export XDG_CACHE_HOME=/media/truecrypt6/shotwell
shotwell -d /media/truecrypt6/shotwell
1
задан 21 August 2013 в 21:52

4 ответа

Отличный вопрос, мне было интересно это.

Я обнаружил, что вы можете использовать следующее, чтобы удалить openjdk-7-jre на Ubuntu 13.04:

sudo apt-get autoremove openjdk-7-jre

Нажмите 'y', а затем нажмите клавишу ввода, когда будет предложено подтвердить это изменение. Это также должно очистить все дополнительные библиотеки зависимостей, которые были установлены с ним.

Я также нашел, что вы можете использовать следующую команду для выполнения дополнительной очистки:

sudo apt-get purge openjdk*

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

java -version

Вы больше не должны видеть установленный openjdk-7-jre!

Надеюсь, это поможет. :

)
48
ответ дан 24 May 2018 в 18:49
  • 1
    @ jgomo3 Помогает ли этот ответ? Особенно бит sudo apt-get remove --purge openjdk*? – landroni 15 January 2014 в 16:15
  • 2
    @landroni, я должен проверить это. Чтобы сделать решение radu-rdeanu, мне пришлось установить gcj раньше. Таким образом, я мог бы «удалить». Это. Я попробую это решение, сначала удалив Oracle Java, второй установкой openjdk и т. Д., И последнее «автовосстановление». Это. – jgomo3 17 January 2014 в 02:03
  • 3
    Дайте мне знать, как вы поживаете, помните, если вы используете autoremove, вам нужно указать правильную версию openjdk, вы можете запустить openjdk-6-jre. Кроме того, стоит отметить, что если вы используете несколько версий openjdk, команда purge удалит все следы, поэтому будьте осторожны, используя это в зависимости от того, что вы хотите сделать. – Raouf Aghrout 17 January 2014 в 14:38
  • 4
    Работал для меня, спасибо. – TenLeftFingers 16 March 2014 в 03:43
  • 5
    sudo apt-get purge openjdk* Работал для меня, но он также удалил мою установку Jenkins (которая зависит от пакета openjdk 7) :( – RobertG 27 February 2016 в 14:09

Я заметил, что вы сказали, что хотите использовать JDK от Oracle. Если вы хотите установить JDK от Oracle, вы можете загрузить его и извлечь в выбранном вами месте.

Затем вы просто используете альтернативы обновлений, чтобы сообщить вашей системе, где установлена ​​Java. Если вы не уверены в синтаксисе альтернатив обновления, вы можете использовать для него front-end, galternatives.

Например ... Я использую JDK Oracle довольно подробно здесь.

Я извлекаю его в /opt/java/.

. Тогда все двоичные файлы Oracle Java являются основными утилитами для Java-связанных вещей, я делаю следующее с альтернативами обновления: [!d4 ]

for j in `ls /opt/java/bin` ; do update-alternatives --install /usr/bin/"$j" "$j" /opt/java/bin/"$j" 1 ; done

Это требует всех утилит Oracle Java, которые вы ранее извлекли, и дает им первый приоритет, если у вас установлены другие версии Java. (поскольку Ubuntu позволяет вам иметь несколько версий одной и той же утилиты)

3
ответ дан 24 May 2018 в 18:49

Почему это происходит

Это происходит, вероятно, потому, что другой пакет в вашей системе зависит от Java. При удалении openjdk-7-jre, apt-get видит, что если он удаляет OpenJDK, некоторые пакеты будут иметь неудовлетворенные зависимости. Чтобы решить эту проблему, он устанавливает другой пакет, который предоставляет Java.

Чтобы узнать, что вызывает это, запустите эти команды в терминале:

packages=(default-jre default-jre-headless icedtea-6-plugin icedtea-7-plugin java-compiler java-jdk java-runtime java-runtime-headless java-sdk java-virtual-machine java2-jdk java2-runtime java2-runtime-headless java2-sdk java5-jdk java5-runtime java5-runtime-headless java5-sdk java6-jdk java6-runtime java6-runtime-headless java6-sdk java7-jdk java7-runtime java7-runtime-headless java7-sdk openjdk-6-jdk openjdk-6-jre openjdk-6-jre-headless openjdk-7-jdk openjdk-7-jre openjdk-7-jre-headless oracle-java7-bin oracle-java7-fonts oracle-java7-jdk oracle-java7-jre oracle-java7-plugin sun-java6-bin sun-java6-fonts sun-java6-jdk sun-java6-jre sun-java6-plugin)
for pkg in "${packages[@]}"; do
    apt_cache_out="$(apt-cache --installed rdepends "$pkg" | grep -E '^ [| ]\S')"
    if (( $? == 0 )); then
        echo -----------------------
        echo "$pkg"
        echo "$apt_cache_out"
    fi
done
Пример вывода (укороченный):
-----------------------
openjdk-7-jre
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base
 |libreoffice-filter-mobiledev
 |libreoffice
 |libreoffice-writer
 |libreoffice-base
Это означает, что все пакеты LibreOffice зависят от openjdk-7-jre. Пока эти пакеты установлены, OpenJDK нельзя удалить без автоматической установки альтернативной Java.

Чтобы удалить openjdk-7-jre

Если вы хотите удалить openjdk-7-jre (без установки других пакетов), вам необходимо сначала удалить все пакеты, которые зависят от него.

Из примера вывода, который будет:

sudo apt-get remove oracle-java7-installer libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base libreoffice-filter-mobiledev libreoffice libreoffice-writer libreoffice-base
3
ответ дан 24 May 2018 в 18:49

Наряду с остальными ответами вы проверили свой файл .bashrc, чтобы убедиться, что среда JAVA_HOME отсутствует? Удаление этой строки должно сделать трюк в освобождении вашего Ubuntu от openjdk. Например:

 JAVA_HOME=/usr/local/java/jdk1.7.0_45
 export PATH=$JAVA_HOME:$PATH

Если вы видите что-то подобное, удалите эти две строки и перезагрузитесь.

1
ответ дан 24 May 2018 в 18:49

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

Похожие вопросы: