Как упомянул пользователь, проблема была устранена с помощью пакетов/RPM, созданных для его системы CentOS Linux версии 7.3.1611 (Core ).
Судя по всему, эти правильные RPM были пакетами Red Hat Enterprise Linux (RHEL )7.
Трудности, с которыми он столкнулся ранее, как описано в вопросе, были связаны с тем, что он пытался установить пакеты Fedora Rawhide в своей системе.
Да, это так.
Есть две вещи, которые могут привести к потере файлов в/tmp
:
tmpfs:Многие современные системы монтируют временную файловую систему (считают RAM-диск )в /tmp
, что означает, что содержимое всегда теряется при завершении работы.
Очистка старых файлов в /tmp
. Это настраиваемый скрипт для очистки файлов в /tmp
.
Пожалуйста, проверьте вывод команды df /tmp
.В случае 1 это будет выглядеть примерно так:
$ df /tmp/
Filesystem 1K-blocks Used Available Use% Mounted on
tmpfs 12290040 276 12289764 1% /tmp
(Важен первый столбец. tmpfs
.)
В случае 2 (вашем случае )вы часто можете узнать больше, просмотрев файлы в/etc/tmpfiles.d
--см. man tmpfiles.d
. Пожалуйста, добавьте вывод
grep -s. /*/tmpfiles.d/*.conf /*/*/tmpfiles.d/*.conf
на ваш вопрос. ⟹ Ваш файл /usr/lib/tmpfiles.d/tmp.conf
, который вам нужно отредактировать, например. с помощью sudo nano /usr/lib/tmpfiles.d/tmp.conf
и примените изменение в соответствии со следующим примером.
Это пример файла/etc/tmpfiles.d/tmp.conf
:
# see tmpfiles.d(5)
# always enable /tmp folder cleaning
D! /tmp 1777 root root 0
# remove files in /var/tmp older than 10 days
D /var/tmp 1777 root root 10d
Первая запись D! /tmp 1777 root root 0
означает, что папка /tmp
будет удаляться и заново -создаваться при каждой загрузке. Вы можете закомментировать эту строку и, возможно, добавить строку, аналогичную следующей строке без комментария -в этом файле:
# see tmpfiles.d(5)
# # always enable /tmp folder cleaning
# D! /tmp 1777 root root 0
# Keep files in /tmp but not very old ones
D! /var/tmp 1777 root root 30d
# remove files in /var/tmp older than 10 days
D /var/tmp 1777 root root 10d
Поскольку в данный момент система не загружается, вам необходимо загрузиться с живого DVD/USB-носителя, а затем смонтировать системный раздел, например,. к /mnt
. Затем отредактируйте файл /mnt/usr/lib/tmpfiles.d/tmp.conf
, как описано выше.
Вы можете добавить init=/bin/bash
в командную строку ядра для загрузки в оболочку без запуска systemd. Перемонтируйте файловую систему для чтения -и записи, переместите файлы из /tmp, снова смонтируйте файловую систему для чтения -и exec /sbin/init
для загрузки системы.
Обратите внимание, что в оболочке не будет полностью настроенного терминала, поэтому некоторые функции (завершение вкладок, элемент управления -Z, элемент управления -C,... )могут не работать.
Я предлагаю сначала попробовать это на тестовой системе, чтобы убедиться, что это работает для вас, не рискуя своим файлом.
PS :в норме /var/tmp
сохраняется в ботинках.