Как удалить версии Java openJDK

Одна из причин, по которой диски могут заполняться без демонстрации того, что duможет видеть, связана с личными файлами. Процесс может открыть файл для записи, начать запись, а затем удалить файл из своего каталога. Это оставляет открытый файл, в который процесс все еще может записывать, который по-прежнему занимает место на диске, но его невозможно обнаружить при просмотре файловой системы. Звучит глупо, но это может быть очень полезно для выделения временного хранилища для конфиденциальной информации, которую вы не хотите раскрывать другим процессам.

Другие программы также могут удалять такие файлы, и программа, которая имеет файл, открытый для записи, ничем не лучше. Иногда пользователи пытаются освободить место, удаляя файлы журнала (или другие файлы ), которые обрабатывает владелец (, например.syslogd) все еще открыты. В результате файлы продолжают занимать место и даже разрастаться, но их становится труднее найти.

Чтобы найти такие файлы, вам нужно просмотреть список открытых файлов ядра. lsofявляется предпочтительным инструментом для этого. Он показывает все открытые файлы и смещение в файле, из которого ядро ​​в данный момент читает или записывает.

Вот команда, которая может помочь:

lsof -o /dev/sdc | grep deleted

Давайте разберемся, что это делает:

  • lsofсписок открытых файлов
  • -oозначает всегда показывать смещения файлов
  • /dev/sdcограничивает результаты файлами, которые находятся на блочном устройстве /dev/sdc

Когда файл удален, lsofбудет отображать (deleted)в конце строки после места, где раньше существовал файл. grep deletedнаходит тех.

Некоторые из этих файлов могут быть нормальными. Однако 7-й столбец вывода показывает смещение; он имеет префикс 0t. Если вы видите смещение с большим числом, которое также удалено, оно занимает кучу места на диске, которое вы не видите.

Чтобы освободить это пространство, вы должны завершить процесс. (В зависимости от процесса может потребоваться его перезапуск. )Вскоре после этого вы увидите, что место на диске увеличилось.

0
02.10.2021, 03:36
2 ответа

Нежелательные версии можно удалить по имени:

sudo apt remove openjdk-8-jdk
sudo apt remove openjdk-11-jdk

Они устанавливаются с разными пакетами.

Вы можете увидеть все доступные пакеты openjdk с помощью этой команды:

sudo apt update
apt-cache search openjdk

Вы можете просмотреть все пакеты openjdk в вашей системе с помощью:

dpkg -l | grep openjdk

Примечание. :Я пользователь RedHat, а не эксперт по Mint, но это практически одинаково для всех дистрибутивов. Я только что проверил имена пакетов в Mint, чтобы эти команды работали.

1
02.10.2021, 08:53

С помощью предоставленных инструкций я смог удалить все, что мне не нужно. Мне также пришлось удалить безголовые версии отдельно с помощью команд:

sudo apt remove openjdk-8-jre-headless
sudo apt remove openjdk-11-jre-headless
0
02.10.2021, 20:06

Теги

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