Могу ли я удалить файлы, в названии которых есть точка с запятой ; (созданы обновлениями?)

Могу ли я удалить файлы, в названии которых есть точка с запятой ; (созданы обновлениями?)

Я случайно нашел несколько десятков файлов, в /usr/binкоторых есть точка с запятой ;. Если я правильно помню, такие файлы создаются, когда в файл, открытый какой-то программой, что-то записывается (например, во время обновления ОС). Однако я думал, что они будут удалены при следующей перезагрузке. В моем случае, однако, эти файлы не открыты:

# find /usr -name \*\;\* | grep c++
/usr/bin/c++;5cf64746
/usr/bin/c++;5cfffc10
/usr/bin/c++;5cfb88d7
/usr/bin/c++;5cf8e8e4
/usr/bin/c++;5cfcd91f
/usr/bin/c++;5cc1f485
/usr/bin/c++;5cf4f405
/usr/bin/c++;5cfffc85
/usr/bin/c++;5cf7968b
/usr/bin/c++;5cfe28b9
/usr/bin/c++;5cff80b7
/usr/bin/c++;5cf57b84
/usr/bin/c++;5cfc4cbf

# lsof | fgrep /c++ 
Exit 1

Вопросы:

  1. Могу ли я безопасно удалить эти файлы?

  2. Почему они вообще здесь?

Компьютер ни разу не зависал, все перезагрузки чистые. Система CentOS 7. Обновления устанавливались yum.

Многие файлы на самом деле идентичны (хотя все иноды различаются, я проверил):

# ll /usr/bin/c++?5*
-rwxr-xr-x. 2 root root 772688 Mar  6  2018 /usr/bin/c++;5cc1f485
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cf4f405
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cf57b84
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cf64746
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cf7968b
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cf8e8e4
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cfc4cbf
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cfb88d7
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cfcd91f
-rwxr-xr-x. 4 root root 772688 Apr 10  2018 /usr/bin/c++;5cfe28b9
-rwxr-xr-x. 4 root root 772720 May 15  2018 /usr/bin/c++;5cff80b7
-rwxr-xr-x. 4 root root 772720 May 15  2018 /usr/bin/c++;5cfffc10
-rwxr-xr-x. 4 root root 772720 May 15  2018 /usr/bin/c++;5cfffc85

Имеет ли все еще смысл объяснение, основанное на обновлениях?

решение1

Я выяснил, почему были созданы эти файлы. У меня был процесс, запущенный в контейнере (с пространством имен монтирования (файловой системы) ядра Linux), созданныйПожарная тюрьма. Firejail маскирует некоторые файлы (например, исполняемые файлы и библиотеки) от доступа процесса внутри контейнера. Поэтому эти файлы все еще используются ядром Linux, когда они удаляются с помощью yum update/ dnf update. Поэтому они не удаляются в это время.

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

Остается вопрос, почему эти файлы не удаляются при выключении контейнера/компьютера. Я подозреваю, что это ошибка, не исправленная в ядре (драйвер файловой системы ext4?) на этих машинах.

Связанный контент