Файлы, расположенные в /var
, очень критичны к системе. Например, /var/mail
или /var/spool/mail
содержит электронную почту пользователей; Вы не можете удалить это больше, чем зажечь огонь в почтовом ящике вашего соседа. Это только файлы в определенных подкаталогах, /var
которые содержат файлы, которые являются более или менее временными: файлы журналов /var/log
, кэши, которые обычно могут быть воссозданы /var/cache
, временные файлы (которые вы не должны удалять, когда они используются!) В/var/tmp
.
Данные /var/lib
могут быть весьма важными. Например, MySQL обычно настроен для хранения своих баз данных /var/lib/mysql
по умолчанию: если вы удалите это, вы уничтожите свои базы данных. Dpkg также размещает свои собственные базы данных /var/lib
;/var/lib/dpkg/status
является одним.
/var/lib/dpkg/status
содержит информацию об установленных пакетах. Если вы удалили это, вы должны восстановить его из резервной копии. Если ваша резервная копия не полностью обновлена, проверьте журналы недавних манипуляций с пакетами в /var/log/apt
и /var/log/dpkg.log
. Вам нужно будет создать этот файл до того, какdpkg
будет работать.
/var/lib/dpkg/available
построен из данных, загруженных из Интернета. apt-get update
должен восстановить его.
/var/lib/dpkg/info
содержит файлы, которые поставляются с пакетами Debian. Вы можете восстановить эти файлы, просто переустановив пакеты. Конечно, вам понадобится список установленных пакетов для этого. Если вы восстановили /var/lib/dpkg/status
, вы можете извлечь список пакетов оттуда.
apt-get install --reinstall $(</var/lib/dpkg/status sed -n 's/^Package://p')
Если вы проиграли /var/lib/dpkg/status
, вы можете восстановить его, создав пустой файл и запустив его apt-get install --reinstall
в списке пакетов. Одно из мест, где также сохраняется список пакетов /var/lib/apt/extended_states
, по крайней мере, если вы когда-либо использовали APT только для установки пакетов (в отличие от dpkg
непосредственного использования) - используйте этот файл вместо /var/lib/dpkg/status
int в приведенной выше команде. Если вы тоже это удалили, вы можете перестроить примерный список пакетов с помощью $(cd /usr/share/doc && ls)
, потому что большинство пакетов создают запись в/usr/share/doc
. Вероятно, есть несколько исключений.
Не просите никакой помощи по управлению пакетами в этой системе. Восстановление после удаления критичных для системы файлов не является точной наукой. Если вы не можете восстановить данные из резервных копий, вам следует как можно скорее установить новую чистую систему.
/var/lib/dpkg/info
, тоже очень важен. Вы неправильно поняли FHS, и AFAIK единственными путями восстановления являются (а) восстановление из резервной копии или (б) переустановка.